From 4ffeda61addee6e4888df3aef0bd73bae6b93f11 Mon Sep 17 00:00:00 2001
From: SachaMorard <2254275+SachaMorard@users.noreply.github.com>
Date: Mon, 9 Feb 2026 14:30:52 +0100
Subject: [PATCH] feat: anthropic messages endpoint
---
api-reference/authentication.mdx | 22 +-
api-reference/errors.mdx | 12 +-
api-reference/index.mdx | 33 ++-
api-reference/messages.mdx | 420 +++++++++++++++++++++++++++++++
api-reference/openapi.json | 340 ++++++++++++++++++++++++-
docs.json | 7 +-
package-lock.json | 123 ++++-----
package.json | 2 +-
8 files changed, 884 insertions(+), 75 deletions(-)
create mode 100644 api-reference/messages.mdx
diff --git a/api-reference/authentication.mdx b/api-reference/authentication.mdx
index bc41d73..25fbc29 100644
--- a/api-reference/authentication.mdx
+++ b/api-reference/authentication.mdx
@@ -30,15 +30,25 @@ will also fail.
```bash cURL with Bearer
- curl 'https://api.edgee.ai/v1/projects' \
- -H 'Authorization: Bearer '
+ curl 'https://api.edgee.ai/v1/chat/completions' \
+ -H 'Authorization: Bearer ' \
+ -H 'Content-Type: application/json' \
+ -d '{
+ "model": "openai/gpt-4o",
+ "messages": [{"role": "user", "content": "Hello"}]
+ }'
```
-
+
```bash cURL with Basic Auth
- curl 'https://api.edgee.ai/v1/projects' \
- -u ':'
+ curl 'https://api.edgee.ai/v1/chat/completions' \
+ -u ':' \
+ -H 'Content-Type: application/json' \
+ -d '{
+ "model": "openai/gpt-4o",
+ "messages": [{"role": "user", "content": "Hello"}]
+ }'
# The colon prevents curl from asking for a password.
```
-
+
diff --git a/api-reference/errors.mdx b/api-reference/errors.mdx
index abc6195..f256d49 100644
--- a/api-reference/errors.mdx
+++ b/api-reference/errors.mdx
@@ -53,10 +53,11 @@ Below is a summary of the HTTP status codes that Edgee API uses.
One of the following error codes:
-
+
- `bad_model_id`: The model ID format is invalid
- `model_not_found`: The requested model does not exist or is not available
- `provider_not_supported`: The requested provider is not supported for the specified model
+ - `streaming_not_supported`: Streaming is only supported when using Anthropic provider for Messages API
@@ -86,6 +87,15 @@ Below is a summary of the HTTP status codes that Edgee API uses.
}
}
```
+
+```json Streaming Not Supported
+{
+ "error": {
+ "code": "streaming_not_supported",
+ "message": "Streaming for Messages API is only supported when the model uses the Anthropic provider"
+ }
+}
+```
### 401 Unauthorized
diff --git a/api-reference/index.mdx b/api-reference/index.mdx
index 72d73f6..4b62a8c 100644
--- a/api-reference/index.mdx
+++ b/api-reference/index.mdx
@@ -26,10 +26,39 @@ When an error occurs, the Edgee API responds with a conventional HTTP response c
## Rate Limiting
-Please note that the Edgee has its own rate limit technology to prevent abuse and ensure service stability.
-If you exceed these limits, your requests will be throttled and you will receive a `429 Too Many Requests` response.
+Please note that the Edgee has its own rate limit technology to prevent abuse and ensure service stability.
+If you exceed these limits, your requests will be throttled and you will receive a `429 Too Many Requests` response.
Additionally, usage limits may be enforced based on your API key configuration.
+## API Formats
+
+Edgee supports two API formats to accommodate different use cases and provider preferences:
+
+
+
+ Use `/v1/chat/completions` for maximum flexibility. Works with all providers (OpenAI, Anthropic, Google, Meta, etc.).
+
+ **Model format:** `provider/model` (e.g., `anthropic/claude-sonnet-4.5`)
+
+ **Recommended for:** New integrations, multi-provider applications, and maximum flexibility.
+
+
+
+ Use `/v1/messages` for native Anthropic Messages API format. Only works with Anthropic provider.
+
+ **Model format:** `model` (e.g., `claude-sonnet-4.5`)
+
+ **Recommended for:** Migrating from Anthropic's API, using Anthropic SDK, or requiring Anthropic-specific features.
+
+
+
+**Choose the format that best fits your needs:**
+
+- **For new projects**: Use the OpenAI format (`/v1/chat/completions`) for maximum flexibility and multi-provider support.
+- **For Anthropic migrations**: Use the Anthropic format (`/v1/messages`) for seamless compatibility with existing code using Anthropic's SDK.
+
+Both formats provide the same underlying AI capabilities and support Edgee's features like token compression, edge tools, and observability.
+
## Features
diff --git a/api-reference/messages.mdx b/api-reference/messages.mdx
new file mode 100644
index 0000000..cfa89cd
--- /dev/null
+++ b/api-reference/messages.mdx
@@ -0,0 +1,420 @@
+---
+title: 'Anthropic Messages'
+description: 'Create messages using Anthropic native API format'
+openapi: 'POST /v1/messages'
+---
+
+Creates a message using Anthropic's native Messages API format. This endpoint provides the same API format as Anthropic's official API, making it easy to migrate existing integrations or use Anthropic-specific features.
+
+
+ This endpoint only works with the Anthropic provider. For multi-provider support, use the [Chat Completions](/api-reference/chat-completion) endpoint with OpenAI format.
+
+
+## Overview
+
+The `/v1/messages` endpoint implements Anthropic's Messages API format, which differs from the OpenAI-compatible `/v1/chat/completions` endpoint in several key ways:
+
+- **Model format**: Use `claude-sonnet-4.5` instead of `anthropic/claude-sonnet-4.5` (no provider prefix)
+- **Required max_tokens**: The `max_tokens` parameter is always required (not optional like OpenAI)
+- **System prompt**: System messages use a separate `system` field instead of being part of the messages array
+- **Response format**: Returns Anthropic's native response format with different structure and field names
+
+Use this endpoint when:
+- Migrating from Anthropic's API to Edgee
+- Using Anthropic SDK or tools that expect native Anthropic format
+- Requiring Anthropic-specific features or response structures
+
+For new integrations or multi-provider support, we recommend using the [Chat Completions](/api-reference/chat-completion) endpoint instead.
+
+## Authentication
+
+This endpoint supports both authentication methods:
+
+**Anthropic-style (preferred):**
+```bash
+x-api-key:
+```
+
+**OpenAI-style (also supported):**
+```bash
+Authorization: Bearer
+```
+
+If both headers are provided, `x-api-key` takes precedence.
+
+See the [Authentication](/api-reference/authentication) page for more details.
+
+## Request Format
+
+
+ The model ID to use. Use Anthropic model names without provider prefix.
+
+ Examples: `claude-sonnet-4.5`, `claude-opus-4`, `claude-haiku-4`
+
+
+
+ The maximum number of tokens to generate before stopping. This parameter is required (unlike OpenAI's API where it's optional).
+
+ Note that Claude models may stop before reaching this maximum if they hit a natural stopping point.
+
+
+
+ Array of message objects representing the conversation history. Each message must have a `role` and `content`.
+
+
+
+ The role of the message author. Must be either `user` or `assistant`.
+
+
+
+ The content of the message. Can be either:
+ - A string for simple text messages
+ - An array of content blocks for structured content (text, tool_use, tool_result)
+
+
+
+
+
+ System prompt to guide the model's behavior. This is separate from the messages array.
+
+ Can be either:
+ - A simple string for basic system prompts
+ - An array of content blocks for structured system prompts (supports text blocks with cache_control)
+
+
+
+ Whether to stream the response as Server-Sent Events (SSE). When enabled, partial message deltas are sent incrementally.
+
+ Note: Streaming is only supported when using the Anthropic provider. Other providers will return an error.
+
+
+
+ Definitions of tools the model can use. Each tool represents a function the model can call.
+
+
+
+ The name of the tool.
+
+
+
+ Description of what the tool does.
+
+
+
+ JSON Schema object describing the tool's input parameters.
+
+
+
+
+
+ Controls which tool the model should use. Can be:
+ - `{"type": "auto"}` - Model decides whether to use tools (default)
+ - `{"type": "any"}` - Model must use one of the provided tools
+ - `{"type": "tool", "name": "tool_name"}` - Model must use the specified tool
+
+
+## Response Format
+
+### Non-Streaming Response
+
+
+ Unique identifier for this message.
+
+
+
+ The model that was used to generate the response.
+
+
+
+ Array of content blocks in the response. Each block has a `type` field indicating its type.
+
+ Block types include:
+ - `text`: Text content from the model
+ - `tool_use`: Tool call made by the model (includes `id`, `name`, and `input` fields)
+
+
+
+ Token usage statistics for this request.
+
+
+
+ Number of tokens in the input (prompt).
+
+
+
+ Number of tokens in the output (completion).
+
+
+
+
+
+ Why the model stopped generating. Possible values:
+ - `end_turn`: Model reached a natural stopping point
+ - `max_tokens`: Reached the `max_tokens` limit
+ - `tool_use`: Model called a tool
+
+
+### Streaming Response
+
+When `stream: true`, the response is sent as Server-Sent Events (SSE). Each event is prefixed with `event: ` and `data: ` lines.
+
+**Event types:**
+
+- `message_start`: Initial event with message metadata
+- `content_block_start`: A new content block begins
+- `content_block_delta`: Incremental content for the current block
+- `content_block_stop`: Current content block is complete
+- `message_delta`: Message-level delta (includes `stop_reason` when done)
+- `message_stop`: Stream is complete
+- `error`: An error occurred
+
+## Special Headers
+
+
+ Enable token compression to reduce token usage. When enabled, the gateway automatically compresses your prompts to reduce costs by up to 50%.
+
+ See [Token Compression](/features/token-compression) for more details.
+
+
+
+ Comma-separated list of tags for categorizing and filtering requests in analytics and logs.
+
+ Example: `X-edgee-tags: production,chatbot,customer-support`
+
+
+
+ Enable debug mode to include additional debugging information in the response.
+
+
+## Examples
+
+### Basic Message
+
+
+```bash cURL
+curl 'https://api.edgee.ai/v1/messages' \
+ -H "x-api-key: $EDGEE_API_KEY" \
+ -H 'Content-Type: application/json' \
+ -d '{
+ "model": "claude-sonnet-4.5",
+ "max_tokens": 1024,
+ "messages": [
+ {
+ "role": "user",
+ "content": "Hello, Claude! How are you today?"
+ }
+ ]
+ }'
+```
+
+```python Python
+import anthropic
+
+client = anthropic.Anthropic(
+ api_key="YOUR_EDGEE_API_KEY",
+ base_url="https://api.edgee.ai"
+)
+
+message = client.messages.create(
+ model="claude-sonnet-4.5",
+ max_tokens=1024,
+ messages=[
+ {
+ "role": "user",
+ "content": "Hello, Claude! How are you today?"
+ }
+ ]
+)
+
+print(message.content)
+```
+
+```typescript TypeScript
+import Anthropic from '@anthropic-ai/sdk';
+
+const client = new Anthropic({
+ apiKey: process.env.EDGEE_API_KEY,
+ baseURL: 'https://api.edgee.ai'
+});
+
+const message = await client.messages.create({
+ model: 'claude-sonnet-4.5',
+ max_tokens: 1024,
+ messages: [
+ {
+ role: 'user',
+ content: 'Hello, Claude! How are you today?'
+ }
+ ]
+});
+
+console.log(message.content);
+```
+
+
+### Multi-Turn Conversation
+
+
+```bash cURL
+curl 'https://api.edgee.ai/v1/messages' \
+ -H "x-api-key: $EDGEE_API_KEY" \
+ -H 'Content-Type: application/json' \
+ -d '{
+ "model": "claude-sonnet-4.5",
+ "max_tokens": 1024,
+ "messages": [
+ {
+ "role": "user",
+ "content": "What is the capital of France?"
+ },
+ {
+ "role": "assistant",
+ "content": "The capital of France is Paris."
+ },
+ {
+ "role": "user",
+ "content": "What is its population?"
+ }
+ ]
+ }'
+```
+
+
+### With System Prompt
+
+
+```bash cURL
+curl 'https://api.edgee.ai/v1/messages' \
+ -H "x-api-key: $EDGEE_API_KEY" \
+ -H 'Content-Type: application/json' \
+ -d '{
+ "model": "claude-sonnet-4.5",
+ "max_tokens": 1024,
+ "system": "You are a helpful assistant that always responds in a friendly and concise manner.",
+ "messages": [
+ {
+ "role": "user",
+ "content": "Tell me about the solar system."
+ }
+ ]
+ }'
+```
+
+
+### Streaming
+
+
+```bash cURL
+curl 'https://api.edgee.ai/v1/messages' \
+ -H "x-api-key: $EDGEE_API_KEY" \
+ -H 'Content-Type: application/json' \
+ -d '{
+ "model": "claude-sonnet-4.5",
+ "max_tokens": 1024,
+ "stream": true,
+ "messages": [
+ {
+ "role": "user",
+ "content": "Write a haiku about coding."
+ }
+ ]
+ }'
+```
+
+```python Python
+import anthropic
+
+client = anthropic.Anthropic(
+ api_key="YOUR_EDGEE_API_KEY",
+ base_url="https://api.edgee.ai"
+)
+
+with client.messages.stream(
+ model="claude-sonnet-4.5",
+ max_tokens=1024,
+ messages=[
+ {
+ "role": "user",
+ "content": "Write a haiku about coding."
+ }
+ ]
+) as stream:
+ for text in stream.text_stream:
+ print(text, end="", flush=True)
+```
+
+
+### With Tools
+
+
+```bash cURL
+curl 'https://api.edgee.ai/v1/messages' \
+ -H "x-api-key: $EDGEE_API_KEY" \
+ -H 'Content-Type: application/json' \
+ -d '{
+ "model": "claude-sonnet-4.5",
+ "max_tokens": 1024,
+ "tools": [
+ {
+ "name": "get_weather",
+ "description": "Get the current weather in a given location",
+ "input_schema": {
+ "type": "object",
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "The city and state, e.g. San Francisco, CA"
+ }
+ },
+ "required": ["location"]
+ }
+ }
+ ],
+ "messages": [
+ {
+ "role": "user",
+ "content": "What is the weather in San Francisco?"
+ }
+ ]
+ }'
+```
+
+
+### With Token Compression
+
+
+```bash cURL
+curl 'https://api.edgee.ai/v1/messages' \
+ -H "x-api-key: $EDGEE_API_KEY" \
+ -H 'Content-Type: application/json' \
+ -H 'X-Edgee-Enable-Compression: true' \
+ -d '{
+ "model": "claude-sonnet-4.5",
+ "max_tokens": 1024,
+ "messages": [
+ {
+ "role": "user",
+ "content": "Summarize this long document..."
+ }
+ ]
+ }'
+```
+
+
+## Error Handling
+
+See the [Errors](/api-reference/errors) page for details on error responses.
+
+Common errors specific to this endpoint:
+
+- `streaming_not_supported`: Streaming was requested but the model doesn't use the Anthropic provider
+- `count_tokens_not_supported`: Token counting is only available with Anthropic provider
+
+## Related Endpoints
+
+- [Chat Completions](/api-reference/chat-completion) - OpenAI-compatible endpoint with multi-provider support
+
+## SDK Integration
+
+For detailed examples of using this endpoint with the Anthropic SDK, see:
+- [Anthropic SDK Integration](/integrations/anthropic-sdk)
diff --git a/api-reference/openapi.json b/api-reference/openapi.json
index 8cf7eec..3329938 100644
--- a/api-reference/openapi.json
+++ b/api-reference/openapi.json
@@ -206,6 +206,81 @@
}
}
},
+ "/v1/messages": {
+ "post": {
+ "operationId": "createMessage",
+ "summary": "Create message (Anthropic format)",
+ "description": "Creates a message using Anthropic's native Messages API format. Only works with Anthropic provider.",
+ "tags": ["Messages"],
+ "security": [
+ {
+ "bearerAuth": []
+ },
+ {
+ "apiKeyAuth": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CreateMessageRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Message created successfully",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CreateMessageResponse"
+ }
+ },
+ "text/event-stream": {
+ "schema": {
+ "type": "string",
+ "format": "binary",
+ "description": "Server-Sent Events stream for streaming responses"
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Bad request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
"/v1/models": {
"get": {
"operationId": "listModels",
@@ -716,7 +791,8 @@
"provider_not_supported",
"unauthorized",
"forbidden",
- "usage_limit_exceeded"
+ "usage_limit_exceeded",
+ "streaming_not_supported"
]
},
"message": {
@@ -726,6 +802,256 @@
}
}
}
+ },
+ "CreateMessageRequest": {
+ "type": "object",
+ "required": ["model", "max_tokens", "messages"],
+ "properties": {
+ "model": {
+ "type": "string",
+ "description": "The model ID to use (Anthropic format, without provider prefix)",
+ "example": "claude-sonnet-4.5"
+ },
+ "max_tokens": {
+ "type": "integer",
+ "description": "Maximum number of tokens to generate",
+ "minimum": 1,
+ "example": 1024
+ },
+ "messages": {
+ "type": "array",
+ "description": "Array of message objects",
+ "items": {
+ "$ref": "#/components/schemas/MessageParam"
+ },
+ "minItems": 1
+ },
+ "system": {
+ "oneOf": [
+ {
+ "type": "string",
+ "description": "System prompt as a string"
+ },
+ {
+ "type": "array",
+ "description": "System prompt as content blocks",
+ "items": {
+ "$ref": "#/components/schemas/ContentBlock"
+ }
+ }
+ ]
+ },
+ "stream": {
+ "type": "boolean",
+ "description": "Enable streaming responses",
+ "default": false
+ },
+ "tools": {
+ "type": "array",
+ "description": "Tool definitions",
+ "items": {
+ "$ref": "#/components/schemas/AnthropicTool"
+ }
+ },
+ "tool_choice": {
+ "$ref": "#/components/schemas/ToolChoice"
+ }
+ }
+ },
+ "MessageParam": {
+ "type": "object",
+ "required": ["role", "content"],
+ "properties": {
+ "role": {
+ "type": "string",
+ "enum": ["user", "assistant"],
+ "description": "The role of the message"
+ },
+ "content": {
+ "oneOf": [
+ {
+ "type": "string",
+ "description": "Simple text content"
+ },
+ {
+ "type": "array",
+ "description": "Array of content blocks",
+ "items": {
+ "$ref": "#/components/schemas/ContentBlock"
+ }
+ }
+ ]
+ }
+ }
+ },
+ "ContentBlock": {
+ "type": "object",
+ "required": ["type"],
+ "discriminator": {
+ "propertyName": "type"
+ },
+ "oneOf": [
+ {
+ "type": "object",
+ "required": ["type", "text"],
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": ["text"]
+ },
+ "text": {
+ "type": "string"
+ }
+ }
+ },
+ {
+ "type": "object",
+ "required": ["type", "id", "name", "input"],
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": ["tool_use"]
+ },
+ "id": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "input": {
+ "type": "object"
+ }
+ }
+ },
+ {
+ "type": "object",
+ "required": ["type", "tool_use_id", "content"],
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": ["tool_result"]
+ },
+ "tool_use_id": {
+ "type": "string"
+ },
+ "content": {
+ "type": "string"
+ },
+ "is_error": {
+ "type": "boolean",
+ "default": false
+ }
+ }
+ }
+ ]
+ },
+ "AnthropicTool": {
+ "type": "object",
+ "required": ["name", "input_schema"],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the tool"
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of what the tool does"
+ },
+ "input_schema": {
+ "type": "object",
+ "description": "JSON Schema describing the tool's input parameters"
+ }
+ }
+ },
+ "ToolChoice": {
+ "type": "object",
+ "required": ["type"],
+ "discriminator": {
+ "propertyName": "type"
+ },
+ "oneOf": [
+ {
+ "type": "object",
+ "required": ["type"],
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": ["auto"],
+ "description": "Model decides whether to use tools"
+ }
+ }
+ },
+ {
+ "type": "object",
+ "required": ["type"],
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": ["any"],
+ "description": "Model must use one of the provided tools"
+ }
+ }
+ },
+ {
+ "type": "object",
+ "required": ["type", "name"],
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": ["tool"]
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the specific tool to use"
+ }
+ }
+ }
+ ]
+ },
+ "CreateMessageResponse": {
+ "type": "object",
+ "required": ["id", "model", "content", "usage"],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique identifier for this message"
+ },
+ "model": {
+ "type": "string",
+ "description": "The model that generated the response"
+ },
+ "content": {
+ "type": "array",
+ "description": "Array of content blocks",
+ "items": {
+ "$ref": "#/components/schemas/ContentBlock"
+ }
+ },
+ "usage": {
+ "$ref": "#/components/schemas/AnthropicUsage"
+ },
+ "stop_reason": {
+ "type": "string",
+ "enum": ["end_turn", "max_tokens", "tool_use"],
+ "description": "Why the model stopped generating"
+ }
+ }
+ },
+ "AnthropicUsage": {
+ "type": "object",
+ "required": ["input_tokens", "output_tokens"],
+ "properties": {
+ "input_tokens": {
+ "type": "integer",
+ "description": "Number of input tokens",
+ "minimum": 0
+ },
+ "output_tokens": {
+ "type": "integer",
+ "description": "Number of output tokens",
+ "minimum": 0
+ }
+ }
}
},
"securitySchemes": {
@@ -734,13 +1060,23 @@
"scheme": "bearer",
"bearerFormat": "JWT",
"description": "Bearer authentication header of the form `Bearer `, where `` is your API key. More info [here](/docs/api-reference/authentication)"
+ },
+ "apiKeyAuth": {
+ "type": "apiKey",
+ "in": "header",
+ "name": "x-api-key",
+ "description": "Anthropic-style API key authentication using the x-api-key header"
}
}
},
"tags": [
{
"name": "Chat",
- "description": "Chat completion endpoints"
+ "description": "Chat completion endpoints (OpenAI format)"
+ },
+ {
+ "name": "Messages",
+ "description": "Messages endpoints (Anthropic format)"
},
{
"name": "Models",
diff --git a/docs.json b/docs.json
index fd64e13..2151a13 100644
--- a/docs.json
+++ b/docs.json
@@ -156,7 +156,6 @@
{
"tab": "API Reference",
"icon": "terminal",
-
"groups": [
{
"group": "Introduction",
@@ -168,7 +167,11 @@
},
{
"group": "Endpoints",
- "pages": ["api-reference/chat-completion", "api-reference/models"]
+ "pages": [
+ "api-reference/chat-completion",
+ "api-reference/messages",
+ "api-reference/models"
+ ]
}
]
},
diff --git a/package-lock.json b/package-lock.json
index 53eb8c3..70f5c9b 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -5,7 +5,7 @@
"packages": {
"": {
"dependencies": {
- "mintlify": "^4.2.315"
+ "mintlify": "^4.2.334"
}
},
"node_modules/@alcalzone/ansi-tokenize": {
@@ -76,9 +76,9 @@
}
},
"node_modules/@asyncapi/specs": {
- "version": "6.11.1",
- "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-6.11.1.tgz",
- "integrity": "sha512-A3WBLqAKGoJ2+6FWFtpjBlCQ1oFCcs4GxF7zsIGvNqp/klGUHjlA3aAcZ9XMMpLGE8zPeYDz2x9FmO6DSuKraQ==",
+ "version": "6.8.1",
+ "resolved": "https://registry.npmjs.org/@asyncapi/specs/-/specs-6.8.1.tgz",
+ "integrity": "sha512-czHoAk3PeXTLR+X8IUaD+IpT+g+zUvkcgMDJVothBsan+oHN3jfcFcFUNdOPAAFoUCQN1hXF1dWuphWy05THlA==",
"license": "Apache-2.0",
"dependencies": {
"@types/json-schema": "^7.0.11"
@@ -982,18 +982,18 @@
}
},
"node_modules/@mintlify/cli": {
- "version": "4.0.919",
- "resolved": "https://registry.npmjs.org/@mintlify/cli/-/cli-4.0.919.tgz",
- "integrity": "sha512-7zVYxDV/KteLlphmy7zGLUIQek1jFM1Lt7DPo1LVAUR3S8gYp35MopJLkR/o7WrpVVZnyZAYdmkEs/cbiCBQBw==",
+ "version": "4.0.938",
+ "resolved": "https://registry.npmjs.org/@mintlify/cli/-/cli-4.0.938.tgz",
+ "integrity": "sha512-3535UYtPNQ0W/sjr1/ZKwvxBA4bRLp5OKZsmUx6YFe1hmVdI4UHV3ywVC2gvUjOAmp7d9F1G6Slu5hxkKGJP1w==",
"license": "Elastic-2.0",
"dependencies": {
"@inquirer/prompts": "7.9.0",
- "@mintlify/common": "1.0.698",
- "@mintlify/link-rot": "3.0.857",
- "@mintlify/models": "0.0.263",
- "@mintlify/prebuild": "1.0.834",
- "@mintlify/previewing": "4.0.890",
- "@mintlify/validation": "0.1.577",
+ "@mintlify/common": "1.0.715",
+ "@mintlify/link-rot": "3.0.875",
+ "@mintlify/models": "0.0.269",
+ "@mintlify/prebuild": "1.0.851",
+ "@mintlify/previewing": "4.0.908",
+ "@mintlify/validation": "0.1.586",
"adm-zip": "0.5.16",
"chalk": "5.2.0",
"color": "4.2.3",
@@ -1018,16 +1018,17 @@
}
},
"node_modules/@mintlify/common": {
- "version": "1.0.698",
- "resolved": "https://registry.npmjs.org/@mintlify/common/-/common-1.0.698.tgz",
- "integrity": "sha512-CicjlATkONn6ARR55J6JY+tUmSof3zjZKb708RYv3yG3qQdMB2/g0+FvQXkk2dsPgq105J5dFb/n2+vYuiEsHA==",
+ "version": "1.0.715",
+ "resolved": "https://registry.npmjs.org/@mintlify/common/-/common-1.0.715.tgz",
+ "integrity": "sha512-23atHBnjre0pXNPJmr/bEz7ZWkTtQplefXG+BsKraFWDThBBKzyWhZAIDY/Z1cr/Jeu/sTL7G5UQ67Wj6r5LIw==",
"license": "ISC",
"dependencies": {
"@asyncapi/parser": "3.4.0",
+ "@asyncapi/specs": "6.8.1",
"@mintlify/mdx": "^3.0.4",
- "@mintlify/models": "0.0.263",
+ "@mintlify/models": "0.0.269",
"@mintlify/openapi-parser": "^0.0.8",
- "@mintlify/validation": "0.1.577",
+ "@mintlify/validation": "0.1.586",
"@sindresorhus/slugify": "2.2.0",
"@types/mdast": "4.0.4",
"acorn": "8.11.2",
@@ -1456,16 +1457,16 @@
}
},
"node_modules/@mintlify/link-rot": {
- "version": "3.0.857",
- "resolved": "https://registry.npmjs.org/@mintlify/link-rot/-/link-rot-3.0.857.tgz",
- "integrity": "sha512-ThNzzt4qzs0G88l7VJ3GqTHRUGhtDftydWQrxvm2v/eTUO9mjFkJZ1UZcp0/NYZgEOi2eLLHSns5B+PVlow5LA==",
+ "version": "3.0.875",
+ "resolved": "https://registry.npmjs.org/@mintlify/link-rot/-/link-rot-3.0.875.tgz",
+ "integrity": "sha512-38QHad7n0YsAOW0HFpX1yzo+sK43iqaUe0Mf7h2F9NalG/pfmAcl4R0rP9x9/DSkC994RbV8ZuvWbgPiKNBXCw==",
"license": "Elastic-2.0",
"dependencies": {
- "@mintlify/common": "1.0.698",
- "@mintlify/prebuild": "1.0.834",
- "@mintlify/previewing": "4.0.890",
+ "@mintlify/common": "1.0.715",
+ "@mintlify/prebuild": "1.0.851",
+ "@mintlify/previewing": "4.0.908",
"@mintlify/scraping": "4.0.522",
- "@mintlify/validation": "0.1.577",
+ "@mintlify/validation": "0.1.586",
"fs-extra": "11.1.0",
"unist-util-visit": "4.1.2"
},
@@ -1536,9 +1537,9 @@
}
},
"node_modules/@mintlify/models": {
- "version": "0.0.263",
- "resolved": "https://registry.npmjs.org/@mintlify/models/-/models-0.0.263.tgz",
- "integrity": "sha512-Hfu0CfCkZ0Rpsvc5CBX3JDA0bqDWJ16T7ukoj/y5KltWhrukEPOl9/QR1zG/ScdXDwdOm3Zn5QQDT3GLbL0tnQ==",
+ "version": "0.0.269",
+ "resolved": "https://registry.npmjs.org/@mintlify/models/-/models-0.0.269.tgz",
+ "integrity": "sha512-cNdAko4YIjcur+sNVn/oxTTO0UaM+JOITIzhnT1l0gIT9qtC2WmGFviPsL1gsXAnGc8tRaNTYcEbILaDOegFLw==",
"license": "Elastic-2.0",
"dependencies": {
"axios": "1.13.2",
@@ -1583,15 +1584,15 @@
}
},
"node_modules/@mintlify/prebuild": {
- "version": "1.0.834",
- "resolved": "https://registry.npmjs.org/@mintlify/prebuild/-/prebuild-1.0.834.tgz",
- "integrity": "sha512-JEdLMiKp9AygNpyEP2OuBJi9dzH34o8o57E55vlUrhQ6I/Po3Ww0yNQYH5wQ6bZM+tVX2ugJjKMclFURBfYMaw==",
+ "version": "1.0.851",
+ "resolved": "https://registry.npmjs.org/@mintlify/prebuild/-/prebuild-1.0.851.tgz",
+ "integrity": "sha512-bSrgZiQRduxwjmHF/u9V6ROPdG9Qbc/YVDrgqC/dZyT8F+V/NIhzUVkOfkSBT4BHg9B/IoQXuBOL0KjayZR2MA==",
"license": "Elastic-2.0",
"dependencies": {
- "@mintlify/common": "1.0.698",
+ "@mintlify/common": "1.0.715",
"@mintlify/openapi-parser": "^0.0.8",
- "@mintlify/scraping": "4.0.559",
- "@mintlify/validation": "0.1.577",
+ "@mintlify/scraping": "4.0.576",
+ "@mintlify/validation": "0.1.586",
"chalk": "5.3.0",
"favicons": "7.2.0",
"front-matter": "4.0.2",
@@ -1605,12 +1606,12 @@
}
},
"node_modules/@mintlify/prebuild/node_modules/@mintlify/scraping": {
- "version": "4.0.559",
- "resolved": "https://registry.npmjs.org/@mintlify/scraping/-/scraping-4.0.559.tgz",
- "integrity": "sha512-xowugtpLPQacXLqdSB+X85Ug1uxbJMkWa8IzO8CiyJN9kcx1EIG9Ydxn0JJhyENETR3jd1VLKzIMvLXFeGAzZA==",
+ "version": "4.0.576",
+ "resolved": "https://registry.npmjs.org/@mintlify/scraping/-/scraping-4.0.576.tgz",
+ "integrity": "sha512-5epw+n1DPiFmk7mw3Nmh8lrc/pClXD5fFKdkpEfJSggbFFY4v5tz935RqUTTwHTvelb+VZCaYN6tai2nZBFezQ==",
"license": "Elastic-2.0",
"dependencies": {
- "@mintlify/common": "1.0.698",
+ "@mintlify/common": "1.0.715",
"@mintlify/openapi-parser": "^0.0.8",
"fs-extra": "11.1.1",
"hast-util-to-mdast": "10.1.0",
@@ -1786,14 +1787,14 @@
}
},
"node_modules/@mintlify/previewing": {
- "version": "4.0.890",
- "resolved": "https://registry.npmjs.org/@mintlify/previewing/-/previewing-4.0.890.tgz",
- "integrity": "sha512-A8QeRFQ9dCsZJQgr6GCzSSrI+zlNm4dSlYUBDjPDkYI92uKmZO95maAKiXaWPKGQfjeIf8YYbP3n+k4QE+gpgg==",
+ "version": "4.0.908",
+ "resolved": "https://registry.npmjs.org/@mintlify/previewing/-/previewing-4.0.908.tgz",
+ "integrity": "sha512-JjJFHXgBi1E6elKqq5tzqpUd3sAdRhLZEfY/2hjEpzPcSCeUjf6biCNfTzi/+Qi/0nktthB4BIFY5MkXswdJyw==",
"license": "Elastic-2.0",
"dependencies": {
- "@mintlify/common": "1.0.698",
- "@mintlify/prebuild": "1.0.834",
- "@mintlify/validation": "0.1.577",
+ "@mintlify/common": "1.0.715",
+ "@mintlify/prebuild": "1.0.851",
+ "@mintlify/validation": "0.1.586",
"better-opn": "3.0.2",
"chalk": "5.2.0",
"chokidar": "3.5.3",
@@ -2433,13 +2434,13 @@
}
},
"node_modules/@mintlify/validation": {
- "version": "0.1.577",
- "resolved": "https://registry.npmjs.org/@mintlify/validation/-/validation-0.1.577.tgz",
- "integrity": "sha512-tecysj9oeTc0SHz1ro/oaqMLwEpJw/K8oqoDWULgOfBcDPeG6uKNMe2NiLyVZLZUMxsywFKOJFRkF/8mTbJcHQ==",
+ "version": "0.1.586",
+ "resolved": "https://registry.npmjs.org/@mintlify/validation/-/validation-0.1.586.tgz",
+ "integrity": "sha512-db8axJVnysJfSk16vSBMWKp8+Vareox1U6qxX8JoQRrONrgIHgkCS0wlo0LQwEdBkK8S2mX5xhVaLpktM3hm5g==",
"license": "Elastic-2.0",
"dependencies": {
"@mintlify/mdx": "^3.0.4",
- "@mintlify/models": "0.0.263",
+ "@mintlify/models": "0.0.269",
"arktype": "2.1.27",
"js-yaml": "4.1.0",
"lcm": "0.0.3",
@@ -3798,9 +3799,9 @@
}
},
"node_modules/@types/node": {
- "version": "25.2.0",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-25.2.0.tgz",
- "integrity": "sha512-DZ8VwRFUNzuqJ5khrvwMXHmvPe+zGayJhr2CDNiKB1WBE1ST8Djl00D0IC4vvNmHMdj6DlbYRIaFE7WHjlDl5w==",
+ "version": "25.2.2",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-25.2.2.tgz",
+ "integrity": "sha512-BkmoP5/FhRYek5izySdkOneRyXYN35I860MFAGupTdebyE66uZaR+bXLHq8k4DirE5DwQi3NuhvRU1jqTVwUrQ==",
"license": "MIT",
"peer": true,
"dependencies": {
@@ -3808,9 +3809,9 @@
}
},
"node_modules/@types/react": {
- "version": "19.2.10",
- "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.10.tgz",
- "integrity": "sha512-WPigyYuGhgZ/cTPRXB2EwUw+XvsRA3GqHlsP4qteqrnnjDrApbS7MxcGr/hke5iUoeB7E/gQtrs9I37zAJ0Vjw==",
+ "version": "19.2.13",
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.13.tgz",
+ "integrity": "sha512-KkiJeU6VbYbUOp5ITMIc7kBfqlYkKA5KhEHVrGMmUUMt7NeaZg65ojdPk+FtNrBAOXNVM5QM72jnADjM+XVRAQ==",
"license": "MIT",
"peer": true,
"dependencies": {
@@ -4005,9 +4006,9 @@
}
},
"node_modules/ansi-escapes": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.2.0.tgz",
- "integrity": "sha512-g6LhBsl+GBPRWGWsBtutpzBYuIIdBkLEvad5C/va/74Db018+5TZiyA26cZJAr3Rft5lprVqOIPxf5Vid6tqAw==",
+ "version": "7.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.3.0.tgz",
+ "integrity": "sha512-BvU8nYgGQBxcmMuEeUEmNTvrMVjJNSH7RgW24vXexN4Ven6qCvy4TntnvlnwnMLTVlcRQQdbRY8NKnaIoeWDNg==",
"license": "MIT",
"dependencies": {
"environment": "^1.0.0"
@@ -9557,12 +9558,12 @@
}
},
"node_modules/mintlify": {
- "version": "4.2.315",
- "resolved": "https://registry.npmjs.org/mintlify/-/mintlify-4.2.315.tgz",
- "integrity": "sha512-G2P7C5TAjayZF2WqrF+2Ya/yfIQSswS605YaBlXMlMCL4lFmqt4POPCowkg4OnojgAIm44JaBohYjhsDJqlMZA==",
+ "version": "4.2.334",
+ "resolved": "https://registry.npmjs.org/mintlify/-/mintlify-4.2.334.tgz",
+ "integrity": "sha512-Qly17PezvCGxPXb7cvtZ4LK5pSjoQ1iOK0ylheYT/EZ/puQGQkehQGG7wALUnGMIDPXo640gzYJsFocd21ECkg==",
"license": "Elastic-2.0",
"dependencies": {
- "@mintlify/cli": "4.0.919"
+ "@mintlify/cli": "4.0.938"
},
"bin": {
"mint": "index.js",
diff --git a/package.json b/package.json
index 12b27c4..a0a001a 100644
--- a/package.json
+++ b/package.json
@@ -4,6 +4,6 @@
"links": "mintlify broken-links"
},
"dependencies": {
- "mintlify": "^4.2.315"
+ "mintlify": "^4.2.334"
}
}