diff --git a/src/AnthropicClient/Models/MessageBatchStatus.cs b/src/AnthropicClient/Models/MessageBatchStatus.cs
new file mode 100644
index 0000000..5e1f299
--- /dev/null
+++ b/src/AnthropicClient/Models/MessageBatchStatus.cs
@@ -0,0 +1,22 @@
+namespace AnthropicClient.Models;
+
+///
+/// Represents the status of a message batch.
+///
+public static class MessageBatchStatus
+{
+ ///
+ /// The status of a message batch that is being canceled.
+ ///
+ public const string Canceling = "canceling";
+
+ ///
+ /// The status of a message batch that is in progress.
+ ///
+ public const string InProgress = "in_progress";
+
+ ///
+ /// The status of a message batch that has ended.
+ ///
+ public const string Ended = "ended";
+}
\ No newline at end of file
diff --git a/tests/AnthropicClient.Tests/Unit/Models/MessageBatchStatusTests.cs b/tests/AnthropicClient.Tests/Unit/Models/MessageBatchStatusTests.cs
new file mode 100644
index 0000000..1d66d45
--- /dev/null
+++ b/tests/AnthropicClient.Tests/Unit/Models/MessageBatchStatusTests.cs
@@ -0,0 +1,22 @@
+namespace AnthropicClient.Tests.Unit.Models;
+
+public class MessageBatchStatusTests
+{
+ [Fact]
+ public void Canceling_WhenCalled_ItShouldReturnCancelingStatus()
+ {
+ MessageBatchStatus.Canceling.Should().Be("canceling");
+ }
+
+ [Fact]
+ public void InProgress_WhenCalled_ItShouldReturnCancelingStatus()
+ {
+ MessageBatchStatus.InProgress.Should().Be("in_progress");
+ }
+
+ [Fact]
+ public void Ended_WhenCalled_ItShouldReturnCancelingStatus()
+ {
+ MessageBatchStatus.Ended.Should().Be("ended");
+ }
+}
\ No newline at end of file