diff --git a/CHANGELOG.md b/CHANGELOG.md
index a312964..1502c1a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -204,4 +204,14 @@
- Retrieve message
- Retrieve message file
- Modify message
+- Run
+ - Create a run.
+ - Create a thread and run it in one request.
+ - List runs
+ - List run steps
+ - Retrieves a run.
+ - Retrieve run step
+ - Modifies a run.
+ - Submit tool outputs to run
+ - Cancel a run
\ No newline at end of file
diff --git a/lib/chat_gpt_sdk.dart b/lib/chat_gpt_sdk.dart
index 60cb433..27ebd43 100644
--- a/lib/chat_gpt_sdk.dart
+++ b/lib/chat_gpt_sdk.dart
@@ -56,3 +56,10 @@ export 'src/model/assistant/response/tool.dart';
export 'src/model/thread/request/thread_request.dart';
export 'src/model/thread/response/thread_delete_response.dart';
export 'src/model/thread/response/thread_response.dart';
+export 'src/model/message/request/create_message.dart';
+export 'src/model/message/response/content.dart';
+export 'src/model/message/response/create_message_response.dart';
+export 'src/model/message/response/list_message_file.dart';
+export 'src/model/message/response/list_message_file_data.dart';
+export 'src/model/message/response/message_data.dart';
+export 'src/model/message/response/text.dart';
diff --git a/lib/src/messages.dart b/lib/src/messages.dart
index 31797d5..a28472c 100644
--- a/lib/src/messages.dart
+++ b/lib/src/messages.dart
@@ -1,10 +1,10 @@
-import 'package:chat_gpt_sdk/chat_gpt_sdk.dart';
import 'package:chat_gpt_sdk/src/client/client.dart';
import 'package:chat_gpt_sdk/src/model/message/request/create_message.dart';
import 'package:chat_gpt_sdk/src/model/message/response/create_message_response.dart';
import 'package:chat_gpt_sdk/src/model/message/response/list_message_file.dart';
import 'package:chat_gpt_sdk/src/model/message/response/list_message_file_data.dart';
import 'package:chat_gpt_sdk/src/model/message/response/message_data.dart';
+import 'package:chat_gpt_sdk/src/utils/constants.dart';
class Messages {
final OpenAIClient _client;
diff --git a/lib/src/model/run/request/create_run.dart b/lib/src/model/run/request/create_run.dart
new file mode 100644
index 0000000..f351403
--- /dev/null
+++ b/lib/src/model/run/request/create_run.dart
@@ -0,0 +1,61 @@
+class CreateRun {
+ ///The ID of the
+ ///assistant
+ /// to use to execute this run.
+ ///[assistantId]
+ final String assistantId;
+
+ ///The ID of the
+ ///Model
+ /// to be used to execute this run.
+ /// If a value is provided here,
+ /// it will override the model associated with the assistant.
+ /// If not, the model associated with the assistant will be used.
+ /// [model]
+ final String? model;
+
+ ///Overrides the
+ ///instructions
+ /// of the assistant.
+ /// This is useful for modifying the behavior on a per-run basis.
+ /// [instructions]
+ final String? instructions;
+
+ ///Appends additional instructions at the end of the instructions
+ /// for the run. This is useful for modifying the behavior
+ /// on a per-run basis without overriding other instructions.
+ /// [additionalInstructions]
+ final String? additionalInstructions;
+
+ ///Override the tools the assistant can use for this run.
+ /// This is useful for modifying the behavior on a per-run basis.
+ /// [tools]
+ final List