diff --git a/.github/workflows/docs-nav.yaml b/.github/workflows/docs-nav.yaml
index fc4c8152..be391125 100644
--- a/.github/workflows/docs-nav.yaml
+++ b/.github/workflows/docs-nav.yaml
@@ -8,8 +8,9 @@ on:
workflow_dispatch:
pull_request:
paths:
- - "docs/sdks/**"
+ - "docs/**"
- "scripts/gen-docs-nav.sh"
+ - "scripts/fix-docs-links.sh"
- ".github/workflows/docs-nav.yaml"
jobs:
@@ -26,7 +27,10 @@ jobs:
- name: Regenerate docs navigation
run: scripts/gen-docs-nav.sh
- - name: Auto-commit docs.json navigation
+ - name: Strip .mdx extensions from docs links
+ run: scripts/fix-docs-links.sh
+
+ - name: Auto-commit docs post-processing
uses: int128/update-generated-files-action@v2
with:
- commit-message: "Chore: regenerate docs navigation"
+ commit-message: "Chore: regenerate docs navigation and fix docs links"
diff --git a/docs/components/actionfindinpage.mdx b/docs/components/actionfindinpage.mdx
index 59aaf44e..b0303dfa 100644
--- a/docs/components/actionfindinpage.mdx
+++ b/docs/components/actionfindinpage.mdx
@@ -7,5 +7,5 @@ title: "ActionFindInPage"
| Field | Type | Required | Description |
| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ |
| `pattern` | *str* | :heavy_check_mark: | N/A |
-| `type` | [components.TypeFindInPage](../components/typefindinpage.mdx) | :heavy_check_mark: | N/A |
+| `type` | [components.TypeFindInPage](../components/typefindinpage) | :heavy_check_mark: | N/A |
| `url` | *str* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/actionopenpage.mdx b/docs/components/actionopenpage.mdx
index 6bf4cb41..fec91dd8 100644
--- a/docs/components/actionopenpage.mdx
+++ b/docs/components/actionopenpage.mdx
@@ -6,5 +6,5 @@ title: "ActionOpenPage"
| Field | Type | Required | Description |
| -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- |
-| `type` | [components.TypeOpenPage](../components/typeopenpage.mdx) | :heavy_check_mark: | N/A |
+| `type` | [components.TypeOpenPage](../components/typeopenpage) | :heavy_check_mark: | N/A |
| `url` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/docs/components/activityresponse.mdx b/docs/components/activityresponse.mdx
index 6edb98e8..4e6e28f0 100644
--- a/docs/components/activityresponse.mdx
+++ b/docs/components/activityresponse.mdx
@@ -6,4 +6,4 @@ title: "ActivityResponse"
| Field | Type | Required | Description |
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
-| `data` | List[[components.ActivityItem](../components/activityitem.mdx)] | :heavy_check_mark: | List of activity items |
\ No newline at end of file
+| `data` | List[[components.ActivityItem](../components/activityitem)] | :heavy_check_mark: | List of activity items |
\ No newline at end of file
diff --git a/docs/components/additionaltoolsitem.mdx b/docs/components/additionaltoolsitem.mdx
index 34d2291e..2a63f54b 100644
--- a/docs/components/additionaltoolsitem.mdx
+++ b/docs/components/additionaltoolsitem.mdx
@@ -10,6 +10,6 @@ Additional tools made available to the model at this point in the input
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
| `id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A |
-| `role` | [components.AdditionalToolsItemRole](../components/additionaltoolsitemrole.mdx) | :heavy_check_mark: | N/A |
-| `tools` | List[[components.AdditionalToolsItemToolUnion](../components/additionaltoolsitemtoolunion.mdx)] | :heavy_check_mark: | N/A |
-| `type` | [components.TypeAdditionalTools](../components/typeadditionaltools.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `role` | [components.AdditionalToolsItemRole](../components/additionaltoolsitemrole) | :heavy_check_mark: | N/A |
+| `tools` | List[[components.AdditionalToolsItemToolUnion](../components/additionaltoolsitemtoolunion)] | :heavy_check_mark: | N/A |
+| `type` | [components.TypeAdditionalTools](../components/typeadditionaltools) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/additionaltoolsitemtoolfunction.mdx b/docs/components/additionaltoolsitemtoolfunction.mdx
index 619939c0..113fdd97 100644
--- a/docs/components/additionaltoolsitemtoolfunction.mdx
+++ b/docs/components/additionaltoolsitemtoolfunction.mdx
@@ -13,4 +13,4 @@ Function tool definition
| `name` | *str* | :heavy_check_mark: | N/A |
| `parameters` | Dict[str, *Any*] | :heavy_check_mark: | N/A |
| `strict` | *OptionalNullable[bool]* | :heavy_minus_sign: | N/A |
-| `type` | [components.AdditionalToolsItemTypeFunction](../components/additionaltoolsitemtypefunction.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.AdditionalToolsItemTypeFunction](../components/additionaltoolsitemtypefunction) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/advisorreasoning.mdx b/docs/components/advisorreasoning.mdx
index b33ef536..438905bb 100644
--- a/docs/components/advisorreasoning.mdx
+++ b/docs/components/advisorreasoning.mdx
@@ -9,5 +9,5 @@ Reasoning configuration forwarded to the advisor call. Use this to control reaso
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
-| `effort` | [Optional[components.AdvisorReasoningEffort]](../components/advisorreasoningeffort.mdx) | :heavy_minus_sign: | Reasoning effort level for the advisor call. |
+| `effort` | [Optional[components.AdvisorReasoningEffort]](../components/advisorreasoningeffort) | :heavy_minus_sign: | Reasoning effort level for the advisor call. |
| `max_tokens` | *Optional[int]* | :heavy_minus_sign: | Maximum number of reasoning tokens the advisor may use. |
\ No newline at end of file
diff --git a/docs/components/advisorservertoolconfig.mdx b/docs/components/advisorservertoolconfig.mdx
index 123fe879..cb0b6da5 100644
--- a/docs/components/advisorservertoolconfig.mdx
+++ b/docs/components/advisorservertoolconfig.mdx
@@ -15,7 +15,7 @@ Configuration for one openrouter:advisor server tool entry.
| `max_tool_calls` | *Optional[int]* | :heavy_minus_sign: | Maximum number of tool-calling steps the advisor sub-agent may take during its agentic loop. Capped at 25. Only relevant when the advisor is given tools. | 5 |
| `model` | *Optional[str]* | :heavy_minus_sign: | Slug of the advisor model to consult (any OpenRouter model). When omitted, the executor can choose it via the tool call's `model` argument; if neither is set, the model from the outer API request is used. The advisor tool itself cannot be the advisor model. | ~anthropic/claude-opus-latest |
| `name` | *Optional[str]* | :heavy_minus_sign: | Optional name for this advisor. The model sees one tool per named advisor (and one default for an unnamed entry). Names must be unique across advisor entries. Letters, digits, spaces, underscores, and dashes; trimmed; 1–64 chars. | reviewer |
-| `reasoning` | [Optional[components.AdvisorReasoning]](../components/advisorreasoning.mdx) | :heavy_minus_sign: | Reasoning configuration forwarded to the advisor call. Use this to control reasoning effort and token budget for models that support extended thinking. | \{
"effort": "high"
} |
+| `reasoning` | [Optional[components.AdvisorReasoning]](../components/advisorreasoning) | :heavy_minus_sign: | Reasoning configuration forwarded to the advisor call. Use this to control reasoning effort and token budget for models that support extended thinking. | \{
"effort": "high"
} |
| `stream` | *Optional[bool]* | :heavy_minus_sign: | When true, the advisor's advice streams incrementally as it is produced. In the Responses API this emits `response.output_text.delta` events targeting the advisor output item; the final `advice` field is still set on the completed item. Has no effect on the Chat Completions API (where the advice arrives only as the final tool result). When false or omitted, the advice arrives only as the final result. | false |
| `temperature` | *Optional[float]* | :heavy_minus_sign: | Sampling temperature forwarded to the advisor call. When omitted, the provider's default applies. | 0.7 |
-| `tools` | List[[components.AdvisorNestedTool](../components/advisornestedtool.mdx)] | :heavy_minus_sign: | Tools the advisor sub-agent may use while forming its advice. The advisor runs as an agentic sub-agent over these tools, then returns its text. Only OpenRouter server tools are supported — function tools are rejected — and the list must not include the advisor tool itself. | |
\ No newline at end of file
+| `tools` | List[[components.AdvisorNestedTool](../components/advisornestedtool)] | :heavy_minus_sign: | Tools the advisor sub-agent may use while forming its advice. The advisor runs as an agentic sub-agent over these tools, then returns its text. Only OpenRouter server tools are supported — function tools are rejected — and the list must not include the advisor tool itself. | |
\ No newline at end of file
diff --git a/docs/components/advisorservertoolopenrouter.mdx b/docs/components/advisorservertoolopenrouter.mdx
index 928a0b80..77ada7d3 100644
--- a/docs/components/advisorservertoolopenrouter.mdx
+++ b/docs/components/advisorservertoolopenrouter.mdx
@@ -9,5 +9,5 @@ OpenRouter built-in server tool: consults a higher-intelligence advisor model (a
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
-| `parameters` | [Optional[components.AdvisorServerToolConfig]](../components/advisorservertoolconfig.mdx) | :heavy_minus_sign: | Configuration for one openrouter:advisor server tool entry. | \{
"model": "~anthropic/claude-opus-latest",
"name": "reviewer"
} |
-| `type` | [components.AdvisorServerToolOpenRouterType](../components/advisorservertoolopenroutertype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `parameters` | [Optional[components.AdvisorServerToolConfig]](../components/advisorservertoolconfig) | :heavy_minus_sign: | Configuration for one openrouter:advisor server tool entry. | \{
"model": "~anthropic/claude-opus-latest",
"name": "reviewer"
} |
+| `type` | [components.AdvisorServerToolOpenRouterType](../components/advisorservertoolopenroutertype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/agentmessageitem.mdx b/docs/components/agentmessageitem.mdx
index 6c75e26d..3b9a235e 100644
--- a/docs/components/agentmessageitem.mdx
+++ b/docs/components/agentmessageitem.mdx
@@ -9,10 +9,10 @@ A message routed between agents in a multi-agent session
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
-| `agent` | [OptionalNullable[components.Agent]](../components/agent.mdx) | :heavy_minus_sign: | N/A | |
+| `agent` | [OptionalNullable[components.Agent]](../components/agent) | :heavy_minus_sign: | N/A | |
| `author` | *str* | :heavy_check_mark: | N/A | |
-| `content` | List[[components.AgentMessageItemContentUnion](../components/agentmessageitemcontentunion.mdx)] | :heavy_check_mark: | N/A | |
+| `content` | List[[components.AgentMessageItemContentUnion](../components/agentmessageitemcontentunion)] | :heavy_check_mark: | N/A | |
| `id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
| `recipient` | *str* | :heavy_check_mark: | N/A | |
-| `type` | [components.TypeAgentMessage](../components/typeagentmessage.mdx) | :heavy_check_mark: | N/A | |
+| `type` | [components.TypeAgentMessage](../components/typeagentmessage) | :heavy_check_mark: | N/A | |
| `__pydantic_extra__` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \{
"author": "/root/worker",
"content": [
\{
"text": "Task complete.",
"type": "input_text"
}
],
"recipient": "/root",
"type": "agent_message"
} |
\ No newline at end of file
diff --git a/docs/components/agentmessageitemcontentinputimage.mdx b/docs/components/agentmessageitemcontentinputimage.mdx
index 67e9a241..0b07a9cf 100644
--- a/docs/components/agentmessageitemcontentinputimage.mdx
+++ b/docs/components/agentmessageitemcontentinputimage.mdx
@@ -9,6 +9,6 @@ Image input content item
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
-| `detail` | [components.AgentMessageItemDetail](../components/agentmessageitemdetail.mdx) | :heavy_check_mark: | N/A |
+| `detail` | [components.AgentMessageItemDetail](../components/agentmessageitemdetail) | :heavy_check_mark: | N/A |
| `image_url` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A |
-| `type` | [components.AgentMessageItemTypeInputImage](../components/agentmessageitemtypeinputimage.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.AgentMessageItemTypeInputImage](../components/agentmessageitemtypeinputimage) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/annotationaddedevent.mdx b/docs/components/annotationaddedevent.mdx
index d05a0623..593cb7a3 100644
--- a/docs/components/annotationaddedevent.mdx
+++ b/docs/components/annotationaddedevent.mdx
@@ -9,10 +9,10 @@ Event emitted when a text annotation is added to output
| Field | Type | Required | Description | Example |
| --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
-| `annotation` | [components.OpenAIResponsesAnnotation](../components/openairesponsesannotation.mdx) | :heavy_check_mark: | N/A | \{
"file_id": "file-abc123",
"filename": "research_paper.pdf",
"index": 0,
"type": "file_citation"
} |
+| `annotation` | [components.OpenAIResponsesAnnotation](../components/openairesponsesannotation) | :heavy_check_mark: | N/A | \{
"file_id": "file-abc123",
"filename": "research_paper.pdf",
"index": 0,
"type": "file_citation"
} |
| `annotation_index` | *int* | :heavy_check_mark: | N/A | |
| `content_index` | *int* | :heavy_check_mark: | N/A | |
| `item_id` | *str* | :heavy_check_mark: | N/A | |
| `output_index` | *int* | :heavy_check_mark: | N/A | |
| `sequence_number` | *int* | :heavy_check_mark: | N/A | |
-| `type` | [components.AnnotationAddedEventType](../components/annotationaddedeventtype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `type` | [components.AnnotationAddedEventType](../components/annotationaddedeventtype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/anthropicadvisormessageusageiteration.mdx b/docs/components/anthropicadvisormessageusageiteration.mdx
index 0d71d365..e29c945b 100644
--- a/docs/components/anthropicadvisormessageusageiteration.mdx
+++ b/docs/components/anthropicadvisormessageusageiteration.mdx
@@ -6,10 +6,10 @@ title: "AnthropicAdvisorMessageUsageIteration"
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ |
-| `cache_creation` | [OptionalNullable[components.AnthropicIterationCacheCreation]](../components/anthropiciterationcachecreation.mdx) | :heavy_minus_sign: | N/A | \{
"ephemeral_1h_input_tokens": 0,
"ephemeral_5m_input_tokens": 0
} |
+| `cache_creation` | [OptionalNullable[components.AnthropicIterationCacheCreation]](../components/anthropiciterationcachecreation) | :heavy_minus_sign: | N/A | \{
"ephemeral_1h_input_tokens": 0,
"ephemeral_5m_input_tokens": 0
} |
| `cache_creation_input_tokens` | *Optional[int]* | :heavy_minus_sign: | N/A | |
| `cache_read_input_tokens` | *Optional[int]* | :heavy_minus_sign: | N/A | |
| `input_tokens` | *Optional[int]* | :heavy_minus_sign: | N/A | |
| `output_tokens` | *Optional[int]* | :heavy_minus_sign: | N/A | |
| `model` | *str* | :heavy_check_mark: | N/A | |
-| `type` | [components.AnthropicAdvisorMessageUsageIterationType](../components/anthropicadvisormessageusageiterationtype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `type` | [components.AnthropicAdvisorMessageUsageIterationType](../components/anthropicadvisormessageusageiterationtype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/anthropicbase64imagesource.mdx b/docs/components/anthropicbase64imagesource.mdx
index 31e75cf2..3f773994 100644
--- a/docs/components/anthropicbase64imagesource.mdx
+++ b/docs/components/anthropicbase64imagesource.mdx
@@ -7,5 +7,5 @@ title: "AnthropicBase64ImageSource"
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
| `data` | *str* | :heavy_check_mark: | N/A | |
-| `media_type` | [components.AnthropicImageMimeType](../components/anthropicimagemimetype.mdx) | :heavy_check_mark: | N/A | image/jpeg |
-| `type` | [components.AnthropicBase64ImageSourceType](../components/anthropicbase64imagesourcetype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `media_type` | [components.AnthropicImageMimeType](../components/anthropicimagemimetype) | :heavy_check_mark: | N/A | image/jpeg |
+| `type` | [components.AnthropicBase64ImageSourceType](../components/anthropicbase64imagesourcetype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/anthropicbase64pdfsource.mdx b/docs/components/anthropicbase64pdfsource.mdx
index 40f04263..1a4773ff 100644
--- a/docs/components/anthropicbase64pdfsource.mdx
+++ b/docs/components/anthropicbase64pdfsource.mdx
@@ -7,5 +7,5 @@ title: "AnthropicBase64PdfSource"
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| `data` | *str* | :heavy_check_mark: | N/A |
-| `media_type` | [components.AnthropicBase64PdfSourceMediaType](../components/anthropicbase64pdfsourcemediatype.mdx) | :heavy_check_mark: | N/A |
-| `type` | [components.AnthropicBase64PdfSourceType](../components/anthropicbase64pdfsourcetype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `media_type` | [components.AnthropicBase64PdfSourceMediaType](../components/anthropicbase64pdfsourcemediatype) | :heavy_check_mark: | N/A |
+| `type` | [components.AnthropicBase64PdfSourceType](../components/anthropicbase64pdfsourcetype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/anthropiccachecontroldirective.mdx b/docs/components/anthropiccachecontroldirective.mdx
index 12b753fe..f0455a75 100644
--- a/docs/components/anthropiccachecontroldirective.mdx
+++ b/docs/components/anthropiccachecontroldirective.mdx
@@ -9,5 +9,5 @@ Enable automatic prompt caching. When set at the top level, the system automatic
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
-| `ttl` | [Optional[components.AnthropicCacheControlTTL]](../components/anthropiccachecontrolttl.mdx) | :heavy_minus_sign: | N/A | 5m |
-| `type` | [components.AnthropicCacheControlDirectiveType](../components/anthropiccachecontroldirectivetype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `ttl` | [Optional[components.AnthropicCacheControlTTL]](../components/anthropiccachecontrolttl) | :heavy_minus_sign: | N/A | 5m |
+| `type` | [components.AnthropicCacheControlDirectiveType](../components/anthropiccachecontroldirectivetype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/anthropiccitationcharlocationparam.mdx b/docs/components/anthropiccitationcharlocationparam.mdx
index 5a68da55..9c5b7f85 100644
--- a/docs/components/anthropiccitationcharlocationparam.mdx
+++ b/docs/components/anthropiccitationcharlocationparam.mdx
@@ -11,4 +11,4 @@ title: "AnthropicCitationCharLocationParam"
| `document_title` | *Nullable[str]* | :heavy_check_mark: | N/A |
| `end_char_index` | *int* | :heavy_check_mark: | N/A |
| `start_char_index` | *int* | :heavy_check_mark: | N/A |
-| `type` | [components.AnthropicCitationCharLocationParamType](../components/anthropiccitationcharlocationparamtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.AnthropicCitationCharLocationParamType](../components/anthropiccitationcharlocationparamtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/anthropiccitationcontentblocklocationparam.mdx b/docs/components/anthropiccitationcontentblocklocationparam.mdx
index b0353d9c..b854704c 100644
--- a/docs/components/anthropiccitationcontentblocklocationparam.mdx
+++ b/docs/components/anthropiccitationcontentblocklocationparam.mdx
@@ -11,4 +11,4 @@ title: "AnthropicCitationContentBlockLocationParam"
| `document_title` | *Nullable[str]* | :heavy_check_mark: | N/A |
| `end_block_index` | *int* | :heavy_check_mark: | N/A |
| `start_block_index` | *int* | :heavy_check_mark: | N/A |
-| `type` | [components.AnthropicCitationContentBlockLocationParamType](../components/anthropiccitationcontentblocklocationparamtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.AnthropicCitationContentBlockLocationParamType](../components/anthropiccitationcontentblocklocationparamtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/anthropiccitationpagelocationparam.mdx b/docs/components/anthropiccitationpagelocationparam.mdx
index 137db690..4c6586d6 100644
--- a/docs/components/anthropiccitationpagelocationparam.mdx
+++ b/docs/components/anthropiccitationpagelocationparam.mdx
@@ -11,4 +11,4 @@ title: "AnthropicCitationPageLocationParam"
| `document_title` | *Nullable[str]* | :heavy_check_mark: | N/A |
| `end_page_number` | *int* | :heavy_check_mark: | N/A |
| `start_page_number` | *int* | :heavy_check_mark: | N/A |
-| `type` | [components.AnthropicCitationPageLocationParamType](../components/anthropiccitationpagelocationparamtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.AnthropicCitationPageLocationParamType](../components/anthropiccitationpagelocationparamtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/anthropiccitationsearchresultlocationparam.mdx b/docs/components/anthropiccitationsearchresultlocationparam.mdx
index 8d0c9d2a..97bace4d 100644
--- a/docs/components/anthropiccitationsearchresultlocationparam.mdx
+++ b/docs/components/anthropiccitationsearchresultlocationparam.mdx
@@ -12,4 +12,4 @@ title: "AnthropicCitationSearchResultLocationParam"
| `source` | *str* | :heavy_check_mark: | N/A |
| `start_block_index` | *int* | :heavy_check_mark: | N/A |
| `title` | *Nullable[str]* | :heavy_check_mark: | N/A |
-| `type` | [components.AnthropicCitationSearchResultLocationParamType](../components/anthropiccitationsearchresultlocationparamtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.AnthropicCitationSearchResultLocationParamType](../components/anthropiccitationsearchresultlocationparamtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/anthropiccitationwebsearchresultlocationparam.mdx b/docs/components/anthropiccitationwebsearchresultlocationparam.mdx
index 9b59d45b..7bfc2f16 100644
--- a/docs/components/anthropiccitationwebsearchresultlocationparam.mdx
+++ b/docs/components/anthropiccitationwebsearchresultlocationparam.mdx
@@ -9,5 +9,5 @@ title: "AnthropicCitationWebSearchResultLocationParam"
| `cited_text` | *str* | :heavy_check_mark: | N/A |
| `encrypted_index` | *str* | :heavy_check_mark: | N/A |
| `title` | *Nullable[str]* | :heavy_check_mark: | N/A |
-| `type` | [components.AnthropicCitationWebSearchResultLocationParamType](../components/anthropiccitationwebsearchresultlocationparamtype.mdx) | :heavy_check_mark: | N/A |
+| `type` | [components.AnthropicCitationWebSearchResultLocationParamType](../components/anthropiccitationwebsearchresultlocationparamtype) | :heavy_check_mark: | N/A |
| `url` | *str* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/anthropiccompactionusageiteration.mdx b/docs/components/anthropiccompactionusageiteration.mdx
index 2f0a28b5..4c04a531 100644
--- a/docs/components/anthropiccompactionusageiteration.mdx
+++ b/docs/components/anthropiccompactionusageiteration.mdx
@@ -6,9 +6,9 @@ title: "AnthropicCompactionUsageIteration"
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
-| `cache_creation` | [OptionalNullable[components.AnthropicIterationCacheCreation]](../components/anthropiciterationcachecreation.mdx) | :heavy_minus_sign: | N/A | \{
"ephemeral_1h_input_tokens": 0,
"ephemeral_5m_input_tokens": 0
} |
+| `cache_creation` | [OptionalNullable[components.AnthropicIterationCacheCreation]](../components/anthropiciterationcachecreation) | :heavy_minus_sign: | N/A | \{
"ephemeral_1h_input_tokens": 0,
"ephemeral_5m_input_tokens": 0
} |
| `cache_creation_input_tokens` | *Optional[int]* | :heavy_minus_sign: | N/A | |
| `cache_read_input_tokens` | *Optional[int]* | :heavy_minus_sign: | N/A | |
| `input_tokens` | *Optional[int]* | :heavy_minus_sign: | N/A | |
| `output_tokens` | *Optional[int]* | :heavy_minus_sign: | N/A | |
-| `type` | [components.AnthropicCompactionUsageIterationType](../components/anthropiccompactionusageiterationtype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `type` | [components.AnthropicCompactionUsageIterationType](../components/anthropiccompactionusageiterationtype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/anthropicdocumentblockparam.mdx b/docs/components/anthropicdocumentblockparam.mdx
index 1ed7b7cd..cc47f8f2 100644
--- a/docs/components/anthropicdocumentblockparam.mdx
+++ b/docs/components/anthropicdocumentblockparam.mdx
@@ -6,9 +6,9 @@ title: "AnthropicDocumentBlockParam"
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../components/anthropiccachecontroldirective.mdx) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
-| `citations` | [OptionalNullable[components.AnthropicDocumentBlockParamCitations]](../components/anthropicdocumentblockparamcitations.mdx) | :heavy_minus_sign: | N/A | |
+| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../components/anthropiccachecontroldirective) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
+| `citations` | [OptionalNullable[components.AnthropicDocumentBlockParamCitations]](../components/anthropicdocumentblockparamcitations) | :heavy_minus_sign: | N/A | |
| `context` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
-| `source` | [components.AnthropicDocumentBlockParamSourceUnion](../components/anthropicdocumentblockparamsourceunion.mdx) | :heavy_check_mark: | N/A | |
+| `source` | [components.AnthropicDocumentBlockParamSourceUnion](../components/anthropicdocumentblockparamsourceunion) | :heavy_check_mark: | N/A | |
| `title` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
-| `type` | [components.TypeDocument](../components/typedocument.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `type` | [components.TypeDocument](../components/typedocument) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/anthropicfile.mdx b/docs/components/anthropicfile.mdx
index 7e1012dc..48cc1b44 100644
--- a/docs/components/anthropicfile.mdx
+++ b/docs/components/anthropicfile.mdx
@@ -9,11 +9,11 @@ A stored file in Anthropic's Files API shape.
| Field | Type | Required | Description |
| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- |
-| `shape` | [components.AnthropicFileShape](../components/anthropicfileshape.mdx) | :heavy_check_mark: | N/A |
+| `shape` | [components.AnthropicFileShape](../components/anthropicfileshape) | :heavy_check_mark: | N/A |
| `created_at` | *str* | :heavy_check_mark: | N/A |
| `downloadable` | *bool* | :heavy_check_mark: | N/A |
| `filename` | *str* | :heavy_check_mark: | N/A |
| `id` | *str* | :heavy_check_mark: | N/A |
| `mime_type` | *str* | :heavy_check_mark: | N/A |
| `size_bytes` | *int* | :heavy_check_mark: | N/A |
-| `type` | [components.AnthropicFileType](../components/anthropicfiletype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.AnthropicFileType](../components/anthropicfiletype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/anthropicfiledeleted.mdx b/docs/components/anthropicfiledeleted.mdx
index 2e4f7895..f2158ac9 100644
--- a/docs/components/anthropicfiledeleted.mdx
+++ b/docs/components/anthropicfiledeleted.mdx
@@ -9,6 +9,6 @@ Deletion result in Anthropic's shape.
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
-| `shape` | [components.AnthropicFileDeletedShape](../components/anthropicfiledeletedshape.mdx) | :heavy_check_mark: | N/A |
+| `shape` | [components.AnthropicFileDeletedShape](../components/anthropicfiledeletedshape) | :heavy_check_mark: | N/A |
| `id` | *str* | :heavy_check_mark: | N/A |
-| `type` | [components.AnthropicFileDeletedType](../components/anthropicfiledeletedtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.AnthropicFileDeletedType](../components/anthropicfiledeletedtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/anthropicfiledocumentsource.mdx b/docs/components/anthropicfiledocumentsource.mdx
index 9b1f7560..f1f94f35 100644
--- a/docs/components/anthropicfiledocumentsource.mdx
+++ b/docs/components/anthropicfiledocumentsource.mdx
@@ -7,4 +7,4 @@ title: "AnthropicFileDocumentSource"
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
| `file_id` | *str* | :heavy_check_mark: | N/A |
-| `type` | [components.AnthropicFileDocumentSourceType](../components/anthropicfiledocumentsourcetype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.AnthropicFileDocumentSourceType](../components/anthropicfiledocumentsourcetype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/anthropicfilelist.mdx b/docs/components/anthropicfilelist.mdx
index 59fc8735..aca7b1e7 100644
--- a/docs/components/anthropicfilelist.mdx
+++ b/docs/components/anthropicfilelist.mdx
@@ -9,8 +9,8 @@ A page of files in Anthropic's shape.
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
-| `shape` | [components.AnthropicFileListShape](../components/anthropicfilelistshape.mdx) | :heavy_check_mark: | N/A |
-| `data` | List[[components.AnthropicFile](../components/anthropicfile.mdx)] | :heavy_check_mark: | N/A |
+| `shape` | [components.AnthropicFileListShape](../components/anthropicfilelistshape) | :heavy_check_mark: | N/A |
+| `data` | List[[components.AnthropicFile](../components/anthropicfile)] | :heavy_check_mark: | N/A |
| `first_id` | *Nullable[str]* | :heavy_check_mark: | N/A |
| `has_more` | *bool* | :heavy_check_mark: | N/A |
| `last_id` | *Nullable[str]* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/anthropicimageblockparam.mdx b/docs/components/anthropicimageblockparam.mdx
index 9be25eff..d36add7f 100644
--- a/docs/components/anthropicimageblockparam.mdx
+++ b/docs/components/anthropicimageblockparam.mdx
@@ -6,6 +6,6 @@ title: "AnthropicImageBlockParam"
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../components/anthropiccachecontroldirective.mdx) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
-| `source` | [components.AnthropicImageBlockParamSource](../components/anthropicimageblockparamsource.mdx) | :heavy_check_mark: | N/A | |
-| `type` | [components.AnthropicImageBlockParamType](../components/anthropicimageblockparamtype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../components/anthropiccachecontroldirective) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
+| `source` | [components.AnthropicImageBlockParamSource](../components/anthropicimageblockparamsource) | :heavy_check_mark: | N/A | |
+| `type` | [components.AnthropicImageBlockParamType](../components/anthropicimageblockparamtype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/anthropicinputtokensclearatleast.mdx b/docs/components/anthropicinputtokensclearatleast.mdx
index 0c85fad2..d925ae9d 100644
--- a/docs/components/anthropicinputtokensclearatleast.mdx
+++ b/docs/components/anthropicinputtokensclearatleast.mdx
@@ -6,5 +6,5 @@ title: "AnthropicInputTokensClearAtLeast"
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
-| `type` | [components.AnthropicInputTokensClearAtLeastType](../components/anthropicinputtokensclearatleasttype.mdx) | :heavy_check_mark: | N/A |
+| `type` | [components.AnthropicInputTokensClearAtLeastType](../components/anthropicinputtokensclearatleasttype) | :heavy_check_mark: | N/A |
| `value` | *int* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/anthropicinputtokenstrigger.mdx b/docs/components/anthropicinputtokenstrigger.mdx
index 72fe90a5..f21deac1 100644
--- a/docs/components/anthropicinputtokenstrigger.mdx
+++ b/docs/components/anthropicinputtokenstrigger.mdx
@@ -6,5 +6,5 @@ title: "AnthropicInputTokensTrigger"
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
-| `type` | [components.AnthropicInputTokensTriggerType](../components/anthropicinputtokenstriggertype.mdx) | :heavy_check_mark: | N/A |
+| `type` | [components.AnthropicInputTokensTriggerType](../components/anthropicinputtokenstriggertype) | :heavy_check_mark: | N/A |
| `value` | *int* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/anthropicmessageusageiteration.mdx b/docs/components/anthropicmessageusageiteration.mdx
index 01ec99b0..bbdf5818 100644
--- a/docs/components/anthropicmessageusageiteration.mdx
+++ b/docs/components/anthropicmessageusageiteration.mdx
@@ -6,10 +6,10 @@ title: "AnthropicMessageUsageIteration"
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
-| `cache_creation` | [OptionalNullable[components.AnthropicIterationCacheCreation]](../components/anthropiciterationcachecreation.mdx) | :heavy_minus_sign: | N/A | \{
"ephemeral_1h_input_tokens": 0,
"ephemeral_5m_input_tokens": 0
} |
+| `cache_creation` | [OptionalNullable[components.AnthropicIterationCacheCreation]](../components/anthropiciterationcachecreation) | :heavy_minus_sign: | N/A | \{
"ephemeral_1h_input_tokens": 0,
"ephemeral_5m_input_tokens": 0
} |
| `cache_creation_input_tokens` | *Optional[int]* | :heavy_minus_sign: | N/A | |
| `cache_read_input_tokens` | *Optional[int]* | :heavy_minus_sign: | N/A | |
| `input_tokens` | *Optional[int]* | :heavy_minus_sign: | N/A | |
| `output_tokens` | *Optional[int]* | :heavy_minus_sign: | N/A | |
| `model` | *Optional[str]* | :heavy_minus_sign: | N/A | |
-| `type` | [components.AnthropicMessageUsageIterationType](../components/anthropicmessageusageiterationtype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `type` | [components.AnthropicMessageUsageIterationType](../components/anthropicmessageusageiterationtype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/anthropicplaintextsource.mdx b/docs/components/anthropicplaintextsource.mdx
index 3a07d04f..a1c7578a 100644
--- a/docs/components/anthropicplaintextsource.mdx
+++ b/docs/components/anthropicplaintextsource.mdx
@@ -7,5 +7,5 @@ title: "AnthropicPlainTextSource"
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| `data` | *str* | :heavy_check_mark: | N/A |
-| `media_type` | [components.AnthropicPlainTextSourceMediaType](../components/anthropicplaintextsourcemediatype.mdx) | :heavy_check_mark: | N/A |
-| `type` | [components.AnthropicPlainTextSourceType](../components/anthropicplaintextsourcetype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `media_type` | [components.AnthropicPlainTextSourceMediaType](../components/anthropicplaintextsourcemediatype) | :heavy_check_mark: | N/A |
+| `type` | [components.AnthropicPlainTextSourceType](../components/anthropicplaintextsourcetype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/anthropicsearchresultblockparam.mdx b/docs/components/anthropicsearchresultblockparam.mdx
index 89ae1afd..26b04b2c 100644
--- a/docs/components/anthropicsearchresultblockparam.mdx
+++ b/docs/components/anthropicsearchresultblockparam.mdx
@@ -6,9 +6,9 @@ title: "AnthropicSearchResultBlockParam"
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../components/anthropiccachecontroldirective.mdx) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
-| `citations` | [Optional[components.AnthropicSearchResultBlockParamCitations]](../components/anthropicsearchresultblockparamcitations.mdx) | :heavy_minus_sign: | N/A | |
-| `content` | List[[components.AnthropicTextBlockParam](../components/anthropictextblockparam.mdx)] | :heavy_check_mark: | N/A | |
+| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../components/anthropiccachecontroldirective) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
+| `citations` | [Optional[components.AnthropicSearchResultBlockParamCitations]](../components/anthropicsearchresultblockparamcitations) | :heavy_minus_sign: | N/A | |
+| `content` | List[[components.AnthropicTextBlockParam](../components/anthropictextblockparam)] | :heavy_check_mark: | N/A | |
| `source` | *str* | :heavy_check_mark: | N/A | |
| `title` | *str* | :heavy_check_mark: | N/A | |
-| `type` | [components.AnthropicSearchResultBlockParamType](../components/anthropicsearchresultblockparamtype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `type` | [components.AnthropicSearchResultBlockParamType](../components/anthropicsearchresultblockparamtype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/anthropictextblockparam.mdx b/docs/components/anthropictextblockparam.mdx
index 502d15e6..bcbf1421 100644
--- a/docs/components/anthropictextblockparam.mdx
+++ b/docs/components/anthropictextblockparam.mdx
@@ -6,7 +6,7 @@ title: "AnthropicTextBlockParam"
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../components/anthropiccachecontroldirective.mdx) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
-| `citations` | List[[components.Citation](../components/citation.mdx)] | :heavy_minus_sign: | N/A | |
+| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../components/anthropiccachecontroldirective) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
+| `citations` | List[[components.Citation](../components/citation)] | :heavy_minus_sign: | N/A | |
| `text` | *str* | :heavy_check_mark: | N/A | |
-| `type` | [components.AnthropicTextBlockParamType](../components/anthropictextblockparamtype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `type` | [components.AnthropicTextBlockParamType](../components/anthropictextblockparamtype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/anthropicthinkingturns.mdx b/docs/components/anthropicthinkingturns.mdx
index 9c920215..4e8e2001 100644
--- a/docs/components/anthropicthinkingturns.mdx
+++ b/docs/components/anthropicthinkingturns.mdx
@@ -6,5 +6,5 @@ title: "AnthropicThinkingTurns"
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ |
-| `type` | [components.AnthropicThinkingTurnsType](../components/anthropicthinkingturnstype.mdx) | :heavy_check_mark: | N/A |
+| `type` | [components.AnthropicThinkingTurnsType](../components/anthropicthinkingturnstype) | :heavy_check_mark: | N/A |
| `value` | *int* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/anthropictoolsearchtoolbm25.mdx b/docs/components/anthropictoolsearchtoolbm25.mdx
index 0481dd03..b1957f5e 100644
--- a/docs/components/anthropictoolsearchtoolbm25.mdx
+++ b/docs/components/anthropictoolsearchtoolbm25.mdx
@@ -6,9 +6,9 @@ title: "AnthropicToolSearchToolBm25"
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `allowed_callers` | List[[components.AnthropicAllowedCallers](../components/anthropicallowedcallers.mdx)] | :heavy_minus_sign: | N/A | [
"direct"
] |
-| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../components/anthropiccachecontroldirective.mdx) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
+| `allowed_callers` | List[[components.AnthropicAllowedCallers](../components/anthropicallowedcallers)] | :heavy_minus_sign: | N/A | [
"direct"
] |
+| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../components/anthropiccachecontroldirective) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
| `defer_loading` | *Optional[bool]* | :heavy_minus_sign: | N/A | |
-| `name` | [components.AnthropicToolSearchToolBm25Name](../components/anthropictoolsearchtoolbm25name.mdx) | :heavy_check_mark: | N/A | |
+| `name` | [components.AnthropicToolSearchToolBm25Name](../components/anthropictoolsearchtoolbm25name) | :heavy_check_mark: | N/A | |
| `strict` | *Optional[bool]* | :heavy_minus_sign: | N/A | |
-| `type` | [components.AnthropicToolSearchToolBm25Type](../components/anthropictoolsearchtoolbm25type.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `type` | [components.AnthropicToolSearchToolBm25Type](../components/anthropictoolsearchtoolbm25type) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/anthropictoolsearchtoolregex.mdx b/docs/components/anthropictoolsearchtoolregex.mdx
index 9eaa2346..7ba7461a 100644
--- a/docs/components/anthropictoolsearchtoolregex.mdx
+++ b/docs/components/anthropictoolsearchtoolregex.mdx
@@ -6,9 +6,9 @@ title: "AnthropicToolSearchToolRegex"
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `allowed_callers` | List[[components.AnthropicAllowedCallers](../components/anthropicallowedcallers.mdx)] | :heavy_minus_sign: | N/A | [
"direct"
] |
-| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../components/anthropiccachecontroldirective.mdx) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
+| `allowed_callers` | List[[components.AnthropicAllowedCallers](../components/anthropicallowedcallers)] | :heavy_minus_sign: | N/A | [
"direct"
] |
+| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../components/anthropiccachecontroldirective) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
| `defer_loading` | *Optional[bool]* | :heavy_minus_sign: | N/A | |
-| `name` | [components.AnthropicToolSearchToolRegexName](../components/anthropictoolsearchtoolregexname.mdx) | :heavy_check_mark: | N/A | |
+| `name` | [components.AnthropicToolSearchToolRegexName](../components/anthropictoolsearchtoolregexname) | :heavy_check_mark: | N/A | |
| `strict` | *Optional[bool]* | :heavy_minus_sign: | N/A | |
-| `type` | [components.AnthropicToolSearchToolRegexType](../components/anthropictoolsearchtoolregextype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `type` | [components.AnthropicToolSearchToolRegexType](../components/anthropictoolsearchtoolregextype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/anthropictooluseskeep.mdx b/docs/components/anthropictooluseskeep.mdx
index 56a3b082..e311f08e 100644
--- a/docs/components/anthropictooluseskeep.mdx
+++ b/docs/components/anthropictooluseskeep.mdx
@@ -6,5 +6,5 @@ title: "AnthropicToolUsesKeep"
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
-| `type` | [components.AnthropicToolUsesKeepType](../components/anthropictooluseskeeptype.mdx) | :heavy_check_mark: | N/A |
+| `type` | [components.AnthropicToolUsesKeepType](../components/anthropictooluseskeeptype) | :heavy_check_mark: | N/A |
| `value` | *int* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/anthropictoolusestrigger.mdx b/docs/components/anthropictoolusestrigger.mdx
index ddf14633..83a1c1ad 100644
--- a/docs/components/anthropictoolusestrigger.mdx
+++ b/docs/components/anthropictoolusestrigger.mdx
@@ -6,5 +6,5 @@ title: "AnthropicToolUsesTrigger"
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
-| `type` | [components.AnthropicToolUsesTriggerType](../components/anthropictoolusestriggertype.mdx) | :heavy_check_mark: | N/A |
+| `type` | [components.AnthropicToolUsesTriggerType](../components/anthropictoolusestriggertype) | :heavy_check_mark: | N/A |
| `value` | *int* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/anthropicunknownusageiteration.mdx b/docs/components/anthropicunknownusageiteration.mdx
index 9a298f50..5e186fb8 100644
--- a/docs/components/anthropicunknownusageiteration.mdx
+++ b/docs/components/anthropicunknownusageiteration.mdx
@@ -6,7 +6,7 @@ title: "AnthropicUnknownUsageIteration"
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
-| `cache_creation` | [OptionalNullable[components.AnthropicIterationCacheCreation]](../components/anthropiciterationcachecreation.mdx) | :heavy_minus_sign: | N/A | \{
"ephemeral_1h_input_tokens": 0,
"ephemeral_5m_input_tokens": 0
} |
+| `cache_creation` | [OptionalNullable[components.AnthropicIterationCacheCreation]](../components/anthropiciterationcachecreation) | :heavy_minus_sign: | N/A | \{
"ephemeral_1h_input_tokens": 0,
"ephemeral_5m_input_tokens": 0
} |
| `cache_creation_input_tokens` | *Optional[int]* | :heavy_minus_sign: | N/A | |
| `cache_read_input_tokens` | *Optional[int]* | :heavy_minus_sign: | N/A | |
| `input_tokens` | *Optional[int]* | :heavy_minus_sign: | N/A | |
diff --git a/docs/components/anthropicurlimagesource.mdx b/docs/components/anthropicurlimagesource.mdx
index ac913605..e5bc69c1 100644
--- a/docs/components/anthropicurlimagesource.mdx
+++ b/docs/components/anthropicurlimagesource.mdx
@@ -6,5 +6,5 @@ title: "AnthropicURLImageSource"
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
-| `type` | [components.AnthropicURLImageSourceType](../components/anthropicurlimagesourcetype.mdx) | :heavy_check_mark: | N/A |
+| `type` | [components.AnthropicURLImageSourceType](../components/anthropicurlimagesourcetype) | :heavy_check_mark: | N/A |
| `url` | *str* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/anthropicurlpdfsource.mdx b/docs/components/anthropicurlpdfsource.mdx
index 50d60b95..24c0cdc4 100644
--- a/docs/components/anthropicurlpdfsource.mdx
+++ b/docs/components/anthropicurlpdfsource.mdx
@@ -6,5 +6,5 @@ title: "AnthropicURLPdfSource"
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
-| `type` | [components.AnthropicURLPdfSourceType](../components/anthropicurlpdfsourcetype.mdx) | :heavy_check_mark: | N/A |
+| `type` | [components.AnthropicURLPdfSourceType](../components/anthropicurlpdfsourcetype) | :heavy_check_mark: | N/A |
| `url` | *str* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/anthropicwebsearchresultblockparam.mdx b/docs/components/anthropicwebsearchresultblockparam.mdx
index ddcfad39..3fc2a2e7 100644
--- a/docs/components/anthropicwebsearchresultblockparam.mdx
+++ b/docs/components/anthropicwebsearchresultblockparam.mdx
@@ -9,5 +9,5 @@ title: "AnthropicWebSearchResultBlockParam"
| `encrypted_content` | *str* | :heavy_check_mark: | N/A |
| `page_age` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A |
| `title` | *str* | :heavy_check_mark: | N/A |
-| `type` | [components.AnthropicWebSearchResultBlockParamType](../components/anthropicwebsearchresultblockparamtype.mdx) | :heavy_check_mark: | N/A |
+| `type` | [components.AnthropicWebSearchResultBlockParamType](../components/anthropicwebsearchresultblockparamtype) | :heavy_check_mark: | N/A |
| `url` | *str* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/anthropicwebsearchtooluserlocation.mdx b/docs/components/anthropicwebsearchtooluserlocation.mdx
index 0096c9dc..8271ea6c 100644
--- a/docs/components/anthropicwebsearchtooluserlocation.mdx
+++ b/docs/components/anthropicwebsearchtooluserlocation.mdx
@@ -10,4 +10,4 @@ title: "AnthropicWebSearchToolUserLocation"
| `country` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A |
| `region` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A |
| `timezone` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A |
-| `type` | [components.AnthropicWebSearchToolUserLocationType](../components/anthropicwebsearchtooluserlocationtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.AnthropicWebSearchToolUserLocationType](../components/anthropicwebsearchtooluserlocationtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/applypatchcallitem.mdx b/docs/components/applypatchcallitem.mdx
index 69bc2b86..e6dc4673 100644
--- a/docs/components/applypatchcallitem.mdx
+++ b/docs/components/applypatchcallitem.mdx
@@ -11,6 +11,6 @@ A tool call emitted by the model requesting a V4A patch operation. The client ap
| --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| `call_id` | *str* | :heavy_check_mark: | N/A | |
| `id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
-| `operation` | [components.ApplyPatchCallOperation](../components/applypatchcalloperation.mdx) | :heavy_check_mark: | The patch operation requested by an `apply_patch_call`. `create_file` and `update_file` carry a V4A diff; `delete_file` omits it. | \{
"diff": "@@ function main() \{\n+ console.log(\"hi\");\n }",
"path": "/src/main.ts",
"type": "update_file"
} |
-| `status` | [components.ApplyPatchCallStatus](../components/applypatchcallstatus.mdx) | :heavy_check_mark: | Lifecycle state of an `apply_patch_call` output item. | completed |
-| `type` | [components.ApplyPatchCallItemType](../components/applypatchcallitemtype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `operation` | [components.ApplyPatchCallOperation](../components/applypatchcalloperation) | :heavy_check_mark: | The patch operation requested by an `apply_patch_call`. `create_file` and `update_file` carry a V4A diff; `delete_file` omits it. | \{
"diff": "@@ function main() \{\n+ console.log(\"hi\");\n }",
"path": "/src/main.ts",
"type": "update_file"
} |
+| `status` | [components.ApplyPatchCallStatus](../components/applypatchcallstatus) | :heavy_check_mark: | Lifecycle state of an `apply_patch_call` output item. | completed |
+| `type` | [components.ApplyPatchCallItemType](../components/applypatchcallitemtype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/applypatchcalloperationdiffdeltaevent.mdx b/docs/components/applypatchcalloperationdiffdeltaevent.mdx
index d8c4af6a..6aeb473f 100644
--- a/docs/components/applypatchcalloperationdiffdeltaevent.mdx
+++ b/docs/components/applypatchcalloperationdiffdeltaevent.mdx
@@ -13,4 +13,4 @@ Incremental chunk of `operation.diff` for an `apply_patch_call`. Matches OpenAI'
| `item_id` | *str* | :heavy_check_mark: | N/A |
| `output_index` | *int* | :heavy_check_mark: | N/A |
| `sequence_number` | *int* | :heavy_check_mark: | N/A |
-| `type` | [components.ApplyPatchCallOperationDiffDeltaEventType](../components/applypatchcalloperationdiffdeltaeventtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.ApplyPatchCallOperationDiffDeltaEventType](../components/applypatchcalloperationdiffdeltaeventtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/applypatchcalloperationdiffdoneevent.mdx b/docs/components/applypatchcalloperationdiffdoneevent.mdx
index c722bd49..5311684b 100644
--- a/docs/components/applypatchcalloperationdiffdoneevent.mdx
+++ b/docs/components/applypatchcalloperationdiffdoneevent.mdx
@@ -13,4 +13,4 @@ Emitted when `operation.diff` streaming completes for an `apply_patch_call`.
| `item_id` | *str* | :heavy_check_mark: | N/A |
| `output_index` | *int* | :heavy_check_mark: | N/A |
| `sequence_number` | *int* | :heavy_check_mark: | N/A |
-| `type` | [components.ApplyPatchCallOperationDiffDoneEventType](../components/applypatchcalloperationdiffdoneeventtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.ApplyPatchCallOperationDiffDoneEventType](../components/applypatchcalloperationdiffdoneeventtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/applypatchcalloutputitem.mdx b/docs/components/applypatchcalloutputitem.mdx
index 6ef61a86..f013ce29 100644
--- a/docs/components/applypatchcalloutputitem.mdx
+++ b/docs/components/applypatchcalloutputitem.mdx
@@ -12,5 +12,5 @@ The client's echo of an `apply_patch_call` after applying the patch. `output` is
| `call_id` | *str* | :heavy_check_mark: | N/A |
| `id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A |
| `output` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A |
-| `status` | [components.ApplyPatchCallOutputItemStatus](../components/applypatchcalloutputitemstatus.mdx) | :heavy_check_mark: | N/A |
-| `type` | [components.ApplyPatchCallOutputItemType](../components/applypatchcalloutputitemtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `status` | [components.ApplyPatchCallOutputItemStatus](../components/applypatchcalloutputitemstatus) | :heavy_check_mark: | N/A |
+| `type` | [components.ApplyPatchCallOutputItemType](../components/applypatchcalloutputitemtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/applypatchcreatefileoperation.mdx b/docs/components/applypatchcreatefileoperation.mdx
index 37aa1921..d07857f0 100644
--- a/docs/components/applypatchcreatefileoperation.mdx
+++ b/docs/components/applypatchcreatefileoperation.mdx
@@ -11,4 +11,4 @@ The `create_file` variant of an `apply_patch_call.operation`. Carries a V4A diff
| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| `diff` | *str* | :heavy_check_mark: | N/A |
| `path` | *str* | :heavy_check_mark: | N/A |
-| `type` | [components.ApplyPatchCreateFileOperationType](../components/applypatchcreatefileoperationtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.ApplyPatchCreateFileOperationType](../components/applypatchcreatefileoperationtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/applypatchdeletefileoperation.mdx b/docs/components/applypatchdeletefileoperation.mdx
index 49463ffa..2f0ba053 100644
--- a/docs/components/applypatchdeletefileoperation.mdx
+++ b/docs/components/applypatchdeletefileoperation.mdx
@@ -10,4 +10,4 @@ The `delete_file` variant of an `apply_patch_call.operation`. Identifies the fil
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| `path` | *str* | :heavy_check_mark: | N/A |
-| `type` | [components.ApplyPatchDeleteFileOperationType](../components/applypatchdeletefileoperationtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.ApplyPatchDeleteFileOperationType](../components/applypatchdeletefileoperationtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/applypatchservertool.mdx b/docs/components/applypatchservertool.mdx
index b8c80524..98055547 100644
--- a/docs/components/applypatchservertool.mdx
+++ b/docs/components/applypatchservertool.mdx
@@ -9,4 +9,4 @@ Apply patch tool configuration
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
-| `type` | [components.ApplyPatchServerToolType](../components/applypatchservertooltype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.ApplyPatchServerToolType](../components/applypatchservertooltype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/applypatchservertoolconfig.mdx b/docs/components/applypatchservertoolconfig.mdx
index 1ec1793d..0f345946 100644
--- a/docs/components/applypatchservertoolconfig.mdx
+++ b/docs/components/applypatchservertoolconfig.mdx
@@ -9,4 +9,4 @@ Configuration for the openrouter:apply_patch server tool
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `engine` | [Optional[components.ApplyPatchEngineEnum]](../components/applypatchengineenum.mdx) | :heavy_minus_sign: | Which apply_patch engine to use. "auto" (default) uses native passthrough when the endpoint advertises native apply_patch support, otherwise falls back to OpenRouter's HITL validator. "native" forces native passthrough — when the endpoint does not support native, the request falls back to HITL. "openrouter" always runs the HITL validator. Native passthrough streams the diff incrementally via `apply_patch_call_operation_diff.delta` events; HITL buffers the diff for atomic delivery as a single delta. | auto |
\ No newline at end of file
+| `engine` | [Optional[components.ApplyPatchEngineEnum]](../components/applypatchengineenum) | :heavy_minus_sign: | Which apply_patch engine to use. "auto" (default) uses native passthrough when the endpoint advertises native apply_patch support, otherwise falls back to OpenRouter's HITL validator. "native" forces native passthrough — when the endpoint does not support native, the request falls back to HITL. "openrouter" always runs the HITL validator. Native passthrough streams the diff incrementally via `apply_patch_call_operation_diff.delta` events; HITL buffers the diff for atomic delivery as a single delta. | auto |
\ No newline at end of file
diff --git a/docs/components/applypatchservertoolopenrouter.mdx b/docs/components/applypatchservertoolopenrouter.mdx
index 98531bfb..d9da32cb 100644
--- a/docs/components/applypatchservertoolopenrouter.mdx
+++ b/docs/components/applypatchservertoolopenrouter.mdx
@@ -9,5 +9,5 @@ OpenRouter built-in server tool: validates V4A diff patches for file operations
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
-| `parameters` | [Optional[components.ApplyPatchServerToolConfig]](../components/applypatchservertoolconfig.mdx) | :heavy_minus_sign: | Configuration for the openrouter:apply_patch server tool | \{
"engine": "auto"
} |
-| `type` | [components.ApplyPatchServerToolOpenRouterType](../components/applypatchservertoolopenroutertype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `parameters` | [Optional[components.ApplyPatchServerToolConfig]](../components/applypatchservertoolconfig) | :heavy_minus_sign: | Configuration for the openrouter:apply_patch server tool | \{
"engine": "auto"
} |
+| `type` | [components.ApplyPatchServerToolOpenRouterType](../components/applypatchservertoolopenroutertype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/applypatchupdatefileoperation.mdx b/docs/components/applypatchupdatefileoperation.mdx
index 458f7867..6ad64b46 100644
--- a/docs/components/applypatchupdatefileoperation.mdx
+++ b/docs/components/applypatchupdatefileoperation.mdx
@@ -11,4 +11,4 @@ The `update_file` variant of an `apply_patch_call.operation`. Carries a V4A diff
| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| `diff` | *str* | :heavy_check_mark: | N/A |
| `path` | *str* | :heavy_check_mark: | N/A |
-| `type` | [components.ApplyPatchUpdateFileOperationType](../components/applypatchupdatefileoperationtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.ApplyPatchUpdateFileOperationType](../components/applypatchupdatefileoperationtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/apprankingsresponse.mdx b/docs/components/apprankingsresponse.mdx
index 06ea87da..9237e5f5 100644
--- a/docs/components/apprankingsresponse.mdx
+++ b/docs/components/apprankingsresponse.mdx
@@ -6,5 +6,5 @@ title: "AppRankingsResponse"
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `data` | List[[components.AppRankingsItem](../components/apprankingsitem.mdx)] | :heavy_check_mark: | Apps ranked per the requested `sort`, re-numbered 1..N after category filtering. `popular` sorts by `total_tokens` descending; `trending` sorts by absolute excess token growth descending and may return fewer than `limit` rows when few apps are growing. | |
-| `meta` | [components.RankingsDailyMeta](../components/rankingsdailymeta.mdx) | :heavy_check_mark: | N/A | \{
"as_of": "2026-05-12T02:00:00Z",
"end_date": "2026-05-11",
"start_date": "2026-04-12",
"version": "v1"
} |
\ No newline at end of file
+| `data` | List[[components.AppRankingsItem](../components/apprankingsitem)] | :heavy_check_mark: | Apps ranked per the requested `sort`, re-numbered 1..N after category filtering. `popular` sorts by `total_tokens` descending; `trending` sorts by absolute excess token growth descending and may return fewer than `limit` rows when few apps are growing. | |
+| `meta` | [components.RankingsDailyMeta](../components/rankingsdailymeta) | :heavy_check_mark: | N/A | \{
"as_of": "2026-05-12T02:00:00Z",
"end_date": "2026-05-11",
"start_date": "2026-04-12",
"version": "v1"
} |
\ No newline at end of file
diff --git a/docs/components/architecture.mdx b/docs/components/architecture.mdx
index 1c451e3f..8df3e33f 100644
--- a/docs/components/architecture.mdx
+++ b/docs/components/architecture.mdx
@@ -9,8 +9,8 @@ Model architecture information
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
-| `input_modalities` | List[[components.InputModality](../components/inputmodality.mdx)] | :heavy_check_mark: | Supported input modalities | |
-| `instruct_type` | [Nullable[components.InstructType]](../components/instructtype.mdx) | :heavy_check_mark: | Instruction format type | chatml |
+| `input_modalities` | List[[components.InputModality](../components/inputmodality)] | :heavy_check_mark: | Supported input modalities | |
+| `instruct_type` | [Nullable[components.InstructType]](../components/instructtype) | :heavy_check_mark: | Instruction format type | chatml |
| `modality` | *Nullable[str]* | :heavy_check_mark: | Primary modality of the model | text |
-| `output_modalities` | List[[components.OutputModality](../components/outputmodality.mdx)] | :heavy_check_mark: | Supported output modalities | |
-| `tokenizer` | [Nullable[components.ModelGroup]](../components/modelgroup.mdx) | :heavy_check_mark: | N/A | GPT |
\ No newline at end of file
+| `output_modalities` | List[[components.OutputModality](../components/outputmodality)] | :heavy_check_mark: | Supported output modalities | |
+| `tokenizer` | [Nullable[components.ModelGroup]](../components/modelgroup) | :heavy_check_mark: | N/A | GPT |
\ No newline at end of file
diff --git a/docs/components/autobetarouterplugin.mdx b/docs/components/autobetarouterplugin.mdx
index 7ea7dc96..500bb670 100644
--- a/docs/components/autobetarouterplugin.mdx
+++ b/docs/components/autobetarouterplugin.mdx
@@ -8,6 +8,6 @@ title: "AutoBetaRouterPlugin"
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `allowed_models` | List[*str*] | :heavy_minus_sign: | List of model patterns to filter which models the auto-beta-router can route between. Supports wildcards (e.g., "anthropic/*" matches all Anthropic models). When not specified, uses the default supported models list. | [
"anthropic/*",
"openai/gpt-4o",
"google/*"
] |
| ~~`cost_quality_tradeoff`~~ | *Optional[int]* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.
Deprecated: Use cost_tier instead. Balances routing between cost and quality on a 0-10 scale. The auto-beta-router ranks models for the classified task type by community spend share, then filters candidates by their average cost per generation for that task. Higher values favor cheaper models: 10 keeps only models around the cheapest 10th percentile, while 0 permits models up to the 90th percentile for cost. Defaults to 9. Numeric cost_quality_tradeoff remains supported, retains ceiling behavior, and takes precedence over cost_tier when both are provided. | 9 |
-| `cost_tier` | [Optional[components.AutoBetaRouterPluginCostTier]](../components/autobetarouterplugincosttier.mdx) | :heavy_minus_sign: | Named cost/quality setting. For auto-beta-router, tiers select cost-percentile bands: low = [0, 20), medium = [20, 40), high = [40, 60), xhigh = [60, 80), and max = [80, 100]. Numeric cost_quality_tradeoff takes precedence and retains ceiling behavior. | low |
+| `cost_tier` | [Optional[components.AutoBetaRouterPluginCostTier]](../components/autobetarouterplugincosttier) | :heavy_minus_sign: | Named cost/quality setting. For auto-beta-router, tiers select cost-percentile bands: low = [0, 20), medium = [20, 40), high = [40, 60), xhigh = [60, 80), and max = [80, 100]. Numeric cost_quality_tradeoff takes precedence and retains ceiling behavior. | low |
| `enabled` | *Optional[bool]* | :heavy_minus_sign: | Set to false to disable the auto-beta-router plugin for this request. Defaults to true. | |
-| `id` | [components.AutoBetaRouterPluginID](../components/autobetarouterpluginid.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `id` | [components.AutoBetaRouterPluginID](../components/autobetarouterpluginid) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/autorouterplugin.mdx b/docs/components/autorouterplugin.mdx
index 26f69ea5..13a9366c 100644
--- a/docs/components/autorouterplugin.mdx
+++ b/docs/components/autorouterplugin.mdx
@@ -8,7 +8,7 @@ title: "AutoRouterPlugin"
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `allowed_models` | List[*str*] | :heavy_minus_sign: | List of model patterns to filter which models the auto-router can route between. Supports wildcards (e.g., "anthropic/*" matches all Anthropic models). When not specified, uses the default supported models list. | [
"anthropic/*",
"openai/gpt-4o",
"google/*"
] |
| ~~`cost_quality_tradeoff`~~ | *Optional[int]* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.
Deprecated: Use cost_tier instead. Controls cost vs. quality routing tradeoff (0–10). 0 = pure quality (best model regardless of cost), 10 = maximize for cost (cheapest model wins). Intermediate values blend quality and cost signals continuously. Defaults to 7. Numeric cost_quality_tradeoff remains supported and takes precedence over cost_tier when both are provided. | 7 |
-| `cost_tier` | [Optional[components.AutoRouterPluginCostTier]](../components/autorouterplugincosttier.mdx) | :heavy_minus_sign: | Shorthand for cost_quality_tradeoff. Higher tiers spend more on better models: low = 9, medium = 7, high = 5, xhigh = 3, and max = 1. Numeric cost_quality_tradeoff takes precedence when both are provided. | medium |
+| `cost_tier` | [Optional[components.AutoRouterPluginCostTier]](../components/autorouterplugincosttier) | :heavy_minus_sign: | Shorthand for cost_quality_tradeoff. Higher tiers spend more on better models: low = 9, medium = 7, high = 5, xhigh = 3, and max = 1. Numeric cost_quality_tradeoff takes precedence when both are provided. | medium |
| `enabled` | *Optional[bool]* | :heavy_minus_sign: | Set to false to disable the auto-router plugin for this request. Defaults to true. | |
-| `id` | [components.AutoRouterPluginID](../components/autorouterpluginid.mdx) | :heavy_check_mark: | N/A | |
+| `id` | [components.AutoRouterPluginID](../components/autorouterpluginid) | :heavy_check_mark: | N/A | |
| `pin_model` | *Optional[bool]* | :heavy_minus_sign: | When true, reuses the model from the most recent assistant message's `model` attribute for subsequent turns. Defaults to false. | false |
\ No newline at end of file
diff --git a/docs/components/baseinputsmessage.mdx b/docs/components/baseinputsmessage.mdx
index 0c00444a..6a9d31a8 100644
--- a/docs/components/baseinputsmessage.mdx
+++ b/docs/components/baseinputsmessage.mdx
@@ -6,7 +6,7 @@ title: "BaseInputsMessage"
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ |
-| `content` | [components.BaseInputsContent2](../components/baseinputscontent2.mdx) | :heavy_check_mark: | N/A |
-| `phase` | [OptionalNullable[components.BaseInputsPhaseUnion]](../components/baseinputsphaseunion.mdx) | :heavy_minus_sign: | N/A |
-| `role` | [components.BaseInputsRoleUnion](../components/baseinputsroleunion.mdx) | :heavy_check_mark: | N/A |
-| `type` | [Optional[components.BaseInputsType]](../components/baseinputstype.mdx) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `content` | [components.BaseInputsContent2](../components/baseinputscontent2) | :heavy_check_mark: | N/A |
+| `phase` | [OptionalNullable[components.BaseInputsPhaseUnion]](../components/baseinputsphaseunion) | :heavy_minus_sign: | N/A |
+| `role` | [components.BaseInputsRoleUnion](../components/baseinputsroleunion) | :heavy_check_mark: | N/A |
+| `type` | [Optional[components.BaseInputsType]](../components/baseinputstype) | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/docs/components/basereasoningconfig.mdx b/docs/components/basereasoningconfig.mdx
index 6f900a92..487fca36 100644
--- a/docs/components/basereasoningconfig.mdx
+++ b/docs/components/basereasoningconfig.mdx
@@ -6,7 +6,7 @@ title: "BaseReasoningConfig"
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `context` | [OptionalNullable[components.ReasoningContext]](../components/reasoningcontext.mdx) | :heavy_minus_sign: | Controls which reasoning is available to the model. `auto` uses the model default (same as omitting); `all_turns` includes reasoning from earlier turns passed in input; `current_turn` limits to the current turn only. Only supported by OpenAI GPT-5.6 and newer. | all_turns |
-| `effort` | [OptionalNullable[components.ReasoningEffort]](../components/reasoningeffort.mdx) | :heavy_minus_sign: | N/A | medium |
-| `mode` | [OptionalNullable[components.ReasoningMode]](../components/reasoningmode.mdx) | :heavy_minus_sign: | Selects the reasoning mode. `standard` is the default; `pro` engages deeper reasoning on models that support it, billed at standard token rates. Only supported by OpenAI GPT-5.6 and newer. | standard |
-| `summary` | [OptionalNullable[components.ReasoningSummaryVerbosity]](../components/reasoningsummaryverbosity.mdx) | :heavy_minus_sign: | N/A | auto |
\ No newline at end of file
+| `context` | [OptionalNullable[components.ReasoningContext]](../components/reasoningcontext) | :heavy_minus_sign: | Controls which reasoning is available to the model. `auto` uses the model default (same as omitting); `all_turns` includes reasoning from earlier turns passed in input; `current_turn` limits to the current turn only. Only supported by OpenAI GPT-5.6 and newer. | all_turns |
+| `effort` | [OptionalNullable[components.ReasoningEffort]](../components/reasoningeffort) | :heavy_minus_sign: | N/A | medium |
+| `mode` | [OptionalNullable[components.ReasoningMode]](../components/reasoningmode) | :heavy_minus_sign: | Selects the reasoning mode. `standard` is the default; `pro` engages deeper reasoning on models that support it, billed at standard token rates. Only supported by OpenAI GPT-5.6 and newer. | standard |
+| `summary` | [OptionalNullable[components.ReasoningSummaryVerbosity]](../components/reasoningsummaryverbosity) | :heavy_minus_sign: | N/A | auto |
\ No newline at end of file
diff --git a/docs/components/bashservertool.mdx b/docs/components/bashservertool.mdx
index 09464da8..61f7bb43 100644
--- a/docs/components/bashservertool.mdx
+++ b/docs/components/bashservertool.mdx
@@ -9,5 +9,5 @@ OpenRouter built-in server tool: runs shell commands server-side in a sandboxed
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
-| `parameters` | [Optional[components.BashServerToolConfig]](../components/bashservertoolconfig.mdx) | :heavy_minus_sign: | Configuration for the openrouter:bash server tool | \{
"environment": \{
"type": "container_auto"
}
} |
-| `type` | [components.BashServerToolType](../components/bashservertooltype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `parameters` | [Optional[components.BashServerToolConfig]](../components/bashservertoolconfig) | :heavy_minus_sign: | Configuration for the openrouter:bash server tool | \{
"environment": \{
"type": "container_auto"
}
} |
+| `type` | [components.BashServerToolType](../components/bashservertooltype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/bashservertoolconfig.mdx b/docs/components/bashservertoolconfig.mdx
index 967974c0..5694a4e7 100644
--- a/docs/components/bashservertoolconfig.mdx
+++ b/docs/components/bashservertoolconfig.mdx
@@ -9,6 +9,6 @@ Configuration for the openrouter:bash server tool
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `engine` | [Optional[components.BashServerToolEngine]](../components/bashservertoolengine.mdx) | :heavy_minus_sign: | Which bash engine to use. "openrouter" runs commands server-side in the OpenRouter sandbox. "auto" (default) and "native" use native passthrough, returning the tool call to your application to run client-side; OpenRouter does not execute the commands. | auto |
-| `environment` | [Optional[components.BashServerToolEnvironment]](../components/bashservertoolenvironment.mdx) | :heavy_minus_sign: | Execution environment for the bash server tool. | \{
"type": "container_auto"
} |
+| `engine` | [Optional[components.BashServerToolEngine]](../components/bashservertoolengine) | :heavy_minus_sign: | Which bash engine to use. "openrouter" runs commands server-side in the OpenRouter sandbox. "auto" (default) and "native" use native passthrough, returning the tool call to your application to run client-side; OpenRouter does not execute the commands. | auto |
+| `environment` | [Optional[components.BashServerToolEnvironment]](../components/bashservertoolenvironment) | :heavy_minus_sign: | Execution environment for the bash server tool. | \{
"type": "container_auto"
} |
| `sleep_after_seconds` | *Optional[int]* | :heavy_minus_sign: | How long (in seconds) the container stays warm after its last command before sleeping, freeing its capacity slot. Idle-based: each command renews the timer. Defaults to 900 (15 minutes); capped at 2592000 (30 days). | 900 |
\ No newline at end of file
diff --git a/docs/components/booleancapability.mdx b/docs/components/booleancapability.mdx
index 74ba0728..175c8a05 100644
--- a/docs/components/booleancapability.mdx
+++ b/docs/components/booleancapability.mdx
@@ -9,4 +9,4 @@ A supported-or-not flag. Present means the parameter is accepted.
| Field | Type | Required | Description |
| -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- |
-| `type` | [components.BooleanCapabilityType](../components/booleancapabilitytype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.BooleanCapabilityType](../components/booleancapabilitytype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/bulkaddworkspacemembersresponse.mdx b/docs/components/bulkaddworkspacemembersresponse.mdx
index 4550429c..623a6f68 100644
--- a/docs/components/bulkaddworkspacemembersresponse.mdx
+++ b/docs/components/bulkaddworkspacemembersresponse.mdx
@@ -7,4 +7,4 @@ title: "BulkAddWorkspaceMembersResponse"
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- |
| `added_count` | *int* | :heavy_check_mark: | Number of workspace memberships created or updated | 2 |
-| `data` | List[[components.WorkspaceMember](../components/workspacemember.mdx)] | :heavy_check_mark: | List of added workspace memberships | |
\ No newline at end of file
+| `data` | List[[components.WorkspaceMember](../components/workspacemember)] | :heavy_check_mark: | List of added workspace memberships | |
\ No newline at end of file
diff --git a/docs/components/byokkey.mdx b/docs/components/byokkey.mdx
index 151dd839..38e2bcad 100644
--- a/docs/components/byokkey.mdx
+++ b/docs/components/byokkey.mdx
@@ -15,6 +15,6 @@ title: "BYOKKey"
| `is_fallback` | *bool* | :heavy_check_mark: | Whether this credential is treated as a fallback — used only after non-fallback keys for the same provider have been tried. | false |
| `label` | *str* | :heavy_check_mark: | Short masked snippet of the key (e.g. the first/last few characters) used to identify it in the UI. | sk-...AbCd |
| `name` | *OptionalNullable[str]* | :heavy_minus_sign: | Optional human-readable name for the credential. | Production OpenAI Key |
-| `provider` | [components.BYOKProviderSlug](../components/byokproviderslug.mdx) | :heavy_check_mark: | The upstream provider this credential authenticates against, as a lowercase slug (e.g. `openai`, `anthropic`, `amazon-bedrock`). | openai |
+| `provider` | [components.BYOKProviderSlug](../components/byokproviderslug) | :heavy_check_mark: | The upstream provider this credential authenticates against, as a lowercase slug (e.g. `openai`, `anthropic`, `amazon-bedrock`). | openai |
| `sort_order` | *int* | :heavy_check_mark: | Position within the provider — credentials are tried in ascending sort order. | 0 |
| `workspace_id` | *str* | :heavy_check_mark: | ID of the workspace this credential belongs to. | 550e8400-e29b-41d4-a716-446655440000 |
\ No newline at end of file
diff --git a/docs/components/chatassistantimages.mdx b/docs/components/chatassistantimages.mdx
index fbd1a4de..055261d5 100644
--- a/docs/components/chatassistantimages.mdx
+++ b/docs/components/chatassistantimages.mdx
@@ -6,4 +6,4 @@ title: "ChatAssistantImages"
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
-| `image_url` | [components.ChatAssistantImagesImageURL](../components/chatassistantimagesimageurl.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `image_url` | [components.ChatAssistantImagesImageURL](../components/chatassistantimagesimageurl) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/chatassistantmessage.mdx b/docs/components/chatassistantmessage.mdx
index bcd7ebd8..6c3e8aad 100644
--- a/docs/components/chatassistantmessage.mdx
+++ b/docs/components/chatassistantmessage.mdx
@@ -9,13 +9,13 @@ Assistant message for requests and responses
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `audio` | [Optional[components.ChatAudioOutput]](../components/chataudiooutput.mdx) | :heavy_minus_sign: | Audio output data or reference | \{
"data": "UklGRnoGAABXQVZFZm10IBAAAAABAAEAQB8AAEAfAAABAAgAZGF0YQoGAACBhYqFbF1f",
"expires_at": 1677652400,
"id": "audio_abc123",
"transcript": "Hello! How can I help you today?"
} |
-| `content` | [OptionalNullable[components.ChatAssistantMessageContent]](../components/chatassistantmessagecontent.mdx) | :heavy_minus_sign: | Assistant message content | |
-| `images` | List[[components.ChatAssistantImages](../components/chatassistantimages.mdx)] | :heavy_minus_sign: | Generated images from image generation models | [
\{
"image_url": \{
"url": "data:image/png;base64,iVBORw0KGgo..."
}
}
] |
+| `audio` | [Optional[components.ChatAudioOutput]](../components/chataudiooutput) | :heavy_minus_sign: | Audio output data or reference | \{
"data": "UklGRnoGAABXQVZFZm10IBAAAAABAAEAQB8AAEAfAAABAAgAZGF0YQoGAACBhYqFbF1f",
"expires_at": 1677652400,
"id": "audio_abc123",
"transcript": "Hello! How can I help you today?"
} |
+| `content` | [OptionalNullable[components.ChatAssistantMessageContent]](../components/chatassistantmessagecontent) | :heavy_minus_sign: | Assistant message content | |
+| `images` | List[[components.ChatAssistantImages](../components/chatassistantimages)] | :heavy_minus_sign: | Generated images from image generation models | [
\{
"image_url": \{
"url": "data:image/png;base64,iVBORw0KGgo..."
}
}
] |
| `model` | *Optional[str]* | :heavy_minus_sign: | Model that generated this assistant message | openai/gpt-4o |
| `name` | *Optional[str]* | :heavy_minus_sign: | Optional name for the assistant | |
| `reasoning` | *OptionalNullable[str]* | :heavy_minus_sign: | Reasoning output | |
-| `reasoning_details` | List[[components.ReasoningDetailUnion](../components/reasoningdetailunion.mdx)] | :heavy_minus_sign: | Reasoning details for extended thinking models | [
\{
"text": "Let me work through this step by step...",
"type": "reasoning.text"
}
] |
+| `reasoning_details` | List[[components.ReasoningDetailUnion](../components/reasoningdetailunion)] | :heavy_minus_sign: | Reasoning details for extended thinking models | [
\{
"text": "Let me work through this step by step...",
"type": "reasoning.text"
}
] |
| `refusal` | *OptionalNullable[str]* | :heavy_minus_sign: | Refusal message if content was refused | |
-| `role` | [components.ChatAssistantMessageRole](../components/chatassistantmessagerole.mdx) | :heavy_check_mark: | N/A | |
-| `tool_calls` | List[[components.ChatToolCall](../components/chattoolcall.mdx)] | :heavy_minus_sign: | Tool calls made by the assistant | |
\ No newline at end of file
+| `role` | [components.ChatAssistantMessageRole](../components/chatassistantmessagerole) | :heavy_check_mark: | N/A | |
+| `tool_calls` | List[[components.ChatToolCall](../components/chattoolcall)] | :heavy_minus_sign: | Tool calls made by the assistant | |
\ No newline at end of file
diff --git a/docs/components/chatchoice.mdx b/docs/components/chatchoice.mdx
index 61439313..7f811505 100644
--- a/docs/components/chatchoice.mdx
+++ b/docs/components/chatchoice.mdx
@@ -9,7 +9,7 @@ Chat completion choice
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ |
-| `finish_reason` | [Nullable[components.ChatFinishReasonEnum]](../components/chatfinishreasonenum.mdx) | :heavy_check_mark: | N/A | stop |
+| `finish_reason` | [Nullable[components.ChatFinishReasonEnum]](../components/chatfinishreasonenum) | :heavy_check_mark: | N/A | stop |
| `index` | *int* | :heavy_check_mark: | Choice index | 0 |
-| `logprobs` | [OptionalNullable[components.ChatTokenLogprobs]](../components/chattokenlogprobs.mdx) | :heavy_minus_sign: | Log probabilities for the completion | \{
"content": [
\{
"bytes": null,
"logprob": -0.612345,
"token": " Hello",
"top_logprobs": []
}
],
"refusal": null
} |
-| `message` | [components.ChatAssistantMessage](../components/chatassistantmessage.mdx) | :heavy_check_mark: | Assistant message for requests and responses | \{
"content": "What is the capital of France?",
"role": "user"
} |
\ No newline at end of file
+| `logprobs` | [OptionalNullable[components.ChatTokenLogprobs]](../components/chattokenlogprobs) | :heavy_minus_sign: | Log probabilities for the completion | \{
"content": [
\{
"bytes": null,
"logprob": -0.612345,
"token": " Hello",
"top_logprobs": []
}
],
"refusal": null
} |
+| `message` | [components.ChatAssistantMessage](../components/chatassistantmessage) | :heavy_check_mark: | Assistant message for requests and responses | \{
"content": "What is the capital of France?",
"role": "user"
} |
\ No newline at end of file
diff --git a/docs/components/chatcontentaudio.mdx b/docs/components/chatcontentaudio.mdx
index 4fded937..2326a254 100644
--- a/docs/components/chatcontentaudio.mdx
+++ b/docs/components/chatcontentaudio.mdx
@@ -9,5 +9,5 @@ Audio input content part. Supported audio formats vary by provider.
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ |
-| `input_audio` | [components.ChatContentAudioInputAudio](../components/chatcontentaudioinputaudio.mdx) | :heavy_check_mark: | N/A |
-| `type` | [components.ChatContentAudioType](../components/chatcontentaudiotype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `input_audio` | [components.ChatContentAudioInputAudio](../components/chatcontentaudioinputaudio) | :heavy_check_mark: | N/A |
+| `type` | [components.ChatContentAudioType](../components/chatcontentaudiotype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/chatcontentcachecontrol.mdx b/docs/components/chatcontentcachecontrol.mdx
index 6f1d2f8e..35a82168 100644
--- a/docs/components/chatcontentcachecontrol.mdx
+++ b/docs/components/chatcontentcachecontrol.mdx
@@ -9,5 +9,5 @@ Anthropic-style cache breakpoint for the content part. Interchangeable with the
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ |
-| `ttl` | [Optional[components.AnthropicCacheControlTTL]](../components/anthropiccachecontrolttl.mdx) | :heavy_minus_sign: | N/A | 5m |
-| `type` | [components.ChatContentCacheControlType](../components/chatcontentcachecontroltype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `ttl` | [Optional[components.AnthropicCacheControlTTL]](../components/anthropiccachecontrolttl) | :heavy_minus_sign: | N/A | 5m |
+| `type` | [components.ChatContentCacheControlType](../components/chatcontentcachecontroltype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/chatcontentfile.mdx b/docs/components/chatcontentfile.mdx
index ae0bb19c..c1e3f4ec 100644
--- a/docs/components/chatcontentfile.mdx
+++ b/docs/components/chatcontentfile.mdx
@@ -9,5 +9,5 @@ File content part for document processing
| Field | Type | Required | Description |
| ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- |
-| `file` | [components.File](../components/file.mdx) | :heavy_check_mark: | N/A |
-| `type` | [components.ChatContentFileType](../components/chatcontentfiletype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `file` | [components.File](../components/file) | :heavy_check_mark: | N/A |
+| `type` | [components.ChatContentFileType](../components/chatcontentfiletype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/chatcontentimage.mdx b/docs/components/chatcontentimage.mdx
index 1dc21599..332ca4a6 100644
--- a/docs/components/chatcontentimage.mdx
+++ b/docs/components/chatcontentimage.mdx
@@ -9,5 +9,5 @@ Image content part for vision models
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
-| `image_url` | [components.ChatContentImageImageURL](../components/chatcontentimageimageurl.mdx) | :heavy_check_mark: | N/A |
-| `type` | [components.ChatContentImageType](../components/chatcontentimagetype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `image_url` | [components.ChatContentImageImageURL](../components/chatcontentimageimageurl) | :heavy_check_mark: | N/A |
+| `type` | [components.ChatContentImageType](../components/chatcontentimagetype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/chatcontentimageimageurl.mdx b/docs/components/chatcontentimageimageurl.mdx
index 81413664..a29f57f3 100644
--- a/docs/components/chatcontentimageimageurl.mdx
+++ b/docs/components/chatcontentimageimageurl.mdx
@@ -6,5 +6,5 @@ title: "ChatContentImageImageURL"
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `detail` | [Optional[components.ChatContentImageDetail]](../components/chatcontentimagedetail.mdx) | :heavy_minus_sign: | Image detail level for vision models. `original` is an OpenRouter extension (not in the OpenAI Chat Completions spec) requesting true original-resolution media; it is downgraded to `high` for providers that lack an original-resolution tier. |
+| `detail` | [Optional[components.ChatContentImageDetail]](../components/chatcontentimagedetail) | :heavy_minus_sign: | Image detail level for vision models. `original` is an OpenRouter extension (not in the OpenAI Chat Completions spec) requesting true original-resolution media; it is downgraded to `high` for providers that lack an original-resolution tier. |
| `url` | *str* | :heavy_check_mark: | URL of the image (data: URLs supported) |
\ No newline at end of file
diff --git a/docs/components/chatcontenttext.mdx b/docs/components/chatcontenttext.mdx
index b31006bd..661fcb26 100644
--- a/docs/components/chatcontenttext.mdx
+++ b/docs/components/chatcontenttext.mdx
@@ -9,7 +9,7 @@ Text content part
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `cache_control` | [Optional[components.ChatContentCacheControl]](../components/chatcontentcachecontrol.mdx) | :heavy_minus_sign: | Anthropic-style cache breakpoint for the content part. Interchangeable with the OpenAI-style `prompt_cache_breakpoint` marker: OpenRouter converts between the two based on the provider serving the request. | \{
"ttl": "5m",
"type": "ephemeral"
} |
-| `prompt_cache_breakpoint` | [OptionalNullable[components.PromptCacheBreakpoint]](../components/promptcachebreakpoint.mdx) | :heavy_minus_sign: | Marks an explicit prompt-cache boundary on this content block (OpenAI-style). Everything through the block carrying this marker is part of the candidate cached prefix. Supported natively by OpenAI GPT-5.6 and newer; on providers that use Anthropic-style `cache_control`, OpenRouter converts the marker to that format automatically. | \{
"mode": "explicit"
} |
+| `cache_control` | [Optional[components.ChatContentCacheControl]](../components/chatcontentcachecontrol) | :heavy_minus_sign: | Anthropic-style cache breakpoint for the content part. Interchangeable with the OpenAI-style `prompt_cache_breakpoint` marker: OpenRouter converts between the two based on the provider serving the request. | \{
"ttl": "5m",
"type": "ephemeral"
} |
+| `prompt_cache_breakpoint` | [OptionalNullable[components.PromptCacheBreakpoint]](../components/promptcachebreakpoint) | :heavy_minus_sign: | Marks an explicit prompt-cache boundary on this content block (OpenAI-style). Everything through the block carrying this marker is part of the candidate cached prefix. Supported natively by OpenAI GPT-5.6 and newer; on providers that use Anthropic-style `cache_control`, OpenRouter converts the marker to that format automatically. | \{
"mode": "explicit"
} |
| `text` | *str* | :heavy_check_mark: | N/A | |
-| `type` | [components.ChatContentTextType](../components/chatcontenttexttype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `type` | [components.ChatContentTextType](../components/chatcontenttexttype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/chatcontentvideo.mdx b/docs/components/chatcontentvideo.mdx
index b8a1d5ee..93b3bd04 100644
--- a/docs/components/chatcontentvideo.mdx
+++ b/docs/components/chatcontentvideo.mdx
@@ -9,5 +9,5 @@ Video input content part
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- |
-| `type` | [components.ChatContentVideoType](../components/chatcontentvideotype.mdx) | :heavy_check_mark: | N/A | |
-| `video_url` | [components.ChatContentVideoInput](../components/chatcontentvideoinput.mdx) | :heavy_check_mark: | Video input object | \{
"url": "https://example.com/video.mp4"
} |
\ No newline at end of file
+| `type` | [components.ChatContentVideoType](../components/chatcontentvideotype) | :heavy_check_mark: | N/A | |
+| `video_url` | [components.ChatContentVideoInput](../components/chatcontentvideoinput) | :heavy_check_mark: | Video input object | \{
"url": "https://example.com/video.mp4"
} |
\ No newline at end of file
diff --git a/docs/components/chatdevelopermessage.mdx b/docs/components/chatdevelopermessage.mdx
index 05d42236..31897db8 100644
--- a/docs/components/chatdevelopermessage.mdx
+++ b/docs/components/chatdevelopermessage.mdx
@@ -9,6 +9,6 @@ Developer message
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
-| `content` | [components.ChatDeveloperMessageContent](../components/chatdevelopermessagecontent.mdx) | :heavy_check_mark: | Developer message content | This is a message from the developer. |
+| `content` | [components.ChatDeveloperMessageContent](../components/chatdevelopermessagecontent) | :heavy_check_mark: | Developer message content | This is a message from the developer. |
| `name` | *Optional[str]* | :heavy_minus_sign: | Optional name for the developer message | Developer |
-| `role` | [components.ChatDeveloperMessageRole](../components/chatdevelopermessagerole.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `role` | [components.ChatDeveloperMessageRole](../components/chatdevelopermessagerole) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/chatformatgrammarconfig.mdx b/docs/components/chatformatgrammarconfig.mdx
index 8595b864..8f5eb27b 100644
--- a/docs/components/chatformatgrammarconfig.mdx
+++ b/docs/components/chatformatgrammarconfig.mdx
@@ -10,4 +10,4 @@ Custom grammar response format
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
| `grammar` | *str* | :heavy_check_mark: | Custom grammar for text generation | root ::= "yes" \| "no" |
-| `type` | [components.ChatFormatGrammarConfigType](../components/chatformatgrammarconfigtype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `type` | [components.ChatFormatGrammarConfigType](../components/chatformatgrammarconfigtype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/chatformatjsonobjectconfig.mdx b/docs/components/chatformatjsonobjectconfig.mdx
index 5dae96c7..03c499fb 100644
--- a/docs/components/chatformatjsonobjectconfig.mdx
+++ b/docs/components/chatformatjsonobjectconfig.mdx
@@ -9,4 +9,4 @@ JSON object response format
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
-| `type` | [components.ChatFormatJSONObjectConfigType](../components/chatformatjsonobjectconfigtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.ChatFormatJSONObjectConfigType](../components/chatformatjsonobjectconfigtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/chatformatjsonschemaconfig.mdx b/docs/components/chatformatjsonschemaconfig.mdx
index 565e3348..48979aff 100644
--- a/docs/components/chatformatjsonschemaconfig.mdx
+++ b/docs/components/chatformatjsonschemaconfig.mdx
@@ -9,5 +9,5 @@ JSON Schema response format for structured outputs
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `json_schema` | [components.ChatJSONSchemaConfig](../components/chatjsonschemaconfig.mdx) | :heavy_check_mark: | JSON Schema configuration object | \{
"description": "A mathematical response",
"name": "math_response",
"schema": \{
"properties": \{
"answer": \{
"type": "number"
}
},
"required": [
"answer"
],
"type": "object"
},
"strict": true
} |
-| `type` | [components.ChatFormatJSONSchemaConfigType](../components/chatformatjsonschemaconfigtype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `json_schema` | [components.ChatJSONSchemaConfig](../components/chatjsonschemaconfig) | :heavy_check_mark: | JSON Schema configuration object | \{
"description": "A mathematical response",
"name": "math_response",
"schema": \{
"properties": \{
"answer": \{
"type": "number"
}
},
"required": [
"answer"
],
"type": "object"
},
"strict": true
} |
+| `type` | [components.ChatFormatJSONSchemaConfigType](../components/chatformatjsonschemaconfigtype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/chatformatpythonconfig.mdx b/docs/components/chatformatpythonconfig.mdx
index cd0ab7ba..c5fdeef6 100644
--- a/docs/components/chatformatpythonconfig.mdx
+++ b/docs/components/chatformatpythonconfig.mdx
@@ -9,4 +9,4 @@ Python code response format
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ |
-| `type` | [components.ChatFormatPythonConfigType](../components/chatformatpythonconfigtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.ChatFormatPythonConfigType](../components/chatformatpythonconfigtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/chatformattextconfig.mdx b/docs/components/chatformattextconfig.mdx
index a539cad5..ae585c2e 100644
--- a/docs/components/chatformattextconfig.mdx
+++ b/docs/components/chatformattextconfig.mdx
@@ -9,4 +9,4 @@ Default text response format
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
-| `type` | [components.ChatFormatTextConfigType](../components/chatformattextconfigtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.ChatFormatTextConfigType](../components/chatformattextconfigtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/chatfunctiontoolfunction.mdx b/docs/components/chatfunctiontoolfunction.mdx
index a6cf73c1..4275f778 100644
--- a/docs/components/chatfunctiontoolfunction.mdx
+++ b/docs/components/chatfunctiontoolfunction.mdx
@@ -6,6 +6,6 @@ title: "ChatFunctionToolFunction"
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `cache_control` | [Optional[components.ChatContentCacheControl]](../components/chatcontentcachecontrol.mdx) | :heavy_minus_sign: | Anthropic-style cache breakpoint for the content part. Interchangeable with the OpenAI-style `prompt_cache_breakpoint` marker: OpenRouter converts between the two based on the provider serving the request. | \{
"ttl": "5m",
"type": "ephemeral"
} |
-| `function` | [components.ChatFunctionToolFunctionFunction](../components/chatfunctiontoolfunctionfunction.mdx) | :heavy_check_mark: | Function definition for tool calling | \{
"description": "Get the current weather for a location",
"name": "get_weather",
"parameters": \{
"properties": \{
"location": \{
"description": "City name",
"type": "string"
}
},
"required": [
"location"
],
"type": "object"
}
} |
-| `type` | [components.ChatFunctionToolType](../components/chatfunctiontooltype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `cache_control` | [Optional[components.ChatContentCacheControl]](../components/chatcontentcachecontrol) | :heavy_minus_sign: | Anthropic-style cache breakpoint for the content part. Interchangeable with the OpenAI-style `prompt_cache_breakpoint` marker: OpenRouter converts between the two based on the provider serving the request. | \{
"ttl": "5m",
"type": "ephemeral"
} |
+| `function` | [components.ChatFunctionToolFunctionFunction](../components/chatfunctiontoolfunctionfunction) | :heavy_check_mark: | Function definition for tool calling | \{
"description": "Get the current weather for a location",
"name": "get_weather",
"parameters": \{
"properties": \{
"location": \{
"description": "City name",
"type": "string"
}
},
"required": [
"location"
],
"type": "object"
}
} |
+| `type` | [components.ChatFunctionToolType](../components/chatfunctiontooltype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/chatnamedtoolchoice.mdx b/docs/components/chatnamedtoolchoice.mdx
index 1c98093b..b9a61711 100644
--- a/docs/components/chatnamedtoolchoice.mdx
+++ b/docs/components/chatnamedtoolchoice.mdx
@@ -9,5 +9,5 @@ Named tool choice for specific function
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
-| `function` | [components.ChatNamedToolChoiceFunction](../components/chatnamedtoolchoicefunction.mdx) | :heavy_check_mark: | N/A |
-| `type` | [components.ChatNamedToolChoiceType](../components/chatnamedtoolchoicetype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `function` | [components.ChatNamedToolChoiceFunction](../components/chatnamedtoolchoicefunction) | :heavy_check_mark: | N/A |
+| `type` | [components.ChatNamedToolChoiceType](../components/chatnamedtoolchoicetype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/chatrequest.mdx b/docs/components/chatrequest.mdx
index fa47a360..e3167864 100644
--- a/docs/components/chatrequest.mdx
+++ b/docs/components/chatrequest.mdx
@@ -9,44 +9,44 @@ Chat completion request parameters
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../components/anthropiccachecontroldirective.mdx) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
-| `debug` | [Optional[components.ChatDebugOptions]](../components/chatdebugoptions.mdx) | :heavy_minus_sign: | Debug options for inspecting request transformations (streaming only) | \{
"echo_upstream_body": true
} |
+| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../components/anthropiccachecontroldirective) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
+| `debug` | [Optional[components.ChatDebugOptions]](../components/chatdebugoptions) | :heavy_minus_sign: | Debug options for inspecting request transformations (streaming only) | \{
"echo_upstream_body": true
} |
| `frequency_penalty` | *OptionalNullable[float]* | :heavy_minus_sign: | Frequency penalty (-2.0 to 2.0) | 0 |
-| `image_config` | Dict[str, [components.ImageConfig](../components/imageconfig.mdx)] | :heavy_minus_sign: | Provider-specific image configuration options. Keys and values vary by model/provider. See https://openrouter.ai/docs/guides/overview/multimodal/image-generation for more details. | \{
"aspect_ratio": "16:9",
"quality": "high"
} |
+| `image_config` | Dict[str, [components.ImageConfig](../components/imageconfig)] | :heavy_minus_sign: | Provider-specific image configuration options. Keys and values vary by model/provider. See https://openrouter.ai/docs/guides/overview/multimodal/image-generation for more details. | \{
"aspect_ratio": "16:9",
"quality": "high"
} |
| `logit_bias` | Dict[str, *float*] | :heavy_minus_sign: | Token logit bias adjustments | \{
"50256": -100
} |
| `logprobs` | *OptionalNullable[bool]* | :heavy_minus_sign: | Return log probabilities | false |
| `max_completion_tokens` | *OptionalNullable[int]* | :heavy_minus_sign: | Maximum tokens in completion | 100 |
| `max_tokens` | *OptionalNullable[int]* | :heavy_minus_sign: | Maximum tokens (deprecated, use max_completion_tokens). Note: some providers enforce a minimum of 16. | 100 |
-| `messages` | List[[components.ChatMessages](../components/chatmessages.mdx)] | :heavy_check_mark: | List of messages for the conversation | [
\{
"content": "Hello!",
"role": "user"
}
] |
+| `messages` | List[[components.ChatMessages](../components/chatmessages)] | :heavy_check_mark: | List of messages for the conversation | [
\{
"content": "Hello!",
"role": "user"
}
] |
| `metadata` | Dict[str, *str*] | :heavy_minus_sign: | Key-value pairs for additional object information (max 16 pairs, 64 char keys, 512 char values) | \{
"session_id": "session-456",
"user_id": "user-123"
} |
| `min_p` | *OptionalNullable[float]* | :heavy_minus_sign: | Minimum probability threshold relative to the most likely token. Tokens with probability below min_p * (probability of top token) are filtered out. Not all providers support this parameter. | 0.1 |
-| `modalities` | List[[components.Modality](../components/modality.mdx)] | :heavy_minus_sign: | Output modalities for the response. Supported values are "text", "image", and "audio". | [
"text",
"image"
] |
+| `modalities` | List[[components.Modality](../components/modality)] | :heavy_minus_sign: | Output modalities for the response. Supported values are "text", "image", and "audio". | [
"text",
"image"
] |
| `model` | *Optional[str]* | :heavy_minus_sign: | Model to use for completion | openai/gpt-4 |
| `models` | List[*str*] | :heavy_minus_sign: | Models to use for completion | [
"openai/gpt-4",
"openai/gpt-4o"
] |
| `parallel_tool_calls` | *OptionalNullable[bool]* | :heavy_minus_sign: | Whether to enable parallel function calling during tool use. When true, the model may generate multiple tool calls in a single response. | true |
-| `plugins` | List[[components.ChatRequestPlugin](../components/chatrequestplugin.mdx)] | :heavy_minus_sign: | Plugins you want to enable for this request, including their settings. | |
-| `prediction` | [OptionalNullable[components.Prediction]](../components/prediction.mdx) | :heavy_minus_sign: | Static predicted output content. Supported models can use this to reduce latency when much of the response is known in advance. | \{
"content": "Expected response",
"type": "content"
} |
+| `plugins` | List[[components.ChatRequestPlugin](../components/chatrequestplugin)] | :heavy_minus_sign: | Plugins you want to enable for this request, including their settings. | |
+| `prediction` | [OptionalNullable[components.Prediction]](../components/prediction) | :heavy_minus_sign: | Static predicted output content. Supported models can use this to reduce latency when much of the response is known in advance. | \{
"content": "Expected response",
"type": "content"
} |
| `presence_penalty` | *OptionalNullable[float]* | :heavy_minus_sign: | Presence penalty (-2.0 to 2.0) | 0 |
| `prompt_cache_key` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
-| `prompt_cache_options` | [OptionalNullable[components.PromptCacheOptions]](../components/promptcacheoptions.mdx) | :heavy_minus_sign: | Request-level prompt-cache controls. `mode: "explicit"` disables OpenAI-managed breakpoints so only blocks marked with `prompt_cache_breakpoint` are cached. Only supported by OpenAI GPT-5.6 and newer. | \{
"mode": "explicit",
"ttl": "30m"
} |
-| `provider` | [OptionalNullable[components.ProviderPreferences]](../components/providerpreferences.mdx) | :heavy_minus_sign: | When multiple model providers are available, optionally indicate your routing preference. | \{
"allow_fallbacks": true
} |
-| `reasoning` | [Optional[components.ChatRequestReasoning]](../components/chatrequestreasoning.mdx) | :heavy_minus_sign: | Configuration options for reasoning models | \{
"effort": "medium",
"summary": "concise"
} |
-| `reasoning_effort` | [OptionalNullable[components.ChatRequestReasoningEffort]](../components/chatrequestreasoningeffort.mdx) | :heavy_minus_sign: | Shorthand for setting reasoning effort. Equivalent to setting reasoning.effort. Cannot be used simultaneously with reasoning.effort if they differ. | medium |
+| `prompt_cache_options` | [OptionalNullable[components.PromptCacheOptions]](../components/promptcacheoptions) | :heavy_minus_sign: | Request-level prompt-cache controls. `mode: "explicit"` disables OpenAI-managed breakpoints so only blocks marked with `prompt_cache_breakpoint` are cached. Only supported by OpenAI GPT-5.6 and newer. | \{
"mode": "explicit",
"ttl": "30m"
} |
+| `provider` | [OptionalNullable[components.ProviderPreferences]](../components/providerpreferences) | :heavy_minus_sign: | When multiple model providers are available, optionally indicate your routing preference. | \{
"allow_fallbacks": true
} |
+| `reasoning` | [Optional[components.ChatRequestReasoning]](../components/chatrequestreasoning) | :heavy_minus_sign: | Configuration options for reasoning models | \{
"effort": "medium",
"summary": "concise"
} |
+| `reasoning_effort` | [OptionalNullable[components.ChatRequestReasoningEffort]](../components/chatrequestreasoningeffort) | :heavy_minus_sign: | Shorthand for setting reasoning effort. Equivalent to setting reasoning.effort. Cannot be used simultaneously with reasoning.effort if they differ. | medium |
| `repetition_penalty` | *OptionalNullable[float]* | :heavy_minus_sign: | Penalizes tokens based on how much they have already appeared in the text. A value of 1.0 means no penalty. Values above 1.0 penalize repeated tokens more strongly. Not all providers support this parameter. | 1 |
-| `response_format` | [Optional[components.ResponseFormat]](../components/responseformat.mdx) | :heavy_minus_sign: | Response format configuration | \{
"type": "json_object"
} |
+| `response_format` | [Optional[components.ResponseFormat]](../components/responseformat) | :heavy_minus_sign: | Response format configuration | \{
"type": "json_object"
} |
| `seed` | *OptionalNullable[int]* | :heavy_minus_sign: | Random seed for deterministic outputs | 42 |
-| `service_tier` | [OptionalNullable[components.ChatRequestServiceTier]](../components/chatrequestservicetier.mdx) | :heavy_minus_sign: | The service tier to use for processing this request. | auto |
+| `service_tier` | [OptionalNullable[components.ChatRequestServiceTier]](../components/chatrequestservicetier) | :heavy_minus_sign: | The service tier to use for processing this request. | auto |
| `session_id` | *Optional[str]* | :heavy_minus_sign: | A unique identifier for grouping related requests (e.g., a conversation or agent workflow). When provided, OpenRouter uses it as the sticky routing key, routing all requests in the session to the same provider to maximize prompt cache hits. Also used for observability grouping. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 256 characters. | |
-| `stop` | [OptionalNullable[components.Stop]](../components/stop.mdx) | :heavy_minus_sign: | Stop sequences (up to 4) | [
"\n"
] |
-| `stop_server_tools_when` | List[[components.StopServerToolsWhenCondition](../components/stopservertoolswhencondition.mdx)] | :heavy_minus_sign: | Stop conditions for the server-tool agent loop. Any condition firing halts the loop (OR logic). When set, this overrides `max_tool_calls`. When a condition fires while the model is still emitting tool calls, the pending tool calls are executed and one final turn is made with tool calls disabled so the response ends with a natural-language answer instead of an unfinished tool call. | [
\{
"step_count": 5,
"type": "step_count_is"
},
\{
"max_cost_in_dollars": 0.5,
"type": "max_cost"
}
] |
+| `stop` | [OptionalNullable[components.Stop]](../components/stop) | :heavy_minus_sign: | Stop sequences (up to 4) | [
"\n"
] |
+| `stop_server_tools_when` | List[[components.StopServerToolsWhenCondition](../components/stopservertoolswhencondition)] | :heavy_minus_sign: | Stop conditions for the server-tool agent loop. Any condition firing halts the loop (OR logic). When set, this overrides `max_tool_calls`. When a condition fires while the model is still emitting tool calls, the pending tool calls are executed and one final turn is made with tool calls disabled so the response ends with a natural-language answer instead of an unfinished tool call. | [
\{
"step_count": 5,
"type": "step_count_is"
},
\{
"max_cost_in_dollars": 0.5,
"type": "max_cost"
}
] |
| `stream` | *Optional[bool]* | :heavy_minus_sign: | Enable streaming response | false |
-| `stream_options` | [OptionalNullable[components.ChatStreamOptions]](../components/chatstreamoptions.mdx) | :heavy_minus_sign: | Streaming configuration options | \{
"include_usage": true
} |
+| `stream_options` | [OptionalNullable[components.ChatStreamOptions]](../components/chatstreamoptions) | :heavy_minus_sign: | Streaming configuration options | \{
"include_usage": true
} |
| `temperature` | *OptionalNullable[float]* | :heavy_minus_sign: | Sampling temperature (0-2) | 0.7 |
-| `tool_choice` | [Optional[components.ChatToolChoice]](../components/chattoolchoice.mdx) | :heavy_minus_sign: | Tool choice configuration | auto |
-| `tools` | List[[components.ChatFunctionTool](../components/chatfunctiontool.mdx)] | :heavy_minus_sign: | Available tools for function calling | [
\{
"function": \{
"description": "Get weather",
"name": "get_weather"
},
"type": "function"
}
] |
+| `tool_choice` | [Optional[components.ChatToolChoice]](../components/chattoolchoice) | :heavy_minus_sign: | Tool choice configuration | auto |
+| `tools` | List[[components.ChatFunctionTool](../components/chatfunctiontool)] | :heavy_minus_sign: | Available tools for function calling | [
\{
"function": \{
"description": "Get weather",
"name": "get_weather"
},
"type": "function"
}
] |
| `top_a` | *OptionalNullable[float]* | :heavy_minus_sign: | Consider only tokens with "sufficiently high" probabilities based on the probability of the most likely token. Not all providers support this parameter. | 0 |
| `top_k` | *OptionalNullable[int]* | :heavy_minus_sign: | Limits the model to choose from the top K most likely tokens at each step. A value of 1 means the model will always pick the most likely next token. Not all providers support this parameter. | 40 |
| `top_logprobs` | *OptionalNullable[int]* | :heavy_minus_sign: | Number of top log probabilities to return (0-20) | 5 |
| `top_p` | *OptionalNullable[float]* | :heavy_minus_sign: | Nucleus sampling parameter (0-1) | 1 |
-| `trace` | [Optional[components.TraceConfig]](../components/traceconfig.mdx) | :heavy_minus_sign: | Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations. | \{
"trace_id": "trace-abc123",
"trace_name": "my-app-trace"
} |
+| `trace` | [Optional[components.TraceConfig]](../components/traceconfig) | :heavy_minus_sign: | Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations. | \{
"trace_id": "trace-abc123",
"trace_name": "my-app-trace"
} |
| `user` | *Optional[str]* | :heavy_minus_sign: | Per-end-user identifier for abuse isolation. Use a stable ID, hash, or pseudonym. When a provider requires a user identity, OpenRouter folds it into the hashed identity sent upstream and never forwards it raw. If omitted, requests use an account-level identity, so provider policy blocks can affect the whole account. | user-123 |
\ No newline at end of file
diff --git a/docs/components/chatrequestreasoning.mdx b/docs/components/chatrequestreasoning.mdx
index d9a271d7..0878f588 100644
--- a/docs/components/chatrequestreasoning.mdx
+++ b/docs/components/chatrequestreasoning.mdx
@@ -9,5 +9,5 @@ Configuration options for reasoning models
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
-| `effort` | [OptionalNullable[components.ChatRequestEffort]](../components/chatrequesteffort.mdx) | :heavy_minus_sign: | Constrains effort on reasoning for reasoning models | medium |
-| `summary` | [OptionalNullable[components.ChatReasoningSummaryVerbosityEnum]](../components/chatreasoningsummaryverbosityenum.mdx) | :heavy_minus_sign: | N/A | concise |
\ No newline at end of file
+| `effort` | [OptionalNullable[components.ChatRequestEffort]](../components/chatrequesteffort) | :heavy_minus_sign: | Constrains effort on reasoning for reasoning models | medium |
+| `summary` | [OptionalNullable[components.ChatReasoningSummaryVerbosityEnum]](../components/chatreasoningsummaryverbosityenum) | :heavy_minus_sign: | N/A | concise |
\ No newline at end of file
diff --git a/docs/components/chatresult.mdx b/docs/components/chatresult.mdx
index 94e3c0ce..4df98cab 100644
--- a/docs/components/chatresult.mdx
+++ b/docs/components/chatresult.mdx
@@ -9,12 +9,12 @@ Chat completion response
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `choices` | List[[components.ChatChoice](../components/chatchoice.mdx)] | :heavy_check_mark: | List of completion choices | |
+| `choices` | List[[components.ChatChoice](../components/chatchoice)] | :heavy_check_mark: | List of completion choices | |
| `created` | *int* | :heavy_check_mark: | Unix timestamp of creation | 1677652288 |
| `id` | *str* | :heavy_check_mark: | Unique completion identifier | chatcmpl-123 |
| `model` | *str* | :heavy_check_mark: | Model used for completion | openai/gpt-4 |
-| `object` | [components.ChatResultObject](../components/chatresultobject.mdx) | :heavy_check_mark: | N/A | |
-| `openrouter_metadata` | [Optional[components.OpenRouterMetadata]](../components/openroutermetadata.mdx) | :heavy_minus_sign: | N/A | \{
"attempt": 1,
"endpoints": \{
"available": [
\{
"model": "openai/gpt-4o",
"provider": "OpenAI",
"selected": true
}
],
"total": 1
},
"is_byok": false,
"region": "iad",
"requested": "openai/gpt-4o",
"strategy": "direct",
"summary": "available=1, selected=OpenAI"
} |
+| `object` | [components.ChatResultObject](../components/chatresultobject) | :heavy_check_mark: | N/A | |
+| `openrouter_metadata` | [Optional[components.OpenRouterMetadata]](../components/openroutermetadata) | :heavy_minus_sign: | N/A | \{
"attempt": 1,
"endpoints": \{
"available": [
\{
"model": "openai/gpt-4o",
"provider": "OpenAI",
"selected": true
}
],
"total": 1
},
"is_byok": false,
"region": "iad",
"requested": "openai/gpt-4o",
"strategy": "direct",
"summary": "available=1, selected=OpenAI"
} |
| `service_tier` | *OptionalNullable[str]* | :heavy_minus_sign: | The service tier used by the upstream provider for this request | default |
| `system_fingerprint` | *Nullable[str]* | :heavy_check_mark: | System fingerprint | fp_44709d6fcb |
-| `usage` | [Optional[components.ChatUsage]](../components/chatusage.mdx) | :heavy_minus_sign: | Token usage statistics | \{
"completion_tokens": 15,
"completion_tokens_details": \{
"reasoning_tokens": 5
},
"cost": 0.0012,
"cost_details": \{
"upstream_inference_completions_cost": 0.0004,
"upstream_inference_cost": null,
"upstream_inference_prompt_cost": 0.0008
},
"is_byok": false,
"prompt_tokens": 10,
"prompt_tokens_details": \{
"cached_tokens": 2
},
"server_tool_use_details": \{
"tool_calls_executed": 2,
"tool_calls_requested": 2
},
"total_tokens": 25
} |
\ No newline at end of file
+| `usage` | [Optional[components.ChatUsage]](../components/chatusage) | :heavy_minus_sign: | Token usage statistics | \{
"completion_tokens": 15,
"completion_tokens_details": \{
"reasoning_tokens": 5
},
"cost": 0.0012,
"cost_details": \{
"upstream_inference_completions_cost": 0.0004,
"upstream_inference_cost": null,
"upstream_inference_prompt_cost": 0.0008
},
"is_byok": false,
"prompt_tokens": 10,
"prompt_tokens_details": \{
"cached_tokens": 2
},
"server_tool_use_details": \{
"tool_calls_executed": 2,
"tool_calls_requested": 2
},
"total_tokens": 25
} |
\ No newline at end of file
diff --git a/docs/components/chatsearchmodelsservertool.mdx b/docs/components/chatsearchmodelsservertool.mdx
index 18b2f4e1..a8321933 100644
--- a/docs/components/chatsearchmodelsservertool.mdx
+++ b/docs/components/chatsearchmodelsservertool.mdx
@@ -9,5 +9,5 @@ OpenRouter built-in server tool: searches and filters AI models available on Ope
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
-| `parameters` | [Optional[components.SearchModelsServerToolConfig]](../components/searchmodelsservertoolconfig.mdx) | :heavy_minus_sign: | Configuration for the openrouter:experimental__search_models server tool | \{
"max_results": 5
} |
-| `type` | [components.ChatSearchModelsServerToolType](../components/chatsearchmodelsservertooltype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `parameters` | [Optional[components.SearchModelsServerToolConfig]](../components/searchmodelsservertoolconfig) | :heavy_minus_sign: | Configuration for the openrouter:experimental__search_models server tool | \{
"max_results": 5
} |
+| `type` | [components.ChatSearchModelsServerToolType](../components/chatsearchmodelsservertooltype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/chatstreamchoice.mdx b/docs/components/chatstreamchoice.mdx
index d6bd70fb..fbe6099b 100644
--- a/docs/components/chatstreamchoice.mdx
+++ b/docs/components/chatstreamchoice.mdx
@@ -9,7 +9,7 @@ Streaming completion choice chunk
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ |
-| `delta` | [components.ChatStreamDelta](../components/chatstreamdelta.mdx) | :heavy_check_mark: | Delta changes in streaming response | \{
"content": "Hello",
"role": "assistant"
} |
-| `finish_reason` | [Nullable[components.ChatFinishReasonEnum]](../components/chatfinishreasonenum.mdx) | :heavy_check_mark: | N/A | stop |
+| `delta` | [components.ChatStreamDelta](../components/chatstreamdelta) | :heavy_check_mark: | Delta changes in streaming response | \{
"content": "Hello",
"role": "assistant"
} |
+| `finish_reason` | [Nullable[components.ChatFinishReasonEnum]](../components/chatfinishreasonenum) | :heavy_check_mark: | N/A | stop |
| `index` | *int* | :heavy_check_mark: | Choice index | 0 |
-| `logprobs` | [OptionalNullable[components.ChatTokenLogprobs]](../components/chattokenlogprobs.mdx) | :heavy_minus_sign: | Log probabilities for the completion | \{
"content": [
\{
"bytes": null,
"logprob": -0.612345,
"token": " Hello",
"top_logprobs": []
}
],
"refusal": null
} |
\ No newline at end of file
+| `logprobs` | [OptionalNullable[components.ChatTokenLogprobs]](../components/chattokenlogprobs) | :heavy_minus_sign: | Log probabilities for the completion | \{
"content": [
\{
"bytes": null,
"logprob": -0.612345,
"token": " Hello",
"top_logprobs": []
}
],
"refusal": null
} |
\ No newline at end of file
diff --git a/docs/components/chatstreamchunk.mdx b/docs/components/chatstreamchunk.mdx
index 3adbd989..7d79f8b0 100644
--- a/docs/components/chatstreamchunk.mdx
+++ b/docs/components/chatstreamchunk.mdx
@@ -9,13 +9,13 @@ Streaming chat completion chunk
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `choices` | List[[components.ChatStreamChoice](../components/chatstreamchoice.mdx)] | :heavy_check_mark: | List of streaming chunk choices | |
+| `choices` | List[[components.ChatStreamChoice](../components/chatstreamchoice)] | :heavy_check_mark: | List of streaming chunk choices | |
| `created` | *int* | :heavy_check_mark: | Unix timestamp of creation | 1677652288 |
-| `error` | [Optional[components.ChatStreamChunkError]](../components/chatstreamchunkerror.mdx) | :heavy_minus_sign: | Error information | \{
"code": 429,
"message": "Rate limit exceeded",
"metadata": \{
"error_type": "rate_limit_exceeded"
}
} |
+| `error` | [Optional[components.ChatStreamChunkError]](../components/chatstreamchunkerror) | :heavy_minus_sign: | Error information | \{
"code": 429,
"message": "Rate limit exceeded",
"metadata": \{
"error_type": "rate_limit_exceeded"
}
} |
| `id` | *str* | :heavy_check_mark: | Unique chunk identifier | chatcmpl-123 |
| `model` | *str* | :heavy_check_mark: | Model used for completion | openai/gpt-4 |
-| `object` | [components.ChatStreamChunkObject](../components/chatstreamchunkobject.mdx) | :heavy_check_mark: | N/A | |
-| `openrouter_metadata` | [Optional[components.OpenRouterMetadata]](../components/openroutermetadata.mdx) | :heavy_minus_sign: | N/A | \{
"attempt": 1,
"endpoints": \{
"available": [
\{
"model": "openai/gpt-4o",
"provider": "OpenAI",
"selected": true
}
],
"total": 1
},
"is_byok": false,
"region": "iad",
"requested": "openai/gpt-4o",
"strategy": "direct",
"summary": "available=1, selected=OpenAI"
} |
+| `object` | [components.ChatStreamChunkObject](../components/chatstreamchunkobject) | :heavy_check_mark: | N/A | |
+| `openrouter_metadata` | [Optional[components.OpenRouterMetadata]](../components/openroutermetadata) | :heavy_minus_sign: | N/A | \{
"attempt": 1,
"endpoints": \{
"available": [
\{
"model": "openai/gpt-4o",
"provider": "OpenAI",
"selected": true
}
],
"total": 1
},
"is_byok": false,
"region": "iad",
"requested": "openai/gpt-4o",
"strategy": "direct",
"summary": "available=1, selected=OpenAI"
} |
| `service_tier` | *OptionalNullable[str]* | :heavy_minus_sign: | The service tier used by the upstream provider for this request | default |
| `system_fingerprint` | *Optional[str]* | :heavy_minus_sign: | System fingerprint | fp_44709d6fcb |
-| `usage` | [Optional[components.ChatUsage]](../components/chatusage.mdx) | :heavy_minus_sign: | Token usage statistics | \{
"completion_tokens": 15,
"completion_tokens_details": \{
"reasoning_tokens": 5
},
"cost": 0.0012,
"cost_details": \{
"upstream_inference_completions_cost": 0.0004,
"upstream_inference_cost": null,
"upstream_inference_prompt_cost": 0.0008
},
"is_byok": false,
"prompt_tokens": 10,
"prompt_tokens_details": \{
"cached_tokens": 2
},
"server_tool_use_details": \{
"tool_calls_executed": 2,
"tool_calls_requested": 2
},
"total_tokens": 25
} |
\ No newline at end of file
+| `usage` | [Optional[components.ChatUsage]](../components/chatusage) | :heavy_minus_sign: | Token usage statistics | \{
"completion_tokens": 15,
"completion_tokens_details": \{
"reasoning_tokens": 5
},
"cost": 0.0012,
"cost_details": \{
"upstream_inference_completions_cost": 0.0004,
"upstream_inference_cost": null,
"upstream_inference_prompt_cost": 0.0008
},
"is_byok": false,
"prompt_tokens": 10,
"prompt_tokens_details": \{
"cached_tokens": 2
},
"server_tool_use_details": \{
"tool_calls_executed": 2,
"tool_calls_requested": 2
},
"total_tokens": 25
} |
\ No newline at end of file
diff --git a/docs/components/chatstreamchunkerror.mdx b/docs/components/chatstreamchunkerror.mdx
index e04b55b0..12a36784 100644
--- a/docs/components/chatstreamchunkerror.mdx
+++ b/docs/components/chatstreamchunkerror.mdx
@@ -11,4 +11,4 @@ Error information
| ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
| `code` | *int* | :heavy_check_mark: | Error code | 429 |
| `message` | *str* | :heavy_check_mark: | Error message | Rate limit exceeded |
-| `metadata` | [Optional[components.ChatStreamChunkMetadata]](../components/chatstreamchunkmetadata.mdx) | :heavy_minus_sign: | Structured error metadata | |
\ No newline at end of file
+| `metadata` | [Optional[components.ChatStreamChunkMetadata]](../components/chatstreamchunkmetadata) | :heavy_minus_sign: | Structured error metadata | |
\ No newline at end of file
diff --git a/docs/components/chatstreamchunkmetadata.mdx b/docs/components/chatstreamchunkmetadata.mdx
index ce80e38c..7d91c6fa 100644
--- a/docs/components/chatstreamchunkmetadata.mdx
+++ b/docs/components/chatstreamchunkmetadata.mdx
@@ -9,5 +9,5 @@ Structured error metadata
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
-| `error_type` | [components.APIErrorType](../components/apierrortype.mdx) | :heavy_check_mark: | Canonical OpenRouter error type, stable across all API formats | rate_limit_exceeded |
+| `error_type` | [components.APIErrorType](../components/apierrortype) | :heavy_check_mark: | Canonical OpenRouter error type, stable across all API formats | rate_limit_exceeded |
| `provider_code` | *Optional[str]* | :heavy_minus_sign: | Upstream provider-specific error code, when available | |
\ No newline at end of file
diff --git a/docs/components/chatstreamdelta.mdx b/docs/components/chatstreamdelta.mdx
index 3ac2bd92..c8bf07a3 100644
--- a/docs/components/chatstreamdelta.mdx
+++ b/docs/components/chatstreamdelta.mdx
@@ -9,10 +9,10 @@ Delta changes in streaming response
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `audio` | [Optional[components.ChatAudioOutput]](../components/chataudiooutput.mdx) | :heavy_minus_sign: | N/A | \{
"data": "UklGRnoGAABXQVZFZm10IBAAAAABAAEAQB8AAEAfAAABAAgAZGF0YQoGAACBhYqFbF1f",
"expires_at": 1677652400,
"id": "audio_abc123",
"transcript": "Hello! How can I help you today?"
} |
+| `audio` | [Optional[components.ChatAudioOutput]](../components/chataudiooutput) | :heavy_minus_sign: | N/A | \{
"data": "UklGRnoGAABXQVZFZm10IBAAAAABAAEAQB8AAEAfAAABAAgAZGF0YQoGAACBhYqFbF1f",
"expires_at": 1677652400,
"id": "audio_abc123",
"transcript": "Hello! How can I help you today?"
} |
| `content` | *OptionalNullable[str]* | :heavy_minus_sign: | Message content delta | Hello |
| `reasoning` | *OptionalNullable[str]* | :heavy_minus_sign: | Reasoning content delta | I need to |
-| `reasoning_details` | List[[components.ReasoningDetailUnion](../components/reasoningdetailunion.mdx)] | :heavy_minus_sign: | Reasoning details for extended thinking models | [
\{
"text": "Let me think about this...",
"type": "reasoning.text"
}
] |
+| `reasoning_details` | List[[components.ReasoningDetailUnion](../components/reasoningdetailunion)] | :heavy_minus_sign: | Reasoning details for extended thinking models | [
\{
"text": "Let me think about this...",
"type": "reasoning.text"
}
] |
| `refusal` | *OptionalNullable[str]* | :heavy_minus_sign: | Refusal message delta | null |
-| `role` | [Optional[components.ChatStreamDeltaRole]](../components/chatstreamdeltarole.mdx) | :heavy_minus_sign: | The role of the message author | assistant |
-| `tool_calls` | List[[components.ChatStreamToolCall](../components/chatstreamtoolcall.mdx)] | :heavy_minus_sign: | Tool calls delta | |
\ No newline at end of file
+| `role` | [Optional[components.ChatStreamDeltaRole]](../components/chatstreamdeltarole) | :heavy_minus_sign: | The role of the message author | assistant |
+| `tool_calls` | List[[components.ChatStreamToolCall](../components/chatstreamtoolcall)] | :heavy_minus_sign: | Tool calls delta | |
\ No newline at end of file
diff --git a/docs/components/chatstreamingresponse.mdx b/docs/components/chatstreamingresponse.mdx
index bd7543c9..8f441655 100644
--- a/docs/components/chatstreamingresponse.mdx
+++ b/docs/components/chatstreamingresponse.mdx
@@ -6,4 +6,4 @@ title: "ChatStreamingResponse"
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `data` | [components.ChatStreamChunk](../components/chatstreamchunk.mdx) | :heavy_check_mark: | Streaming chat completion chunk | \{
"choices": [
\{
"delta": \{
"content": "Hello",
"role": "assistant"
},
"finish_reason": null,
"index": 0
}
],
"created": 1677652288,
"id": "chatcmpl-123",
"model": "openai/gpt-4",
"object": "chat.completion.chunk"
} |
\ No newline at end of file
+| `data` | [components.ChatStreamChunk](../components/chatstreamchunk) | :heavy_check_mark: | Streaming chat completion chunk | \{
"choices": [
\{
"delta": \{
"content": "Hello",
"role": "assistant"
},
"finish_reason": null,
"index": 0
}
],
"created": 1677652288,
"id": "chatcmpl-123",
"model": "openai/gpt-4",
"object": "chat.completion.chunk"
} |
\ No newline at end of file
diff --git a/docs/components/chatstreamtoolcall.mdx b/docs/components/chatstreamtoolcall.mdx
index beba823a..b396d602 100644
--- a/docs/components/chatstreamtoolcall.mdx
+++ b/docs/components/chatstreamtoolcall.mdx
@@ -9,7 +9,7 @@ Tool call delta for streaming responses
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
-| `function` | [Optional[components.ChatStreamToolCallFunction]](../components/chatstreamtoolcallfunction.mdx) | :heavy_minus_sign: | Function call details | |
+| `function` | [Optional[components.ChatStreamToolCallFunction]](../components/chatstreamtoolcallfunction) | :heavy_minus_sign: | Function call details | |
| `id` | *Optional[str]* | :heavy_minus_sign: | Tool call identifier | call_abc123 |
| `index` | *int* | :heavy_check_mark: | Tool call index in the array | 0 |
-| `type` | [Optional[components.ChatStreamToolCallType]](../components/chatstreamtoolcalltype.mdx) | :heavy_minus_sign: | Tool call type | function |
\ No newline at end of file
+| `type` | [Optional[components.ChatStreamToolCallType]](../components/chatstreamtoolcalltype) | :heavy_minus_sign: | Tool call type | function |
\ No newline at end of file
diff --git a/docs/components/chatsystemmessage.mdx b/docs/components/chatsystemmessage.mdx
index 7f6ccc99..30d40aee 100644
--- a/docs/components/chatsystemmessage.mdx
+++ b/docs/components/chatsystemmessage.mdx
@@ -9,6 +9,6 @@ System message for setting behavior
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
-| `content` | [components.ChatSystemMessageContent](../components/chatsystemmessagecontent.mdx) | :heavy_check_mark: | System message content | You are a helpful assistant. |
+| `content` | [components.ChatSystemMessageContent](../components/chatsystemmessagecontent) | :heavy_check_mark: | System message content | You are a helpful assistant. |
| `name` | *Optional[str]* | :heavy_minus_sign: | Optional name for the system message | Assistant Config |
-| `role` | [components.ChatSystemMessageRole](../components/chatsystemmessagerole.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `role` | [components.ChatSystemMessageRole](../components/chatsystemmessagerole) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/chattokenlogprob.mdx b/docs/components/chattokenlogprob.mdx
index f6b39af9..cc83d5a7 100644
--- a/docs/components/chattokenlogprob.mdx
+++ b/docs/components/chattokenlogprob.mdx
@@ -12,4 +12,4 @@ Token log probability information
| `bytes_` | List[*int*] | :heavy_check_mark: | UTF-8 bytes of the token |
| `logprob` | *float* | :heavy_check_mark: | Log probability of the token |
| `token` | *str* | :heavy_check_mark: | The token |
-| `top_logprobs` | List[[components.ChatTokenLogprobTopLogprob](../components/chattokenlogprobtoplogprob.mdx)] | :heavy_check_mark: | Top alternative tokens with probabilities |
\ No newline at end of file
+| `top_logprobs` | List[[components.ChatTokenLogprobTopLogprob](../components/chattokenlogprobtoplogprob)] | :heavy_check_mark: | Top alternative tokens with probabilities |
\ No newline at end of file
diff --git a/docs/components/chattokenlogprobs.mdx b/docs/components/chattokenlogprobs.mdx
index 068610e7..be00e1f6 100644
--- a/docs/components/chattokenlogprobs.mdx
+++ b/docs/components/chattokenlogprobs.mdx
@@ -9,5 +9,5 @@ Log probabilities for the completion
| Field | Type | Required | Description |
| ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- |
-| `content` | List[[components.ChatTokenLogprob](../components/chattokenlogprob.mdx)] | :heavy_check_mark: | Log probabilities for content tokens |
-| `refusal` | List[[components.ChatTokenLogprob](../components/chattokenlogprob.mdx)] | :heavy_minus_sign: | Log probabilities for refusal tokens |
\ No newline at end of file
+| `content` | List[[components.ChatTokenLogprob](../components/chattokenlogprob)] | :heavy_check_mark: | Log probabilities for content tokens |
+| `refusal` | List[[components.ChatTokenLogprob](../components/chattokenlogprob)] | :heavy_minus_sign: | Log probabilities for refusal tokens |
\ No newline at end of file
diff --git a/docs/components/chattoolcall.mdx b/docs/components/chattoolcall.mdx
index 09bffc9d..fad36ffd 100644
--- a/docs/components/chattoolcall.mdx
+++ b/docs/components/chattoolcall.mdx
@@ -9,6 +9,6 @@ Tool call made by the assistant
| Field | Type | Required | Description |
| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ |
-| `function` | [components.ChatToolCallFunction](../components/chattoolcallfunction.mdx) | :heavy_check_mark: | N/A |
+| `function` | [components.ChatToolCallFunction](../components/chattoolcallfunction) | :heavy_check_mark: | N/A |
| `id` | *str* | :heavy_check_mark: | Tool call identifier |
-| `type` | [components.ChatToolCallType](../components/chattoolcalltype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.ChatToolCallType](../components/chattoolcalltype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/chattoolmessage.mdx b/docs/components/chattoolmessage.mdx
index bd39bbff..2b4e5c5f 100644
--- a/docs/components/chattoolmessage.mdx
+++ b/docs/components/chattoolmessage.mdx
@@ -9,6 +9,6 @@ Tool response message
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
-| `content` | [components.ChatToolMessageContent](../components/chattoolmessagecontent.mdx) | :heavy_check_mark: | Tool response content | The weather in San Francisco is 72°F and sunny. |
-| `role` | [components.ChatToolMessageRole](../components/chattoolmessagerole.mdx) | :heavy_check_mark: | N/A | |
+| `content` | [components.ChatToolMessageContent](../components/chattoolmessagecontent) | :heavy_check_mark: | Tool response content | The weather in San Francisco is 72°F and sunny. |
+| `role` | [components.ChatToolMessageRole](../components/chattoolmessagerole) | :heavy_check_mark: | N/A | |
| `tool_call_id` | *str* | :heavy_check_mark: | ID of the assistant message tool call this message responds to | call_abc123 |
\ No newline at end of file
diff --git a/docs/components/chatusage.mdx b/docs/components/chatusage.mdx
index a32fff44..c90cc7f0 100644
--- a/docs/components/chatusage.mdx
+++ b/docs/components/chatusage.mdx
@@ -10,11 +10,11 @@ Token usage statistics
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| `completion_tokens` | *int* | :heavy_check_mark: | Number of tokens in the completion | |
-| `completion_tokens_details` | [OptionalNullable[components.ChatUsageCompletionTokensDetails]](../components/chatusagecompletiontokensdetails.mdx) | :heavy_minus_sign: | Detailed completion token usage | |
+| `completion_tokens_details` | [OptionalNullable[components.ChatUsageCompletionTokensDetails]](../components/chatusagecompletiontokensdetails) | :heavy_minus_sign: | Detailed completion token usage | |
| `cost` | *OptionalNullable[float]* | :heavy_minus_sign: | Cost of the completion | |
-| `cost_details` | [OptionalNullable[components.CostDetails]](../components/costdetails.mdx) | :heavy_minus_sign: | Breakdown of upstream inference costs | \{
"upstream_inference_completions_cost": 0.0004,
"upstream_inference_cost": null,
"upstream_inference_prompt_cost": 0.0008
} |
+| `cost_details` | [OptionalNullable[components.CostDetails]](../components/costdetails) | :heavy_minus_sign: | Breakdown of upstream inference costs | \{
"upstream_inference_completions_cost": 0.0004,
"upstream_inference_cost": null,
"upstream_inference_prompt_cost": 0.0008
} |
| `is_byok` | *Optional[bool]* | :heavy_minus_sign: | Whether a request was made using a Bring Your Own Key configuration | |
| `prompt_tokens` | *int* | :heavy_check_mark: | Number of tokens in the prompt | |
-| `prompt_tokens_details` | [OptionalNullable[components.ChatUsagePromptTokensDetails]](../components/chatusageprompttokensdetails.mdx) | :heavy_minus_sign: | Detailed prompt token usage | |
-| `server_tool_use_details` | [OptionalNullable[components.ServerToolUseDetails]](../components/servertoolusedetails.mdx) | :heavy_minus_sign: | Usage for server-side tool execution (e.g., web search) | \{
"tool_calls_executed": 2,
"tool_calls_requested": 2,
"web_search_requests": 2
} |
+| `prompt_tokens_details` | [OptionalNullable[components.ChatUsagePromptTokensDetails]](../components/chatusageprompttokensdetails) | :heavy_minus_sign: | Detailed prompt token usage | |
+| `server_tool_use_details` | [OptionalNullable[components.ServerToolUseDetails]](../components/servertoolusedetails) | :heavy_minus_sign: | Usage for server-side tool execution (e.g., web search) | \{
"tool_calls_executed": 2,
"tool_calls_requested": 2,
"web_search_requests": 2
} |
| `total_tokens` | *int* | :heavy_check_mark: | Total number of tokens | |
\ No newline at end of file
diff --git a/docs/components/chatusermessage.mdx b/docs/components/chatusermessage.mdx
index 3b6546aa..3f437ac3 100644
--- a/docs/components/chatusermessage.mdx
+++ b/docs/components/chatusermessage.mdx
@@ -9,6 +9,6 @@ User message
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
-| `content` | [components.ChatUserMessageContent](../components/chatusermessagecontent.mdx) | :heavy_check_mark: | User message content | What is the capital of France? |
+| `content` | [components.ChatUserMessageContent](../components/chatusermessagecontent) | :heavy_check_mark: | User message content | What is the capital of France? |
| `name` | *Optional[str]* | :heavy_minus_sign: | Optional name for the user | User |
-| `role` | [components.ChatUserMessageRole](../components/chatusermessagerole.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `role` | [components.ChatUserMessageRole](../components/chatusermessagerole) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/chatwebsearchshorthand.mdx b/docs/components/chatwebsearchshorthand.mdx
index 3bd2348d..8262b25d 100644
--- a/docs/components/chatwebsearchshorthand.mdx
+++ b/docs/components/chatwebsearchshorthand.mdx
@@ -10,13 +10,13 @@ Web search tool using OpenAI Responses API syntax. Automatically converted to op
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `allowed_domains` | List[*str*] | :heavy_minus_sign: | Limit search results to these domains. Supported by Exa, Firecrawl, Parallel, Perplexity, and most native providers (Anthropic, OpenAI, xAI). Cannot be used with excluded_domains. | |
-| `engine` | [Optional[components.WebSearchEngineEnum]](../components/websearchengineenum.mdx) | :heavy_minus_sign: | Which search engine to use. "auto" (default) uses native if the provider supports it, otherwise Exa. "native" forces the provider's built-in search. "exa" forces the Exa search API. "firecrawl" uses Firecrawl (requires BYOK). "parallel" uses the Parallel search API. "perplexity" uses the Perplexity Search API (raw ranked results). | auto |
+| `engine` | [Optional[components.WebSearchEngineEnum]](../components/websearchengineenum) | :heavy_minus_sign: | Which search engine to use. "auto" (default) uses native if the provider supports it, otherwise Exa. "native" forces the provider's built-in search. "exa" forces the Exa search API. "firecrawl" uses Firecrawl (requires BYOK). "parallel" uses the Parallel search API. "perplexity" uses the Perplexity Search API (raw ranked results). | auto |
| `excluded_domains` | List[*str*] | :heavy_minus_sign: | Exclude search results from these domains. Supported by Exa, Firecrawl, Parallel, Perplexity, Anthropic, OpenAI, and xAI. Cannot be used with allowed_domains. | |
| `max_characters` | *Optional[int]* | :heavy_minus_sign: | Exact maximum number of characters of content per search result. Applies to the Exa, Parallel, and Perplexity engines; ignored with native provider search and Firecrawl. For Exa, caps highlight content per result. For Parallel, caps excerpt content per result (default 1,500 when omitted). For Perplexity, maps to the native `max_tokens_per_page` parameter (converted from characters to tokens) and trims the response to the exact character cap. When both `max_characters` and `search_context_size` are set, `max_characters` takes precedence. When omitted, falls back to `search_context_size` mapping (Exa) or engine defaults (Parallel, Perplexity). | 2000 |
| `max_results` | *Optional[int]* | :heavy_minus_sign: | Maximum number of search results to return per search call. Defaults to 5. Applies to Exa, Firecrawl, Parallel, and Perplexity engines; ignored with native provider search. Perplexity supports a maximum of 20; values above 20 are clamped. | 5 |
| `max_total_results` | *Optional[int]* | :heavy_minus_sign: | Maximum total number of search results across all search calls in a single request. Once this limit is reached, the tool will stop returning new results. Useful for controlling cost and context size in agentic loops. Defaults to 50 when not specified. | 50 |
| `max_uses` | *Optional[int]* | :heavy_minus_sign: | Maximum number of web searches the model may perform in a single request. Once reached, further search calls return an error result instead of executing. Applies to the Exa, Firecrawl, Parallel, and Perplexity engines. With native provider search, forwarded only to Anthropic (as `max_uses`); other native search providers have no equivalent parameter and ignore it. | 3 |
-| `parameters` | [Optional[components.WebSearchConfig]](../components/websearchconfig.mdx) | :heavy_minus_sign: | N/A | \{
"max_results": 5,
"search_context_size": "medium"
} |
-| `search_context_size` | [Optional[components.SearchQualityLevel]](../components/searchqualitylevel.mdx) | :heavy_minus_sign: | How much context to retrieve per result. Applies to Exa, Parallel, and Perplexity engines; ignored with native provider search and Firecrawl. For Exa, pins a fixed per-result character cap (low=5,000, medium=15,000, high=30,000); when omitted, Exa picks an adaptive size per query and document (typically ~2,000–4,000 characters per result). For Parallel, controls the total characters across all results; when omitted, Parallel uses its own default size. For Perplexity, maps directly to the Search API's native search_context_size parameter. Overridden by `max_characters` when both are set. | medium |
-| `type` | [components.ChatWebSearchShorthandType](../components/chatwebsearchshorthandtype.mdx) | :heavy_check_mark: | N/A | |
-| `user_location` | [Optional[components.WebSearchUserLocationServerTool]](../components/websearchuserlocationservertool.mdx) | :heavy_minus_sign: | Approximate user location for location-biased results. | \{
"city": "San Francisco",
"country": "US",
"region": "California",
"timezone": "America/Los_Angeles",
"type": "approximate"
} |
\ No newline at end of file
+| `parameters` | [Optional[components.WebSearchConfig]](../components/websearchconfig) | :heavy_minus_sign: | N/A | \{
"max_results": 5,
"search_context_size": "medium"
} |
+| `search_context_size` | [Optional[components.SearchQualityLevel]](../components/searchqualitylevel) | :heavy_minus_sign: | How much context to retrieve per result. Applies to Exa, Parallel, and Perplexity engines; ignored with native provider search and Firecrawl. For Exa, pins a fixed per-result character cap (low=5,000, medium=15,000, high=30,000); when omitted, Exa picks an adaptive size per query and document (typically ~2,000–4,000 characters per result). For Parallel, controls the total characters across all results; when omitted, Parallel uses its own default size. For Perplexity, maps directly to the Search API's native search_context_size parameter. Overridden by `max_characters` when both are set. | medium |
+| `type` | [components.ChatWebSearchShorthandType](../components/chatwebsearchshorthandtype) | :heavy_check_mark: | N/A | |
+| `user_location` | [Optional[components.WebSearchUserLocationServerTool]](../components/websearchuserlocationservertool) | :heavy_minus_sign: | Approximate user location for location-biased results. | \{
"city": "San Francisco",
"country": "US",
"region": "California",
"timezone": "America/Los_Angeles",
"type": "approximate"
} |
\ No newline at end of file
diff --git a/docs/components/codeinterpreterservertool.mdx b/docs/components/codeinterpreterservertool.mdx
index 95266212..8e06583d 100644
--- a/docs/components/codeinterpreterservertool.mdx
+++ b/docs/components/codeinterpreterservertool.mdx
@@ -9,5 +9,5 @@ Code interpreter tool configuration
| Field | Type | Required | Description |
| ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- |
-| `container` | [components.Container](../components/container.mdx) | :heavy_check_mark: | N/A |
-| `type` | [components.TypeCodeInterpreter](../components/typecodeinterpreter.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `container` | [components.Container](../components/container) | :heavy_check_mark: | N/A |
+| `type` | [components.TypeCodeInterpreter](../components/typecodeinterpreter) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/codexlocalshelltool.mdx b/docs/components/codexlocalshelltool.mdx
index f5b8e9d3..da29db72 100644
--- a/docs/components/codexlocalshelltool.mdx
+++ b/docs/components/codexlocalshelltool.mdx
@@ -9,4 +9,4 @@ Local shell tool configuration
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ |
-| `type` | [components.CodexLocalShellToolType](../components/codexlocalshelltooltype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.CodexLocalShellToolType](../components/codexlocalshelltooltype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/compactionitem.mdx b/docs/components/compactionitem.mdx
index 313c76b1..4bfaabfb 100644
--- a/docs/components/compactionitem.mdx
+++ b/docs/components/compactionitem.mdx
@@ -11,5 +11,5 @@ A context compaction marker with encrypted summary
| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- |
| `encrypted_content` | *str* | :heavy_check_mark: | N/A | |
| `id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
-| `type` | [components.CompactionItemType](../components/compactionitemtype.mdx) | :heavy_check_mark: | N/A | |
+| `type` | [components.CompactionItemType](../components/compactionitemtype) | :heavy_check_mark: | N/A | |
| `__pydantic_extra__` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \{
"encrypted_content": "enc_abc123...",
"type": "compaction"
} |
\ No newline at end of file
diff --git a/docs/components/compoundfilter.mdx b/docs/components/compoundfilter.mdx
index 31f3a063..fc85d8e3 100644
--- a/docs/components/compoundfilter.mdx
+++ b/docs/components/compoundfilter.mdx
@@ -10,4 +10,4 @@ A compound filter that combines multiple comparison or compound filters
| Field | Type | Required | Description |
| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- |
| `filters` | List[Dict[str, *Any*]] | :heavy_check_mark: | N/A |
-| `type` | [components.CompoundFilterType](../components/compoundfiltertype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.CompoundFilterType](../components/compoundfiltertype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/computeruseservertool.mdx b/docs/components/computeruseservertool.mdx
index 3021debd..29da50f5 100644
--- a/docs/components/computeruseservertool.mdx
+++ b/docs/components/computeruseservertool.mdx
@@ -11,5 +11,5 @@ Computer use preview tool configuration
| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
| `display_height` | *int* | :heavy_check_mark: | N/A |
| `display_width` | *int* | :heavy_check_mark: | N/A |
-| `environment` | [components.Environment](../components/environment.mdx) | :heavy_check_mark: | N/A |
-| `type` | [components.ComputerUseServerToolType](../components/computeruseservertooltype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `environment` | [components.Environment](../components/environment) | :heavy_check_mark: | N/A |
+| `type` | [components.ComputerUseServerToolType](../components/computeruseservertooltype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/containerauto.mdx b/docs/components/containerauto.mdx
index 00e55b66..17178f81 100644
--- a/docs/components/containerauto.mdx
+++ b/docs/components/containerauto.mdx
@@ -7,5 +7,5 @@ title: "ContainerAuto"
| Field | Type | Required | Description |
| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ |
| `file_ids` | List[*str*] | :heavy_minus_sign: | N/A |
-| `memory_limit` | [OptionalNullable[components.MemoryLimit]](../components/memorylimit.mdx) | :heavy_minus_sign: | N/A |
-| `type` | [components.ContainerType](../components/containertype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `memory_limit` | [OptionalNullable[components.MemoryLimit]](../components/memorylimit) | :heavy_minus_sign: | N/A |
+| `type` | [components.ContainerType](../components/containertype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/containerautoenvironment.mdx b/docs/components/containerautoenvironment.mdx
index f902de7b..7f4ab6c2 100644
--- a/docs/components/containerautoenvironment.mdx
+++ b/docs/components/containerautoenvironment.mdx
@@ -9,4 +9,4 @@ An OpenRouter-managed, auto-provisioned ephemeral container.
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
-| `type` | [components.ContainerAutoEnvironmentType](../components/containerautoenvironmenttype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.ContainerAutoEnvironmentType](../components/containerautoenvironmenttype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/containerreferenceenvironment.mdx b/docs/components/containerreferenceenvironment.mdx
index 28843b0f..391e23ce 100644
--- a/docs/components/containerreferenceenvironment.mdx
+++ b/docs/components/containerreferenceenvironment.mdx
@@ -10,4 +10,4 @@ Reference to a previously created container to reuse.
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| `container_id` | *str* | :heavy_check_mark: | Identifier of an existing container to reuse (max 20 characters). | cntr_abc123 |
-| `type` | [components.ContainerReferenceEnvironmentType](../components/containerreferenceenvironmenttype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `type` | [components.ContainerReferenceEnvironmentType](../components/containerreferenceenvironmenttype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/contentcompaction.mdx b/docs/components/contentcompaction.mdx
index 805357e1..372f1bf8 100644
--- a/docs/components/contentcompaction.mdx
+++ b/docs/components/contentcompaction.mdx
@@ -6,7 +6,7 @@ title: "ContentCompaction"
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../components/anthropiccachecontroldirective.mdx) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
+| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../components/anthropiccachecontroldirective) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
| `content` | *Nullable[str]* | :heavy_check_mark: | N/A | |
| `encrypted_content` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
-| `type` | [components.MessagesMessageParamTypeCompaction](../components/messagesmessageparamtypecompaction.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `type` | [components.MessagesMessageParamTypeCompaction](../components/messagesmessageparamtypecompaction) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/contentencryptedcontent.mdx b/docs/components/contentencryptedcontent.mdx
index 450638f0..e64bf277 100644
--- a/docs/components/contentencryptedcontent.mdx
+++ b/docs/components/contentencryptedcontent.mdx
@@ -7,5 +7,5 @@ title: "ContentEncryptedContent"
| Field | Type | Required | Description |
| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ |
| `encrypted_content` | *str* | :heavy_check_mark: | N/A |
-| `type` | [components.TypeEncryptedContent](../components/typeencryptedcontent.mdx) | :heavy_check_mark: | N/A |
+| `type` | [components.TypeEncryptedContent](../components/typeencryptedcontent) | :heavy_check_mark: | N/A |
| `__pydantic_extra__` | Dict[str, *Any*] | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/docs/components/contentfilterbuiltinentry.mdx b/docs/components/contentfilterbuiltinentry.mdx
index 5bdb1f6a..3b2d15c5 100644
--- a/docs/components/contentfilterbuiltinentry.mdx
+++ b/docs/components/contentfilterbuiltinentry.mdx
@@ -9,7 +9,7 @@ A builtin content filter entry. Builtin filters include PII detectors and the re
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
-| `action` | [components.ContentFilterBuiltinAction](../components/contentfilterbuiltinaction.mdx) | :heavy_check_mark: | Action taken when the builtin filter triggers | block |
+| `action` | [components.ContentFilterBuiltinAction](../components/contentfilterbuiltinaction) | :heavy_check_mark: | Action taken when the builtin filter triggers | block |
| `label` | *Optional[str]* | :heavy_minus_sign: | Read-only, system-assigned redaction placeholder derived from the slug (e.g. "[EMAIL]", "[PHONE]"). Not settable by the caller. | [EMAIL] |
-| `scan_scope` | [Optional[components.PromptInjectionScanScope]](../components/promptinjectionscanscope.mdx) | :heavy_minus_sign: | Which message roles to scan for prompt injection. Only applies to the regex-prompt-injection builtin. Defaults to all_messages. | user_only |
-| `slug` | [components.ContentFilterBuiltinSlug](../components/contentfilterbuiltinslug.mdx) | :heavy_check_mark: | The builtin filter identifier | regex-prompt-injection |
\ No newline at end of file
+| `scan_scope` | [Optional[components.PromptInjectionScanScope]](../components/promptinjectionscanscope) | :heavy_minus_sign: | Which message roles to scan for prompt injection. Only applies to the regex-prompt-injection builtin. Defaults to all_messages. | user_only |
+| `slug` | [components.ContentFilterBuiltinSlug](../components/contentfilterbuiltinslug) | :heavy_check_mark: | The builtin filter identifier | regex-prompt-injection |
\ No newline at end of file
diff --git a/docs/components/contentfilterbuiltinentryinput.mdx b/docs/components/contentfilterbuiltinentryinput.mdx
index 28e25025..7266adc7 100644
--- a/docs/components/contentfilterbuiltinentryinput.mdx
+++ b/docs/components/contentfilterbuiltinentryinput.mdx
@@ -9,7 +9,7 @@ A builtin content filter entry for create/update requests. Labels are system-ass
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `action` | [components.ContentFilterBuiltinAction](../components/contentfilterbuiltinaction.mdx) | :heavy_check_mark: | Action taken when the builtin filter triggers | block |
+| `action` | [components.ContentFilterBuiltinAction](../components/contentfilterbuiltinaction) | :heavy_check_mark: | Action taken when the builtin filter triggers | block |
| ~~`label`~~ | *Optional[str]* | :heavy_minus_sign: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.
Deprecated: labels are system-assigned and cannot be set by the caller. Accepted for backward compatibility but silently ignored. | |
-| `scan_scope` | [Optional[components.PromptInjectionScanScope]](../components/promptinjectionscanscope.mdx) | :heavy_minus_sign: | Which message roles to scan for prompt injection. Only applies to the regex-prompt-injection builtin. Defaults to all_messages. | user_only |
-| `slug` | [components.ContentFilterBuiltinSlug](../components/contentfilterbuiltinslug.mdx) | :heavy_check_mark: | The builtin filter identifier | regex-prompt-injection |
\ No newline at end of file
+| `scan_scope` | [Optional[components.PromptInjectionScanScope]](../components/promptinjectionscanscope) | :heavy_minus_sign: | Which message roles to scan for prompt injection. Only applies to the regex-prompt-injection builtin. Defaults to all_messages. | user_only |
+| `slug` | [components.ContentFilterBuiltinSlug](../components/contentfilterbuiltinslug) | :heavy_check_mark: | The builtin filter identifier | regex-prompt-injection |
\ No newline at end of file
diff --git a/docs/components/contentfilterentry.mdx b/docs/components/contentfilterentry.mdx
index c8165e83..9001f45a 100644
--- a/docs/components/contentfilterentry.mdx
+++ b/docs/components/contentfilterentry.mdx
@@ -9,6 +9,6 @@ A custom regex content filter that scans request messages for matching patterns.
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- |
-| `action` | [components.ContentFilterAction](../components/contentfilteraction.mdx) | :heavy_check_mark: | Action taken when the pattern matches | block |
+| `action` | [components.ContentFilterAction](../components/contentfilteraction) | :heavy_check_mark: | Action taken when the pattern matches | block |
| `label` | *OptionalNullable[str]* | :heavy_minus_sign: | Optional label used in redaction placeholders or error messages | [API_KEY] |
| `pattern` | *str* | :heavy_check_mark: | A regex pattern to match against request content | \b(sk-[a-zA-Z0-9]\{48})\b |
\ No newline at end of file
diff --git a/docs/components/contentpartaddedevent.mdx b/docs/components/contentpartaddedevent.mdx
index a62904e2..f55f6abb 100644
--- a/docs/components/contentpartaddedevent.mdx
+++ b/docs/components/contentpartaddedevent.mdx
@@ -12,6 +12,6 @@ Event emitted when a new content part is added to an output item
| `content_index` | *int* | :heavy_check_mark: | N/A |
| `item_id` | *str* | :heavy_check_mark: | N/A |
| `output_index` | *int* | :heavy_check_mark: | N/A |
-| `part` | [components.ContentPartAddedEventPart](../components/contentpartaddedeventpart.mdx) | :heavy_check_mark: | N/A |
+| `part` | [components.ContentPartAddedEventPart](../components/contentpartaddedeventpart) | :heavy_check_mark: | N/A |
| `sequence_number` | *int* | :heavy_check_mark: | N/A |
-| `type` | [components.ContentPartAddedEventType](../components/contentpartaddedeventtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.ContentPartAddedEventType](../components/contentpartaddedeventtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/contentpartaudio.mdx b/docs/components/contentpartaudio.mdx
index 1a97cd73..ae55dced 100644
--- a/docs/components/contentpartaudio.mdx
+++ b/docs/components/contentpartaudio.mdx
@@ -6,5 +6,5 @@ title: "ContentPartAudio"
| Field | Type | Required | Description |
| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ |
-| `audio_url` | [components.AudioURL](../components/audiourl.mdx) | :heavy_check_mark: | N/A |
-| `type` | [components.ContentPartAudioType](../components/contentpartaudiotype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `audio_url` | [components.AudioURL](../components/audiourl) | :heavy_check_mark: | N/A |
+| `type` | [components.ContentPartAudioType](../components/contentpartaudiotype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/contentpartdoneevent.mdx b/docs/components/contentpartdoneevent.mdx
index 39c93849..aef1c284 100644
--- a/docs/components/contentpartdoneevent.mdx
+++ b/docs/components/contentpartdoneevent.mdx
@@ -12,6 +12,6 @@ Event emitted when a content part is complete
| `content_index` | *int* | :heavy_check_mark: | N/A |
| `item_id` | *str* | :heavy_check_mark: | N/A |
| `output_index` | *int* | :heavy_check_mark: | N/A |
-| `part` | [components.ContentPartDoneEventPart](../components/contentpartdoneeventpart.mdx) | :heavy_check_mark: | N/A |
+| `part` | [components.ContentPartDoneEventPart](../components/contentpartdoneeventpart) | :heavy_check_mark: | N/A |
| `sequence_number` | *int* | :heavy_check_mark: | N/A |
-| `type` | [components.ContentPartDoneEventType](../components/contentpartdoneeventtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.ContentPartDoneEventType](../components/contentpartdoneeventtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/contentpartimage.mdx b/docs/components/contentpartimage.mdx
index d4adef71..5eb8f7db 100644
--- a/docs/components/contentpartimage.mdx
+++ b/docs/components/contentpartimage.mdx
@@ -6,5 +6,5 @@ title: "ContentPartImage"
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
-| `image_url` | [components.ContentPartImageImageURL](../components/contentpartimageimageurl.mdx) | :heavy_check_mark: | N/A |
-| `type` | [components.ContentPartImageType](../components/contentpartimagetype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `image_url` | [components.ContentPartImageImageURL](../components/contentpartimageimageurl) | :heavy_check_mark: | N/A |
+| `type` | [components.ContentPartImageType](../components/contentpartimagetype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/contentpartinputaudio.mdx b/docs/components/contentpartinputaudio.mdx
index 08619de7..fd911622 100644
--- a/docs/components/contentpartinputaudio.mdx
+++ b/docs/components/contentpartinputaudio.mdx
@@ -6,5 +6,5 @@ title: "ContentPartInputAudio"
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
-| `input_audio` | [components.MultimodalMedia](../components/multimodalmedia.mdx) | :heavy_check_mark: | N/A | \{
"data": "data:audio/wav;base64,UklGRiQAAABXQVZFZm10IBAAAAA...",
"format": "wav"
} |
-| `type` | [components.ContentPartInputAudioType](../components/contentpartinputaudiotype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `input_audio` | [components.MultimodalMedia](../components/multimodalmedia) | :heavy_check_mark: | N/A | \{
"data": "data:audio/wav;base64,UklGRiQAAABXQVZFZm10IBAAAAA...",
"format": "wav"
} |
+| `type` | [components.ContentPartInputAudioType](../components/contentpartinputaudiotype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/contentpartinputfile.mdx b/docs/components/contentpartinputfile.mdx
index de674503..54a3fcdc 100644
--- a/docs/components/contentpartinputfile.mdx
+++ b/docs/components/contentpartinputfile.mdx
@@ -6,5 +6,5 @@ title: "ContentPartInputFile"
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
-| `input_file` | [components.MultimodalMedia](../components/multimodalmedia.mdx) | :heavy_check_mark: | N/A | \{
"data": "data:audio/wav;base64,UklGRiQAAABXQVZFZm10IBAAAAA...",
"format": "wav"
} |
-| `type` | [components.ContentPartInputFileType](../components/contentpartinputfiletype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `input_file` | [components.MultimodalMedia](../components/multimodalmedia) | :heavy_check_mark: | N/A | \{
"data": "data:audio/wav;base64,UklGRiQAAABXQVZFZm10IBAAAAA...",
"format": "wav"
} |
+| `type` | [components.ContentPartInputFileType](../components/contentpartinputfiletype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/contentpartinputvideo.mdx b/docs/components/contentpartinputvideo.mdx
index 0d846f37..aac91430 100644
--- a/docs/components/contentpartinputvideo.mdx
+++ b/docs/components/contentpartinputvideo.mdx
@@ -6,5 +6,5 @@ title: "ContentPartInputVideo"
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
-| `input_video` | [components.MultimodalMedia](../components/multimodalmedia.mdx) | :heavy_check_mark: | N/A | \{
"data": "data:audio/wav;base64,UklGRiQAAABXQVZFZm10IBAAAAA...",
"format": "wav"
} |
-| `type` | [components.ContentPartInputVideoType](../components/contentpartinputvideotype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `input_video` | [components.MultimodalMedia](../components/multimodalmedia) | :heavy_check_mark: | N/A | \{
"data": "data:audio/wav;base64,UklGRiQAAABXQVZFZm10IBAAAAA...",
"format": "wav"
} |
+| `type` | [components.ContentPartInputVideoType](../components/contentpartinputvideotype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/contentpartvideo.mdx b/docs/components/contentpartvideo.mdx
index 058640db..51aa082d 100644
--- a/docs/components/contentpartvideo.mdx
+++ b/docs/components/contentpartvideo.mdx
@@ -6,5 +6,5 @@ title: "ContentPartVideo"
| Field | Type | Required | Description |
| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ |
-| `type` | [components.ContentPartVideoType](../components/contentpartvideotype.mdx) | :heavy_check_mark: | N/A |
-| `video_url` | [components.VideoURL](../components/videourl.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.ContentPartVideoType](../components/contentpartvideotype) | :heavy_check_mark: | N/A |
+| `video_url` | [components.VideoURL](../components/videourl) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/contentredactedthinking.mdx b/docs/components/contentredactedthinking.mdx
index f9c4eeef..846ef012 100644
--- a/docs/components/contentredactedthinking.mdx
+++ b/docs/components/contentredactedthinking.mdx
@@ -7,4 +7,4 @@ title: "ContentRedactedThinking"
| Field | Type | Required | Description |
| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ |
| `data` | *str* | :heavy_check_mark: | N/A |
-| `type` | [components.TypeRedactedThinking](../components/typeredactedthinking.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.TypeRedactedThinking](../components/typeredactedthinking) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/contentservertooluse.mdx b/docs/components/contentservertooluse.mdx
index 7f97379b..036425f0 100644
--- a/docs/components/contentservertooluse.mdx
+++ b/docs/components/contentservertooluse.mdx
@@ -6,8 +6,8 @@ title: "ContentServerToolUse"
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../components/anthropiccachecontroldirective.mdx) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
+| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../components/anthropiccachecontroldirective) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
| `id` | *str* | :heavy_check_mark: | N/A | |
| `input` | *Optional[Any]* | :heavy_minus_sign: | N/A | |
| `name` | *str* | :heavy_check_mark: | N/A | |
-| `type` | [components.TypeServerToolUse](../components/typeservertooluse.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `type` | [components.TypeServerToolUse](../components/typeservertooluse) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/contentthinking.mdx b/docs/components/contentthinking.mdx
index 8c9a9246..2831f1c8 100644
--- a/docs/components/contentthinking.mdx
+++ b/docs/components/contentthinking.mdx
@@ -8,4 +8,4 @@ title: "ContentThinking"
| -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- |
| `signature` | *str* | :heavy_check_mark: | N/A |
| `thinking` | *str* | :heavy_check_mark: | N/A |
-| `type` | [components.TypeThinking](../components/typethinking.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.TypeThinking](../components/typethinking) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/contenttoolreference.mdx b/docs/components/contenttoolreference.mdx
index bc1e0423..f2b52126 100644
--- a/docs/components/contenttoolreference.mdx
+++ b/docs/components/contenttoolreference.mdx
@@ -7,4 +7,4 @@ title: "ContentToolReference"
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
| `tool_name` | *str* | :heavy_check_mark: | N/A |
-| `type` | [components.MessagesMessageParamTypeToolReference](../components/messagesmessageparamtypetoolreference.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.MessagesMessageParamTypeToolReference](../components/messagesmessageparamtypetoolreference) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/contenttoolresult.mdx b/docs/components/contenttoolresult.mdx
index f83588a9..1f3aa5ed 100644
--- a/docs/components/contenttoolresult.mdx
+++ b/docs/components/contenttoolresult.mdx
@@ -6,8 +6,8 @@ title: "ContentToolResult"
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../components/anthropiccachecontroldirective.mdx) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
-| `content` | [Optional[components.MessagesMessageParamContentUnion2]](../components/messagesmessageparamcontentunion2.mdx) | :heavy_minus_sign: | N/A | |
+| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../components/anthropiccachecontroldirective) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
+| `content` | [Optional[components.MessagesMessageParamContentUnion2]](../components/messagesmessageparamcontentunion2) | :heavy_minus_sign: | N/A | |
| `is_error` | *Optional[bool]* | :heavy_minus_sign: | N/A | |
| `tool_use_id` | *str* | :heavy_check_mark: | N/A | |
-| `type` | [components.TypeToolResult](../components/typetoolresult.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `type` | [components.TypeToolResult](../components/typetoolresult) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/contenttooluse.mdx b/docs/components/contenttooluse.mdx
index 0f54e811..4cc3df2c 100644
--- a/docs/components/contenttooluse.mdx
+++ b/docs/components/contenttooluse.mdx
@@ -6,8 +6,8 @@ title: "ContentToolUse"
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../components/anthropiccachecontroldirective.mdx) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
+| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../components/anthropiccachecontroldirective) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
| `id` | *str* | :heavy_check_mark: | N/A | |
| `input` | *Optional[Any]* | :heavy_minus_sign: | N/A | |
| `name` | *str* | :heavy_check_mark: | N/A | |
-| `type` | [components.TypeToolUse](../components/typetooluse.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `type` | [components.TypeToolUse](../components/typetooluse) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/contentwebsearchtoolresult.mdx b/docs/components/contentwebsearchtoolresult.mdx
index 9a9180dc..99a364a4 100644
--- a/docs/components/contentwebsearchtoolresult.mdx
+++ b/docs/components/contentwebsearchtoolresult.mdx
@@ -6,7 +6,7 @@ title: "ContentWebSearchToolResult"
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../components/anthropiccachecontroldirective.mdx) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
-| `content` | [components.MessagesMessageParamContentUnion3](../components/messagesmessageparamcontentunion3.mdx) | :heavy_check_mark: | N/A | |
+| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../components/anthropiccachecontroldirective) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
+| `content` | [components.MessagesMessageParamContentUnion3](../components/messagesmessageparamcontentunion3) | :heavy_check_mark: | N/A | |
| `tool_use_id` | *str* | :heavy_check_mark: | N/A | |
-| `type` | [components.TypeWebSearchToolResult](../components/typewebsearchtoolresult.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `type` | [components.TypeWebSearchToolResult](../components/typewebsearchtoolresult) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/contentwebsearchtoolresulterror.mdx b/docs/components/contentwebsearchtoolresulterror.mdx
index c944724a..ad2d8353 100644
--- a/docs/components/contentwebsearchtoolresulterror.mdx
+++ b/docs/components/contentwebsearchtoolresulterror.mdx
@@ -6,5 +6,5 @@ title: "ContentWebSearchToolResultError"
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
-| `error_code` | [components.ErrorCode](../components/errorcode.mdx) | :heavy_check_mark: | N/A |
-| `type` | [components.TypeWebSearchToolResultError](../components/typewebsearchtoolresulterror.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `error_code` | [components.ErrorCode](../components/errorcode) | :heavy_check_mark: | N/A |
+| `type` | [components.TypeWebSearchToolResultError](../components/typewebsearchtoolresulterror) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/contextcompactionitem.mdx b/docs/components/contextcompactionitem.mdx
index 369dd320..2e2d84c6 100644
--- a/docs/components/contextcompactionitem.mdx
+++ b/docs/components/contextcompactionitem.mdx
@@ -11,5 +11,5 @@ A context compaction marker with an optional encrypted summary
| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
| `encrypted_content` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
| `id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
-| `type` | [components.ContextCompactionItemType](../components/contextcompactionitemtype.mdx) | :heavy_check_mark: | N/A | |
+| `type` | [components.ContextCompactionItemType](../components/contextcompactionitemtype) | :heavy_check_mark: | N/A | |
| `__pydantic_extra__` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | \{
"encrypted_content": "enc_abc123...",
"type": "context_compaction"
} |
\ No newline at end of file
diff --git a/docs/components/contextcompressionplugin.mdx b/docs/components/contextcompressionplugin.mdx
index a502a991..dc3f4ac9 100644
--- a/docs/components/contextcompressionplugin.mdx
+++ b/docs/components/contextcompressionplugin.mdx
@@ -7,5 +7,5 @@ title: "ContextCompressionPlugin"
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ |
| `enabled` | *Optional[bool]* | :heavy_minus_sign: | Set to false to disable the context-compression plugin for this request. Defaults to true. | |
-| `engine` | [Optional[components.ContextCompressionEngine]](../components/contextcompressionengine.mdx) | :heavy_minus_sign: | The compression engine to use. Defaults to "middle-out". | middle-out |
-| `id` | [components.ContextCompressionPluginID](../components/contextcompressionpluginid.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `engine` | [Optional[components.ContextCompressionEngine]](../components/contextcompressionengine) | :heavy_minus_sign: | The compression engine to use. Defaults to "middle-out". | middle-out |
+| `id` | [components.ContextCompressionPluginID](../components/contextcompressionpluginid) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/contextmanagement.mdx b/docs/components/contextmanagement.mdx
index 521afd6c..be1c231a 100644
--- a/docs/components/contextmanagement.mdx
+++ b/docs/components/contextmanagement.mdx
@@ -6,4 +6,4 @@ title: "ContextManagement"
| Field | Type | Required | Description |
| ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- |
-| `edits` | List[[components.Edit](../components/edit.mdx)] | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `edits` | List[[components.Edit](../components/edit)] | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/docs/components/contradiction.mdx b/docs/components/contradiction.mdx
index df0f53d7..9cd9ba90 100644
--- a/docs/components/contradiction.mdx
+++ b/docs/components/contradiction.mdx
@@ -6,5 +6,5 @@ title: "Contradiction"
| Field | Type | Required | Description |
| -------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- |
-| `stances` | List[[components.Stance](../components/stance.mdx)] | :heavy_check_mark: | N/A |
+| `stances` | List[[components.Stance](../components/stance)] | :heavy_check_mark: | N/A |
| `topic` | *str* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/createbyokkeyrequest.mdx b/docs/components/createbyokkeyrequest.mdx
index 3eaa154f..062293b0 100644
--- a/docs/components/createbyokkeyrequest.mdx
+++ b/docs/components/createbyokkeyrequest.mdx
@@ -12,5 +12,5 @@ title: "CreateBYOKKeyRequest"
| `is_fallback` | *Optional[bool]* | :heavy_minus_sign: | Whether this credential is treated as a fallback — used only after non-fallback keys for the same provider have been tried. | false |
| `key` | *str* | :heavy_check_mark: | The raw provider API key or credential. This value is encrypted at rest and never returned in API responses. | sk-proj-abc123... |
| `name` | *OptionalNullable[str]* | :heavy_minus_sign: | Optional human-readable name for the credential. | Production OpenAI Key |
-| `provider` | [components.BYOKProviderSlug](../components/byokproviderslug.mdx) | :heavy_check_mark: | The upstream provider this credential authenticates against, as a lowercase slug (e.g. `openai`, `anthropic`, `amazon-bedrock`). | openai |
+| `provider` | [components.BYOKProviderSlug](../components/byokproviderslug) | :heavy_check_mark: | The upstream provider this credential authenticates against, as a lowercase slug (e.g. `openai`, `anthropic`, `amazon-bedrock`). | openai |
| `workspace_id` | *Optional[str]* | :heavy_minus_sign: | Optional workspace ID. Defaults to the authenticated entity's default workspace. | 550e8400-e29b-41d4-a716-446655440000 |
\ No newline at end of file
diff --git a/docs/components/createbyokkeyresponse.mdx b/docs/components/createbyokkeyresponse.mdx
index 67494d04..30a2df95 100644
--- a/docs/components/createbyokkeyresponse.mdx
+++ b/docs/components/createbyokkeyresponse.mdx
@@ -6,4 +6,4 @@ title: "CreateBYOKKeyResponse"
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `data` | [components.BYOKKey](../components/byokkey.mdx) | :heavy_check_mark: | N/A | \{
"allowed_api_key_hashes": null,
"allowed_models": null,
"allowed_user_ids": null,
"created_at": "2025-08-24T10:30:00Z",
"disabled": false,
"id": "11111111-2222-3333-4444-555555555555",
"is_fallback": false,
"label": "sk-...AbCd",
"name": "Production OpenAI Key",
"provider": "openai",
"sort_order": 0,
"workspace_id": "550e8400-e29b-41d4-a716-446655440000"
} |
\ No newline at end of file
+| `data` | [components.BYOKKey](../components/byokkey) | :heavy_check_mark: | N/A | \{
"allowed_api_key_hashes": null,
"allowed_models": null,
"allowed_user_ids": null,
"created_at": "2025-08-24T10:30:00Z",
"disabled": false,
"id": "11111111-2222-3333-4444-555555555555",
"is_fallback": false,
"label": "sk-...AbCd",
"name": "Production OpenAI Key",
"provider": "openai",
"sort_order": 0,
"workspace_id": "550e8400-e29b-41d4-a716-446655440000"
} |
\ No newline at end of file
diff --git a/docs/components/createguardrailrequest.mdx b/docs/components/createguardrailrequest.mdx
index f78f3b4e..aad8b937 100644
--- a/docs/components/createguardrailrequest.mdx
+++ b/docs/components/createguardrailrequest.mdx
@@ -8,8 +8,8 @@ title: "CreateGuardrailRequest"
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `allowed_models` | List[*str*] | :heavy_minus_sign: | Array of model identifiers (slug or canonical_slug accepted) | [
"openai/gpt-5.2",
"anthropic/claude-4.5-opus-20251124",
"deepseek/deepseek-r1-0528:free"
] |
| `allowed_providers` | List[*str*] | :heavy_minus_sign: | List of allowed provider IDs | [
"openai",
"anthropic",
"deepseek"
] |
-| `content_filter_builtins` | List[[components.ContentFilterBuiltinEntryInput](../components/contentfilterbuiltinentryinput.mdx)] | :heavy_minus_sign: | Builtin content filters to apply. Every builtin slug supports "block", "redact", and the detect-only "flag" action. | [
\{
"action": "block",
"slug": "regex-prompt-injection"
}
] |
-| `content_filters` | List[[components.ContentFilterEntry](../components/contentfilterentry.mdx)] | :heavy_minus_sign: | Custom regex content filters to apply to request messages | [
\{
"action": "redact",
"label": "[API_KEY]",
"pattern": "\\b(sk-[a-zA-Z0-9]\{48})\\b"
}
] |
+| `content_filter_builtins` | List[[components.ContentFilterBuiltinEntryInput](../components/contentfilterbuiltinentryinput)] | :heavy_minus_sign: | Builtin content filters to apply. Every builtin slug supports "block", "redact", and the detect-only "flag" action. | [
\{
"action": "block",
"slug": "regex-prompt-injection"
}
] |
+| `content_filters` | List[[components.ContentFilterEntry](../components/contentfilterentry)] | :heavy_minus_sign: | Custom regex content filters to apply to request messages | [
\{
"action": "redact",
"label": "[API_KEY]",
"pattern": "\\b(sk-[a-zA-Z0-9]\{48})\\b"
}
] |
| `description` | *OptionalNullable[str]* | :heavy_minus_sign: | Description of the guardrail | A guardrail for limiting API usage |
| `enable_free_model_publication` | *OptionalNullable[bool]* | :heavy_minus_sign: | Whether this guardrail allows free endpoints that publish prompts. | false |
| `enable_free_model_training` | *OptionalNullable[bool]* | :heavy_minus_sign: | Whether this guardrail allows free endpoints that train on request data. | true |
@@ -25,5 +25,5 @@ title: "CreateGuardrailRequest"
| `include_byok_in_budgets` | *Optional[bool]* | :heavy_minus_sign: | Whether BYOK (bring-your-own-key) inference spend counts toward this guardrail's limit_usd, in addition to OpenRouter credit spend. Defaults to false. | false |
| `limit_usd` | *OptionalNullable[float]* | :heavy_minus_sign: | Spending limit in USD | 50 |
| `name` | *str* | :heavy_check_mark: | Name for the new guardrail | My New Guardrail |
-| `reset_interval` | [OptionalNullable[components.GuardrailInterval]](../components/guardrailinterval.mdx) | :heavy_minus_sign: | Interval at which the limit resets (daily, weekly, monthly) | monthly |
+| `reset_interval` | [OptionalNullable[components.GuardrailInterval]](../components/guardrailinterval) | :heavy_minus_sign: | Interval at which the limit resets (daily, weekly, monthly) | monthly |
| `workspace_id` | *Optional[str]* | :heavy_minus_sign: | The workspace to create the guardrail in. Defaults to the default workspace if not provided. | 0df9e665-d932-5740-b2c7-b52af166bc11 |
\ No newline at end of file
diff --git a/docs/components/createguardrailresponse.mdx b/docs/components/createguardrailresponse.mdx
index 677f9a9f..f5ad5a20 100644
--- a/docs/components/createguardrailresponse.mdx
+++ b/docs/components/createguardrailresponse.mdx
@@ -6,4 +6,4 @@ title: "CreateGuardrailResponse"
| Field | Type | Required | Description | Example |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `data` | [components.Guardrail](../components/guardrail.mdx) | :heavy_check_mark: | N/A | \{
"allowed_models": null,
"allowed_providers": [
"openai",
"anthropic",
"google"
],
"content_filter_builtins": [
\{
"action": "redact",
"label": "[EMAIL]",
"slug": "email"
}
],
"content_filters": null,
"created_at": "2025-08-24T10:30:00Z",
"description": "Guardrail for production environment",
"enable_free_model_publication": false,
"enable_free_model_training": true,
"enable_paid_model_training": true,
"enforce_zdr": null,
"enforce_zdr_anthropic": true,
"enforce_zdr_google": false,
"enforce_zdr_openai": true,
"enforce_zdr_other": false,
"enforce_zdr_xai": false,
"id": "550e8400-e29b-41d4-a716-446655440000",
"ignored_models": null,
"ignored_providers": null,
"include_byok_in_budgets": false,
"limit_usd": 100,
"name": "Production Guardrail",
"reset_interval": "monthly",
"updated_at": "2025-08-24T15:45:00Z",
"workspace_id": "0df9e665-d932-5740-b2c7-b52af166bc11"
} |
\ No newline at end of file
+| `data` | [components.Guardrail](../components/guardrail) | :heavy_check_mark: | N/A | \{
"allowed_models": null,
"allowed_providers": [
"openai",
"anthropic",
"google"
],
"content_filter_builtins": [
\{
"action": "redact",
"label": "[EMAIL]",
"slug": "email"
}
],
"content_filters": null,
"created_at": "2025-08-24T10:30:00Z",
"description": "Guardrail for production environment",
"enable_free_model_publication": false,
"enable_free_model_training": true,
"enable_paid_model_training": true,
"enforce_zdr": null,
"enforce_zdr_anthropic": true,
"enforce_zdr_google": false,
"enforce_zdr_openai": true,
"enforce_zdr_other": false,
"enforce_zdr_xai": false,
"id": "550e8400-e29b-41d4-a716-446655440000",
"ignored_models": null,
"ignored_providers": null,
"include_byok_in_budgets": false,
"limit_usd": 100,
"name": "Production Guardrail",
"reset_interval": "monthly",
"updated_at": "2025-08-24T15:45:00Z",
"workspace_id": "0df9e665-d932-5740-b2c7-b52af166bc11"
} |
\ No newline at end of file
diff --git a/docs/components/createobservabilitydestinationrequest.mdx b/docs/components/createobservabilitydestinationrequest.mdx
index abe93cf0..497bc922 100644
--- a/docs/components/createobservabilitydestinationrequest.mdx
+++ b/docs/components/createobservabilitydestinationrequest.mdx
@@ -9,9 +9,9 @@ title: "CreateObservabilityDestinationRequest"
| `api_key_hashes` | List[*str*] | :heavy_minus_sign: | Optional allowlist of OpenRouter API key hashes whose traffic is forwarded. `null` or omitted means all keys. Must contain at least one hash if provided. | null |
| `config` | Dict[str, *Any*] | :heavy_check_mark: | Provider-specific configuration. The shape depends on `type` and is validated server-side. | \{
"baseUrl": "https://us.cloud.langfuse.com",
"publicKey": "pk-l...EfGh",
"secretKey": "sk-l...AbCd"
} |
| `enabled` | *Optional[bool]* | :heavy_minus_sign: | Whether this destination should be enabled immediately. | true |
-| `filter_rules` | [OptionalNullable[components.ObservabilityFilterRulesConfigNullable]](../components/observabilityfilterrulesconfignullable.mdx) | :heavy_minus_sign: | Optional structured filter rules controlling which events are forwarded. | null |
+| `filter_rules` | [OptionalNullable[components.ObservabilityFilterRulesConfigNullable]](../components/observabilityfilterrulesconfignullable) | :heavy_minus_sign: | Optional structured filter rules controlling which events are forwarded. | null |
| `name` | *str* | :heavy_check_mark: | Human-readable name for the destination. | Production Langfuse |
| `privacy_mode` | *Optional[bool]* | :heavy_minus_sign: | When true, request/response bodies are not forwarded — only metadata. | false |
| `sampling_rate` | *Optional[float]* | :heavy_minus_sign: | Sampling rate between 0.0001 and 1 (1 = 100%). | 1 |
-| `type` | [components.CreateObservabilityDestinationRequestType](../components/createobservabilitydestinationrequesttype.mdx) | :heavy_check_mark: | The destination type. Only stable destination types are accepted. | langfuse |
+| `type` | [components.CreateObservabilityDestinationRequestType](../components/createobservabilitydestinationrequesttype) | :heavy_check_mark: | The destination type. Only stable destination types are accepted. | langfuse |
| `workspace_id` | *Optional[str]* | :heavy_minus_sign: | Optional workspace ID. Defaults to the authenticated entity's default workspace. | 550e8400-e29b-41d4-a716-446655440000 |
\ No newline at end of file
diff --git a/docs/components/createobservabilitydestinationresponse.mdx b/docs/components/createobservabilitydestinationresponse.mdx
index a6654f09..5b88eaca 100644
--- a/docs/components/createobservabilitydestinationresponse.mdx
+++ b/docs/components/createobservabilitydestinationresponse.mdx
@@ -6,4 +6,4 @@ title: "CreateObservabilityDestinationResponse"
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `data` | [components.ObservabilityDestination](../components/observabilitydestination.mdx) | :heavy_check_mark: | N/A | \{
"api_key_hashes": null,
"config": \{
"baseUrl": "https://us.cloud.langfuse.com",
"publicKey": "pk-l...EfGh",
"secretKey": "sk-l...AbCd"
},
"created_at": "2025-08-24T10:30:00Z",
"enabled": true,
"filter_rules": null,
"id": "99999999-aaaa-bbbb-cccc-dddddddddddd",
"name": "Production Langfuse",
"privacy_mode": false,
"sampling_rate": 1,
"type": "langfuse",
"updated_at": "2025-08-24T15:45:00Z",
"workspace_id": "550e8400-e29b-41d4-a716-446655440000"
} |
\ No newline at end of file
+| `data` | [components.ObservabilityDestination](../components/observabilitydestination) | :heavy_check_mark: | N/A | \{
"api_key_hashes": null,
"config": \{
"baseUrl": "https://us.cloud.langfuse.com",
"publicKey": "pk-l...EfGh",
"secretKey": "sk-l...AbCd"
},
"created_at": "2025-08-24T10:30:00Z",
"enabled": true,
"filter_rules": null,
"id": "99999999-aaaa-bbbb-cccc-dddddddddddd",
"name": "Production Langfuse",
"privacy_mode": false,
"sampling_rate": 1,
"type": "langfuse",
"updated_at": "2025-08-24T15:45:00Z",
"workspace_id": "550e8400-e29b-41d4-a716-446655440000"
} |
\ No newline at end of file
diff --git a/docs/components/createpresetfrominferenceresponse.mdx b/docs/components/createpresetfrominferenceresponse.mdx
index c31f263d..d14166a1 100644
--- a/docs/components/createpresetfrominferenceresponse.mdx
+++ b/docs/components/createpresetfrominferenceresponse.mdx
@@ -9,4 +9,4 @@ Response containing the created preset with its designated version.
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `data` | [components.PresetWithDesignatedVersion](../components/presetwithdesignatedversion.mdx) | :heavy_check_mark: | A preset with its currently designated version. | \{
"created_at": "2026-04-20T10:00:00Z",
"creator_user_id": "user_2dHFtVWx2n56w6HkM0000000000",
"description": null,
"designated_version": \{
"config": \{
"model": "openai/gpt-4o",
"temperature": 0.7
},
"created_at": "2026-04-20T10:00:00Z",
"creator_id": "user_2dHFtVWx2n56w6HkM0000000000",
"id": "550e8400-e29b-41d4-a716-446655440000",
"preset_id": "650e8400-e29b-41d4-a716-446655440001",
"system_prompt": "You are a helpful assistant.",
"updated_at": "2026-04-20T10:00:00Z",
"version": 1
},
"designated_version_id": "550e8400-e29b-41d4-a716-446655440000",
"id": "650e8400-e29b-41d4-a716-446655440001",
"name": "my-preset",
"slug": "my-preset",
"status": "active",
"status_updated_at": null,
"updated_at": "2026-04-20T10:00:00Z",
"workspace_id": "750e8400-e29b-41d4-a716-446655440002"
} |
\ No newline at end of file
+| `data` | [components.PresetWithDesignatedVersion](../components/presetwithdesignatedversion) | :heavy_check_mark: | A preset with its currently designated version. | \{
"created_at": "2026-04-20T10:00:00Z",
"creator_user_id": "user_2dHFtVWx2n56w6HkM0000000000",
"description": null,
"designated_version": \{
"config": \{
"model": "openai/gpt-4o",
"temperature": 0.7
},
"created_at": "2026-04-20T10:00:00Z",
"creator_id": "user_2dHFtVWx2n56w6HkM0000000000",
"id": "550e8400-e29b-41d4-a716-446655440000",
"preset_id": "650e8400-e29b-41d4-a716-446655440001",
"system_prompt": "You are a helpful assistant.",
"updated_at": "2026-04-20T10:00:00Z",
"version": 1
},
"designated_version_id": "550e8400-e29b-41d4-a716-446655440000",
"id": "650e8400-e29b-41d4-a716-446655440001",
"name": "my-preset",
"slug": "my-preset",
"status": "active",
"status_updated_at": null,
"updated_at": "2026-04-20T10:00:00Z",
"workspace_id": "750e8400-e29b-41d4-a716-446655440002"
} |
\ No newline at end of file
diff --git a/docs/components/createworkspaceresponse.mdx b/docs/components/createworkspaceresponse.mdx
index 8bfb111d..20c1fc7a 100644
--- a/docs/components/createworkspaceresponse.mdx
+++ b/docs/components/createworkspaceresponse.mdx
@@ -6,4 +6,4 @@ title: "CreateWorkspaceResponse"
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `data` | [components.Workspace](../components/workspace.mdx) | :heavy_check_mark: | N/A | \{
"created_at": "2025-08-24T10:30:00Z",
"created_by": "user_abc123",
"default_guardrail_id": "595d5849-7e86-51fd-a7c0-705c34e4afff",
"default_image_model": "openai/dall-e-3",
"default_provider_sort": "price",
"default_text_model": "openai/gpt-4o",
"description": "Production environment workspace",
"id": "550e8400-e29b-41d4-a716-446655440000",
"io_logging_api_key_ids": null,
"io_logging_sampling_rate": 1,
"is_data_discount_logging_enabled": true,
"is_observability_broadcast_enabled": false,
"is_observability_io_logging_enabled": false,
"name": "Production",
"slug": "production",
"updated_at": "2025-08-24T15:45:00Z"
} |
\ No newline at end of file
+| `data` | [components.Workspace](../components/workspace) | :heavy_check_mark: | N/A | \{
"created_at": "2025-08-24T10:30:00Z",
"created_by": "user_abc123",
"default_guardrail_id": "595d5849-7e86-51fd-a7c0-705c34e4afff",
"default_image_model": "openai/dall-e-3",
"default_provider_sort": "price",
"default_text_model": "openai/gpt-4o",
"description": "Production environment workspace",
"id": "550e8400-e29b-41d4-a716-446655440000",
"io_logging_api_key_ids": null,
"io_logging_sampling_rate": 1,
"is_data_discount_logging_enabled": true,
"is_observability_broadcast_enabled": false,
"is_observability_io_logging_enabled": false,
"name": "Production",
"slug": "production",
"updated_at": "2025-08-24T15:45:00Z"
} |
\ No newline at end of file
diff --git a/docs/components/customtool.mdx b/docs/components/customtool.mdx
index 4da53585..0470d2c8 100644
--- a/docs/components/customtool.mdx
+++ b/docs/components/customtool.mdx
@@ -10,6 +10,6 @@ Custom tool configuration
| Field | Type | Required | Description |
| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ |
| `description` | *Optional[str]* | :heavy_minus_sign: | N/A |
-| `format_` | [Optional[components.Format]](../components/format_.mdx) | :heavy_minus_sign: | N/A |
+| `format_` | [Optional[components.Format]](../components/format_) | :heavy_minus_sign: | N/A |
| `name` | *str* | :heavy_check_mark: | N/A |
-| `type` | [components.CustomToolTypeCustom](../components/customtooltypecustom.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.CustomToolTypeCustom](../components/customtooltypecustom) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/customtoolcallinputdeltaevent.mdx b/docs/components/customtoolcallinputdeltaevent.mdx
index 4ff3cab6..20912fc2 100644
--- a/docs/components/customtoolcallinputdeltaevent.mdx
+++ b/docs/components/customtoolcallinputdeltaevent.mdx
@@ -13,4 +13,4 @@ Event emitted when a custom tool call's freeform input is being streamed. Mirror
| `item_id` | *str* | :heavy_check_mark: | N/A |
| `output_index` | *int* | :heavy_check_mark: | N/A |
| `sequence_number` | *int* | :heavy_check_mark: | N/A |
-| `type` | [components.CustomToolCallInputDeltaEventType](../components/customtoolcallinputdeltaeventtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.CustomToolCallInputDeltaEventType](../components/customtoolcallinputdeltaeventtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/customtoolcallinputdoneevent.mdx b/docs/components/customtoolcallinputdoneevent.mdx
index 9fa94a13..22fb606d 100644
--- a/docs/components/customtoolcallinputdoneevent.mdx
+++ b/docs/components/customtoolcallinputdoneevent.mdx
@@ -13,4 +13,4 @@ Event emitted when a custom tool call's freeform input streaming is complete. Mi
| `item_id` | *str* | :heavy_check_mark: | N/A |
| `output_index` | *int* | :heavy_check_mark: | N/A |
| `sequence_number` | *int* | :heavy_check_mark: | N/A |
-| `type` | [components.CustomToolCallInputDoneEventType](../components/customtoolcallinputdoneeventtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.CustomToolCallInputDoneEventType](../components/customtoolcallinputdoneeventtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/customtoolcallitem.mdx b/docs/components/customtoolcallitem.mdx
index fc18f989..1f5d1d60 100644
--- a/docs/components/customtoolcallitem.mdx
+++ b/docs/components/customtoolcallitem.mdx
@@ -14,4 +14,4 @@ A call to a custom (freeform-grammar) tool created by the model — distinct fro
| `input` | *str* | :heavy_check_mark: | N/A |
| `name` | *str* | :heavy_check_mark: | N/A |
| `namespace` | *Optional[str]* | :heavy_minus_sign: | Namespace qualifier for tools registered as part of a namespace tool group (e.g. an MCP server) |
-| `type` | [components.CustomToolCallItemType](../components/customtoolcallitemtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.CustomToolCallItemType](../components/customtoolcallitemtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/customtoolcalloutputitem.mdx b/docs/components/customtoolcalloutputitem.mdx
index 2e8dd650..d276d014 100644
--- a/docs/components/customtoolcalloutputitem.mdx
+++ b/docs/components/customtoolcalloutputitem.mdx
@@ -11,5 +11,5 @@ The output from a custom (freeform-grammar) tool call execution. Mirrors `functi
| -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
| `call_id` | *str* | :heavy_check_mark: | N/A |
| `id` | *Optional[str]* | :heavy_minus_sign: | N/A |
-| `output` | [components.CustomToolCallOutputItemOutputUnion2](../components/customtoolcalloutputitemoutputunion2.mdx) | :heavy_check_mark: | N/A |
-| `type` | [components.CustomToolCallOutputItemTypeCustomToolCallOutput](../components/customtoolcalloutputitemtypecustomtoolcalloutput.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `output` | [components.CustomToolCallOutputItemOutputUnion2](../components/customtoolcalloutputitemoutputunion2) | :heavy_check_mark: | N/A |
+| `type` | [components.CustomToolCallOutputItemTypeCustomToolCallOutput](../components/customtoolcalloutputitemtypecustomtoolcalloutput) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/customtoolcalloutputitemoutputinputimage.mdx b/docs/components/customtoolcalloutputitemoutputinputimage.mdx
index 830ac246..f513cd63 100644
--- a/docs/components/customtoolcalloutputitemoutputinputimage.mdx
+++ b/docs/components/customtoolcalloutputitemoutputinputimage.mdx
@@ -9,6 +9,6 @@ Image input content item
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ |
-| `detail` | [components.CustomToolCallOutputItemDetail](../components/customtoolcalloutputitemdetail.mdx) | :heavy_check_mark: | N/A |
+| `detail` | [components.CustomToolCallOutputItemDetail](../components/customtoolcalloutputitemdetail) | :heavy_check_mark: | N/A |
| `image_url` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A |
-| `type` | [components.CustomToolCallOutputItemTypeInputImage](../components/customtoolcalloutputitemtypeinputimage.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.CustomToolCallOutputItemTypeInputImage](../components/customtoolcalloutputitemtypeinputimage) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/datetimeservertool.mdx b/docs/components/datetimeservertool.mdx
index af483bec..74a82198 100644
--- a/docs/components/datetimeservertool.mdx
+++ b/docs/components/datetimeservertool.mdx
@@ -9,5 +9,5 @@ OpenRouter built-in server tool: returns the current date and time
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ |
-| `parameters` | [Optional[components.DatetimeServerToolConfig]](../components/datetimeservertoolconfig.mdx) | :heavy_minus_sign: | Configuration for the openrouter:datetime server tool | \{
"timezone": "America/New_York"
} |
-| `type` | [components.DatetimeServerToolType](../components/datetimeservertooltype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `parameters` | [Optional[components.DatetimeServerToolConfig]](../components/datetimeservertoolconfig) | :heavy_minus_sign: | Configuration for the openrouter:datetime server tool | \{
"timezone": "America/New_York"
} |
+| `type` | [components.DatetimeServerToolType](../components/datetimeservertooltype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/debug.mdx b/docs/components/debug.mdx
index 15d4e237..bdf640de 100644
--- a/docs/components/debug.mdx
+++ b/docs/components/debug.mdx
@@ -7,4 +7,4 @@ title: "Debug"
| Field | Type | Required | Description |
| -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- |
| `echo_upstream_body` | Dict[str, *Any*] | :heavy_minus_sign: | N/A |
-| `timings` | [Optional[components.Timings]](../components/timings.mdx) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `timings` | [Optional[components.Timings]](../components/timings) | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/docs/components/debugevent.mdx b/docs/components/debugevent.mdx
index 1a76e56a..889aa72b 100644
--- a/docs/components/debugevent.mdx
+++ b/docs/components/debugevent.mdx
@@ -9,6 +9,6 @@ Debug event emitted when debug.echo_upstream_body is true. Contains the transfor
| Field | Type | Required | Description |
| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ |
-| `debug` | [components.Debug](../components/debug.mdx) | :heavy_check_mark: | N/A |
+| `debug` | [components.Debug](../components/debug) | :heavy_check_mark: | N/A |
| `sequence_number` | *int* | :heavy_check_mark: | N/A |
-| `type` | [components.DebugEventType](../components/debugeventtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.DebugEventType](../components/debugeventtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/easyinputmessage.mdx b/docs/components/easyinputmessage.mdx
index 60e935b6..714a630e 100644
--- a/docs/components/easyinputmessage.mdx
+++ b/docs/components/easyinputmessage.mdx
@@ -6,7 +6,7 @@ title: "EasyInputMessage"
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `content` | [OptionalNullable[components.EasyInputMessageContentUnion2]](../components/easyinputmessagecontentunion2.mdx) | :heavy_minus_sign: | N/A | |
-| `phase` | [OptionalNullable[components.EasyInputMessagePhaseUnion]](../components/easyinputmessagephaseunion.mdx) | :heavy_minus_sign: | The phase of an assistant message. Use `commentary` for an intermediate assistant message and `final_answer` for the final assistant message. For follow-up requests with models like `gpt-5.3-codex` and later, preserve and resend phase on all assistant messages. Omitting it can degrade performance. Not used for user messages. | final_answer |
-| `role` | [components.EasyInputMessageRoleUnion](../components/easyinputmessageroleunion.mdx) | :heavy_check_mark: | N/A | |
-| `type` | [Optional[components.EasyInputMessageTypeMessage]](../components/easyinputmessagetypemessage.mdx) | :heavy_minus_sign: | N/A | |
\ No newline at end of file
+| `content` | [OptionalNullable[components.EasyInputMessageContentUnion2]](../components/easyinputmessagecontentunion2) | :heavy_minus_sign: | N/A | |
+| `phase` | [OptionalNullable[components.EasyInputMessagePhaseUnion]](../components/easyinputmessagephaseunion) | :heavy_minus_sign: | The phase of an assistant message. Use `commentary` for an intermediate assistant message and `final_answer` for the final assistant message. For follow-up requests with models like `gpt-5.3-codex` and later, preserve and resend phase on all assistant messages. Omitting it can degrade performance. Not used for user messages. | final_answer |
+| `role` | [components.EasyInputMessageRoleUnion](../components/easyinputmessageroleunion) | :heavy_check_mark: | N/A | |
+| `type` | [Optional[components.EasyInputMessageTypeMessage]](../components/easyinputmessagetypemessage) | :heavy_minus_sign: | N/A | |
\ No newline at end of file
diff --git a/docs/components/easyinputmessagecontentinputimage.mdx b/docs/components/easyinputmessagecontentinputimage.mdx
index 502f1182..0d5b069a 100644
--- a/docs/components/easyinputmessagecontentinputimage.mdx
+++ b/docs/components/easyinputmessagecontentinputimage.mdx
@@ -9,6 +9,6 @@ Image input content item
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
-| `detail` | [components.EasyInputMessageDetail](../components/easyinputmessagedetail.mdx) | :heavy_check_mark: | N/A |
+| `detail` | [components.EasyInputMessageDetail](../components/easyinputmessagedetail) | :heavy_check_mark: | N/A |
| `image_url` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A |
-| `type` | [components.EasyInputMessageTypeInputImage](../components/easyinputmessagetypeinputimage.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.EasyInputMessageTypeInputImage](../components/easyinputmessagetypeinputimage) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/editclearthinking20251015.mdx b/docs/components/editclearthinking20251015.mdx
index 0796f7cd..edc6de1d 100644
--- a/docs/components/editclearthinking20251015.mdx
+++ b/docs/components/editclearthinking20251015.mdx
@@ -6,5 +6,5 @@ title: "EditClearThinking20251015"
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
-| `keep` | [Optional[components.Keep]](../components/keep.mdx) | :heavy_minus_sign: | N/A |
-| `type` | [components.TypeClearThinking20251015](../components/typeclearthinking20251015.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `keep` | [Optional[components.Keep]](../components/keep) | :heavy_minus_sign: | N/A |
+| `type` | [components.TypeClearThinking20251015](../components/typeclearthinking20251015) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/editcleartooluses20250919.mdx b/docs/components/editcleartooluses20250919.mdx
index a8a31837..5cd499de 100644
--- a/docs/components/editcleartooluses20250919.mdx
+++ b/docs/components/editcleartooluses20250919.mdx
@@ -6,9 +6,9 @@ title: "EditClearToolUses20250919"
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ |
-| `clear_at_least` | [OptionalNullable[components.AnthropicInputTokensClearAtLeast]](../components/anthropicinputtokensclearatleast.mdx) | :heavy_minus_sign: | N/A | \{
"type": "input_tokens",
"value": 50000
} |
-| `clear_tool_inputs` | [OptionalNullable[components.ClearToolInputs]](../components/cleartoolinputs.mdx) | :heavy_minus_sign: | N/A | |
+| `clear_at_least` | [OptionalNullable[components.AnthropicInputTokensClearAtLeast]](../components/anthropicinputtokensclearatleast) | :heavy_minus_sign: | N/A | \{
"type": "input_tokens",
"value": 50000
} |
+| `clear_tool_inputs` | [OptionalNullable[components.ClearToolInputs]](../components/cleartoolinputs) | :heavy_minus_sign: | N/A | |
| `exclude_tools` | List[*str*] | :heavy_minus_sign: | N/A | |
-| `keep` | [Optional[components.AnthropicToolUsesKeep]](../components/anthropictooluseskeep.mdx) | :heavy_minus_sign: | N/A | \{
"type": "tool_uses",
"value": 5
} |
-| `trigger` | [Optional[components.Trigger]](../components/trigger.mdx) | :heavy_minus_sign: | N/A | |
-| `type` | [components.TypeClearToolUses20250919](../components/typecleartooluses20250919.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `keep` | [Optional[components.AnthropicToolUsesKeep]](../components/anthropictooluseskeep) | :heavy_minus_sign: | N/A | \{
"type": "tool_uses",
"value": 5
} |
+| `trigger` | [Optional[components.Trigger]](../components/trigger) | :heavy_minus_sign: | N/A | |
+| `type` | [components.TypeClearToolUses20250919](../components/typecleartooluses20250919) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/editcompact20260112.mdx b/docs/components/editcompact20260112.mdx
index 09c8fd6f..bbac015c 100644
--- a/docs/components/editcompact20260112.mdx
+++ b/docs/components/editcompact20260112.mdx
@@ -8,5 +8,5 @@ title: "EditCompact20260112"
| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
| `instructions` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
| `pause_after_compaction` | *Optional[bool]* | :heavy_minus_sign: | N/A | |
-| `trigger` | [OptionalNullable[components.TriggerInputTokens]](../components/triggerinputtokens.mdx) | :heavy_minus_sign: | N/A | \{
"type": "input_tokens",
"value": 100000
} |
-| `type` | [components.TypeCompact20260112](../components/typecompact20260112.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `trigger` | [OptionalNullable[components.TriggerInputTokens]](../components/triggerinputtokens) | :heavy_minus_sign: | N/A | \{
"type": "input_tokens",
"value": 100000
} |
+| `type` | [components.TypeCompact20260112](../components/typecompact20260112) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/endpointsmetadata.mdx b/docs/components/endpointsmetadata.mdx
index 4add6ebf..dcd5084b 100644
--- a/docs/components/endpointsmetadata.mdx
+++ b/docs/components/endpointsmetadata.mdx
@@ -6,5 +6,5 @@ title: "EndpointsMetadata"
| Field | Type | Required | Description |
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
-| `available` | List[[components.EndpointInfo](../components/endpointinfo.mdx)] | :heavy_check_mark: | N/A |
+| `available` | List[[components.EndpointInfo](../components/endpointinfo)] | :heavy_check_mark: | N/A |
| `total` | *int* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/enumcapability.mdx b/docs/components/enumcapability.mdx
index 4c04e707..aa90c4fa 100644
--- a/docs/components/enumcapability.mdx
+++ b/docs/components/enumcapability.mdx
@@ -9,5 +9,5 @@ A parameter that accepts one of a discrete set of string values.
| Field | Type | Required | Description |
| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- |
-| `type` | [components.EnumCapabilityType](../components/enumcapabilitytype.mdx) | :heavy_check_mark: | N/A |
+| `type` | [components.EnumCapabilityType](../components/enumcapabilitytype) | :heavy_check_mark: | N/A |
| `values` | List[*str*] | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/errorevent.mdx b/docs/components/errorevent.mdx
index b09b8411..ce0e5934 100644
--- a/docs/components/errorevent.mdx
+++ b/docs/components/errorevent.mdx
@@ -13,4 +13,4 @@ Event emitted when an error occurs during streaming
| `message` | *str* | :heavy_check_mark: | N/A |
| `param` | *Nullable[str]* | :heavy_check_mark: | N/A |
| `sequence_number` | *int* | :heavy_check_mark: | N/A |
-| `type` | [components.ErrorEventType](../components/erroreventtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.ErrorEventType](../components/erroreventtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/filecitation.mdx b/docs/components/filecitation.mdx
index 79ca7438..7641d9bd 100644
--- a/docs/components/filecitation.mdx
+++ b/docs/components/filecitation.mdx
@@ -9,4 +9,4 @@ title: "FileCitation"
| `file_id` | *str* | :heavy_check_mark: | N/A |
| `filename` | *str* | :heavy_check_mark: | N/A |
| `index` | *int* | :heavy_check_mark: | N/A |
-| `type` | [components.FileCitationType](../components/filecitationtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.FileCitationType](../components/filecitationtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/fileparserplugin.mdx b/docs/components/fileparserplugin.mdx
index 2a74948b..d9af1c99 100644
--- a/docs/components/fileparserplugin.mdx
+++ b/docs/components/fileparserplugin.mdx
@@ -7,5 +7,5 @@ title: "FileParserPlugin"
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
| `enabled` | *Optional[bool]* | :heavy_minus_sign: | Set to false to disable the file-parser plugin for this request. Defaults to true. | |
-| `id` | [components.FileParserPluginID](../components/fileparserpluginid.mdx) | :heavy_check_mark: | N/A | |
-| `pdf` | [Optional[components.PDFParserOptions]](../components/pdfparseroptions.mdx) | :heavy_minus_sign: | Options for PDF parsing. | \{
"engine": "cloudflare-ai"
} |
\ No newline at end of file
+| `id` | [components.FileParserPluginID](../components/fileparserpluginid) | :heavy_check_mark: | N/A | |
+| `pdf` | [Optional[components.PDFParserOptions]](../components/pdfparseroptions) | :heavy_minus_sign: | Options for PDF parsing. | \{
"engine": "cloudflare-ai"
} |
\ No newline at end of file
diff --git a/docs/components/filepath.mdx b/docs/components/filepath.mdx
index f6d81e7b..cc66d299 100644
--- a/docs/components/filepath.mdx
+++ b/docs/components/filepath.mdx
@@ -8,4 +8,4 @@ title: "FilePath"
| -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- |
| `file_id` | *str* | :heavy_check_mark: | N/A |
| `index` | *int* | :heavy_check_mark: | N/A |
-| `type` | [components.FilePathType](../components/filepathtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.FilePathType](../components/filepathtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/filesearchservertool.mdx b/docs/components/filesearchservertool.mdx
index 573425f3..de2dc51a 100644
--- a/docs/components/filesearchservertool.mdx
+++ b/docs/components/filesearchservertool.mdx
@@ -9,8 +9,8 @@ File search tool configuration
| Field | Type | Required | Description |
| -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- |
-| `filters` | [OptionalNullable[components.FiltersUnion]](../components/filtersunion.mdx) | :heavy_minus_sign: | N/A |
+| `filters` | [OptionalNullable[components.FiltersUnion]](../components/filtersunion) | :heavy_minus_sign: | N/A |
| `max_num_results` | *Optional[int]* | :heavy_minus_sign: | N/A |
-| `ranking_options` | [Optional[components.RankingOptions]](../components/rankingoptions.mdx) | :heavy_minus_sign: | N/A |
-| `type` | [components.TypeFileSearch](../components/typefilesearch.mdx) | :heavy_check_mark: | N/A |
+| `ranking_options` | [Optional[components.RankingOptions]](../components/rankingoptions) | :heavy_minus_sign: | N/A |
+| `type` | [components.TypeFileSearch](../components/typefilesearch) | :heavy_check_mark: | N/A |
| `vector_store_ids` | List[*str*] | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/filesservertool.mdx b/docs/components/filesservertool.mdx
index 7720ba43..b9d256cc 100644
--- a/docs/components/filesservertool.mdx
+++ b/docs/components/filesservertool.mdx
@@ -9,5 +9,5 @@ OpenRouter built-in server tool: read, write, edit, and list workspace files via
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ |
-| `parameters` | [Optional[components.FilesServerToolConfig]](../components/filesservertoolconfig.mdx) | :heavy_minus_sign: | Configuration for the openrouter:files server tool | \{} |
-| `type` | [components.FilesServerToolType](../components/filesservertooltype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `parameters` | [Optional[components.FilesServerToolConfig]](../components/filesservertoolconfig) | :heavy_minus_sign: | Configuration for the openrouter:files server tool | \{} |
+| `type` | [components.FilesServerToolType](../components/filesservertooltype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/filters.mdx b/docs/components/filters.mdx
index deb05277..ea9a589c 100644
--- a/docs/components/filters.mdx
+++ b/docs/components/filters.mdx
@@ -7,5 +7,5 @@ title: "Filters"
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ |
| `key` | *str* | :heavy_check_mark: | N/A |
-| `type` | [components.FiltersType](../components/filterstype.mdx) | :heavy_check_mark: | N/A |
-| `value` | [components.FileSearchServerToolValue2](../components/filesearchservertoolvalue2.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.FiltersType](../components/filterstype) | :heavy_check_mark: | N/A |
+| `value` | [components.FileSearchServerToolValue2](../components/filesearchservertoolvalue2) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/formatgrammar.mdx b/docs/components/formatgrammar.mdx
index 27fb6f5f..a3e24a7c 100644
--- a/docs/components/formatgrammar.mdx
+++ b/docs/components/formatgrammar.mdx
@@ -7,5 +7,5 @@ title: "FormatGrammar"
| Field | Type | Required | Description |
| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| `definition` | *str* | :heavy_check_mark: | N/A |
-| `syntax` | [components.Syntax](../components/syntax.mdx) | :heavy_check_mark: | N/A |
-| `type` | [components.FormatTypeGrammar](../components/formattypegrammar.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `syntax` | [components.Syntax](../components/syntax) | :heavy_check_mark: | N/A |
+| `type` | [components.FormatTypeGrammar](../components/formattypegrammar) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/formatjsonobjectconfig.mdx b/docs/components/formatjsonobjectconfig.mdx
index 376faaf4..8598828d 100644
--- a/docs/components/formatjsonobjectconfig.mdx
+++ b/docs/components/formatjsonobjectconfig.mdx
@@ -9,4 +9,4 @@ JSON object response format
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ |
-| `type` | [components.FormatJSONObjectConfigType](../components/formatjsonobjectconfigtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.FormatJSONObjectConfigType](../components/formatjsonobjectconfigtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/formatjsonschemaconfig.mdx b/docs/components/formatjsonschemaconfig.mdx
index 0ddb8ed4..2b76027c 100644
--- a/docs/components/formatjsonschemaconfig.mdx
+++ b/docs/components/formatjsonschemaconfig.mdx
@@ -13,4 +13,4 @@ JSON schema constrained response format
| `name` | *str* | :heavy_check_mark: | N/A |
| `schema_` | Dict[str, *Any*] | :heavy_check_mark: | N/A |
| `strict` | *OptionalNullable[bool]* | :heavy_minus_sign: | N/A |
-| `type` | [components.FormatJSONSchemaConfigType](../components/formatjsonschemaconfigtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.FormatJSONSchemaConfigType](../components/formatjsonschemaconfigtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/formattext.mdx b/docs/components/formattext.mdx
index 61d6f3b9..0ce5ba4a 100644
--- a/docs/components/formattext.mdx
+++ b/docs/components/formattext.mdx
@@ -6,4 +6,4 @@ title: "FormatText"
| Field | Type | Required | Description |
| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ |
-| `type` | [components.FormatTypeText](../components/formattypetext.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.FormatTypeText](../components/formattypetext) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/formattextconfig.mdx b/docs/components/formattextconfig.mdx
index 79867132..a0e218b0 100644
--- a/docs/components/formattextconfig.mdx
+++ b/docs/components/formattextconfig.mdx
@@ -9,4 +9,4 @@ Plain text response format
| Field | Type | Required | Description |
| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ |
-| `type` | [components.FormatTextConfigType](../components/formattextconfigtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.FormatTextConfigType](../components/formattextconfigtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/frameimage.mdx b/docs/components/frameimage.mdx
index 46b4b985..4da9f3e5 100644
--- a/docs/components/frameimage.mdx
+++ b/docs/components/frameimage.mdx
@@ -6,6 +6,6 @@ title: "FrameImage"
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- |
-| `image_url` | [components.FrameImageImageURL](../components/frameimageimageurl.mdx) | :heavy_check_mark: | N/A | |
-| `type` | [components.FrameImageType](../components/frameimagetype.mdx) | :heavy_check_mark: | N/A | |
-| `frame_type` | [components.FrameType](../components/frametype.mdx) | :heavy_check_mark: | Whether this image represents the first or last frame of the video | first_frame |
\ No newline at end of file
+| `image_url` | [components.FrameImageImageURL](../components/frameimageimageurl) | :heavy_check_mark: | N/A | |
+| `type` | [components.FrameImageType](../components/frameimagetype) | :heavy_check_mark: | N/A | |
+| `frame_type` | [components.FrameType](../components/frametype) | :heavy_check_mark: | Whether this image represents the first or last frame of the video | first_frame |
\ No newline at end of file
diff --git a/docs/components/functioncallargsdeltaevent.mdx b/docs/components/functioncallargsdeltaevent.mdx
index e28936ef..d4c03448 100644
--- a/docs/components/functioncallargsdeltaevent.mdx
+++ b/docs/components/functioncallargsdeltaevent.mdx
@@ -13,4 +13,4 @@ Event emitted when function call arguments are being streamed
| `item_id` | *str* | :heavy_check_mark: | N/A |
| `output_index` | *int* | :heavy_check_mark: | N/A |
| `sequence_number` | *int* | :heavy_check_mark: | N/A |
-| `type` | [components.FunctionCallArgsDeltaEventType](../components/functioncallargsdeltaeventtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.FunctionCallArgsDeltaEventType](../components/functioncallargsdeltaeventtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/functioncallargsdoneevent.mdx b/docs/components/functioncallargsdoneevent.mdx
index acc25e39..e834a90b 100644
--- a/docs/components/functioncallargsdoneevent.mdx
+++ b/docs/components/functioncallargsdoneevent.mdx
@@ -14,4 +14,4 @@ Event emitted when function call arguments streaming is complete
| `name` | *str* | :heavy_check_mark: | N/A |
| `output_index` | *int* | :heavy_check_mark: | N/A |
| `sequence_number` | *int* | :heavy_check_mark: | N/A |
-| `type` | [components.FunctionCallArgsDoneEventType](../components/functioncallargsdoneeventtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.FunctionCallArgsDoneEventType](../components/functioncallargsdoneeventtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/functioncallitem.mdx b/docs/components/functioncallitem.mdx
index f1082d73..19daa520 100644
--- a/docs/components/functioncallitem.mdx
+++ b/docs/components/functioncallitem.mdx
@@ -14,5 +14,5 @@ A function call initiated by the model
| `id` | *str* | :heavy_check_mark: | N/A | |
| `name` | *str* | :heavy_check_mark: | N/A | |
| `namespace` | *Optional[str]* | :heavy_minus_sign: | Namespace qualifier for tools registered as part of a namespace tool group (e.g. an MCP server) | |
-| `status` | [Optional[components.ToolCallStatus]](../components/toolcallstatus.mdx) | :heavy_minus_sign: | N/A | completed |
-| `type` | [components.FunctionCallItemType](../components/functioncallitemtype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `status` | [Optional[components.ToolCallStatus]](../components/toolcallstatus) | :heavy_minus_sign: | N/A | completed |
+| `type` | [components.FunctionCallItemType](../components/functioncallitemtype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/functioncalloutputitem.mdx b/docs/components/functioncalloutputitem.mdx
index f0bca51c..a101edae 100644
--- a/docs/components/functioncalloutputitem.mdx
+++ b/docs/components/functioncalloutputitem.mdx
@@ -11,6 +11,6 @@ The output from a function call execution
| ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ |
| `call_id` | *str* | :heavy_check_mark: | N/A | |
| `id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
-| `output` | [components.FunctionCallOutputItemOutputUnion2](../components/functioncalloutputitemoutputunion2.mdx) | :heavy_check_mark: | N/A | |
-| `status` | [OptionalNullable[components.ToolCallStatus]](../components/toolcallstatus.mdx) | :heavy_minus_sign: | N/A | completed |
-| `type` | [components.FunctionCallOutputItemTypeFunctionCallOutput](../components/functioncalloutputitemtypefunctioncalloutput.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `output` | [components.FunctionCallOutputItemOutputUnion2](../components/functioncalloutputitemoutputunion2) | :heavy_check_mark: | N/A | |
+| `status` | [OptionalNullable[components.ToolCallStatus]](../components/toolcallstatus) | :heavy_minus_sign: | N/A | completed |
+| `type` | [components.FunctionCallOutputItemTypeFunctionCallOutput](../components/functioncalloutputitemtypefunctioncalloutput) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/functioncalloutputitemoutputinputimage.mdx b/docs/components/functioncalloutputitemoutputinputimage.mdx
index 55bb2225..92a9eab5 100644
--- a/docs/components/functioncalloutputitemoutputinputimage.mdx
+++ b/docs/components/functioncalloutputitemoutputinputimage.mdx
@@ -9,6 +9,6 @@ Image input content item
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
-| `detail` | [components.FunctionCallOutputItemDetail](../components/functioncalloutputitemdetail.mdx) | :heavy_check_mark: | N/A |
+| `detail` | [components.FunctionCallOutputItemDetail](../components/functioncalloutputitemdetail) | :heavy_check_mark: | N/A |
| `image_url` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A |
-| `type` | [components.FunctionCallOutputItemTypeInputImage](../components/functioncalloutputitemtypeinputimage.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.FunctionCallOutputItemTypeInputImage](../components/functioncalloutputitemtypeinputimage) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/fusionanalysisresult.mdx b/docs/components/fusionanalysisresult.mdx
index 06562dd2..085765f7 100644
--- a/docs/components/fusionanalysisresult.mdx
+++ b/docs/components/fusionanalysisresult.mdx
@@ -11,6 +11,6 @@ Structured analysis produced by the fusion analyst model.
| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- |
| `blind_spots` | List[*str*] | :heavy_check_mark: | N/A |
| `consensus` | List[*str*] | :heavy_check_mark: | N/A |
-| `contradictions` | List[[components.Contradiction](../components/contradiction.mdx)] | :heavy_check_mark: | N/A |
-| `partial_coverage` | List[[components.PartialCoverage](../components/partialcoverage.mdx)] | :heavy_check_mark: | N/A |
-| `unique_insights` | List[[components.UniqueInsight](../components/uniqueinsight.mdx)] | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `contradictions` | List[[components.Contradiction](../components/contradiction)] | :heavy_check_mark: | N/A |
+| `partial_coverage` | List[[components.PartialCoverage](../components/partialcoverage)] | :heavy_check_mark: | N/A |
+| `unique_insights` | List[[components.UniqueInsight](../components/uniqueinsight)] | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/fusioncallanalysiscompletedevent.mdx b/docs/components/fusioncallanalysiscompletedevent.mdx
index 7f295a8c..9b320341 100644
--- a/docs/components/fusioncallanalysiscompletedevent.mdx
+++ b/docs/components/fusioncallanalysiscompletedevent.mdx
@@ -9,8 +9,8 @@ Emitted when the fusion analyst completes with the structured analysis.
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `analysis` | [components.FusionAnalysisResult](../components/fusionanalysisresult.mdx) | :heavy_check_mark: | Structured analysis produced by the fusion analyst model. | \{
"blind_spots": [
"No model considered the impact on existing API consumers."
],
"consensus": [
"All panel models agree the request is asking for a concise summary."
],
"contradictions": [
\{
"stances": [
\{
"model": "openai/gpt-5",
"stance": "Favors an incremental rollout."
},
\{
"model": "anthropic/claude-sonnet-4.5",
"stance": "Favors a single coordinated migration."
}
],
"topic": "Recommended approach"
}
],
"partial_coverage": [
\{
"models": [
"openai/gpt-5"
],
"point": "Only one model addressed the rollback strategy."
}
],
"unique_insights": [
\{
"insight": "Highlighted a backwards-compatibility risk the other models missed.",
"model": "anthropic/claude-sonnet-4.5"
}
]
} |
+| `analysis` | [components.FusionAnalysisResult](../components/fusionanalysisresult) | :heavy_check_mark: | Structured analysis produced by the fusion analyst model. | \{
"blind_spots": [
"No model considered the impact on existing API consumers."
],
"consensus": [
"All panel models agree the request is asking for a concise summary."
],
"contradictions": [
\{
"stances": [
\{
"model": "openai/gpt-5",
"stance": "Favors an incremental rollout."
},
\{
"model": "anthropic/claude-sonnet-4.5",
"stance": "Favors a single coordinated migration."
}
],
"topic": "Recommended approach"
}
],
"partial_coverage": [
\{
"models": [
"openai/gpt-5"
],
"point": "Only one model addressed the rollback strategy."
}
],
"unique_insights": [
\{
"insight": "Highlighted a backwards-compatibility risk the other models missed.",
"model": "anthropic/claude-sonnet-4.5"
}
]
} |
| `item_id` | *str* | :heavy_check_mark: | N/A | |
| `output_index` | *int* | :heavy_check_mark: | N/A | |
| `sequence_number` | *int* | :heavy_check_mark: | N/A | |
-| `type` | [components.FusionCallAnalysisCompletedEventType](../components/fusioncallanalysiscompletedeventtype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `type` | [components.FusionCallAnalysisCompletedEventType](../components/fusioncallanalysiscompletedeventtype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/fusioncallanalysisinprogressevent.mdx b/docs/components/fusioncallanalysisinprogressevent.mdx
index 6538c8ff..39bc1684 100644
--- a/docs/components/fusioncallanalysisinprogressevent.mdx
+++ b/docs/components/fusioncallanalysisinprogressevent.mdx
@@ -14,4 +14,4 @@ Emitted when the fusion analyst starts producing the structured analysis.
| ~~`judge_model`~~ | *str* | :heavy_check_mark: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.
Deprecated alias of `analyst_model`, kept so existing consumers keep working. Always carries the same value. Use `analyst_model`. |
| `output_index` | *int* | :heavy_check_mark: | N/A |
| `sequence_number` | *int* | :heavy_check_mark: | N/A |
-| `type` | [components.FusionCallAnalysisInProgressEventType](../components/fusioncallanalysisinprogresseventtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.FusionCallAnalysisInProgressEventType](../components/fusioncallanalysisinprogresseventtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/fusioncallcompletedevent.mdx b/docs/components/fusioncallcompletedevent.mdx
index 40052448..8efe5f51 100644
--- a/docs/components/fusioncallcompletedevent.mdx
+++ b/docs/components/fusioncallcompletedevent.mdx
@@ -12,4 +12,4 @@ Emitted when the openrouter:fusion tool call finishes.
| `item_id` | *str* | :heavy_check_mark: | N/A |
| `output_index` | *int* | :heavy_check_mark: | N/A |
| `sequence_number` | *int* | :heavy_check_mark: | N/A |
-| `type` | [components.FusionCallCompletedEventType](../components/fusioncallcompletedeventtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.FusionCallCompletedEventType](../components/fusioncallcompletedeventtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/fusioncallinprogressevent.mdx b/docs/components/fusioncallinprogressevent.mdx
index 8f27a2d0..de74f4cc 100644
--- a/docs/components/fusioncallinprogressevent.mdx
+++ b/docs/components/fusioncallinprogressevent.mdx
@@ -12,4 +12,4 @@ Emitted when an openrouter:fusion tool call begins executing.
| `item_id` | *str* | :heavy_check_mark: | N/A |
| `output_index` | *int* | :heavy_check_mark: | N/A |
| `sequence_number` | *int* | :heavy_check_mark: | N/A |
-| `type` | [components.FusionCallInProgressEventType](../components/fusioncallinprogresseventtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.FusionCallInProgressEventType](../components/fusioncallinprogresseventtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/fusioncallpaneladdedevent.mdx b/docs/components/fusioncallpaneladdedevent.mdx
index 260884b7..35bf8ab7 100644
--- a/docs/components/fusioncallpaneladdedevent.mdx
+++ b/docs/components/fusioncallpaneladdedevent.mdx
@@ -13,4 +13,4 @@ Emitted when a fusion analysis-panel model starts.
| `model` | *str* | :heavy_check_mark: | N/A |
| `output_index` | *int* | :heavy_check_mark: | N/A |
| `sequence_number` | *int* | :heavy_check_mark: | N/A |
-| `type` | [components.FusionCallPanelAddedEventType](../components/fusioncallpaneladdedeventtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.FusionCallPanelAddedEventType](../components/fusioncallpaneladdedeventtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/fusioncallpanelcompletedevent.mdx b/docs/components/fusioncallpanelcompletedevent.mdx
index 1d115a6a..46ca13d6 100644
--- a/docs/components/fusioncallpanelcompletedevent.mdx
+++ b/docs/components/fusioncallpanelcompletedevent.mdx
@@ -14,4 +14,4 @@ Emitted when a fusion panel model finishes with its full content.
| `model` | *str* | :heavy_check_mark: | N/A |
| `output_index` | *int* | :heavy_check_mark: | N/A |
| `sequence_number` | *int* | :heavy_check_mark: | N/A |
-| `type` | [components.FusionCallPanelCompletedEventType](../components/fusioncallpanelcompletedeventtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.FusionCallPanelCompletedEventType](../components/fusioncallpanelcompletedeventtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/fusioncallpaneldeltaevent.mdx b/docs/components/fusioncallpaneldeltaevent.mdx
index 3f8a569b..b4baea79 100644
--- a/docs/components/fusioncallpaneldeltaevent.mdx
+++ b/docs/components/fusioncallpaneldeltaevent.mdx
@@ -14,4 +14,4 @@ Incremental content token from a fusion panel model.
| `model` | *str* | :heavy_check_mark: | N/A |
| `output_index` | *int* | :heavy_check_mark: | N/A |
| `sequence_number` | *int* | :heavy_check_mark: | N/A |
-| `type` | [components.FusionCallPanelDeltaEventType](../components/fusioncallpaneldeltaeventtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.FusionCallPanelDeltaEventType](../components/fusioncallpaneldeltaeventtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/fusioncallpanelfailedevent.mdx b/docs/components/fusioncallpanelfailedevent.mdx
index a6c9fa53..02daa942 100644
--- a/docs/components/fusioncallpanelfailedevent.mdx
+++ b/docs/components/fusioncallpanelfailedevent.mdx
@@ -15,4 +15,4 @@ Emitted when a fusion panel model fails.
| `output_index` | *int* | :heavy_check_mark: | N/A |
| `sequence_number` | *int* | :heavy_check_mark: | N/A |
| `status_code` | *Optional[int]* | :heavy_minus_sign: | N/A |
-| `type` | [components.FusionCallPanelFailedEventType](../components/fusioncallpanelfailedeventtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.FusionCallPanelFailedEventType](../components/fusioncallpanelfailedeventtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/fusioncallpanelreasoningdeltaevent.mdx b/docs/components/fusioncallpanelreasoningdeltaevent.mdx
index a25d4c0e..ad665d6c 100644
--- a/docs/components/fusioncallpanelreasoningdeltaevent.mdx
+++ b/docs/components/fusioncallpanelreasoningdeltaevent.mdx
@@ -14,4 +14,4 @@ Incremental reasoning token from a fusion panel model.
| `model` | *str* | :heavy_check_mark: | N/A |
| `output_index` | *int* | :heavy_check_mark: | N/A |
| `sequence_number` | *int* | :heavy_check_mark: | N/A |
-| `type` | [components.FusionCallPanelReasoningDeltaEventType](../components/fusioncallpanelreasoningdeltaeventtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.FusionCallPanelReasoningDeltaEventType](../components/fusioncallpanelreasoningdeltaeventtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/fusionplugin.mdx b/docs/components/fusionplugin.mdx
index 26996076..888b8d41 100644
--- a/docs/components/fusionplugin.mdx
+++ b/docs/components/fusionplugin.mdx
@@ -8,8 +8,8 @@ title: "FusionPlugin"
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `analysis_models` | List[*str*] | :heavy_minus_sign: | Slugs of models to run in parallel as the "expert panel" the analyst analyzes. Each model receives the same user prompt with web_search + web_fetch enabled. Capped at 8 models to bound cost amplification. When omitted, defaults to the Quality preset from the /labs/fusion UI (~anthropic/claude-opus-latest, ~openai/gpt-latest, ~google/gemini-pro-latest). | [
"~anthropic/claude-opus-latest",
"~openai/gpt-latest",
"~google/gemini-pro-latest"
] |
| `enabled` | *Optional[bool]* | :heavy_minus_sign: | Set to false to disable the fusion plugin for this request. Defaults to true. | |
-| `id` | [components.FusionPluginID](../components/fusionpluginid.mdx) | :heavy_check_mark: | N/A | |
+| `id` | [components.FusionPluginID](../components/fusionpluginid) | :heavy_check_mark: | N/A | |
| `max_tool_calls` | *Optional[int]* | :heavy_minus_sign: | Maximum number of tool-calling steps each panelist (analysis model) and the analyst model may take during their agentic web-research loop. Models with web_search/web_fetch enabled iterate until they produce a text response or hit this ceiling. Defaults to 8. Capped at 16. | 12 |
| `model` | *Optional[str]* | :heavy_minus_sign: | Slug of the model that performs both the analyst step (with web_search + web_fetch) and the final synthesis. When omitted, defaults to the first model in the Quality preset. | ~anthropic/claude-opus-latest |
-| `preset` | [Optional[components.PresetEnum]](../components/presetenum.mdx) | :heavy_minus_sign: | A curated OpenRouter fusion preset (slugs follow `-`, e.g. `general-high`). Expands server-side into the preset's analysis_models panel and analyst model, so callers never name individual models. Explicitly provided `analysis_models` / `model` take precedence. | general-high |
-| `tools` | List[[components.FusionPluginTool](../components/fusionplugintool.mdx)] | :heavy_minus_sign: | Server tools available to panelist and analyst inner calls. Each entry uses the same `{ type, parameters? }` shorthand as the outer Chat Completions request. When omitted, defaults to `[{ type: "openrouter:web_search" }, { type: "openrouter:web_fetch" }]`. Pass an empty array to disable tools entirely (panelists answer from parametric knowledge only). | [
\{
"parameters": \{
"excluded_domains": [
"example.com"
]
},
"type": "openrouter:web_search"
},
\{
"type": "openrouter:web_fetch"
}
] |
\ No newline at end of file
+| `preset` | [Optional[components.PresetEnum]](../components/presetenum) | :heavy_minus_sign: | A curated OpenRouter fusion preset (slugs follow `-`, e.g. `general-high`). Expands server-side into the preset's analysis_models panel and analyst model, so callers never name individual models. Explicitly provided `analysis_models` / `model` take precedence. | general-high |
+| `tools` | List[[components.FusionPluginTool](../components/fusionplugintool)] | :heavy_minus_sign: | Server tools available to panelist and analyst inner calls. Each entry uses the same `{ type, parameters? }` shorthand as the outer Chat Completions request. When omitted, defaults to `[{ type: "openrouter:web_search" }, { type: "openrouter:web_fetch" }]`. Pass an empty array to disable tools entirely (panelists answer from parametric knowledge only). | [
\{
"parameters": \{
"excluded_domains": [
"example.com"
]
},
"type": "openrouter:web_search"
},
\{
"type": "openrouter:web_fetch"
}
] |
\ No newline at end of file
diff --git a/docs/components/fusionplugintool.mdx b/docs/components/fusionplugintool.mdx
index 967c0e2a..aad53734 100644
--- a/docs/components/fusionplugintool.mdx
+++ b/docs/components/fusionplugintool.mdx
@@ -6,5 +6,5 @@ title: "FusionPluginTool"
| Field | Type | Required | Description |
| ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
-| `parameters` | Dict[str, [Nullable[components.Parameters3]](../components/parameters3.mdx)] | :heavy_minus_sign: | Optional configuration forwarded as the tool's `parameters` object. |
+| `parameters` | Dict[str, [Nullable[components.Parameters3]](../components/parameters3)] | :heavy_minus_sign: | Optional configuration forwarded as the tool's `parameters` object. |
| `type` | *str* | :heavy_check_mark: | Server tool type identifier (e.g. "openrouter:web_search", "openrouter:web_fetch"). |
\ No newline at end of file
diff --git a/docs/components/fusionservertoolconfig.mdx b/docs/components/fusionservertoolconfig.mdx
index 00c2183f..24ee73ec 100644
--- a/docs/components/fusionservertoolconfig.mdx
+++ b/docs/components/fusionservertoolconfig.mdx
@@ -10,10 +10,10 @@ Configuration for the openrouter:fusion server tool.
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `analysis_models` | List[*str*] | :heavy_minus_sign: | Slugs of models to run in parallel as the analysis panel. Each model receives the user prompt with openrouter:web_search and openrouter:web_fetch enabled, then an analyst model summarizes the collective output into structured analysis JSON. Capped at 8 models to bound cost amplification. Defaults to the Quality preset from /labs/fusion. | [
"~anthropic/claude-opus-latest",
"~openai/gpt-latest",
"~google/gemini-pro-latest"
] |
-| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../components/anthropiccachecontroldirective.mdx) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
+| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../components/anthropiccachecontroldirective) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
| `max_completion_tokens` | *Optional[int]* | :heavy_minus_sign: | Maximum number of output tokens (including reasoning tokens) each panelist and the analyst model may produce per inner call. Controls the total output budget so reasoning-heavy models like GPT-5.5 do not exhaust their token allowance before producing visible text. When omitted, panelists default to 32000 and the analyst to 20000. | 16384 |
| `max_tool_calls` | *Optional[int]* | :heavy_minus_sign: | Maximum number of tool-calling steps each panelist (analysis model) and the analyst model may take during their agentic web-research loop. Models with web_search/web_fetch enabled iterate until they produce a text response or hit this ceiling. Defaults to 8. Capped at 16. | 12 |
| `model` | *Optional[str]* | :heavy_minus_sign: | Slug of the analyst model that produces the structured analysis JSON. Defaults to the model used in the outer API request. | ~anthropic/claude-opus-latest |
-| `reasoning` | [Optional[components.FusionServerToolConfigReasoning]](../components/fusionservertoolconfigreasoning.mdx) | :heavy_minus_sign: | Reasoning configuration forwarded to panelist and analyst inner calls. Use this to control reasoning effort and token budget for models that support extended thinking. | |
+| `reasoning` | [Optional[components.FusionServerToolConfigReasoning]](../components/fusionservertoolconfigreasoning) | :heavy_minus_sign: | Reasoning configuration forwarded to panelist and analyst inner calls. Use this to control reasoning effort and token budget for models that support extended thinking. | |
| `temperature` | *Optional[float]* | :heavy_minus_sign: | Temperature forwarded to panelist inner calls. The analyst always runs at temperature 0 regardless of this value. When omitted, the provider's default applies. | 0.7 |
-| `tools` | List[[components.FusionServerToolConfigTool](../components/fusionservertoolconfigtool.mdx)] | :heavy_minus_sign: | Server tools available to panelist and analyst inner calls. Each entry uses the same `{ type, parameters? }` shorthand as the outer Chat Completions request. When omitted, defaults to `[{ type: "openrouter:web_search" }, { type: "openrouter:web_fetch" }]`. Pass an empty array to disable tools entirely (panelists answer from parametric knowledge only). | [
\{
"parameters": \{
"excluded_domains": [
"example.com"
]
},
"type": "openrouter:web_search"
},
\{
"type": "openrouter:web_fetch"
}
] |
\ No newline at end of file
+| `tools` | List[[components.FusionServerToolConfigTool](../components/fusionservertoolconfigtool)] | :heavy_minus_sign: | Server tools available to panelist and analyst inner calls. Each entry uses the same `{ type, parameters? }` shorthand as the outer Chat Completions request. When omitted, defaults to `[{ type: "openrouter:web_search" }, { type: "openrouter:web_fetch" }]`. Pass an empty array to disable tools entirely (panelists answer from parametric knowledge only). | [
\{
"parameters": \{
"excluded_domains": [
"example.com"
]
},
"type": "openrouter:web_search"
},
\{
"type": "openrouter:web_fetch"
}
] |
\ No newline at end of file
diff --git a/docs/components/fusionservertoolconfigreasoning.mdx b/docs/components/fusionservertoolconfigreasoning.mdx
index 49dd617c..4772eab8 100644
--- a/docs/components/fusionservertoolconfigreasoning.mdx
+++ b/docs/components/fusionservertoolconfigreasoning.mdx
@@ -9,5 +9,5 @@ Reasoning configuration forwarded to panelist and analyst inner calls. Use this
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `effort` | [Optional[components.FusionServerToolConfigEffort]](../components/fusionservertoolconfigeffort.mdx) | :heavy_minus_sign: | Reasoning effort level for panelist and analyst inner calls. |
+| `effort` | [Optional[components.FusionServerToolConfigEffort]](../components/fusionservertoolconfigeffort) | :heavy_minus_sign: | Reasoning effort level for panelist and analyst inner calls. |
| `max_tokens` | *Optional[int]* | :heavy_minus_sign: | Maximum number of reasoning tokens each panelist and analyst model may use. Helps bound cost when models allocate too much budget to chain-of-thought. |
\ No newline at end of file
diff --git a/docs/components/fusionservertoolopenrouter.mdx b/docs/components/fusionservertoolopenrouter.mdx
index dd8444b4..a3387e94 100644
--- a/docs/components/fusionservertoolopenrouter.mdx
+++ b/docs/components/fusionservertoolopenrouter.mdx
@@ -9,5 +9,5 @@ OpenRouter built-in server tool: fans out the user prompt to a panel of analysis
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
-| `parameters` | [Optional[components.FusionServerToolConfig]](../components/fusionservertoolconfig.mdx) | :heavy_minus_sign: | Configuration for the openrouter:fusion server tool. | \{
"analysis_models": [
"~anthropic/claude-opus-latest",
"~openai/gpt-latest",
"~google/gemini-pro-latest"
]
} |
-| `type` | [components.FusionServerToolOpenRouterType](../components/fusionservertoolopenroutertype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `parameters` | [Optional[components.FusionServerToolConfig]](../components/fusionservertoolconfig) | :heavy_minus_sign: | Configuration for the openrouter:fusion server tool. | \{
"analysis_models": [
"~anthropic/claude-opus-latest",
"~openai/gpt-latest",
"~google/gemini-pro-latest"
]
} |
+| `type` | [components.FusionServerToolOpenRouterType](../components/fusionservertoolopenroutertype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/generationcontentdata.mdx b/docs/components/generationcontentdata.mdx
index 1e4a22a0..2df7578e 100644
--- a/docs/components/generationcontentdata.mdx
+++ b/docs/components/generationcontentdata.mdx
@@ -9,5 +9,5 @@ Stored prompt and completion content
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
-| `input` | [components.InputUnion](../components/inputunion.mdx) | :heavy_check_mark: | The input to the generation — either a prompt string or an array of messages |
-| `output` | [components.GenerationContentDataOutput](../components/generationcontentdataoutput.mdx) | :heavy_check_mark: | The output from the generation |
\ No newline at end of file
+| `input` | [components.InputUnion](../components/inputunion) | :heavy_check_mark: | The input to the generation — either a prompt string or an array of messages |
+| `output` | [components.GenerationContentDataOutput](../components/generationcontentdataoutput) | :heavy_check_mark: | The output from the generation |
\ No newline at end of file
diff --git a/docs/components/generationcontentresponse.mdx b/docs/components/generationcontentresponse.mdx
index e214221d..0d64bb41 100644
--- a/docs/components/generationcontentresponse.mdx
+++ b/docs/components/generationcontentresponse.mdx
@@ -9,4 +9,4 @@ Stored prompt and completion content for a generation
| Field | Type | Required | Description | Example |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `data` | [components.GenerationContentData](../components/generationcontentdata.mdx) | :heavy_check_mark: | Stored prompt and completion content | \{
"input": \{
"messages": [
\{
"content": "What is the meaning of life?",
"role": "user"
}
]
},
"output": \{
"completion": "The meaning of life is a philosophical question...",
"reasoning": null
}
} |
\ No newline at end of file
+| `data` | [components.GenerationContentData](../components/generationcontentdata) | :heavy_check_mark: | Stored prompt and completion content | \{
"input": \{
"messages": [
\{
"content": "What is the meaning of life?",
"role": "user"
}
]
},
"output": \{
"completion": "The meaning of life is a philosophical question...",
"reasoning": null
}
} |
\ No newline at end of file
diff --git a/docs/components/generationresponse.mdx b/docs/components/generationresponse.mdx
index b876dce8..23a0f80f 100644
--- a/docs/components/generationresponse.mdx
+++ b/docs/components/generationresponse.mdx
@@ -9,4 +9,4 @@ Generation response
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
-| `data` | [components.GenerationResponseData](../components/generationresponsedata.mdx) | :heavy_check_mark: | Generation data |
\ No newline at end of file
+| `data` | [components.GenerationResponseData](../components/generationresponsedata) | :heavy_check_mark: | Generation data |
\ No newline at end of file
diff --git a/docs/components/generationresponsedata.mdx b/docs/components/generationresponsedata.mdx
index 54187e67..9cc677c9 100644
--- a/docs/components/generationresponsedata.mdx
+++ b/docs/components/generationresponsedata.mdx
@@ -9,12 +9,12 @@ Generation data
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
-| `api_type` | [Nullable[components.APIType]](../components/apitype.mdx) | :heavy_check_mark: | Type of API used for the generation | |
+| `api_type` | [Nullable[components.APIType]](../components/apitype) | :heavy_check_mark: | Type of API used for the generation | |
| `app_id` | *Nullable[int]* | :heavy_check_mark: | ID of the app that made the request | 12345 |
| `cache_discount` | *Nullable[float]* | :heavy_check_mark: | Discount applied due to caching | 0.0002 |
| `cancelled` | *Nullable[bool]* | :heavy_check_mark: | Whether the generation was cancelled | false |
| `created_at` | *str* | :heavy_check_mark: | ISO 8601 timestamp of when the generation was created | 2024-07-15T23:33:19.433273+00:00 |
-| `data_region` | [components.DataRegion](../components/dataregion.mdx) | :heavy_check_mark: | The data region this generation was routed through: 'global', 'europe', or 'us'. | global |
+| `data_region` | [components.DataRegion](../components/dataregion) | :heavy_check_mark: | The data region this generation was routed through: 'global', 'europe', or 'us'. | global |
| `external_user` | *Nullable[str]* | :heavy_check_mark: | External user identifier | user-123 |
| `finish_reason` | *Nullable[str]* | :heavy_check_mark: | Reason the generation finished | stop |
| `generation_time` | *Nullable[float]* | :heavy_check_mark: | Time taken for generation in milliseconds | 1200 |
@@ -38,7 +38,7 @@ Generation data
| `origin` | *str* | :heavy_check_mark: | Origin URL of the request | https://openrouter.ai/ |
| `preset_id` | *Nullable[str]* | :heavy_check_mark: | ID of the preset used for this generation, null if no preset was used | a9e8d400-592a-494f-908c-375efa66cafd |
| `provider_name` | *Nullable[str]* | :heavy_check_mark: | Name of the provider that served the request | Infermatic |
-| `provider_responses` | List[[components.ProviderResponse](../components/providerresponse.mdx)] | :heavy_check_mark: | List of provider responses for this generation, including fallback attempts | |
+| `provider_responses` | List[[components.ProviderResponse](../components/providerresponse)] | :heavy_check_mark: | List of provider responses for this generation, including fallback attempts | |
| `request_id` | *OptionalNullable[str]* | :heavy_minus_sign: | Unique identifier grouping all generations from a single API request | req-1727282430-aBcDeFgHiJkLmNoPqRsT |
| `response_cache_source_id` | *OptionalNullable[str]* | :heavy_minus_sign: | If this generation was served from response cache, contains the original generation ID. Null otherwise. | |
| `router` | *Nullable[str]* | :heavy_check_mark: | Router used for the request (e.g., openrouter/auto) | openrouter/auto |
diff --git a/docs/components/getbyokkeyresponse.mdx b/docs/components/getbyokkeyresponse.mdx
index 5730056a..2fb8817a 100644
--- a/docs/components/getbyokkeyresponse.mdx
+++ b/docs/components/getbyokkeyresponse.mdx
@@ -6,4 +6,4 @@ title: "GetBYOKKeyResponse"
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `data` | [components.BYOKKey](../components/byokkey.mdx) | :heavy_check_mark: | N/A | \{
"allowed_api_key_hashes": null,
"allowed_models": null,
"allowed_user_ids": null,
"created_at": "2025-08-24T10:30:00Z",
"disabled": false,
"id": "11111111-2222-3333-4444-555555555555",
"is_fallback": false,
"label": "sk-...AbCd",
"name": "Production OpenAI Key",
"provider": "openai",
"sort_order": 0,
"workspace_id": "550e8400-e29b-41d4-a716-446655440000"
} |
\ No newline at end of file
+| `data` | [components.BYOKKey](../components/byokkey) | :heavy_check_mark: | N/A | \{
"allowed_api_key_hashes": null,
"allowed_models": null,
"allowed_user_ids": null,
"created_at": "2025-08-24T10:30:00Z",
"disabled": false,
"id": "11111111-2222-3333-4444-555555555555",
"is_fallback": false,
"label": "sk-...AbCd",
"name": "Production OpenAI Key",
"provider": "openai",
"sort_order": 0,
"workspace_id": "550e8400-e29b-41d4-a716-446655440000"
} |
\ No newline at end of file
diff --git a/docs/components/getguardrailresponse.mdx b/docs/components/getguardrailresponse.mdx
index 21e603e4..9e2be8b6 100644
--- a/docs/components/getguardrailresponse.mdx
+++ b/docs/components/getguardrailresponse.mdx
@@ -6,4 +6,4 @@ title: "GetGuardrailResponse"
| Field | Type | Required | Description | Example |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `data` | [components.Guardrail](../components/guardrail.mdx) | :heavy_check_mark: | N/A | \{
"allowed_models": null,
"allowed_providers": [
"openai",
"anthropic",
"google"
],
"content_filter_builtins": [
\{
"action": "redact",
"label": "[EMAIL]",
"slug": "email"
}
],
"content_filters": null,
"created_at": "2025-08-24T10:30:00Z",
"description": "Guardrail for production environment",
"enable_free_model_publication": false,
"enable_free_model_training": true,
"enable_paid_model_training": true,
"enforce_zdr": null,
"enforce_zdr_anthropic": true,
"enforce_zdr_google": false,
"enforce_zdr_openai": true,
"enforce_zdr_other": false,
"enforce_zdr_xai": false,
"id": "550e8400-e29b-41d4-a716-446655440000",
"ignored_models": null,
"ignored_providers": null,
"include_byok_in_budgets": false,
"limit_usd": 100,
"name": "Production Guardrail",
"reset_interval": "monthly",
"updated_at": "2025-08-24T15:45:00Z",
"workspace_id": "0df9e665-d932-5740-b2c7-b52af166bc11"
} |
\ No newline at end of file
+| `data` | [components.Guardrail](../components/guardrail) | :heavy_check_mark: | N/A | \{
"allowed_models": null,
"allowed_providers": [
"openai",
"anthropic",
"google"
],
"content_filter_builtins": [
\{
"action": "redact",
"label": "[EMAIL]",
"slug": "email"
}
],
"content_filters": null,
"created_at": "2025-08-24T10:30:00Z",
"description": "Guardrail for production environment",
"enable_free_model_publication": false,
"enable_free_model_training": true,
"enable_paid_model_training": true,
"enforce_zdr": null,
"enforce_zdr_anthropic": true,
"enforce_zdr_google": false,
"enforce_zdr_openai": true,
"enforce_zdr_other": false,
"enforce_zdr_xai": false,
"id": "550e8400-e29b-41d4-a716-446655440000",
"ignored_models": null,
"ignored_providers": null,
"include_byok_in_budgets": false,
"limit_usd": 100,
"name": "Production Guardrail",
"reset_interval": "monthly",
"updated_at": "2025-08-24T15:45:00Z",
"workspace_id": "0df9e665-d932-5740-b2c7-b52af166bc11"
} |
\ No newline at end of file
diff --git a/docs/components/getobservabilitydestinationresponse.mdx b/docs/components/getobservabilitydestinationresponse.mdx
index efce02e6..ec2c50b1 100644
--- a/docs/components/getobservabilitydestinationresponse.mdx
+++ b/docs/components/getobservabilitydestinationresponse.mdx
@@ -6,4 +6,4 @@ title: "GetObservabilityDestinationResponse"
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `data` | [components.ObservabilityDestination](../components/observabilitydestination.mdx) | :heavy_check_mark: | N/A | \{
"api_key_hashes": null,
"config": \{
"baseUrl": "https://us.cloud.langfuse.com",
"publicKey": "pk-l...EfGh",
"secretKey": "sk-l...AbCd"
},
"created_at": "2025-08-24T10:30:00Z",
"enabled": true,
"filter_rules": null,
"id": "99999999-aaaa-bbbb-cccc-dddddddddddd",
"name": "Production Langfuse",
"privacy_mode": false,
"sampling_rate": 1,
"type": "langfuse",
"updated_at": "2025-08-24T15:45:00Z",
"workspace_id": "550e8400-e29b-41d4-a716-446655440000"
} |
\ No newline at end of file
+| `data` | [components.ObservabilityDestination](../components/observabilitydestination) | :heavy_check_mark: | N/A | \{
"api_key_hashes": null,
"config": \{
"baseUrl": "https://us.cloud.langfuse.com",
"publicKey": "pk-l...EfGh",
"secretKey": "sk-l...AbCd"
},
"created_at": "2025-08-24T10:30:00Z",
"enabled": true,
"filter_rules": null,
"id": "99999999-aaaa-bbbb-cccc-dddddddddddd",
"name": "Production Langfuse",
"privacy_mode": false,
"sampling_rate": 1,
"type": "langfuse",
"updated_at": "2025-08-24T15:45:00Z",
"workspace_id": "550e8400-e29b-41d4-a716-446655440000"
} |
\ No newline at end of file
diff --git a/docs/components/getpresetresponse.mdx b/docs/components/getpresetresponse.mdx
index 2af502a1..c98bd88e 100644
--- a/docs/components/getpresetresponse.mdx
+++ b/docs/components/getpresetresponse.mdx
@@ -9,4 +9,4 @@ A preset with its currently designated version.
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `data` | [components.PresetWithDesignatedVersion](../components/presetwithdesignatedversion.mdx) | :heavy_check_mark: | A preset with its currently designated version. | \{
"created_at": "2026-04-20T10:00:00Z",
"creator_user_id": "user_2dHFtVWx2n56w6HkM0000000000",
"description": null,
"designated_version": \{
"config": \{
"model": "openai/gpt-4o",
"temperature": 0.7
},
"created_at": "2026-04-20T10:00:00Z",
"creator_id": "user_2dHFtVWx2n56w6HkM0000000000",
"id": "550e8400-e29b-41d4-a716-446655440000",
"preset_id": "650e8400-e29b-41d4-a716-446655440001",
"system_prompt": "You are a helpful assistant.",
"updated_at": "2026-04-20T10:00:00Z",
"version": 1
},
"designated_version_id": "550e8400-e29b-41d4-a716-446655440000",
"id": "650e8400-e29b-41d4-a716-446655440001",
"name": "my-preset",
"slug": "my-preset",
"status": "active",
"status_updated_at": null,
"updated_at": "2026-04-20T10:00:00Z",
"workspace_id": "750e8400-e29b-41d4-a716-446655440002"
} |
\ No newline at end of file
+| `data` | [components.PresetWithDesignatedVersion](../components/presetwithdesignatedversion) | :heavy_check_mark: | A preset with its currently designated version. | \{
"created_at": "2026-04-20T10:00:00Z",
"creator_user_id": "user_2dHFtVWx2n56w6HkM0000000000",
"description": null,
"designated_version": \{
"config": \{
"model": "openai/gpt-4o",
"temperature": 0.7
},
"created_at": "2026-04-20T10:00:00Z",
"creator_id": "user_2dHFtVWx2n56w6HkM0000000000",
"id": "550e8400-e29b-41d4-a716-446655440000",
"preset_id": "650e8400-e29b-41d4-a716-446655440001",
"system_prompt": "You are a helpful assistant.",
"updated_at": "2026-04-20T10:00:00Z",
"version": 1
},
"designated_version_id": "550e8400-e29b-41d4-a716-446655440000",
"id": "650e8400-e29b-41d4-a716-446655440001",
"name": "my-preset",
"slug": "my-preset",
"status": "active",
"status_updated_at": null,
"updated_at": "2026-04-20T10:00:00Z",
"workspace_id": "750e8400-e29b-41d4-a716-446655440002"
} |
\ No newline at end of file
diff --git a/docs/components/getpresetversionresponse.mdx b/docs/components/getpresetversionresponse.mdx
index 6c304028..b4285cbc 100644
--- a/docs/components/getpresetversionresponse.mdx
+++ b/docs/components/getpresetversionresponse.mdx
@@ -9,4 +9,4 @@ A single version of a preset.
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `data` | [Nullable[components.PresetDesignatedVersion]](../components/presetdesignatedversion.mdx) | :heavy_check_mark: | A specific version of a preset, containing config and optional system prompt. | \{
"config": \{
"model": "openai/gpt-4o",
"temperature": 0.7
},
"created_at": "2026-04-20T10:00:00Z",
"creator_id": "user_2dHFtVWx2n56w6HkM0000000000",
"id": "550e8400-e29b-41d4-a716-446655440000",
"preset_id": "650e8400-e29b-41d4-a716-446655440001",
"system_prompt": "You are a helpful assistant.",
"updated_at": "2026-04-20T10:00:00Z",
"version": 1
} |
\ No newline at end of file
+| `data` | [Nullable[components.PresetDesignatedVersion]](../components/presetdesignatedversion) | :heavy_check_mark: | A specific version of a preset, containing config and optional system prompt. | \{
"config": \{
"model": "openai/gpt-4o",
"temperature": 0.7
},
"created_at": "2026-04-20T10:00:00Z",
"creator_id": "user_2dHFtVWx2n56w6HkM0000000000",
"id": "550e8400-e29b-41d4-a716-446655440000",
"preset_id": "650e8400-e29b-41d4-a716-446655440001",
"system_prompt": "You are a helpful assistant.",
"updated_at": "2026-04-20T10:00:00Z",
"version": 1
} |
\ No newline at end of file
diff --git a/docs/components/getworkspaceresponse.mdx b/docs/components/getworkspaceresponse.mdx
index 24ed1db5..80b49460 100644
--- a/docs/components/getworkspaceresponse.mdx
+++ b/docs/components/getworkspaceresponse.mdx
@@ -6,4 +6,4 @@ title: "GetWorkspaceResponse"
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `data` | [components.Workspace](../components/workspace.mdx) | :heavy_check_mark: | N/A | \{
"created_at": "2025-08-24T10:30:00Z",
"created_by": "user_abc123",
"default_guardrail_id": "595d5849-7e86-51fd-a7c0-705c34e4afff",
"default_image_model": "openai/dall-e-3",
"default_provider_sort": "price",
"default_text_model": "openai/gpt-4o",
"description": "Production environment workspace",
"id": "550e8400-e29b-41d4-a716-446655440000",
"io_logging_api_key_ids": null,
"io_logging_sampling_rate": 1,
"is_data_discount_logging_enabled": true,
"is_observability_broadcast_enabled": false,
"is_observability_io_logging_enabled": false,
"name": "Production",
"slug": "production",
"updated_at": "2025-08-24T15:45:00Z"
} |
\ No newline at end of file
+| `data` | [components.Workspace](../components/workspace) | :heavy_check_mark: | N/A | \{
"created_at": "2025-08-24T10:30:00Z",
"created_by": "user_abc123",
"default_guardrail_id": "595d5849-7e86-51fd-a7c0-705c34e4afff",
"default_image_model": "openai/dall-e-3",
"default_provider_sort": "price",
"default_text_model": "openai/gpt-4o",
"description": "Production environment workspace",
"id": "550e8400-e29b-41d4-a716-446655440000",
"io_logging_api_key_ids": null,
"io_logging_sampling_rate": 1,
"is_data_discount_logging_enabled": true,
"is_observability_broadcast_enabled": false,
"is_observability_io_logging_enabled": false,
"name": "Production",
"slug": "production",
"updated_at": "2025-08-24T15:45:00Z"
} |
\ No newline at end of file
diff --git a/docs/components/guardrail.mdx b/docs/components/guardrail.mdx
index 49929bdf..f221473e 100644
--- a/docs/components/guardrail.mdx
+++ b/docs/components/guardrail.mdx
@@ -8,8 +8,8 @@ title: "Guardrail"
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `allowed_models` | List[*str*] | :heavy_minus_sign: | Array of model canonical_slugs (immutable identifiers) | [
"openai/gpt-5.2-20251211",
"anthropic/claude-4.5-opus-20251124",
"deepseek/deepseek-r1-0528:free"
] |
| `allowed_providers` | List[*str*] | :heavy_minus_sign: | List of allowed provider IDs | [
"openai",
"anthropic",
"google"
] |
-| `content_filter_builtins` | List[[components.ContentFilterBuiltinEntry](../components/contentfilterbuiltinentry.mdx)] | :heavy_minus_sign: | Builtin content filters applied to requests. Includes PII detectors and the regex-based prompt injection detector. | [
\{
"action": "redact",
"label": "[EMAIL]",
"slug": "email"
}
] |
-| `content_filters` | List[[components.ContentFilterEntry](../components/contentfilterentry.mdx)] | :heavy_minus_sign: | Custom regex content filters applied to request messages | [
\{
"action": "redact",
"label": "[API_KEY]",
"pattern": "\\b(sk-[a-zA-Z0-9]\{48})\\b"
}
] |
+| `content_filter_builtins` | List[[components.ContentFilterBuiltinEntry](../components/contentfilterbuiltinentry)] | :heavy_minus_sign: | Builtin content filters applied to requests. Includes PII detectors and the regex-based prompt injection detector. | [
\{
"action": "redact",
"label": "[EMAIL]",
"slug": "email"
}
] |
+| `content_filters` | List[[components.ContentFilterEntry](../components/contentfilterentry)] | :heavy_minus_sign: | Custom regex content filters applied to request messages | [
\{
"action": "redact",
"label": "[API_KEY]",
"pattern": "\\b(sk-[a-zA-Z0-9]\{48})\\b"
}
] |
| `created_at` | *str* | :heavy_check_mark: | ISO 8601 timestamp of when the guardrail was created | 2025-08-24T10:30:00Z |
| `description` | *OptionalNullable[str]* | :heavy_minus_sign: | Description of the guardrail | Guardrail for production environment |
| `enable_free_model_publication` | *OptionalNullable[bool]* | :heavy_minus_sign: | Whether this guardrail allows free endpoints that publish prompts. | false |
@@ -27,6 +27,6 @@ title: "Guardrail"
| `include_byok_in_budgets` | *bool* | :heavy_check_mark: | Whether BYOK (bring-your-own-key) inference spend counts toward this guardrail's limit_usd, in addition to OpenRouter credit spend. | false |
| `limit_usd` | *OptionalNullable[float]* | :heavy_minus_sign: | Spending limit in USD | 100 |
| `name` | *str* | :heavy_check_mark: | Name of the guardrail | Production Guardrail |
-| `reset_interval` | [OptionalNullable[components.GuardrailInterval]](../components/guardrailinterval.mdx) | :heavy_minus_sign: | Interval at which the limit resets (daily, weekly, monthly) | monthly |
+| `reset_interval` | [OptionalNullable[components.GuardrailInterval]](../components/guardrailinterval) | :heavy_minus_sign: | Interval at which the limit resets (daily, weekly, monthly) | monthly |
| `updated_at` | *OptionalNullable[str]* | :heavy_minus_sign: | ISO 8601 timestamp of when the guardrail was last updated | 2025-08-24T15:45:00Z |
| `workspace_id` | *str* | :heavy_check_mark: | The workspace ID this guardrail belongs to. | 0df9e665-d932-5740-b2c7-b52af166bc11 |
\ No newline at end of file
diff --git a/docs/components/imageendpoint.mdx b/docs/components/imageendpoint.mdx
index 29fa84c1..274f487d 100644
--- a/docs/components/imageendpoint.mdx
+++ b/docs/components/imageendpoint.mdx
@@ -10,9 +10,9 @@ An endpoint that serves a given image model.
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `allowed_passthrough_parameters` | List[*str*] | :heavy_check_mark: | Provider-specific options accepted under provider.options[provider_slug]. | [] |
-| `pricing` | List[[components.ImagePricingEntry](../components/imagepricingentry.mdx)] | :heavy_check_mark: | Billable pricing lines for this endpoint. | [
\{
"billable": "output_image",
"cost_usd": 0.05,
"unit": "image"
}
] |
+| `pricing` | List[[components.ImagePricingEntry](../components/imagepricingentry)] | :heavy_check_mark: | Billable pricing lines for this endpoint. | [
\{
"billable": "output_image",
"cost_usd": 0.05,
"unit": "image"
}
] |
| `provider_name` | *str* | :heavy_check_mark: | Provider display name | Bytedance |
| `provider_slug` | *str* | :heavy_check_mark: | Provider slug | bytedance |
| `provider_tag` | *Nullable[str]* | :heavy_check_mark: | Provider tag for request-side selection | bytedance |
-| `supported_parameters` | Dict[str, [components.CapabilityDescriptor](../components/capabilitydescriptor.mdx)] | :heavy_check_mark: | N/A | \{
"output_compression": \{
"max": 100,
"min": 0,
"type": "range"
},
"resolution": \{
"type": "enum",
"values": [
"1K",
"2K",
"4K"
]
},
"seed": \{
"type": "boolean"
}
} |
+| `supported_parameters` | Dict[str, [components.CapabilityDescriptor](../components/capabilitydescriptor)] | :heavy_check_mark: | N/A | \{
"output_compression": \{
"max": 100,
"min": 0,
"type": "range"
},
"resolution": \{
"type": "enum",
"values": [
"1K",
"2K",
"4K"
]
},
"seed": \{
"type": "boolean"
}
} |
| `supports_streaming` | *bool* | :heavy_check_mark: | Whether this endpoint supports native SSE streaming (`stream: true` in the request). | false |
\ No newline at end of file
diff --git a/docs/components/imagegencallcompletedevent.mdx b/docs/components/imagegencallcompletedevent.mdx
index 2ca428b1..0046aaad 100644
--- a/docs/components/imagegencallcompletedevent.mdx
+++ b/docs/components/imagegencallcompletedevent.mdx
@@ -12,4 +12,4 @@ Image generation call completed
| `item_id` | *str* | :heavy_check_mark: | N/A |
| `output_index` | *int* | :heavy_check_mark: | N/A |
| `sequence_number` | *int* | :heavy_check_mark: | N/A |
-| `type` | [components.ImageGenCallCompletedEventType](../components/imagegencallcompletedeventtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.ImageGenCallCompletedEventType](../components/imagegencallcompletedeventtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/imagegencallgeneratingevent.mdx b/docs/components/imagegencallgeneratingevent.mdx
index eb3a1af6..724310fe 100644
--- a/docs/components/imagegencallgeneratingevent.mdx
+++ b/docs/components/imagegencallgeneratingevent.mdx
@@ -12,4 +12,4 @@ Image generation call is generating
| `item_id` | *str* | :heavy_check_mark: | N/A |
| `output_index` | *int* | :heavy_check_mark: | N/A |
| `sequence_number` | *int* | :heavy_check_mark: | N/A |
-| `type` | [components.ImageGenCallGeneratingEventType](../components/imagegencallgeneratingeventtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.ImageGenCallGeneratingEventType](../components/imagegencallgeneratingeventtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/imagegencallinprogressevent.mdx b/docs/components/imagegencallinprogressevent.mdx
index 72ce2bb4..d49da69b 100644
--- a/docs/components/imagegencallinprogressevent.mdx
+++ b/docs/components/imagegencallinprogressevent.mdx
@@ -12,4 +12,4 @@ Image generation call in progress
| `item_id` | *str* | :heavy_check_mark: | N/A |
| `output_index` | *int* | :heavy_check_mark: | N/A |
| `sequence_number` | *int* | :heavy_check_mark: | N/A |
-| `type` | [components.ImageGenCallInProgressEventType](../components/imagegencallinprogresseventtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.ImageGenCallInProgressEventType](../components/imagegencallinprogresseventtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/imagegencallpartialimageevent.mdx b/docs/components/imagegencallpartialimageevent.mdx
index a3b82a92..c8bcbe56 100644
--- a/docs/components/imagegencallpartialimageevent.mdx
+++ b/docs/components/imagegencallpartialimageevent.mdx
@@ -14,4 +14,4 @@ Image generation call with partial image
| `partial_image_b64` | *str* | :heavy_check_mark: | N/A |
| `partial_image_index` | *int* | :heavy_check_mark: | N/A |
| `sequence_number` | *int* | :heavy_check_mark: | N/A |
-| `type` | [components.ImageGenCallPartialImageEventType](../components/imagegencallpartialimageeventtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.ImageGenCallPartialImageEventType](../components/imagegencallpartialimageeventtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/imagegencompletedevent.mdx b/docs/components/imagegencompletedevent.mdx
index 247d9e47..0298ef1d 100644
--- a/docs/components/imagegencompletedevent.mdx
+++ b/docs/components/imagegencompletedevent.mdx
@@ -12,5 +12,5 @@ Emitted when generation completes and the final image is available
| `b64_json` | *str* | :heavy_check_mark: | Base64-encoded final image data | |
| `created` | *int* | :heavy_check_mark: | Unix timestamp (seconds) when the image was generated | |
| `media_type` | *Optional[str]* | :heavy_minus_sign: | Media type (MIME type) of the image, e.g. `image/png`, `image/jpeg`, `image/webp`, `image/svg+xml`. May be omitted if the format could not be determined. | image/png |
-| `type` | [components.ImageGenCompletedEventType](../components/imagegencompletedeventtype.mdx) | :heavy_check_mark: | The event type | |
-| `usage` | [Optional[components.ImageGenerationUsage]](../components/imagegenerationusage.mdx) | :heavy_minus_sign: | Token and cost usage for the image generation request, when available | \{
"completion_tokens": 4175,
"cost": 0.04,
"prompt_tokens": 0,
"total_tokens": 4175
} |
\ No newline at end of file
+| `type` | [components.ImageGenCompletedEventType](../components/imagegencompletedeventtype) | :heavy_check_mark: | The event type | |
+| `usage` | [Optional[components.ImageGenerationUsage]](../components/imagegenerationusage) | :heavy_minus_sign: | Token and cost usage for the image generation request, when available | \{
"completion_tokens": 4175,
"cost": 0.04,
"prompt_tokens": 0,
"total_tokens": 4175
} |
\ No newline at end of file
diff --git a/docs/components/imagegenerationproviderpreferences.mdx b/docs/components/imagegenerationproviderpreferences.mdx
index b98f786f..5e8f03c1 100644
--- a/docs/components/imagegenerationproviderpreferences.mdx
+++ b/docs/components/imagegenerationproviderpreferences.mdx
@@ -10,8 +10,8 @@ Provider routing preferences and provider-specific passthrough configuration.
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `allow_fallbacks` | *OptionalNullable[bool]* | :heavy_minus_sign: | Whether to allow backup providers to serve requests
- true: (default) when the primary provider (or your custom providers in "order") is unavailable, use the next best provider.
- false: use only the primary/custom provider, and return the upstream error if it's unavailable.
| |
-| `ignore` | List[[components.ImageGenerationProviderPreferencesIgnore](../components/imagegenerationproviderpreferencesignore.mdx)] | :heavy_minus_sign: | List of provider slugs to ignore. If provided, this list is merged with your account-wide ignored provider settings for this request. | [
"openai",
"anthropic"
] |
-| `only` | List[[components.ImageGenerationProviderPreferencesOnly](../components/imagegenerationproviderpreferencesonly.mdx)] | :heavy_minus_sign: | List of provider slugs to allow. If provided, this list is merged with your account-wide allowed provider settings for this request. | [
"openai",
"anthropic"
] |
-| `options` | [Optional[components.ImageGenerationProviderPreferencesOptions]](../components/imagegenerationproviderpreferencesoptions.mdx) | :heavy_minus_sign: | N/A | \{
"black-forest-labs": \{
"guidance": 3,
"steps": 40
}
} |
-| `order` | List[[components.ImageGenerationProviderPreferencesOrder](../components/imagegenerationproviderpreferencesorder.mdx)] | :heavy_minus_sign: | An ordered list of provider slugs. The router will attempt to use the first provider in the subset of this list that supports your requested model, and fall back to the next if it is unavailable. If no providers are available, the request will fail with an error message. | [
"openai",
"anthropic"
] |
-| `sort` | [OptionalNullable[components.ImageGenerationProviderPreferencesSort]](../components/imagegenerationproviderpreferencessort.mdx) | :heavy_minus_sign: | The sorting strategy to use for this request, if "order" is not specified. When set, no load balancing is performed. | price |
\ No newline at end of file
+| `ignore` | List[[components.ImageGenerationProviderPreferencesIgnore](../components/imagegenerationproviderpreferencesignore)] | :heavy_minus_sign: | List of provider slugs to ignore. If provided, this list is merged with your account-wide ignored provider settings for this request. | [
"openai",
"anthropic"
] |
+| `only` | List[[components.ImageGenerationProviderPreferencesOnly](../components/imagegenerationproviderpreferencesonly)] | :heavy_minus_sign: | List of provider slugs to allow. If provided, this list is merged with your account-wide allowed provider settings for this request. | [
"openai",
"anthropic"
] |
+| `options` | [Optional[components.ImageGenerationProviderPreferencesOptions]](../components/imagegenerationproviderpreferencesoptions) | :heavy_minus_sign: | N/A | \{
"black-forest-labs": \{
"guidance": 3,
"steps": 40
}
} |
+| `order` | List[[components.ImageGenerationProviderPreferencesOrder](../components/imagegenerationproviderpreferencesorder)] | :heavy_minus_sign: | An ordered list of provider slugs. The router will attempt to use the first provider in the subset of this list that supports your requested model, and fall back to the next if it is unavailable. If no providers are available, the request will fail with an error message. | [
"openai",
"anthropic"
] |
+| `sort` | [OptionalNullable[components.ImageGenerationProviderPreferencesSort]](../components/imagegenerationproviderpreferencessort) | :heavy_minus_sign: | The sorting strategy to use for this request, if "order" is not specified. When set, no load balancing is performed. | price |
\ No newline at end of file
diff --git a/docs/components/imagegenerationrequest.mdx b/docs/components/imagegenerationrequest.mdx
index 36805ca3..a25ea7bb 100644
--- a/docs/components/imagegenerationrequest.mdx
+++ b/docs/components/imagegenerationrequest.mdx
@@ -9,17 +9,17 @@ Image generation request input
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `aspect_ratio` | [Optional[components.ImageGenerationRequestAspectRatio]](../components/imagegenerationrequestaspectratio.mdx) | :heavy_minus_sign: | Normalized aspect ratio of the generated image. Providers clamp to their supported subset. | 16:9 |
-| `background` | [Optional[components.ImageGenerationRequestBackground]](../components/imagegenerationrequestbackground.mdx) | :heavy_minus_sign: | Background treatment. `transparent` requires an output_format that supports alpha (png or webp). | auto |
-| `input_references` | List[[components.ContentPartImage](../components/contentpartimage.mdx)] | :heavy_minus_sign: | Reference images to guide image-to-image generation, as base64 data URLs or HTTP(S) URLs. | |
+| `aspect_ratio` | [Optional[components.ImageGenerationRequestAspectRatio]](../components/imagegenerationrequestaspectratio) | :heavy_minus_sign: | Normalized aspect ratio of the generated image. Providers clamp to their supported subset. | 16:9 |
+| `background` | [Optional[components.ImageGenerationRequestBackground]](../components/imagegenerationrequestbackground) | :heavy_minus_sign: | Background treatment. `transparent` requires an output_format that supports alpha (png or webp). | auto |
+| `input_references` | List[[components.ContentPartImage](../components/contentpartimage)] | :heavy_minus_sign: | Reference images to guide image-to-image generation, as base64 data URLs or HTTP(S) URLs. | |
| `model` | *str* | :heavy_check_mark: | The image generation model to use | bytedance-seed/seedream-4.5 |
| `n` | *Optional[int]* | :heavy_minus_sign: | Number of images to generate (1-10). Providers that only support single-image generation reject n > 1. | 1 |
| `output_compression` | *Optional[int]* | :heavy_minus_sign: | Compression level (0-100) for webp/jpeg output. Ignored for png and by providers without a compression knob. | 100 |
-| `output_format` | [Optional[components.ImageGenerationRequestOutputFormat]](../components/imagegenerationrequestoutputformat.mdx) | :heavy_minus_sign: | Encoding of the returned image bytes. Most models produce raster formats (png, jpeg, webp). SVG is supported by vectorization models (e.g. Quiver) — the SVG markup is UTF-8 base64-encoded in `b64_json`. | png |
+| `output_format` | [Optional[components.ImageGenerationRequestOutputFormat]](../components/imagegenerationrequestoutputformat) | :heavy_minus_sign: | Encoding of the returned image bytes. Most models produce raster formats (png, jpeg, webp). SVG is supported by vectorization models (e.g. Quiver) — the SVG markup is UTF-8 base64-encoded in `b64_json`. | png |
| `prompt` | *str* | :heavy_check_mark: | Text description of the desired image | a red panda astronaut floating in space, studio lighting |
-| `provider` | [Optional[components.ImageGenerationProviderPreferences]](../components/imagegenerationproviderpreferences.mdx) | :heavy_minus_sign: | Provider routing preferences and provider-specific passthrough configuration. | \{
"allow_fallbacks": false,
"only": [
"google-ai-studio"
]
} |
-| `quality` | [Optional[components.ImageGenerationRequestQuality]](../components/imagegenerationrequestquality.mdx) | :heavy_minus_sign: | Rendering quality. Providers without a quality knob ignore this. | high |
-| `resolution` | [Optional[components.ImageGenerationRequestResolution]](../components/imagegenerationrequestresolution.mdx) | :heavy_minus_sign: | Normalized resolution tier of the generated image. Concrete pixel dimensions are derived per-provider. | 2K |
+| `provider` | [Optional[components.ImageGenerationProviderPreferences]](../components/imagegenerationproviderpreferences) | :heavy_minus_sign: | Provider routing preferences and provider-specific passthrough configuration. | \{
"allow_fallbacks": false,
"only": [
"google-ai-studio"
]
} |
+| `quality` | [Optional[components.ImageGenerationRequestQuality]](../components/imagegenerationrequestquality) | :heavy_minus_sign: | Rendering quality. Providers without a quality knob ignore this. | high |
+| `resolution` | [Optional[components.ImageGenerationRequestResolution]](../components/imagegenerationrequestresolution) | :heavy_minus_sign: | Normalized resolution tier of the generated image. Concrete pixel dimensions are derived per-provider. | 2K |
| `seed` | *Optional[int]* | :heavy_minus_sign: | If specified, the generation will sample deterministically, such that repeated requests with the same seed and parameters should return the same result. Determinism is not guaranteed for all providers. | |
| `size` | *Optional[str]* | :heavy_minus_sign: | Optional. A convenience shorthand for output dimensions — pass a tier ("2K", "4K") or explicit pixels ("2048x2048") and we normalize it to the right dimensions for the chosen provider. A tier size is equivalent to setting `resolution` and combines with `aspect_ratio`. An explicit pixel size is authoritative: a mismatched `resolution` or `aspect_ratio` alongside it is rejected with a 400. | 2K |
| `stream` | *Optional[bool]* | :heavy_minus_sign: | If true, partial images are streamed as SSE events as they become available. Only supported by providers with native streaming (currently OpenAI). Non-streaming providers ignore this flag and return a buffered response. | |
\ No newline at end of file
diff --git a/docs/components/imagegenerationresponse.mdx b/docs/components/imagegenerationresponse.mdx
index b6e0e2c0..d277d3e9 100644
--- a/docs/components/imagegenerationresponse.mdx
+++ b/docs/components/imagegenerationresponse.mdx
@@ -10,5 +10,5 @@ Image generation response
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
| `created` | *int* | :heavy_check_mark: | Unix timestamp (seconds) when the image was generated | 1748372400 |
-| `data` | List[[components.ImageGenerationResponseData](../components/imagegenerationresponsedata.mdx)] | :heavy_check_mark: | Generated images | |
-| `usage` | [Optional[components.ImageGenerationUsage]](../components/imagegenerationusage.mdx) | :heavy_minus_sign: | Token and cost usage for the image generation request, when available | \{
"completion_tokens": 4175,
"cost": 0.04,
"prompt_tokens": 0,
"total_tokens": 4175
} |
\ No newline at end of file
+| `data` | List[[components.ImageGenerationResponseData](../components/imagegenerationresponsedata)] | :heavy_check_mark: | Generated images | |
+| `usage` | [Optional[components.ImageGenerationUsage]](../components/imagegenerationusage) | :heavy_minus_sign: | Token and cost usage for the image generation request, when available | \{
"completion_tokens": 4175,
"cost": 0.04,
"prompt_tokens": 0,
"total_tokens": 4175
} |
\ No newline at end of file
diff --git a/docs/components/imagegenerationservertool.mdx b/docs/components/imagegenerationservertool.mdx
index c620407a..836b6fc8 100644
--- a/docs/components/imagegenerationservertool.mdx
+++ b/docs/components/imagegenerationservertool.mdx
@@ -9,14 +9,14 @@ Image generation tool configuration
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
-| `background` | [Optional[components.ImageGenerationServerToolBackground]](../components/imagegenerationservertoolbackground.mdx) | :heavy_minus_sign: | N/A |
-| `input_fidelity` | [OptionalNullable[components.InputFidelity]](../components/inputfidelity.mdx) | :heavy_minus_sign: | N/A |
-| `input_image_mask` | [Optional[components.InputImageMask]](../components/inputimagemask.mdx) | :heavy_minus_sign: | N/A |
+| `background` | [Optional[components.ImageGenerationServerToolBackground]](../components/imagegenerationservertoolbackground) | :heavy_minus_sign: | N/A |
+| `input_fidelity` | [OptionalNullable[components.InputFidelity]](../components/inputfidelity) | :heavy_minus_sign: | N/A |
+| `input_image_mask` | [Optional[components.InputImageMask]](../components/inputimagemask) | :heavy_minus_sign: | N/A |
| `model` | *Optional[str]* | :heavy_minus_sign: | N/A |
-| `moderation` | [Optional[components.Moderation]](../components/moderation.mdx) | :heavy_minus_sign: | N/A |
+| `moderation` | [Optional[components.Moderation]](../components/moderation) | :heavy_minus_sign: | N/A |
| `output_compression` | *Optional[int]* | :heavy_minus_sign: | N/A |
-| `output_format` | [Optional[components.ImageGenerationServerToolOutputFormat]](../components/imagegenerationservertooloutputformat.mdx) | :heavy_minus_sign: | N/A |
+| `output_format` | [Optional[components.ImageGenerationServerToolOutputFormat]](../components/imagegenerationservertooloutputformat) | :heavy_minus_sign: | N/A |
| `partial_images` | *Optional[int]* | :heavy_minus_sign: | N/A |
-| `quality` | [Optional[components.ImageGenerationServerToolQuality]](../components/imagegenerationservertoolquality.mdx) | :heavy_minus_sign: | N/A |
+| `quality` | [Optional[components.ImageGenerationServerToolQuality]](../components/imagegenerationservertoolquality) | :heavy_minus_sign: | N/A |
| `size` | *Optional[str]* | :heavy_minus_sign: | N/A |
-| `type` | [components.ImageGenerationServerToolType](../components/imagegenerationservertooltype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.ImageGenerationServerToolType](../components/imagegenerationservertooltype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/imagegenerationservertoolconfig.mdx b/docs/components/imagegenerationservertoolconfig.mdx
index 3fc78f9b..53fd0055 100644
--- a/docs/components/imagegenerationservertoolconfig.mdx
+++ b/docs/components/imagegenerationservertoolconfig.mdx
@@ -10,4 +10,4 @@ Configuration for the openrouter:image_generation server tool. Accepts all image
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
| `model` | *Optional[str]* | :heavy_minus_sign: | Which image generation model to use (e.g. "openai/gpt-5-image"). Defaults to "openai/gpt-5-image". | openai/gpt-5-image |
-| `__pydantic_extra__` | Dict[str, [components.ImageGenerationServerToolConfigUnion](../components/imagegenerationservertoolconfigunion.mdx)] | :heavy_minus_sign: | N/A | \{
"aspect_ratio": "16:9",
"model": "openai/gpt-5-image",
"quality": "high"
} |
\ No newline at end of file
+| `__pydantic_extra__` | Dict[str, [components.ImageGenerationServerToolConfigUnion](../components/imagegenerationservertoolconfigunion)] | :heavy_minus_sign: | N/A | \{
"aspect_ratio": "16:9",
"model": "openai/gpt-5-image",
"quality": "high"
} |
\ No newline at end of file
diff --git a/docs/components/imagegenerationservertoolopenrouter.mdx b/docs/components/imagegenerationservertoolopenrouter.mdx
index 0caf29cf..bd9f501e 100644
--- a/docs/components/imagegenerationservertoolopenrouter.mdx
+++ b/docs/components/imagegenerationservertoolopenrouter.mdx
@@ -9,5 +9,5 @@ OpenRouter built-in server tool: generates images from text prompts using an ima
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `parameters` | [Optional[components.ImageGenerationServerToolConfig]](../components/imagegenerationservertoolconfig.mdx) | :heavy_minus_sign: | Configuration for the openrouter:image_generation server tool. Accepts all image_config params (aspect_ratio, quality, size, background, output_format, output_compression, moderation, etc.) plus a model field. | \{
"aspect_ratio": "16:9",
"model": "openai/gpt-5-image",
"quality": "high"
} |
-| `type` | [components.ImageGenerationServerToolOpenRouterType](../components/imagegenerationservertoolopenroutertype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `parameters` | [Optional[components.ImageGenerationServerToolConfig]](../components/imagegenerationservertoolconfig) | :heavy_minus_sign: | Configuration for the openrouter:image_generation server tool. Accepts all image_config params (aspect_ratio, quality, size, background, output_format, output_compression, moderation, etc.) plus a model field. | \{
"aspect_ratio": "16:9",
"model": "openai/gpt-5-image",
"quality": "high"
} |
+| `type` | [components.ImageGenerationServerToolOpenRouterType](../components/imagegenerationservertoolopenroutertype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/imagegenerationusage.mdx b/docs/components/imagegenerationusage.mdx
index cb01cf31..6b3a6822 100644
--- a/docs/components/imagegenerationusage.mdx
+++ b/docs/components/imagegenerationusage.mdx
@@ -9,16 +9,16 @@ Token and cost usage for the image generation request, when available
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
-| `cache_creation` | [OptionalNullable[components.AnthropicCacheCreation]](../components/anthropiccachecreation.mdx) | :heavy_minus_sign: | N/A | \{
"ephemeral_1h_input_tokens": 0,
"ephemeral_5m_input_tokens": 100
} |
+| `cache_creation` | [OptionalNullable[components.AnthropicCacheCreation]](../components/anthropiccachecreation) | :heavy_minus_sign: | N/A | \{
"ephemeral_1h_input_tokens": 0,
"ephemeral_5m_input_tokens": 100
} |
| `completion_tokens` | *int* | :heavy_check_mark: | The tokens generated | |
-| `completion_tokens_details` | [OptionalNullable[components.ImageGenerationUsageCompletionTokensDetails]](../components/imagegenerationusagecompletiontokensdetails.mdx) | :heavy_minus_sign: | N/A | |
+| `completion_tokens_details` | [OptionalNullable[components.ImageGenerationUsageCompletionTokensDetails]](../components/imagegenerationusagecompletiontokensdetails) | :heavy_minus_sign: | N/A | |
| `cost` | *OptionalNullable[float]* | :heavy_minus_sign: | Cost of the completion | |
-| `cost_details` | [OptionalNullable[components.CostDetails]](../components/costdetails.mdx) | :heavy_minus_sign: | Breakdown of upstream inference costs | \{
"upstream_inference_completions_cost": 0.0004,
"upstream_inference_cost": null,
"upstream_inference_prompt_cost": 0.0008
} |
+| `cost_details` | [OptionalNullable[components.CostDetails]](../components/costdetails) | :heavy_minus_sign: | Breakdown of upstream inference costs | \{
"upstream_inference_completions_cost": 0.0004,
"upstream_inference_cost": null,
"upstream_inference_prompt_cost": 0.0008
} |
| `is_byok` | *Optional[bool]* | :heavy_minus_sign: | Whether a request was made using a Bring Your Own Key configuration | |
-| `iterations` | List[[components.AnthropicUsageIteration](../components/anthropicusageiteration.mdx)] | :heavy_minus_sign: | N/A | |
+| `iterations` | List[[components.AnthropicUsageIteration](../components/anthropicusageiteration)] | :heavy_minus_sign: | N/A | |
| `prompt_tokens` | *int* | :heavy_check_mark: | Including images, input audio, and tools if any | |
-| `prompt_tokens_details` | [OptionalNullable[components.ImageGenerationUsagePromptTokensDetails]](../components/imagegenerationusageprompttokensdetails.mdx) | :heavy_minus_sign: | Breakdown of tokens used in the prompt. | |
-| `server_tool_use` | [OptionalNullable[components.ServerToolUse]](../components/servertooluse.mdx) | :heavy_minus_sign: | Usage for server-side tool execution (e.g., web search) | |
+| `prompt_tokens_details` | [OptionalNullable[components.ImageGenerationUsagePromptTokensDetails]](../components/imagegenerationusageprompttokensdetails) | :heavy_minus_sign: | Breakdown of tokens used in the prompt. | |
+| `server_tool_use` | [OptionalNullable[components.ServerToolUse]](../components/servertooluse) | :heavy_minus_sign: | Usage for server-side tool execution (e.g., web search) | |
| `service_tier` | *OptionalNullable[str]* | :heavy_minus_sign: | The service tier used by the upstream provider for this request | |
-| `speed` | [OptionalNullable[components.AnthropicSpeed]](../components/anthropicspeed.mdx) | :heavy_minus_sign: | N/A | standard |
+| `speed` | [OptionalNullable[components.AnthropicSpeed]](../components/anthropicspeed) | :heavy_minus_sign: | N/A | standard |
| `total_tokens` | *int* | :heavy_check_mark: | Sum of the above two fields | |
\ No newline at end of file
diff --git a/docs/components/imagegenpartialimageevent.mdx b/docs/components/imagegenpartialimageevent.mdx
index b081c114..3813c9cb 100644
--- a/docs/components/imagegenpartialimageevent.mdx
+++ b/docs/components/imagegenpartialimageevent.mdx
@@ -11,4 +11,4 @@ Emitted when a partial image becomes available during streaming generation
| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ |
| `b64_json` | *str* | :heavy_check_mark: | Base64-encoded partial image data |
| `partial_image_index` | *int* | :heavy_check_mark: | 0-based index indicating which partial image this is in the sequence |
-| `type` | [components.ImageGenPartialImageEventType](../components/imagegenpartialimageeventtype.mdx) | :heavy_check_mark: | The event type |
\ No newline at end of file
+| `type` | [components.ImageGenPartialImageEventType](../components/imagegenpartialimageeventtype) | :heavy_check_mark: | The event type |
\ No newline at end of file
diff --git a/docs/components/imagegenstreamerrorevent.mdx b/docs/components/imagegenstreamerrorevent.mdx
index befd4424..4b8d7927 100644
--- a/docs/components/imagegenstreamerrorevent.mdx
+++ b/docs/components/imagegenstreamerrorevent.mdx
@@ -9,5 +9,5 @@ Emitted when streaming generation fails after the SSE response starts
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ |
-| `error` | [components.ImageGenStreamErrorEventError](../components/imagegenstreamerroreventerror.mdx) | :heavy_check_mark: | Provider error details |
-| `type` | [components.ImageGenStreamErrorEventType](../components/imagegenstreamerroreventtype.mdx) | :heavy_check_mark: | The event type |
\ No newline at end of file
+| `error` | [components.ImageGenStreamErrorEventError](../components/imagegenstreamerroreventerror) | :heavy_check_mark: | Provider error details |
+| `type` | [components.ImageGenStreamErrorEventType](../components/imagegenstreamerroreventtype) | :heavy_check_mark: | The event type |
\ No newline at end of file
diff --git a/docs/components/imagegentextchunkevent.mdx b/docs/components/imagegentextchunkevent.mdx
index 9c2837aa..d67b4dcc 100644
--- a/docs/components/imagegentextchunkevent.mdx
+++ b/docs/components/imagegentextchunkevent.mdx
@@ -9,6 +9,6 @@ Emitted when a text chunk becomes available during streaming generation of text-
| Field | Type | Required | Description |
| ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
-| `phase` | [components.ImageGenTextChunkEventPhase](../components/imagegentextchunkeventphase.mdx) | :heavy_check_mark: | The generation phase this chunk belongs to. `content` is the renderable output; `reasoning` and `draft` are intermediate provider phases. |
+| `phase` | [components.ImageGenTextChunkEventPhase](../components/imagegentextchunkeventphase) | :heavy_check_mark: | The generation phase this chunk belongs to. `content` is the renderable output; `reasoning` and `draft` are intermediate provider phases. |
| `text` | *str* | :heavy_check_mark: | A text fragment of the image being generated (e.g. partial SVG markup) |
-| `type` | [components.ImageGenTextChunkEventType](../components/imagegentextchunkeventtype.mdx) | :heavy_check_mark: | The event type |
\ No newline at end of file
+| `type` | [components.ImageGenTextChunkEventType](../components/imagegentextchunkeventtype) | :heavy_check_mark: | The event type |
\ No newline at end of file
diff --git a/docs/components/imagemodelarchitecture.mdx b/docs/components/imagemodelarchitecture.mdx
index 860b6629..f69ef313 100644
--- a/docs/components/imagemodelarchitecture.mdx
+++ b/docs/components/imagemodelarchitecture.mdx
@@ -6,5 +6,5 @@ title: "ImageModelArchitecture"
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
-| `input_modalities` | List[[components.ImageInputModality](../components/imageinputmodality.mdx)] | :heavy_check_mark: | Supported input modalities |
-| `output_modalities` | List[[components.ImageOutputModality](../components/imageoutputmodality.mdx)] | :heavy_check_mark: | Supported output modalities |
\ No newline at end of file
+| `input_modalities` | List[[components.ImageInputModality](../components/imageinputmodality)] | :heavy_check_mark: | Supported input modalities |
+| `output_modalities` | List[[components.ImageOutputModality](../components/imageoutputmodality)] | :heavy_check_mark: | Supported output modalities |
\ No newline at end of file
diff --git a/docs/components/imagemodelendpointsresponse.mdx b/docs/components/imagemodelendpointsresponse.mdx
index 7d3ec9cc..79b87c9f 100644
--- a/docs/components/imagemodelendpointsresponse.mdx
+++ b/docs/components/imagemodelendpointsresponse.mdx
@@ -9,5 +9,5 @@ The full per-endpoint records for an image model.
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- |
-| `endpoints` | List[[components.ImageEndpoint](../components/imageendpoint.mdx)] | :heavy_check_mark: | N/A | |
+| `endpoints` | List[[components.ImageEndpoint](../components/imageendpoint)] | :heavy_check_mark: | N/A | |
| `id` | *str* | :heavy_check_mark: | Model slug | bytedance-seed/seedream-4.5 |
\ No newline at end of file
diff --git a/docs/components/imagemodellistitem.mdx b/docs/components/imagemodellistitem.mdx
index 633c99be..bc0a603c 100644
--- a/docs/components/imagemodellistitem.mdx
+++ b/docs/components/imagemodellistitem.mdx
@@ -9,11 +9,11 @@ A single image model in the discovery listing.
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `architecture` | [components.ImageModelArchitecture](../components/imagemodelarchitecture.mdx) | :heavy_check_mark: | N/A | \{
"input_modalities": [
"text",
"image"
],
"output_modalities": [
"image"
]
} |
+| `architecture` | [components.ImageModelArchitecture](../components/imagemodelarchitecture) | :heavy_check_mark: | N/A | \{
"input_modalities": [
"text",
"image"
],
"output_modalities": [
"image"
]
} |
| `created` | *int* | :heavy_check_mark: | Unix timestamp (seconds) of when the model was created | 1692901234 |
| `description` | *str* | :heavy_check_mark: | N/A | A text-to-image model. |
| `endpoints` | *str* | :heavy_check_mark: | Relative URL to the full per-endpoint records for this model | /api/v1/images/models/bytedance-seed/seedream-4.5/endpoints |
| `id` | *str* | :heavy_check_mark: | Model slug | bytedance-seed/seedream-4.5 |
| `name` | *str* | :heavy_check_mark: | Display name | Seedream 4.5 |
-| `supported_parameters` | Dict[str, [components.CapabilityDescriptor](../components/capabilitydescriptor.mdx)] | :heavy_check_mark: | Union of supported parameters across every endpoint of this model. Coarse discovery aid; the definitive per-endpoint set is behind the endpoints URL. | \{
"output_compression": \{
"max": 100,
"min": 0,
"type": "range"
},
"resolution": \{
"type": "enum",
"values": [
"1K",
"2K",
"4K"
]
},
"seed": \{
"type": "boolean"
}
} |
+| `supported_parameters` | Dict[str, [components.CapabilityDescriptor](../components/capabilitydescriptor)] | :heavy_check_mark: | Union of supported parameters across every endpoint of this model. Coarse discovery aid; the definitive per-endpoint set is behind the endpoints URL. | \{
"output_compression": \{
"max": 100,
"min": 0,
"type": "range"
},
"resolution": \{
"type": "enum",
"values": [
"1K",
"2K",
"4K"
]
},
"seed": \{
"type": "boolean"
}
} |
| `supports_streaming` | *bool* | :heavy_check_mark: | Whether any endpoint of this model supports native SSE streaming on the dedicated Image API (i.e. `stream: true` in the request). OR across endpoints. | false |
\ No newline at end of file
diff --git a/docs/components/imagemodelslistresponse.mdx b/docs/components/imagemodelslistresponse.mdx
index b5d695bd..74247826 100644
--- a/docs/components/imagemodelslistresponse.mdx
+++ b/docs/components/imagemodelslistresponse.mdx
@@ -9,4 +9,4 @@ List of image generation models.
| Field | Type | Required | Description |
| -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- |
-| `data` | List[[components.ImageModelListItem](../components/imagemodellistitem.mdx)] | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `data` | List[[components.ImageModelListItem](../components/imagemodellistitem)] | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/imagepricingentry.mdx b/docs/components/imagepricingentry.mdx
index 8381e7e7..435ba816 100644
--- a/docs/components/imagepricingentry.mdx
+++ b/docs/components/imagepricingentry.mdx
@@ -9,7 +9,7 @@ One billable pricing line for an image provider.
| Field | Type | Required | Description |
| ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ |
-| `billable` | [components.Billable](../components/billable.mdx) | :heavy_check_mark: | N/A |
+| `billable` | [components.Billable](../components/billable) | :heavy_check_mark: | N/A |
| `cost_usd` | *float* | :heavy_check_mark: | N/A |
-| `unit` | [components.Unit](../components/unit.mdx) | :heavy_check_mark: | N/A |
+| `unit` | [components.Unit](../components/unit) | :heavy_check_mark: | N/A |
| `variant` | *Optional[str]* | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/docs/components/imagestreamingresponse.mdx b/docs/components/imagestreamingresponse.mdx
index 8aad6cc3..a9ec6549 100644
--- a/docs/components/imagestreamingresponse.mdx
+++ b/docs/components/imagestreamingresponse.mdx
@@ -6,4 +6,4 @@ title: "ImageStreamingResponse"
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ |
-| `data` | [components.ImageStreamingResponseData](../components/imagestreamingresponsedata.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `data` | [components.ImageStreamingResponseData](../components/imagestreamingresponsedata) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/incompletedetails.mdx b/docs/components/incompletedetails.mdx
index 7c1490a5..924b8c59 100644
--- a/docs/components/incompletedetails.mdx
+++ b/docs/components/incompletedetails.mdx
@@ -6,4 +6,4 @@ title: "IncompleteDetails"
| Field | Type | Required | Description |
| ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ |
-| `reason` | [Optional[components.Reason]](../components/reason.mdx) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `reason` | [Optional[components.Reason]](../components/reason) | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/docs/components/inputaudio.mdx b/docs/components/inputaudio.mdx
index 54aba1db..9601e244 100644
--- a/docs/components/inputaudio.mdx
+++ b/docs/components/inputaudio.mdx
@@ -9,5 +9,5 @@ Audio input content item
| Field | Type | Required | Description |
| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ |
-| `input_audio` | [components.InputAudioInputAudio](../components/inputaudioinputaudio.mdx) | :heavy_check_mark: | N/A |
-| `type` | [components.InputAudioType](../components/inputaudiotype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `input_audio` | [components.InputAudioInputAudio](../components/inputaudioinputaudio) | :heavy_check_mark: | N/A |
+| `type` | [components.InputAudioType](../components/inputaudiotype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/inputaudioinputaudio.mdx b/docs/components/inputaudioinputaudio.mdx
index 29ec9c92..bf313803 100644
--- a/docs/components/inputaudioinputaudio.mdx
+++ b/docs/components/inputaudioinputaudio.mdx
@@ -7,4 +7,4 @@ title: "InputAudioInputAudio"
| Field | Type | Required | Description |
| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- |
| `data` | *str* | :heavy_check_mark: | N/A |
-| `format_` | [components.FormatEnum](../components/formatenum.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `format_` | [components.FormatEnum](../components/formatenum) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/inputfile.mdx b/docs/components/inputfile.mdx
index 2e4a15d5..643203aa 100644
--- a/docs/components/inputfile.mdx
+++ b/docs/components/inputfile.mdx
@@ -13,4 +13,4 @@ File input content item
| `file_id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A |
| `file_url` | *Optional[str]* | :heavy_minus_sign: | N/A |
| `filename` | *Optional[str]* | :heavy_minus_sign: | N/A |
-| `type` | [components.InputFileType](../components/inputfiletype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.InputFileType](../components/inputfiletype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/inputimage.mdx b/docs/components/inputimage.mdx
index 294eb9b5..d53aa5e5 100644
--- a/docs/components/inputimage.mdx
+++ b/docs/components/inputimage.mdx
@@ -9,6 +9,6 @@ Image input content item
| Field | Type | Required | Description |
| ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- |
-| `detail` | [components.InputImageDetail](../components/inputimagedetail.mdx) | :heavy_check_mark: | N/A |
+| `detail` | [components.InputImageDetail](../components/inputimagedetail) | :heavy_check_mark: | N/A |
| `image_url` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A |
-| `type` | [components.InputImageType](../components/inputimagetype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.InputImageType](../components/inputimagetype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/inputmessageitem.mdx b/docs/components/inputmessageitem.mdx
index 0a2f6e5d..979ed17f 100644
--- a/docs/components/inputmessageitem.mdx
+++ b/docs/components/inputmessageitem.mdx
@@ -6,7 +6,7 @@ title: "InputMessageItem"
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ |
-| `content` | List[[components.InputMessageItemContentUnion](../components/inputmessageitemcontentunion.mdx)] | :heavy_minus_sign: | N/A |
+| `content` | List[[components.InputMessageItemContentUnion](../components/inputmessageitemcontentunion)] | :heavy_minus_sign: | N/A |
| `id` | *Optional[str]* | :heavy_minus_sign: | N/A |
-| `role` | [components.InputMessageItemRoleUnion](../components/inputmessageitemroleunion.mdx) | :heavy_check_mark: | N/A |
-| `type` | [Optional[components.InputMessageItemTypeMessage]](../components/inputmessageitemtypemessage.mdx) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `role` | [components.InputMessageItemRoleUnion](../components/inputmessageitemroleunion) | :heavy_check_mark: | N/A |
+| `type` | [Optional[components.InputMessageItemTypeMessage]](../components/inputmessageitemtypemessage) | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/docs/components/inputmessageitemcontentinputimage.mdx b/docs/components/inputmessageitemcontentinputimage.mdx
index d029dec1..a9c59f75 100644
--- a/docs/components/inputmessageitemcontentinputimage.mdx
+++ b/docs/components/inputmessageitemcontentinputimage.mdx
@@ -9,6 +9,6 @@ Image input content item
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
-| `detail` | [components.InputMessageItemDetail](../components/inputmessageitemdetail.mdx) | :heavy_check_mark: | N/A |
+| `detail` | [components.InputMessageItemDetail](../components/inputmessageitemdetail) | :heavy_check_mark: | N/A |
| `image_url` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A |
-| `type` | [components.InputMessageItemTypeInputImage](../components/inputmessageitemtypeinputimage.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.InputMessageItemTypeInputImage](../components/inputmessageitemtypeinputimage) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/inputsmessage.mdx b/docs/components/inputsmessage.mdx
index 60f7bd2f..02ac97cf 100644
--- a/docs/components/inputsmessage.mdx
+++ b/docs/components/inputsmessage.mdx
@@ -9,9 +9,9 @@ An output message item
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `content` | [Nullable[components.InputsContent2]](../components/inputscontent2.mdx) | :heavy_check_mark: | N/A |
+| `content` | [Nullable[components.InputsContent2]](../components/inputscontent2) | :heavy_check_mark: | N/A |
| `id` | *str* | :heavy_check_mark: | N/A |
-| `phase` | [OptionalNullable[components.InputsPhaseUnion]](../components/inputsphaseunion.mdx) | :heavy_minus_sign: | The phase of an assistant message. Use `commentary` for an intermediate assistant message and `final_answer` for the final assistant message. For follow-up requests with models like `gpt-5.3-codex` and later, preserve and resend phase on all assistant messages. Omitting it can degrade performance. Not used for user messages. |
-| `role` | [components.InputsRole](../components/inputsrole.mdx) | :heavy_check_mark: | N/A |
-| `status` | [Optional[components.InputsStatusUnion1]](../components/inputsstatusunion1.mdx) | :heavy_minus_sign: | N/A |
-| `type` | [components.InputsTypeMessage](../components/inputstypemessage.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `phase` | [OptionalNullable[components.InputsPhaseUnion]](../components/inputsphaseunion) | :heavy_minus_sign: | The phase of an assistant message. Use `commentary` for an intermediate assistant message and `final_answer` for the final assistant message. For follow-up requests with models like `gpt-5.3-codex` and later, preserve and resend phase on all assistant messages. Omitting it can degrade performance. Not used for user messages. |
+| `role` | [components.InputsRole](../components/inputsrole) | :heavy_check_mark: | N/A |
+| `status` | [Optional[components.InputsStatusUnion1]](../components/inputsstatusunion1) | :heavy_minus_sign: | N/A |
+| `type` | [components.InputsTypeMessage](../components/inputstypemessage) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/inputsreasoning.mdx b/docs/components/inputsreasoning.mdx
index 60e9a1a6..dbc7114d 100644
--- a/docs/components/inputsreasoning.mdx
+++ b/docs/components/inputsreasoning.mdx
@@ -9,11 +9,11 @@ An output item containing reasoning
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
-| `content` | List[[components.ReasoningTextContent](../components/reasoningtextcontent.mdx)] | :heavy_minus_sign: | N/A | |
+| `content` | List[[components.ReasoningTextContent](../components/reasoningtextcontent)] | :heavy_minus_sign: | N/A | |
| `encrypted_content` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
| `id` | *str* | :heavy_check_mark: | N/A | |
-| `status` | [Optional[components.InputsStatusUnion2]](../components/inputsstatusunion2.mdx) | :heavy_minus_sign: | N/A | |
-| `summary` | List[[components.ReasoningSummaryText](../components/reasoningsummarytext.mdx)] | :heavy_check_mark: | N/A | |
-| `type` | [components.InputsTypeReasoning](../components/inputstypereasoning.mdx) | :heavy_check_mark: | N/A | |
-| `format_` | [OptionalNullable[components.ReasoningFormat]](../components/reasoningformat.mdx) | :heavy_minus_sign: | N/A | unknown |
+| `status` | [Optional[components.InputsStatusUnion2]](../components/inputsstatusunion2) | :heavy_minus_sign: | N/A | |
+| `summary` | List[[components.ReasoningSummaryText](../components/reasoningsummarytext)] | :heavy_check_mark: | N/A | |
+| `type` | [components.InputsTypeReasoning](../components/inputstypereasoning) | :heavy_check_mark: | N/A | |
+| `format_` | [OptionalNullable[components.ReasoningFormat]](../components/reasoningformat) | :heavy_minus_sign: | N/A | unknown |
| `signature` | *OptionalNullable[str]* | :heavy_minus_sign: | A signature for the reasoning content, used for verification | EvcBCkgIChABGAIqQKkSDbRuVEQUk9qN1odC098l9SEj... |
\ No newline at end of file
diff --git a/docs/components/inputtext.mdx b/docs/components/inputtext.mdx
index 59084130..b95afb19 100644
--- a/docs/components/inputtext.mdx
+++ b/docs/components/inputtext.mdx
@@ -9,6 +9,6 @@ Text input content item
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `prompt_cache_breakpoint` | [OptionalNullable[components.PromptCacheBreakpoint]](../components/promptcachebreakpoint.mdx) | :heavy_minus_sign: | Marks an explicit prompt-cache boundary on this content block (OpenAI-style). Everything through the block carrying this marker is part of the candidate cached prefix. Supported natively by OpenAI GPT-5.6 and newer; on providers that use Anthropic-style `cache_control`, OpenRouter converts the marker to that format automatically. | \{
"mode": "explicit"
} |
+| `prompt_cache_breakpoint` | [OptionalNullable[components.PromptCacheBreakpoint]](../components/promptcachebreakpoint) | :heavy_minus_sign: | Marks an explicit prompt-cache boundary on this content block (OpenAI-style). Everything through the block carrying this marker is part of the candidate cached prefix. Supported natively by OpenAI GPT-5.6 and newer; on providers that use Anthropic-style `cache_control`, OpenRouter converts the marker to that format automatically. | \{
"mode": "explicit"
} |
| `text` | *str* | :heavy_check_mark: | N/A | |
-| `type` | [components.InputTextType](../components/inputtexttype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `type` | [components.InputTextType](../components/inputtexttype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/inputvideo.mdx b/docs/components/inputvideo.mdx
index a303045f..4801ede5 100644
--- a/docs/components/inputvideo.mdx
+++ b/docs/components/inputvideo.mdx
@@ -9,5 +9,5 @@ Video input content item
| Field | Type | Required | Description |
| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- |
-| `type` | [components.InputVideoType](../components/inputvideotype.mdx) | :heavy_check_mark: | N/A |
+| `type` | [components.InputVideoType](../components/inputvideotype) | :heavy_check_mark: | N/A |
| `video_url` | *str* | :heavy_check_mark: | A base64 data URL or remote URL that resolves to a video file |
\ No newline at end of file
diff --git a/docs/components/itemreferenceitem.mdx b/docs/components/itemreferenceitem.mdx
index 5d91c205..662e5763 100644
--- a/docs/components/itemreferenceitem.mdx
+++ b/docs/components/itemreferenceitem.mdx
@@ -10,4 +10,4 @@ A reference to a previous response item by ID
| Field | Type | Required | Description |
| -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- |
| `id` | *str* | :heavy_check_mark: | N/A |
-| `type` | [components.ItemReferenceItemType](../components/itemreferenceitemtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.ItemReferenceItemType](../components/itemreferenceitemtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/keepall.mdx b/docs/components/keepall.mdx
index 8f65526d..3a9aebd5 100644
--- a/docs/components/keepall.mdx
+++ b/docs/components/keepall.mdx
@@ -6,4 +6,4 @@ title: "KeepAll"
| Field | Type | Required | Description |
| ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ |
-| `type` | [components.KeepType](../components/keeptype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.KeepType](../components/keeptype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/legacychatcontentvideo.mdx b/docs/components/legacychatcontentvideo.mdx
index 74b480b1..a0f41e1a 100644
--- a/docs/components/legacychatcontentvideo.mdx
+++ b/docs/components/legacychatcontentvideo.mdx
@@ -11,5 +11,5 @@ Video input content part (legacy format - deprecated)
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
-| `type` | [components.LegacyChatContentVideoType](../components/legacychatcontentvideotype.mdx) | :heavy_check_mark: | N/A | |
-| `video_url` | [components.LegacyChatContentVideoInput](../components/legacychatcontentvideoinput.mdx) | :heavy_check_mark: | Video input object | \{
"url": "https://example.com/video.mp4"
} |
\ No newline at end of file
+| `type` | [components.LegacyChatContentVideoType](../components/legacychatcontentvideotype) | :heavy_check_mark: | N/A | |
+| `video_url` | [components.LegacyChatContentVideoInput](../components/legacychatcontentvideoinput) | :heavy_check_mark: | Video input object | \{
"url": "https://example.com/video.mp4"
} |
\ No newline at end of file
diff --git a/docs/components/legacywebsearchservertool.mdx b/docs/components/legacywebsearchservertool.mdx
index b7073786..a2129066 100644
--- a/docs/components/legacywebsearchservertool.mdx
+++ b/docs/components/legacywebsearchservertool.mdx
@@ -9,10 +9,10 @@ Web search tool configuration
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `engine` | [Optional[components.WebSearchEngineEnum]](../components/websearchengineenum.mdx) | :heavy_minus_sign: | Which search engine to use. "auto" (default) uses native if the provider supports it, otherwise Exa. "native" forces the provider's built-in search. "exa" forces the Exa search API. "firecrawl" uses Firecrawl (requires BYOK). "parallel" uses the Parallel search API. "perplexity" uses the Perplexity Search API (raw ranked results). | auto |
-| `filters` | [OptionalNullable[components.WebSearchDomainFilter]](../components/websearchdomainfilter.mdx) | :heavy_minus_sign: | N/A | \{
"allowed_domains": [
"example.com"
],
"blocked_domains": [
"spam.com"
],
"excluded_domains": [
"spam.com"
]
} |
+| `engine` | [Optional[components.WebSearchEngineEnum]](../components/websearchengineenum) | :heavy_minus_sign: | Which search engine to use. "auto" (default) uses native if the provider supports it, otherwise Exa. "native" forces the provider's built-in search. "exa" forces the Exa search API. "firecrawl" uses Firecrawl (requires BYOK). "parallel" uses the Parallel search API. "perplexity" uses the Perplexity Search API (raw ranked results). | auto |
+| `filters` | [OptionalNullable[components.WebSearchDomainFilter]](../components/websearchdomainfilter) | :heavy_minus_sign: | N/A | \{
"allowed_domains": [
"example.com"
],
"blocked_domains": [
"spam.com"
],
"excluded_domains": [
"spam.com"
]
} |
| `max_results` | *Optional[int]* | :heavy_minus_sign: | Maximum number of search results to return per search call. Defaults to 5. Applies to Exa, Firecrawl, Parallel, and Perplexity engines; ignored with native provider search. Perplexity supports a maximum of 20; values above 20 are clamped. | 5 |
| `max_uses` | *Optional[int]* | :heavy_minus_sign: | Maximum number of web searches the model may perform in a single request. Once reached, further search calls return an error result instead of executing. Applies to the Exa, Firecrawl, Parallel, and Perplexity engines. With native provider search, forwarded only to Anthropic (as `max_uses`); other native search providers have no equivalent parameter and ignore it. | 3 |
-| `search_context_size` | [Optional[components.SearchContextSizeEnum]](../components/searchcontextsizeenum.mdx) | :heavy_minus_sign: | Size of the search context for web search tools | medium |
-| `type` | [components.LegacyWebSearchServerToolType](../components/legacywebsearchservertooltype.mdx) | :heavy_check_mark: | N/A | |
-| `user_location` | [OptionalNullable[components.WebSearchUserLocation]](../components/websearchuserlocation.mdx) | :heavy_minus_sign: | User location information for web search | \{
"city": "San Francisco",
"country": "USA",
"region": "California",
"timezone": "America/Los_Angeles",
"type": "approximate"
} |
\ No newline at end of file
+| `search_context_size` | [Optional[components.SearchContextSizeEnum]](../components/searchcontextsizeenum) | :heavy_minus_sign: | Size of the search context for web search tools | medium |
+| `type` | [components.LegacyWebSearchServerToolType](../components/legacywebsearchservertooltype) | :heavy_check_mark: | N/A | |
+| `user_location` | [OptionalNullable[components.WebSearchUserLocation]](../components/websearchuserlocation) | :heavy_minus_sign: | User location information for web search | \{
"city": "San Francisco",
"country": "USA",
"region": "California",
"timezone": "America/Los_Angeles",
"type": "approximate"
} |
\ No newline at end of file
diff --git a/docs/components/listbyokkeysresponse.mdx b/docs/components/listbyokkeysresponse.mdx
index 4e7fce4c..28b976c7 100644
--- a/docs/components/listbyokkeysresponse.mdx
+++ b/docs/components/listbyokkeysresponse.mdx
@@ -6,5 +6,5 @@ title: "ListBYOKKeysResponse"
| Field | Type | Required | Description | Example |
| ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ |
-| `data` | List[[components.BYOKKey](../components/byokkey.mdx)] | :heavy_check_mark: | List of BYOK credentials. | |
+| `data` | List[[components.BYOKKey](../components/byokkey)] | :heavy_check_mark: | List of BYOK credentials. | |
| `total_count` | *int* | :heavy_check_mark: | Total number of BYOK credentials matching the filters. | 1 |
\ No newline at end of file
diff --git a/docs/components/listendpointsresponse.mdx b/docs/components/listendpointsresponse.mdx
index 2df1189d..04a4dd3a 100644
--- a/docs/components/listendpointsresponse.mdx
+++ b/docs/components/listendpointsresponse.mdx
@@ -9,9 +9,9 @@ List of available endpoints for a model
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `architecture` | [components.Architecture](../components/architecture.mdx) | :heavy_check_mark: | N/A | \{
"input_modalities": [
"text"
],
"instruct_type": "chatml",
"modality": "text-\u003etext",
"output_modalities": [
"text"
],
"tokenizer": "GPT"
} |
+| `architecture` | [components.Architecture](../components/architecture) | :heavy_check_mark: | N/A | \{
"input_modalities": [
"text"
],
"instruct_type": "chatml",
"modality": "text-\u003etext",
"output_modalities": [
"text"
],
"tokenizer": "GPT"
} |
| `created` | *int* | :heavy_check_mark: | Unix timestamp of when the model was created | 1692901234 |
| `description` | *str* | :heavy_check_mark: | Description of the model | GPT-4 is a large multimodal model that can solve difficult problems with greater accuracy. |
-| `endpoints` | List[[components.PublicEndpoint](../components/publicendpoint.mdx)] | :heavy_check_mark: | List of available endpoints for this model | |
+| `endpoints` | List[[components.PublicEndpoint](../components/publicendpoint)] | :heavy_check_mark: | List of available endpoints for this model | |
| `id` | *str* | :heavy_check_mark: | Unique identifier for the model | openai/gpt-4 |
| `name` | *str* | :heavy_check_mark: | Display name of the model | GPT-4 |
\ No newline at end of file
diff --git a/docs/components/listguardrailsresponse.mdx b/docs/components/listguardrailsresponse.mdx
index b62bb9a8..a1b71bd5 100644
--- a/docs/components/listguardrailsresponse.mdx
+++ b/docs/components/listguardrailsresponse.mdx
@@ -6,5 +6,5 @@ title: "ListGuardrailsResponse"
| Field | Type | Required | Description | Example |
| -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- |
-| `data` | List[[components.Guardrail](../components/guardrail.mdx)] | :heavy_check_mark: | List of guardrails | |
+| `data` | List[[components.Guardrail](../components/guardrail)] | :heavy_check_mark: | List of guardrails | |
| `total_count` | *int* | :heavy_check_mark: | Total number of guardrails | 25 |
\ No newline at end of file
diff --git a/docs/components/listkeyassignmentsresponse.mdx b/docs/components/listkeyassignmentsresponse.mdx
index c6806c4a..cb2ea5cf 100644
--- a/docs/components/listkeyassignmentsresponse.mdx
+++ b/docs/components/listkeyassignmentsresponse.mdx
@@ -6,5 +6,5 @@ title: "ListKeyAssignmentsResponse"
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- |
-| `data` | List[[components.KeyAssignment](../components/keyassignment.mdx)] | :heavy_check_mark: | List of key assignments | |
+| `data` | List[[components.KeyAssignment](../components/keyassignment)] | :heavy_check_mark: | List of key assignments | |
| `total_count` | *int* | :heavy_check_mark: | Total number of key assignments for this guardrail | 25 |
\ No newline at end of file
diff --git a/docs/components/listmemberassignmentsresponse.mdx b/docs/components/listmemberassignmentsresponse.mdx
index 9e72b130..b5b1e536 100644
--- a/docs/components/listmemberassignmentsresponse.mdx
+++ b/docs/components/listmemberassignmentsresponse.mdx
@@ -6,5 +6,5 @@ title: "ListMemberAssignmentsResponse"
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- |
-| `data` | List[[components.MemberAssignment](../components/memberassignment.mdx)] | :heavy_check_mark: | List of member assignments | |
+| `data` | List[[components.MemberAssignment](../components/memberassignment)] | :heavy_check_mark: | List of member assignments | |
| `total_count` | *int* | :heavy_check_mark: | Total number of member assignments | 10 |
\ No newline at end of file
diff --git a/docs/components/listobservabilitydestinationsresponse.mdx b/docs/components/listobservabilitydestinationsresponse.mdx
index 912c6caf..f4808018 100644
--- a/docs/components/listobservabilitydestinationsresponse.mdx
+++ b/docs/components/listobservabilitydestinationsresponse.mdx
@@ -6,5 +6,5 @@ title: "ListObservabilityDestinationsResponse"
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
-| `data` | List[[components.ObservabilityDestination](../components/observabilitydestination.mdx)] | :heavy_check_mark: | List of observability destinations. | |
+| `data` | List[[components.ObservabilityDestination](../components/observabilitydestination)] | :heavy_check_mark: | List of observability destinations. | |
| `total_count` | *int* | :heavy_check_mark: | Total number of destinations matching the filters. | 1 |
\ No newline at end of file
diff --git a/docs/components/listpresetsresponse.mdx b/docs/components/listpresetsresponse.mdx
index da04cab0..2079e398 100644
--- a/docs/components/listpresetsresponse.mdx
+++ b/docs/components/listpresetsresponse.mdx
@@ -9,5 +9,5 @@ A paginated list of presets.
| Field | Type | Required | Description |
| -------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- |
-| `data` | List[[components.Preset](../components/preset.mdx)] | :heavy_check_mark: | N/A |
+| `data` | List[[components.Preset](../components/preset)] | :heavy_check_mark: | N/A |
| `total_count` | *int* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/listpresetversionsresponse.mdx b/docs/components/listpresetversionsresponse.mdx
index 768df799..092fe0ce 100644
--- a/docs/components/listpresetversionsresponse.mdx
+++ b/docs/components/listpresetversionsresponse.mdx
@@ -9,5 +9,5 @@ A paginated list of preset versions.
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
-| `data` | List[[Nullable[components.PresetDesignatedVersion]](../components/presetdesignatedversion.mdx)] | :heavy_check_mark: | N/A |
+| `data` | List[[Nullable[components.PresetDesignatedVersion]](../components/presetdesignatedversion)] | :heavy_check_mark: | N/A |
| `total_count` | *int* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/listworkspacebudgetsresponse.mdx b/docs/components/listworkspacebudgetsresponse.mdx
index 27bb746a..3e95fa61 100644
--- a/docs/components/listworkspacebudgetsresponse.mdx
+++ b/docs/components/listworkspacebudgetsresponse.mdx
@@ -6,4 +6,4 @@ title: "ListWorkspaceBudgetsResponse"
| Field | Type | Required | Description |
| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- |
-| `data` | List[[components.WorkspaceBudget](../components/workspacebudget.mdx)] | :heavy_check_mark: | List of budgets configured for the workspace |
\ No newline at end of file
+| `data` | List[[components.WorkspaceBudget](../components/workspacebudget)] | :heavy_check_mark: | List of budgets configured for the workspace |
\ No newline at end of file
diff --git a/docs/components/listworkspacemembersresponse.mdx b/docs/components/listworkspacemembersresponse.mdx
index 90edcaf6..17ef9ee9 100644
--- a/docs/components/listworkspacemembersresponse.mdx
+++ b/docs/components/listworkspacemembersresponse.mdx
@@ -6,5 +6,5 @@ title: "ListWorkspaceMembersResponse"
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- |
-| `data` | List[[components.WorkspaceMember](../components/workspacemember.mdx)] | :heavy_check_mark: | List of workspace members | |
+| `data` | List[[components.WorkspaceMember](../components/workspacemember)] | :heavy_check_mark: | List of workspace members | |
| `total_count` | *int* | :heavy_check_mark: | Total number of members in the workspace | 5 |
\ No newline at end of file
diff --git a/docs/components/listworkspacesresponse.mdx b/docs/components/listworkspacesresponse.mdx
index b78013a4..a5e2d6f4 100644
--- a/docs/components/listworkspacesresponse.mdx
+++ b/docs/components/listworkspacesresponse.mdx
@@ -6,5 +6,5 @@ title: "ListWorkspacesResponse"
| Field | Type | Required | Description | Example |
| -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- |
-| `data` | List[[components.Workspace](../components/workspace.mdx)] | :heavy_check_mark: | List of workspaces | |
+| `data` | List[[components.Workspace](../components/workspace)] | :heavy_check_mark: | List of workspaces | |
| `total_count` | *int* | :heavy_check_mark: | Total number of workspaces | 5 |
\ No newline at end of file
diff --git a/docs/components/localshellcallitem.mdx b/docs/components/localshellcallitem.mdx
index c3ce8fe8..0934fb32 100644
--- a/docs/components/localshellcallitem.mdx
+++ b/docs/components/localshellcallitem.mdx
@@ -9,8 +9,8 @@ A local shell command execution call
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
-| `action` | [components.LocalShellCallItemAction](../components/localshellcallitemaction.mdx) | :heavy_check_mark: | N/A | |
+| `action` | [components.LocalShellCallItemAction](../components/localshellcallitemaction) | :heavy_check_mark: | N/A | |
| `call_id` | *str* | :heavy_check_mark: | N/A | |
| `id` | *str* | :heavy_check_mark: | N/A | |
-| `status` | [components.ToolCallStatus](../components/toolcallstatus.mdx) | :heavy_check_mark: | N/A | completed |
-| `type` | [components.TypeLocalShellCall](../components/typelocalshellcall.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `status` | [components.ToolCallStatus](../components/toolcallstatus) | :heavy_check_mark: | N/A | completed |
+| `type` | [components.TypeLocalShellCall](../components/typelocalshellcall) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/localshellcallitemaction.mdx b/docs/components/localshellcallitemaction.mdx
index 584d5392..7ec3a588 100644
--- a/docs/components/localshellcallitemaction.mdx
+++ b/docs/components/localshellcallitemaction.mdx
@@ -9,6 +9,6 @@ title: "LocalShellCallItemAction"
| `command` | List[*str*] | :heavy_check_mark: | N/A |
| `env` | Dict[str, *str*] | :heavy_check_mark: | N/A |
| `timeout_ms` | *OptionalNullable[int]* | :heavy_minus_sign: | N/A |
-| `type` | [components.TypeExec](../components/typeexec.mdx) | :heavy_check_mark: | N/A |
+| `type` | [components.TypeExec](../components/typeexec) | :heavy_check_mark: | N/A |
| `user` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A |
| `working_directory` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/docs/components/localshellcalloutputitem.mdx b/docs/components/localshellcalloutputitem.mdx
index eff6d349..30521f27 100644
--- a/docs/components/localshellcalloutputitem.mdx
+++ b/docs/components/localshellcalloutputitem.mdx
@@ -11,5 +11,5 @@ Output from a local shell command execution
| ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
| `id` | *str* | :heavy_check_mark: | N/A | |
| `output` | *str* | :heavy_check_mark: | N/A | |
-| `status` | [OptionalNullable[components.ToolCallStatus]](../components/toolcallstatus.mdx) | :heavy_minus_sign: | N/A | completed |
-| `type` | [components.LocalShellCallOutputItemType](../components/localshellcalloutputitemtype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `status` | [OptionalNullable[components.ToolCallStatus]](../components/toolcallstatus) | :heavy_minus_sign: | N/A | completed |
+| `type` | [components.LocalShellCallOutputItemType](../components/localshellcalloutputitemtype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/logprob.mdx b/docs/components/logprob.mdx
index 6345da5c..25a3305e 100644
--- a/docs/components/logprob.mdx
+++ b/docs/components/logprob.mdx
@@ -9,4 +9,4 @@ title: "Logprob"
| `bytes_` | List[*int*] | :heavy_check_mark: | N/A |
| `logprob` | *float* | :heavy_check_mark: | N/A |
| `token` | *str* | :heavy_check_mark: | N/A |
-| `top_logprobs` | List[[components.ResponseOutputTextTopLogprob](../components/responseoutputtexttoplogprob.mdx)] | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `top_logprobs` | List[[components.ResponseOutputTextTopLogprob](../components/responseoutputtexttoplogprob)] | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/mcpapprovalrequestitem.mdx b/docs/components/mcpapprovalrequestitem.mdx
index d02d6665..7eb175a0 100644
--- a/docs/components/mcpapprovalrequestitem.mdx
+++ b/docs/components/mcpapprovalrequestitem.mdx
@@ -13,4 +13,4 @@ Request for approval to execute an MCP tool
| `id` | *str* | :heavy_check_mark: | N/A |
| `name` | *str* | :heavy_check_mark: | N/A |
| `server_label` | *str* | :heavy_check_mark: | N/A |
-| `type` | [components.McpApprovalRequestItemType](../components/mcpapprovalrequestitemtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.McpApprovalRequestItemType](../components/mcpapprovalrequestitemtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/mcpapprovalresponseitem.mdx b/docs/components/mcpapprovalresponseitem.mdx
index d67c1e40..f6ec9fcb 100644
--- a/docs/components/mcpapprovalresponseitem.mdx
+++ b/docs/components/mcpapprovalresponseitem.mdx
@@ -13,4 +13,4 @@ User response to an MCP tool approval request
| `approve` | *bool* | :heavy_check_mark: | N/A |
| `id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A |
| `reason` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A |
-| `type` | [components.McpApprovalResponseItemType](../components/mcpapprovalresponseitemtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.McpApprovalResponseItemType](../components/mcpapprovalresponseitemtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/mcpcallitem.mdx b/docs/components/mcpcallitem.mdx
index a025e7da..79a6c1c4 100644
--- a/docs/components/mcpcallitem.mdx
+++ b/docs/components/mcpcallitem.mdx
@@ -15,4 +15,4 @@ An MCP tool call with its output or error
| `name` | *str* | :heavy_check_mark: | N/A |
| `output` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A |
| `server_label` | *str* | :heavy_check_mark: | N/A |
-| `type` | [components.McpCallItemType](../components/mcpcallitemtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.McpCallItemType](../components/mcpcallitemtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/mcplisttoolsitem.mdx b/docs/components/mcplisttoolsitem.mdx
index decba2cc..d397a5fe 100644
--- a/docs/components/mcplisttoolsitem.mdx
+++ b/docs/components/mcplisttoolsitem.mdx
@@ -12,5 +12,5 @@ List of available MCP tools from a server
| `error` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A |
| `id` | *str* | :heavy_check_mark: | N/A |
| `server_label` | *str* | :heavy_check_mark: | N/A |
-| `tools` | List[[components.McpListToolsItemTool](../components/mcplisttoolsitemtool.mdx)] | :heavy_check_mark: | N/A |
-| `type` | [components.McpListToolsItemType](../components/mcplisttoolsitemtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `tools` | List[[components.McpListToolsItemTool](../components/mcplisttoolsitemtool)] | :heavy_check_mark: | N/A |
+| `type` | [components.McpListToolsItemType](../components/mcplisttoolsitemtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/mcpservertool.mdx b/docs/components/mcpservertool.mdx
index 70f05198..5987f03f 100644
--- a/docs/components/mcpservertool.mdx
+++ b/docs/components/mcpservertool.mdx
@@ -9,12 +9,12 @@ MCP (Model Context Protocol) tool configuration
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ |
-| `allowed_tools` | [OptionalNullable[components.AllowedToolsUnion]](../components/allowedtoolsunion.mdx) | :heavy_minus_sign: | N/A |
+| `allowed_tools` | [OptionalNullable[components.AllowedToolsUnion]](../components/allowedtoolsunion) | :heavy_minus_sign: | N/A |
| `authorization` | *Optional[str]* | :heavy_minus_sign: | N/A |
-| `connector_id` | [Optional[components.ConnectorID]](../components/connectorid.mdx) | :heavy_minus_sign: | N/A |
+| `connector_id` | [Optional[components.ConnectorID]](../components/connectorid) | :heavy_minus_sign: | N/A |
| `headers` | Dict[str, *str*] | :heavy_minus_sign: | N/A |
-| `require_approval` | [OptionalNullable[components.RequireApprovalUnion]](../components/requireapprovalunion.mdx) | :heavy_minus_sign: | N/A |
+| `require_approval` | [OptionalNullable[components.RequireApprovalUnion]](../components/requireapprovalunion) | :heavy_minus_sign: | N/A |
| `server_description` | *Optional[str]* | :heavy_minus_sign: | N/A |
| `server_label` | *str* | :heavy_check_mark: | N/A |
| `server_url` | *Optional[str]* | :heavy_minus_sign: | N/A |
-| `type` | [components.McpServerToolType](../components/mcpservertooltype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.McpServerToolType](../components/mcpservertooltype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/messagesadvisortoolresultblock.mdx b/docs/components/messagesadvisortoolresultblock.mdx
index 8ae2160d..2721bd75 100644
--- a/docs/components/messagesadvisortoolresultblock.mdx
+++ b/docs/components/messagesadvisortoolresultblock.mdx
@@ -11,4 +11,4 @@ Advisor tool result from a prior assistant turn, replayed back to the model on t
| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| `content` | Dict[str, *Any*] | :heavy_check_mark: | N/A |
| `tool_use_id` | *str* | :heavy_check_mark: | N/A |
-| `type` | [components.MessagesAdvisorToolResultBlockType](../components/messagesadvisortoolresultblocktype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.MessagesAdvisorToolResultBlockType](../components/messagesadvisortoolresultblocktype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/messagesmessageparam.mdx b/docs/components/messagesmessageparam.mdx
index 698d1f4b..27bbf0c0 100644
--- a/docs/components/messagesmessageparam.mdx
+++ b/docs/components/messagesmessageparam.mdx
@@ -9,5 +9,5 @@ Anthropic message with OpenRouter extensions
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
-| `content` | [components.MessagesMessageParamContentUnion5](../components/messagesmessageparamcontentunion5.mdx) | :heavy_check_mark: | N/A |
-| `role` | [components.MessagesMessageParamRole](../components/messagesmessageparamrole.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `content` | [components.MessagesMessageParamContentUnion5](../components/messagesmessageparamcontentunion5) | :heavy_check_mark: | N/A |
+| `role` | [components.MessagesMessageParamRole](../components/messagesmessageparamrole) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/messagesoutputconfig.mdx b/docs/components/messagesoutputconfig.mdx
index b5ce8e91..ffd66f33 100644
--- a/docs/components/messagesoutputconfig.mdx
+++ b/docs/components/messagesoutputconfig.mdx
@@ -9,6 +9,6 @@ Configuration for controlling output behavior. Supports the effort parameter and
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `effort` | [OptionalNullable[components.MessagesOutputConfigEffort]](../components/messagesoutputconfigeffort.mdx) | :heavy_minus_sign: | How much effort the model should put into its response. Higher effort levels may result in more thorough analysis but take longer. Valid values are `low`, `medium`, `high`, `xhigh`, or `max`. | medium |
-| `format_` | [OptionalNullable[components.MessagesOutputConfigFormat]](../components/messagesoutputconfigformat.mdx) | :heavy_minus_sign: | A schema to specify Claude's output format in responses. See [structured outputs](https://platform.claude.com/docs/en/build-with-claude/structured-outputs). | |
-| `task_budget` | [OptionalNullable[components.TaskBudget]](../components/taskbudget.mdx) | :heavy_minus_sign: | Task budget for an agentic turn. The model sees a countdown of remaining tokens and uses it to prioritize work and wind down gracefully. Advisory — does not enforce a hard cap. | \{
"total": 400000,
"type": "tokens"
} |
\ No newline at end of file
+| `effort` | [OptionalNullable[components.MessagesOutputConfigEffort]](../components/messagesoutputconfigeffort) | :heavy_minus_sign: | How much effort the model should put into its response. Higher effort levels may result in more thorough analysis but take longer. Valid values are `low`, `medium`, `high`, `xhigh`, or `max`. | medium |
+| `format_` | [OptionalNullable[components.MessagesOutputConfigFormat]](../components/messagesoutputconfigformat) | :heavy_minus_sign: | A schema to specify Claude's output format in responses. See [structured outputs](https://platform.claude.com/docs/en/build-with-claude/structured-outputs). | |
+| `task_budget` | [OptionalNullable[components.TaskBudget]](../components/taskbudget) | :heavy_minus_sign: | Task budget for an agentic turn. The model sees a countdown of remaining tokens and uses it to prioritize work and wind down gracefully. Advisory — does not enforce a hard cap. | \{
"total": 400000,
"type": "tokens"
} |
\ No newline at end of file
diff --git a/docs/components/messagesoutputconfigformat.mdx b/docs/components/messagesoutputconfigformat.mdx
index cf56b303..0321b0ec 100644
--- a/docs/components/messagesoutputconfigformat.mdx
+++ b/docs/components/messagesoutputconfigformat.mdx
@@ -10,4 +10,4 @@ A schema to specify Claude's output format in responses. See [structured outputs
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| `schema_` | Dict[str, *Any*] | :heavy_check_mark: | N/A |
-| `type` | [components.MessagesOutputConfigTypeJSONSchema](../components/messagesoutputconfigtypejsonschema.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.MessagesOutputConfigTypeJSONSchema](../components/messagesoutputconfigtypejsonschema) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/messagesrequest.mdx b/docs/components/messagesrequest.mdx
index c6ea7b58..fae9328f 100644
--- a/docs/components/messagesrequest.mdx
+++ b/docs/components/messagesrequest.mdx
@@ -9,29 +9,29 @@ Request schema for Anthropic Messages API endpoint
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../components/anthropiccachecontroldirective.mdx) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
-| `context_management` | [OptionalNullable[components.ContextManagement]](../components/contextmanagement.mdx) | :heavy_minus_sign: | N/A | |
-| `fallbacks` | List[[components.MessagesFallbackParam](../components/messagesfallbackparam.mdx)] | :heavy_minus_sign: | Fallback models to try if the primary model fails or refuses, in order. Handled by OpenRouter multi-model routing rather than Anthropic server-side fallbacks; cannot be combined with `models`. Each entry accepts only `model`. Maximum of 3 entries. | [
\{
"model": "claude-opus-4-8"
}
] |
+| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../components/anthropiccachecontroldirective) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
+| `context_management` | [OptionalNullable[components.ContextManagement]](../components/contextmanagement) | :heavy_minus_sign: | N/A | |
+| `fallbacks` | List[[components.MessagesFallbackParam](../components/messagesfallbackparam)] | :heavy_minus_sign: | Fallback models to try if the primary model fails or refuses, in order. Handled by OpenRouter multi-model routing rather than Anthropic server-side fallbacks; cannot be combined with `models`. Each entry accepts only `model`. Maximum of 3 entries. | [
\{
"model": "claude-opus-4-8"
}
] |
| `max_tokens` | *Optional[int]* | :heavy_minus_sign: | N/A | |
-| `messages` | List[[components.MessagesMessageParam](../components/messagesmessageparam.mdx)] | :heavy_check_mark: | N/A | |
-| `metadata` | [Optional[components.MessagesRequestMetadata]](../components/messagesrequestmetadata.mdx) | :heavy_minus_sign: | N/A | |
+| `messages` | List[[components.MessagesMessageParam](../components/messagesmessageparam)] | :heavy_check_mark: | N/A | |
+| `metadata` | [Optional[components.MessagesRequestMetadata]](../components/messagesrequestmetadata) | :heavy_minus_sign: | N/A | |
| `model` | *str* | :heavy_check_mark: | N/A | |
| `models` | List[*str*] | :heavy_minus_sign: | N/A | |
-| `output_config` | [Optional[components.MessagesOutputConfig]](../components/messagesoutputconfig.mdx) | :heavy_minus_sign: | Configuration for controlling output behavior. Supports the effort parameter and structured output format. | \{
"effort": "medium"
} |
-| `plugins` | List[[components.MessagesRequestPlugin](../components/messagesrequestplugin.mdx)] | :heavy_minus_sign: | Plugins you want to enable for this request, including their settings. | |
-| `provider` | [OptionalNullable[components.ProviderPreferences]](../components/providerpreferences.mdx) | :heavy_minus_sign: | When multiple model providers are available, optionally indicate your routing preference. | \{
"allow_fallbacks": true
} |
+| `output_config` | [Optional[components.MessagesOutputConfig]](../components/messagesoutputconfig) | :heavy_minus_sign: | Configuration for controlling output behavior. Supports the effort parameter and structured output format. | \{
"effort": "medium"
} |
+| `plugins` | List[[components.MessagesRequestPlugin](../components/messagesrequestplugin)] | :heavy_minus_sign: | Plugins you want to enable for this request, including their settings. | |
+| `provider` | [OptionalNullable[components.ProviderPreferences]](../components/providerpreferences) | :heavy_minus_sign: | When multiple model providers are available, optionally indicate your routing preference. | \{
"allow_fallbacks": true
} |
| `service_tier` | *Optional[str]* | :heavy_minus_sign: | N/A | |
| `session_id` | *Optional[str]* | :heavy_minus_sign: | A unique identifier for grouping related requests (e.g., a conversation or agent workflow). When provided, OpenRouter uses it as the sticky routing key, routing all requests in the session to the same provider to maximize prompt cache hits. Also used for observability grouping. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 256 characters. | |
-| `speed` | [OptionalNullable[components.Speed]](../components/speed.mdx) | :heavy_minus_sign: | N/A | fast |
+| `speed` | [OptionalNullable[components.Speed]](../components/speed) | :heavy_minus_sign: | N/A | fast |
| `stop_sequences` | List[*str*] | :heavy_minus_sign: | N/A | |
-| `stop_server_tools_when` | List[[components.StopServerToolsWhenCondition](../components/stopservertoolswhencondition.mdx)] | :heavy_minus_sign: | Stop conditions for the server-tool agent loop. Any condition firing halts the loop (OR logic). When set, this overrides `max_tool_calls`. When a condition fires while the model is still emitting tool calls, the pending tool calls are executed and one final turn is made with tool calls disabled so the response ends with a natural-language answer instead of an unfinished tool call. | [
\{
"step_count": 5,
"type": "step_count_is"
},
\{
"max_cost_in_dollars": 0.5,
"type": "max_cost"
}
] |
+| `stop_server_tools_when` | List[[components.StopServerToolsWhenCondition](../components/stopservertoolswhencondition)] | :heavy_minus_sign: | Stop conditions for the server-tool agent loop. Any condition firing halts the loop (OR logic). When set, this overrides `max_tool_calls`. When a condition fires while the model is still emitting tool calls, the pending tool calls are executed and one final turn is made with tool calls disabled so the response ends with a natural-language answer instead of an unfinished tool call. | [
\{
"step_count": 5,
"type": "step_count_is"
},
\{
"max_cost_in_dollars": 0.5,
"type": "max_cost"
}
] |
| `stream` | *Optional[bool]* | :heavy_minus_sign: | N/A | |
-| `system` | [Optional[components.System]](../components/system.mdx) | :heavy_minus_sign: | N/A | |
+| `system` | [Optional[components.System]](../components/system) | :heavy_minus_sign: | N/A | |
| `temperature` | *Optional[float]* | :heavy_minus_sign: | N/A | |
-| `thinking` | [Optional[components.Thinking]](../components/thinking.mdx) | :heavy_minus_sign: | N/A | |
-| `tool_choice` | [Optional[components.ToolChoice]](../components/toolchoice.mdx) | :heavy_minus_sign: | N/A | |
-| `tools` | List[[components.MessagesRequestToolUnion](../components/messagesrequesttoolunion.mdx)] | :heavy_minus_sign: | N/A | |
+| `thinking` | [Optional[components.Thinking]](../components/thinking) | :heavy_minus_sign: | N/A | |
+| `tool_choice` | [Optional[components.ToolChoice]](../components/toolchoice) | :heavy_minus_sign: | N/A | |
+| `tools` | List[[components.MessagesRequestToolUnion](../components/messagesrequesttoolunion)] | :heavy_minus_sign: | N/A | |
| `top_k` | *Optional[int]* | :heavy_minus_sign: | N/A | |
| `top_p` | *Optional[float]* | :heavy_minus_sign: | N/A | |
-| `trace` | [Optional[components.TraceConfig]](../components/traceconfig.mdx) | :heavy_minus_sign: | Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations. | \{
"trace_id": "trace-abc123",
"trace_name": "my-app-trace"
} |
+| `trace` | [Optional[components.TraceConfig]](../components/traceconfig) | :heavy_minus_sign: | Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations. | \{
"trace_id": "trace-abc123",
"trace_name": "my-app-trace"
} |
| `user` | *Optional[str]* | :heavy_minus_sign: | A unique identifier representing your end-user, which helps distinguish between different users of your app. This allows your app to identify specific users in case of abuse reports, preventing your entire app from being affected by the actions of individual users. Maximum of 256 characters. | |
\ No newline at end of file
diff --git a/docs/components/messagessearchmodelsservertool.mdx b/docs/components/messagessearchmodelsservertool.mdx
index e13f74e2..e1153dd0 100644
--- a/docs/components/messagessearchmodelsservertool.mdx
+++ b/docs/components/messagessearchmodelsservertool.mdx
@@ -9,5 +9,5 @@ OpenRouter built-in server tool: searches and filters AI models available on Ope
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
-| `parameters` | [Optional[components.SearchModelsServerToolConfig]](../components/searchmodelsservertoolconfig.mdx) | :heavy_minus_sign: | Configuration for the openrouter:experimental__search_models server tool | \{
"max_results": 5
} |
-| `type` | [components.MessagesSearchModelsServerToolType](../components/messagessearchmodelsservertooltype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `parameters` | [Optional[components.SearchModelsServerToolConfig]](../components/searchmodelsservertoolconfig) | :heavy_minus_sign: | Configuration for the openrouter:experimental__search_models server tool | \{
"max_results": 5
} |
+| `type` | [components.MessagesSearchModelsServerToolType](../components/messagessearchmodelsservertooltype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/messagestooladditionblock.mdx b/docs/components/messagestooladditionblock.mdx
index 5a532b3a..4076f73f 100644
--- a/docs/components/messagestooladditionblock.mdx
+++ b/docs/components/messagestooladditionblock.mdx
@@ -9,6 +9,6 @@ Loads a previously deferred tool (declared in `tools` with `defer_loading: true`
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../components/anthropiccachecontroldirective.mdx) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
-| `tool` | [components.MessagesToolAdditionBlockToolUnion](../components/messagestooladditionblocktoolunion.mdx) | :heavy_check_mark: | N/A | |
-| `type` | [components.TypeToolAddition](../components/typetooladdition.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../components/anthropiccachecontroldirective) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
+| `tool` | [components.MessagesToolAdditionBlockToolUnion](../components/messagestooladditionblocktoolunion) | :heavy_check_mark: | N/A | |
+| `type` | [components.TypeToolAddition](../components/typetooladdition) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/messagestooladditionblocktoolmcptoolreference.mdx b/docs/components/messagestooladditionblocktoolmcptoolreference.mdx
index 8f35a41f..732bbec3 100644
--- a/docs/components/messagestooladditionblocktoolmcptoolreference.mdx
+++ b/docs/components/messagestooladditionblocktoolmcptoolreference.mdx
@@ -8,4 +8,4 @@ title: "MessagesToolAdditionBlockToolMcpToolReference"
| -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
| `name` | *str* | :heavy_check_mark: | N/A |
| `server_name` | *str* | :heavy_check_mark: | N/A |
-| `type` | [components.MessagesToolAdditionBlockTypeMcpToolReference](../components/messagestooladditionblocktypemcptoolreference.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.MessagesToolAdditionBlockTypeMcpToolReference](../components/messagestooladditionblocktypemcptoolreference) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/messagestooladditionblocktoolmcptoolsetreference.mdx b/docs/components/messagestooladditionblocktoolmcptoolsetreference.mdx
index 807e3193..d66c4afa 100644
--- a/docs/components/messagestooladditionblocktoolmcptoolsetreference.mdx
+++ b/docs/components/messagestooladditionblocktoolmcptoolsetreference.mdx
@@ -7,4 +7,4 @@ title: "MessagesToolAdditionBlockToolMcpToolsetReference"
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
| `server_name` | *str* | :heavy_check_mark: | N/A |
-| `type` | [components.MessagesToolAdditionBlockTypeMcpToolsetReference](../components/messagestooladditionblocktypemcptoolsetreference.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.MessagesToolAdditionBlockTypeMcpToolsetReference](../components/messagestooladditionblocktypemcptoolsetreference) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/messagestooladditionblocktooltoolreference.mdx b/docs/components/messagestooladditionblocktooltoolreference.mdx
index f56ec1fd..9b361567 100644
--- a/docs/components/messagestooladditionblocktooltoolreference.mdx
+++ b/docs/components/messagestooladditionblocktooltoolreference.mdx
@@ -7,4 +7,4 @@ title: "MessagesToolAdditionBlockToolToolReference"
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| `name` | *str* | :heavy_check_mark: | N/A |
-| `type` | [components.MessagesToolAdditionBlockTypeToolReference](../components/messagestooladditionblocktypetoolreference.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.MessagesToolAdditionBlockTypeToolReference](../components/messagestooladditionblocktypetoolreference) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/messagestoolremovalblock.mdx b/docs/components/messagestoolremovalblock.mdx
index a8f4a77b..60310e67 100644
--- a/docs/components/messagestoolremovalblock.mdx
+++ b/docs/components/messagestoolremovalblock.mdx
@@ -9,6 +9,6 @@ Removes a tool from the conversation mid-conversation without invalidating the p
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../components/anthropiccachecontroldirective.mdx) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
-| `tool` | [components.MessagesToolRemovalBlockToolUnion](../components/messagestoolremovalblocktoolunion.mdx) | :heavy_check_mark: | N/A | |
-| `type` | [components.TypeToolRemoval](../components/typetoolremoval.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../components/anthropiccachecontroldirective) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
+| `tool` | [components.MessagesToolRemovalBlockToolUnion](../components/messagestoolremovalblocktoolunion) | :heavy_check_mark: | N/A | |
+| `type` | [components.TypeToolRemoval](../components/typetoolremoval) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/messagestoolremovalblocktoolmcptoolreference.mdx b/docs/components/messagestoolremovalblocktoolmcptoolreference.mdx
index 63a22858..acbba1a4 100644
--- a/docs/components/messagestoolremovalblocktoolmcptoolreference.mdx
+++ b/docs/components/messagestoolremovalblocktoolmcptoolreference.mdx
@@ -8,4 +8,4 @@ title: "MessagesToolRemovalBlockToolMcpToolReference"
| ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ |
| `name` | *str* | :heavy_check_mark: | N/A |
| `server_name` | *str* | :heavy_check_mark: | N/A |
-| `type` | [components.MessagesToolRemovalBlockTypeMcpToolReference](../components/messagestoolremovalblocktypemcptoolreference.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.MessagesToolRemovalBlockTypeMcpToolReference](../components/messagestoolremovalblocktypemcptoolreference) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/messagestoolremovalblocktoolmcptoolsetreference.mdx b/docs/components/messagestoolremovalblocktoolmcptoolsetreference.mdx
index 39ce3ffd..37a19de8 100644
--- a/docs/components/messagestoolremovalblocktoolmcptoolsetreference.mdx
+++ b/docs/components/messagestoolremovalblocktoolmcptoolsetreference.mdx
@@ -7,4 +7,4 @@ title: "MessagesToolRemovalBlockToolMcpToolsetReference"
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ |
| `server_name` | *str* | :heavy_check_mark: | N/A |
-| `type` | [components.MessagesToolRemovalBlockTypeMcpToolsetReference](../components/messagestoolremovalblocktypemcptoolsetreference.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.MessagesToolRemovalBlockTypeMcpToolsetReference](../components/messagestoolremovalblocktypemcptoolsetreference) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/messagestoolremovalblocktooltoolreference.mdx b/docs/components/messagestoolremovalblocktooltoolreference.mdx
index 5700e11a..3b559092 100644
--- a/docs/components/messagestoolremovalblocktooltoolreference.mdx
+++ b/docs/components/messagestoolremovalblocktooltoolreference.mdx
@@ -7,4 +7,4 @@ title: "MessagesToolRemovalBlockToolToolReference"
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ |
| `name` | *str* | :heavy_check_mark: | N/A |
-| `type` | [components.MessagesToolRemovalBlockTypeToolReference](../components/messagestoolremovalblocktypetoolreference.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.MessagesToolRemovalBlockTypeToolReference](../components/messagestoolremovalblocktypetoolreference) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/model.mdx b/docs/components/model.mdx
index e8757cba..47425f70 100644
--- a/docs/components/model.mdx
+++ b/docs/components/model.mdx
@@ -9,22 +9,22 @@ Information about an AI model available on OpenRouter
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `architecture` | [components.ModelArchitecture](../components/modelarchitecture.mdx) | :heavy_check_mark: | Model architecture information | \{
"input_modalities": [
"text"
],
"instruct_type": "chatml",
"modality": "text-\u003etext",
"output_modalities": [
"text"
],
"tokenizer": "GPT"
} |
-| `benchmarks` | [Optional[components.ModelBenchmarks]](../components/modelbenchmarks.mdx) | :heavy_minus_sign: | Third-party benchmark rankings for this model. Omitted when no benchmark data is available. | \{
"artificial_analysis": \{
"agentic_index": 55.8,
"coding_index": 63.2,
"intelligence_index": 71.4
},
"design_arena": [
\{
"arena": "models",
"category": "website",
"elo": 1385.2,
"rank": 5,
"win_rate": 62.5
}
]
} |
+| `architecture` | [components.ModelArchitecture](../components/modelarchitecture) | :heavy_check_mark: | Model architecture information | \{
"input_modalities": [
"text"
],
"instruct_type": "chatml",
"modality": "text-\u003etext",
"output_modalities": [
"text"
],
"tokenizer": "GPT"
} |
+| `benchmarks` | [Optional[components.ModelBenchmarks]](../components/modelbenchmarks) | :heavy_minus_sign: | Third-party benchmark rankings for this model. Omitted when no benchmark data is available. | \{
"artificial_analysis": \{
"agentic_index": 55.8,
"coding_index": 63.2,
"intelligence_index": 71.4
},
"design_arena": [
\{
"arena": "models",
"category": "website",
"elo": 1385.2,
"rank": 5,
"win_rate": 62.5
}
]
} |
| `canonical_slug` | *str* | :heavy_check_mark: | Canonical slug for the model | openai/gpt-4 |
| `context_length` | *Nullable[int]* | :heavy_check_mark: | Maximum context length in tokens | 8192 |
| `created` | *int* | :heavy_check_mark: | Unix timestamp of when the model was created | 1692901234 |
-| `default_parameters` | [Nullable[components.DefaultParameters]](../components/defaultparameters.mdx) | :heavy_check_mark: | Default parameters for this model | \{
"frequency_penalty": 0,
"presence_penalty": 0,
"repetition_penalty": 1,
"temperature": 0.7,
"top_k": 0,
"top_p": 0.9
} |
+| `default_parameters` | [Nullable[components.DefaultParameters]](../components/defaultparameters) | :heavy_check_mark: | Default parameters for this model | \{
"frequency_penalty": 0,
"presence_penalty": 0,
"repetition_penalty": 1,
"temperature": 0.7,
"top_k": 0,
"top_p": 0.9
} |
| `description` | *Optional[str]* | :heavy_minus_sign: | Description of the model | GPT-4 is a large multimodal model that can solve difficult problems with greater accuracy. |
| `expiration_date` | *OptionalNullable[str]* | :heavy_minus_sign: | The date after which the model may be removed. ISO 8601 date string (YYYY-MM-DD) or null if no expiration. | 2025-06-01 |
| `hugging_face_id` | *OptionalNullable[str]* | :heavy_minus_sign: | Hugging Face model identifier, if applicable | microsoft/DialoGPT-medium |
| `id` | *str* | :heavy_check_mark: | Unique identifier for the model | openai/gpt-4 |
| `knowledge_cutoff` | *OptionalNullable[str]* | :heavy_minus_sign: | The date up to which the model was trained on data. ISO 8601 date string (YYYY-MM-DD) or null if unknown. | 2024-10-01 |
-| `links` | [components.ModelLinks](../components/modellinks.mdx) | :heavy_check_mark: | Related API endpoints and resources for this model. | \{
"details": "/api/v1/models/openai/gpt-5.4/endpoints"
} |
+| `links` | [components.ModelLinks](../components/modellinks) | :heavy_check_mark: | Related API endpoints and resources for this model. | \{
"details": "/api/v1/models/openai/gpt-5.4/endpoints"
} |
| `name` | *str* | :heavy_check_mark: | Display name of the model | GPT-4 |
-| `per_request_limits` | [Nullable[components.PerRequestLimits]](../components/perrequestlimits.mdx) | :heavy_check_mark: | Per-request token limits | \{
"completion_tokens": 1000,
"prompt_tokens": 1000
} |
-| `pricing` | [components.PublicPricing](../components/publicpricing.mdx) | :heavy_check_mark: | Pricing information for the model | \{
"completion": "0.00006",
"image": "0",
"prompt": "0.00003",
"request": "0"
} |
-| `reasoning` | [Optional[components.ModelReasoning]](../components/modelreasoning.mdx) | :heavy_minus_sign: | Reasoning effort configuration. Omitted for non-reasoning models and dynamic router models. | \{
"default_effort": "medium",
"default_enabled": true,
"mandatory": false,
"supported_efforts": [
"high",
"medium",
"low",
"minimal"
]
} |
-| `supported_parameters` | List[[components.Parameter](../components/parameter.mdx)] | :heavy_check_mark: | List of supported parameters for this model | |
+| `per_request_limits` | [Nullable[components.PerRequestLimits]](../components/perrequestlimits) | :heavy_check_mark: | Per-request token limits | \{
"completion_tokens": 1000,
"prompt_tokens": 1000
} |
+| `pricing` | [components.PublicPricing](../components/publicpricing) | :heavy_check_mark: | Pricing information for the model | \{
"completion": "0.00006",
"image": "0",
"prompt": "0.00003",
"request": "0"
} |
+| `reasoning` | [Optional[components.ModelReasoning]](../components/modelreasoning) | :heavy_minus_sign: | Reasoning effort configuration. Omitted for non-reasoning models and dynamic router models. | \{
"default_effort": "medium",
"default_enabled": true,
"mandatory": false,
"supported_efforts": [
"high",
"medium",
"low",
"minimal"
]
} |
+| `supported_parameters` | List[[components.Parameter](../components/parameter)] | :heavy_check_mark: | List of supported parameters for this model | |
| `supported_voices` | List[*str*] | :heavy_check_mark: | List of supported voice identifiers for TTS models. Null for non-TTS models. | null |
-| `top_provider` | [components.TopProviderInfo](../components/topproviderinfo.mdx) | :heavy_check_mark: | Information about the top provider for this model | \{
"context_length": 8192,
"is_moderated": true,
"max_completion_tokens": 4096
} |
\ No newline at end of file
+| `top_provider` | [components.TopProviderInfo](../components/topproviderinfo) | :heavy_check_mark: | Information about the top provider for this model | \{
"context_length": 8192,
"is_moderated": true,
"max_completion_tokens": 4096
} |
\ No newline at end of file
diff --git a/docs/components/modelarchitecture.mdx b/docs/components/modelarchitecture.mdx
index d46fef46..658e7ba9 100644
--- a/docs/components/modelarchitecture.mdx
+++ b/docs/components/modelarchitecture.mdx
@@ -9,8 +9,8 @@ Model architecture information
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- |
-| `input_modalities` | List[[components.InputModality](../components/inputmodality.mdx)] | :heavy_check_mark: | Supported input modalities | |
-| `instruct_type` | [OptionalNullable[components.InstructType]](../components/instructtype.mdx) | :heavy_minus_sign: | Instruction format type | chatml |
+| `input_modalities` | List[[components.InputModality](../components/inputmodality)] | :heavy_check_mark: | Supported input modalities | |
+| `instruct_type` | [OptionalNullable[components.InstructType]](../components/instructtype) | :heavy_minus_sign: | Instruction format type | chatml |
| `modality` | *Nullable[str]* | :heavy_check_mark: | Primary modality of the model | text->text |
-| `output_modalities` | List[[components.OutputModality](../components/outputmodality.mdx)] | :heavy_check_mark: | Supported output modalities | |
-| `tokenizer` | [Optional[components.ModelGroup]](../components/modelgroup.mdx) | :heavy_minus_sign: | Tokenizer type used by the model | GPT |
\ No newline at end of file
+| `output_modalities` | List[[components.OutputModality](../components/outputmodality)] | :heavy_check_mark: | Supported output modalities | |
+| `tokenizer` | [Optional[components.ModelGroup]](../components/modelgroup) | :heavy_minus_sign: | Tokenizer type used by the model | GPT |
\ No newline at end of file
diff --git a/docs/components/modelbenchmarks.mdx b/docs/components/modelbenchmarks.mdx
index f9d4890d..2b49edfb 100644
--- a/docs/components/modelbenchmarks.mdx
+++ b/docs/components/modelbenchmarks.mdx
@@ -9,5 +9,5 @@ Third-party benchmark rankings for this model. Omitted when no benchmark data is
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
-| `artificial_analysis` | [Optional[components.AABenchmarkEntry]](../components/aabenchmarkentry.mdx) | :heavy_minus_sign: | Artificial Analysis benchmark index scores. | \{
"agentic_index": 55.8,
"coding_index": 63.2,
"intelligence_index": 71.4
} |
-| `design_arena` | List[[components.DABenchmarkEntry](../components/dabenchmarkentry.mdx)] | :heavy_check_mark: | Design Arena ELO rankings across arena+category pairs. | [
\{
"arena": "models",
"category": "website",
"elo": 1385.2,
"rank": 5,
"win_rate": 62.5
}
] |
\ No newline at end of file
+| `artificial_analysis` | [Optional[components.AABenchmarkEntry]](../components/aabenchmarkentry) | :heavy_minus_sign: | Artificial Analysis benchmark index scores. | \{
"agentic_index": 55.8,
"coding_index": 63.2,
"intelligence_index": 71.4
} |
+| `design_arena` | List[[components.DABenchmarkEntry](../components/dabenchmarkentry)] | :heavy_check_mark: | Design Arena ELO rankings across arena+category pairs. | [
\{
"arena": "models",
"category": "website",
"elo": 1385.2,
"rank": 5,
"win_rate": 62.5
}
] |
\ No newline at end of file
diff --git a/docs/components/modelreasoning.mdx b/docs/components/modelreasoning.mdx
index b8d23642..97ddcdb1 100644
--- a/docs/components/modelreasoning.mdx
+++ b/docs/components/modelreasoning.mdx
@@ -9,8 +9,8 @@ Reasoning effort configuration. Omitted for non-reasoning models and dynamic rou
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `default_effort` | [OptionalNullable[components.DefaultEffort]](../components/defaulteffort.mdx) | :heavy_minus_sign: | N/A | medium |
+| `default_effort` | [OptionalNullable[components.DefaultEffort]](../components/defaulteffort) | :heavy_minus_sign: | N/A | medium |
| `default_enabled` | *Optional[bool]* | :heavy_minus_sign: | Default reasoning enabled state when the client does not set `reasoning.enabled`. | |
| `mandatory` | *bool* | :heavy_check_mark: | When true, reasoning cannot be disabled and effort "none" is rejected. | |
-| `supported_efforts` | List[[Nullable[components.ReasoningEffort]](../components/reasoningeffort.mdx)] | :heavy_minus_sign: | Allowed reasoning effort values for this model, in descending effort order (highest first). Null means no allowlist — all gateway effort values are accepted. | |
+| `supported_efforts` | List[[Nullable[components.ReasoningEffort]](../components/reasoningeffort)] | :heavy_minus_sign: | Allowed reasoning effort values for this model, in descending effort order (highest first). Null means no allowlist — all gateway effort values are accepted. | |
| `supports_max_tokens` | *Optional[bool]* | :heavy_minus_sign: | Present and `true` when the model accepts `reasoning.max_tokens` in requests (Anthropic-style) instead of or in addition to `reasoning.effort`. Omitted otherwise. | |
\ No newline at end of file
diff --git a/docs/components/modelresponse.mdx b/docs/components/modelresponse.mdx
index 9ced3306..e4ff0aee 100644
--- a/docs/components/modelresponse.mdx
+++ b/docs/components/modelresponse.mdx
@@ -9,4 +9,4 @@ Single model response
| Field | Type | Required | Description | Example |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `data` | [components.Model](../components/model.mdx) | :heavy_check_mark: | Information about an AI model available on OpenRouter | \{
"architecture": \{
"input_modalities": [
"text"
],
"instruct_type": "chatml",
"modality": "text-\u003etext",
"output_modalities": [
"text"
],
"tokenizer": "GPT"
},
"canonical_slug": "openai/gpt-4",
"context_length": 8192,
"created": 1692901234,
"default_parameters": null,
"description": "GPT-4 is a large multimodal model that can solve difficult problems with greater accuracy.",
"expiration_date": null,
"id": "openai/gpt-4",
"knowledge_cutoff": null,
"links": \{
"details": "/api/v1/models/openai/gpt-5.4/endpoints"
},
"name": "GPT-4",
"per_request_limits": null,
"pricing": \{
"completion": "0.00006",
"image": "0",
"prompt": "0.00003",
"request": "0"
},
"reasoning": \{
"default_effort": "medium",
"default_enabled": true,
"mandatory": false,
"supported_efforts": [
"high",
"medium",
"low",
"minimal"
]
},
"supported_parameters": [
"temperature",
"top_p",
"max_tokens"
],
"supported_voices": null,
"top_provider": \{
"context_length": 8192,
"is_moderated": true,
"max_completion_tokens": 4096
}
} |
\ No newline at end of file
+| `data` | [components.Model](../components/model) | :heavy_check_mark: | Information about an AI model available on OpenRouter | \{
"architecture": \{
"input_modalities": [
"text"
],
"instruct_type": "chatml",
"modality": "text-\u003etext",
"output_modalities": [
"text"
],
"tokenizer": "GPT"
},
"canonical_slug": "openai/gpt-4",
"context_length": 8192,
"created": 1692901234,
"default_parameters": null,
"description": "GPT-4 is a large multimodal model that can solve difficult problems with greater accuracy.",
"expiration_date": null,
"id": "openai/gpt-4",
"knowledge_cutoff": null,
"links": \{
"details": "/api/v1/models/openai/gpt-5.4/endpoints"
},
"name": "GPT-4",
"per_request_limits": null,
"pricing": \{
"completion": "0.00006",
"image": "0",
"prompt": "0.00003",
"request": "0"
},
"reasoning": \{
"default_effort": "medium",
"default_enabled": true,
"mandatory": false,
"supported_efforts": [
"high",
"medium",
"low",
"minimal"
]
},
"supported_parameters": [
"temperature",
"top_p",
"max_tokens"
],
"supported_voices": null,
"top_provider": \{
"context_length": 8192,
"is_moderated": true,
"max_completion_tokens": 4096
}
} |
\ No newline at end of file
diff --git a/docs/components/modelscountresponse.mdx b/docs/components/modelscountresponse.mdx
index 104a32fd..d91a5856 100644
--- a/docs/components/modelscountresponse.mdx
+++ b/docs/components/modelscountresponse.mdx
@@ -9,4 +9,4 @@ Model count data
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ |
-| `data` | [components.ModelsCountResponseData](../components/modelscountresponsedata.mdx) | :heavy_check_mark: | Model count data | \{
"count": 150
} |
\ No newline at end of file
+| `data` | [components.ModelsCountResponseData](../components/modelscountresponsedata) | :heavy_check_mark: | Model count data | \{
"count": 150
} |
\ No newline at end of file
diff --git a/docs/components/modelslistresponse.mdx b/docs/components/modelslistresponse.mdx
index ac531b92..b4c97265 100644
--- a/docs/components/modelslistresponse.mdx
+++ b/docs/components/modelslistresponse.mdx
@@ -9,6 +9,6 @@ List of available models
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `data` | List[[components.Model](../components/model.mdx)] | :heavy_check_mark: | List of available models | [
\{
"architecture": \{
"input_modalities": [
"text"
],
"instruct_type": "chatml",
"modality": "text-\u003etext",
"output_modalities": [
"text"
],
"tokenizer": "GPT"
},
"canonical_slug": "openai/gpt-4",
"context_length": 8192,
"created": 1692901234,
"default_parameters": null,
"description": "GPT-4 is a large multimodal model that can solve difficult problems with greater accuracy.",
"expiration_date": null,
"id": "openai/gpt-4",
"knowledge_cutoff": null,
"links": \{
"details": "/api/v1/models/openai/gpt-4/endpoints"
},
"name": "GPT-4",
"per_request_limits": null,
"pricing": \{
"completion": "0.00006",
"image": "0",
"prompt": "0.00003",
"request": "0"
},
"supported_parameters": [
"temperature",
"top_p",
"max_tokens"
],
"supported_voices": null,
"top_provider": \{
"context_length": 8192,
"is_moderated": true,
"max_completion_tokens": 4096
}
}
] |
-| `links` | [components.Links](../components/links.mdx) | :heavy_check_mark: | Pagination links | |
+| `data` | List[[components.Model](../components/model)] | :heavy_check_mark: | List of available models | [
\{
"architecture": \{
"input_modalities": [
"text"
],
"instruct_type": "chatml",
"modality": "text-\u003etext",
"output_modalities": [
"text"
],
"tokenizer": "GPT"
},
"canonical_slug": "openai/gpt-4",
"context_length": 8192,
"created": 1692901234,
"default_parameters": null,
"description": "GPT-4 is a large multimodal model that can solve difficult problems with greater accuracy.",
"expiration_date": null,
"id": "openai/gpt-4",
"knowledge_cutoff": null,
"links": \{
"details": "/api/v1/models/openai/gpt-4/endpoints"
},
"name": "GPT-4",
"per_request_limits": null,
"pricing": \{
"completion": "0.00006",
"image": "0",
"prompt": "0.00003",
"request": "0"
},
"supported_parameters": [
"temperature",
"top_p",
"max_tokens"
],
"supported_voices": null,
"top_provider": \{
"context_length": 8192,
"is_moderated": true,
"max_completion_tokens": 4096
}
}
] |
+| `links` | [components.Links](../components/links) | :heavy_check_mark: | Pagination links | |
| `total_count` | *int* | :heavy_check_mark: | Total number of models matching the query | 150 |
\ No newline at end of file
diff --git a/docs/components/moderationplugin.mdx b/docs/components/moderationplugin.mdx
index 0fd2af65..f0ee59ad 100644
--- a/docs/components/moderationplugin.mdx
+++ b/docs/components/moderationplugin.mdx
@@ -6,4 +6,4 @@ title: "ModerationPlugin"
| Field | Type | Required | Description |
| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- |
-| `id` | [components.ModerationPluginID](../components/moderationpluginid.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `id` | [components.ModerationPluginID](../components/moderationpluginid) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/namespacefunctiontool.mdx b/docs/components/namespacefunctiontool.mdx
index d03d8cb5..9c530dfd 100644
--- a/docs/components/namespacefunctiontool.mdx
+++ b/docs/components/namespacefunctiontool.mdx
@@ -9,11 +9,11 @@ A function tool grouped inside a namespace tool
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
-| `allowed_callers` | List[[components.AllowedCaller](../components/allowedcaller.mdx)] | :heavy_minus_sign: | N/A |
+| `allowed_callers` | List[[components.AllowedCaller](../components/allowedcaller)] | :heavy_minus_sign: | N/A |
| `defer_loading` | *Optional[bool]* | :heavy_minus_sign: | N/A |
| `description` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A |
| `name` | *str* | :heavy_check_mark: | N/A |
| `output_schema` | Dict[str, *Any*] | :heavy_minus_sign: | N/A |
| `parameters` | Dict[str, *Any*] | :heavy_minus_sign: | N/A |
| `strict` | *OptionalNullable[bool]* | :heavy_minus_sign: | N/A |
-| `type` | [components.NamespaceFunctionToolType](../components/namespacefunctiontooltype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.NamespaceFunctionToolType](../components/namespacefunctiontooltype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/namespacetool.mdx b/docs/components/namespacetool.mdx
index fab5a7cc..4424d558 100644
--- a/docs/components/namespacetool.mdx
+++ b/docs/components/namespacetool.mdx
@@ -11,5 +11,5 @@ Groups function/custom tools under a shared namespace
| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ |
| `description` | *str* | :heavy_check_mark: | N/A |
| `name` | *str* | :heavy_check_mark: | N/A |
-| `tools` | List[[components.NamespaceToolTool](../components/namespacetooltool.mdx)] | :heavy_check_mark: | N/A |
-| `type` | [components.NamespaceToolType](../components/namespacetooltype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `tools` | List[[components.NamespaceToolTool](../components/namespacetooltool)] | :heavy_check_mark: | N/A |
+| `type` | [components.NamespaceToolType](../components/namespacetooltype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/observabilityarizedestination.mdx b/docs/components/observabilityarizedestination.mdx
index 9eefceee..6f8b0708 100644
--- a/docs/components/observabilityarizedestination.mdx
+++ b/docs/components/observabilityarizedestination.mdx
@@ -7,14 +7,14 @@ title: "ObservabilityArizeDestination"
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| `api_key_hashes` | List[*str*] | :heavy_check_mark: | Optional allowlist of OpenRouter API key hashes (`api_keys.hash`) whose traffic is forwarded to this destination. `null` means all keys. | null |
-| `config` | [components.ObservabilityArizeDestinationConfig](../components/observabilityarizedestinationconfig.mdx) | :heavy_check_mark: | N/A | |
+| `config` | [components.ObservabilityArizeDestinationConfig](../components/observabilityarizedestinationconfig) | :heavy_check_mark: | N/A | |
| `created_at` | *str* | :heavy_check_mark: | ISO timestamp of when the destination was created. | 2025-08-24T10:30:00Z |
| `enabled` | *bool* | :heavy_check_mark: | Whether this destination is currently enabled. | true |
-| `filter_rules` | [Nullable[components.ObservabilityFilterRulesConfig]](../components/observabilityfilterrulesconfig.mdx) | :heavy_check_mark: | Optional structured filter rules controlling which events are forwarded. | null |
+| `filter_rules` | [Nullable[components.ObservabilityFilterRulesConfig]](../components/observabilityfilterrulesconfig) | :heavy_check_mark: | Optional structured filter rules controlling which events are forwarded. | null |
| `id` | *str* | :heavy_check_mark: | Stable public identifier for this destination. | 99999999-aaaa-bbbb-cccc-dddddddddddd |
| `name` | *Nullable[str]* | :heavy_check_mark: | Human-readable name for the destination. | Production Langfuse |
| `privacy_mode` | *bool* | :heavy_check_mark: | When true, request/response bodies are not forwarded to this destination — only metadata. | false |
| `sampling_rate` | *float* | :heavy_check_mark: | Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%). | 1 |
-| `type` | [components.ObservabilityArizeDestinationType](../components/observabilityarizedestinationtype.mdx) | :heavy_check_mark: | N/A | |
+| `type` | [components.ObservabilityArizeDestinationType](../components/observabilityarizedestinationtype) | :heavy_check_mark: | N/A | |
| `updated_at` | *str* | :heavy_check_mark: | ISO timestamp of when the destination was last updated. | 2025-08-24T15:45:00Z |
| `workspace_id` | *str* | :heavy_check_mark: | ID of the workspace this destination belongs to. | 550e8400-e29b-41d4-a716-446655440000 |
\ No newline at end of file
diff --git a/docs/components/observabilitybraintrustdestination.mdx b/docs/components/observabilitybraintrustdestination.mdx
index bd21dcc2..ad598dcf 100644
--- a/docs/components/observabilitybraintrustdestination.mdx
+++ b/docs/components/observabilitybraintrustdestination.mdx
@@ -7,14 +7,14 @@ title: "ObservabilityBraintrustDestination"
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| `api_key_hashes` | List[*str*] | :heavy_check_mark: | Optional allowlist of OpenRouter API key hashes (`api_keys.hash`) whose traffic is forwarded to this destination. `null` means all keys. | null |
-| `config` | [components.ObservabilityBraintrustDestinationConfig](../components/observabilitybraintrustdestinationconfig.mdx) | :heavy_check_mark: | N/A | |
+| `config` | [components.ObservabilityBraintrustDestinationConfig](../components/observabilitybraintrustdestinationconfig) | :heavy_check_mark: | N/A | |
| `created_at` | *str* | :heavy_check_mark: | ISO timestamp of when the destination was created. | 2025-08-24T10:30:00Z |
| `enabled` | *bool* | :heavy_check_mark: | Whether this destination is currently enabled. | true |
-| `filter_rules` | [Nullable[components.ObservabilityFilterRulesConfig]](../components/observabilityfilterrulesconfig.mdx) | :heavy_check_mark: | Optional structured filter rules controlling which events are forwarded. | null |
+| `filter_rules` | [Nullable[components.ObservabilityFilterRulesConfig]](../components/observabilityfilterrulesconfig) | :heavy_check_mark: | Optional structured filter rules controlling which events are forwarded. | null |
| `id` | *str* | :heavy_check_mark: | Stable public identifier for this destination. | 99999999-aaaa-bbbb-cccc-dddddddddddd |
| `name` | *Nullable[str]* | :heavy_check_mark: | Human-readable name for the destination. | Production Langfuse |
| `privacy_mode` | *bool* | :heavy_check_mark: | When true, request/response bodies are not forwarded to this destination — only metadata. | false |
| `sampling_rate` | *float* | :heavy_check_mark: | Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%). | 1 |
-| `type` | [components.ObservabilityBraintrustDestinationType](../components/observabilitybraintrustdestinationtype.mdx) | :heavy_check_mark: | N/A | |
+| `type` | [components.ObservabilityBraintrustDestinationType](../components/observabilitybraintrustdestinationtype) | :heavy_check_mark: | N/A | |
| `updated_at` | *str* | :heavy_check_mark: | ISO timestamp of when the destination was last updated. | 2025-08-24T15:45:00Z |
| `workspace_id` | *str* | :heavy_check_mark: | ID of the workspace this destination belongs to. | 550e8400-e29b-41d4-a716-446655440000 |
\ No newline at end of file
diff --git a/docs/components/observabilityclickhousedestination.mdx b/docs/components/observabilityclickhousedestination.mdx
index 1791dbf3..5a1a6a0e 100644
--- a/docs/components/observabilityclickhousedestination.mdx
+++ b/docs/components/observabilityclickhousedestination.mdx
@@ -7,14 +7,14 @@ title: "ObservabilityClickhouseDestination"
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| `api_key_hashes` | List[*str*] | :heavy_check_mark: | Optional allowlist of OpenRouter API key hashes (`api_keys.hash`) whose traffic is forwarded to this destination. `null` means all keys. | null |
-| `config` | [components.ObservabilityClickhouseDestinationConfig](../components/observabilityclickhousedestinationconfig.mdx) | :heavy_check_mark: | N/A | |
+| `config` | [components.ObservabilityClickhouseDestinationConfig](../components/observabilityclickhousedestinationconfig) | :heavy_check_mark: | N/A | |
| `created_at` | *str* | :heavy_check_mark: | ISO timestamp of when the destination was created. | 2025-08-24T10:30:00Z |
| `enabled` | *bool* | :heavy_check_mark: | Whether this destination is currently enabled. | true |
-| `filter_rules` | [Nullable[components.ObservabilityFilterRulesConfig]](../components/observabilityfilterrulesconfig.mdx) | :heavy_check_mark: | Optional structured filter rules controlling which events are forwarded. | null |
+| `filter_rules` | [Nullable[components.ObservabilityFilterRulesConfig]](../components/observabilityfilterrulesconfig) | :heavy_check_mark: | Optional structured filter rules controlling which events are forwarded. | null |
| `id` | *str* | :heavy_check_mark: | Stable public identifier for this destination. | 99999999-aaaa-bbbb-cccc-dddddddddddd |
| `name` | *Nullable[str]* | :heavy_check_mark: | Human-readable name for the destination. | Production Langfuse |
| `privacy_mode` | *bool* | :heavy_check_mark: | When true, request/response bodies are not forwarded to this destination — only metadata. | false |
| `sampling_rate` | *float* | :heavy_check_mark: | Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%). | 1 |
-| `type` | [components.ObservabilityClickhouseDestinationType](../components/observabilityclickhousedestinationtype.mdx) | :heavy_check_mark: | N/A | |
+| `type` | [components.ObservabilityClickhouseDestinationType](../components/observabilityclickhousedestinationtype) | :heavy_check_mark: | N/A | |
| `updated_at` | *str* | :heavy_check_mark: | ISO timestamp of when the destination was last updated. | 2025-08-24T15:45:00Z |
| `workspace_id` | *str* | :heavy_check_mark: | ID of the workspace this destination belongs to. | 550e8400-e29b-41d4-a716-446655440000 |
\ No newline at end of file
diff --git a/docs/components/observabilitydatadogdestination.mdx b/docs/components/observabilitydatadogdestination.mdx
index c3a06316..c873b582 100644
--- a/docs/components/observabilitydatadogdestination.mdx
+++ b/docs/components/observabilitydatadogdestination.mdx
@@ -7,14 +7,14 @@ title: "ObservabilityDatadogDestination"
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| `api_key_hashes` | List[*str*] | :heavy_check_mark: | Optional allowlist of OpenRouter API key hashes (`api_keys.hash`) whose traffic is forwarded to this destination. `null` means all keys. | null |
-| `config` | [components.ObservabilityDatadogDestinationConfig](../components/observabilitydatadogdestinationconfig.mdx) | :heavy_check_mark: | N/A | |
+| `config` | [components.ObservabilityDatadogDestinationConfig](../components/observabilitydatadogdestinationconfig) | :heavy_check_mark: | N/A | |
| `created_at` | *str* | :heavy_check_mark: | ISO timestamp of when the destination was created. | 2025-08-24T10:30:00Z |
| `enabled` | *bool* | :heavy_check_mark: | Whether this destination is currently enabled. | true |
-| `filter_rules` | [Nullable[components.ObservabilityFilterRulesConfig]](../components/observabilityfilterrulesconfig.mdx) | :heavy_check_mark: | Optional structured filter rules controlling which events are forwarded. | null |
+| `filter_rules` | [Nullable[components.ObservabilityFilterRulesConfig]](../components/observabilityfilterrulesconfig) | :heavy_check_mark: | Optional structured filter rules controlling which events are forwarded. | null |
| `id` | *str* | :heavy_check_mark: | Stable public identifier for this destination. | 99999999-aaaa-bbbb-cccc-dddddddddddd |
| `name` | *Nullable[str]* | :heavy_check_mark: | Human-readable name for the destination. | Production Langfuse |
| `privacy_mode` | *bool* | :heavy_check_mark: | When true, request/response bodies are not forwarded to this destination — only metadata. | false |
| `sampling_rate` | *float* | :heavy_check_mark: | Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%). | 1 |
-| `type` | [components.ObservabilityDatadogDestinationType](../components/observabilitydatadogdestinationtype.mdx) | :heavy_check_mark: | N/A | |
+| `type` | [components.ObservabilityDatadogDestinationType](../components/observabilitydatadogdestinationtype) | :heavy_check_mark: | N/A | |
| `updated_at` | *str* | :heavy_check_mark: | ISO timestamp of when the destination was last updated. | 2025-08-24T15:45:00Z |
| `workspace_id` | *str* | :heavy_check_mark: | ID of the workspace this destination belongs to. | 550e8400-e29b-41d4-a716-446655440000 |
\ No newline at end of file
diff --git a/docs/components/observabilityfilterrulegroup.mdx b/docs/components/observabilityfilterrulegroup.mdx
index 95aa7cfb..1e084fd7 100644
--- a/docs/components/observabilityfilterrulegroup.mdx
+++ b/docs/components/observabilityfilterrulegroup.mdx
@@ -6,5 +6,5 @@ title: "ObservabilityFilterRuleGroup"
| Field | Type | Required | Description |
| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- |
-| `logic` | [Optional[components.Logic]](../components/logic.mdx) | :heavy_minus_sign: | N/A |
-| `rules` | List[[components.Rule](../components/rule.mdx)] | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `logic` | [Optional[components.Logic]](../components/logic) | :heavy_minus_sign: | N/A |
+| `rules` | List[[components.Rule](../components/rule)] | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/observabilityfilterrulesconfig.mdx b/docs/components/observabilityfilterrulesconfig.mdx
index 83934044..568a919c 100644
--- a/docs/components/observabilityfilterrulesconfig.mdx
+++ b/docs/components/observabilityfilterrulesconfig.mdx
@@ -10,4 +10,4 @@ Optional structured filter rules controlling which events are forwarded.
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
| `enabled` | *Optional[bool]* | :heavy_minus_sign: | N/A |
-| `groups` | List[[components.ObservabilityFilterRuleGroup](../components/observabilityfilterrulegroup.mdx)] | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `groups` | List[[components.ObservabilityFilterRuleGroup](../components/observabilityfilterrulegroup)] | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/observabilityfilterrulesconfignullable.mdx b/docs/components/observabilityfilterrulesconfignullable.mdx
index 842fa8f7..4b962aed 100644
--- a/docs/components/observabilityfilterrulesconfignullable.mdx
+++ b/docs/components/observabilityfilterrulesconfignullable.mdx
@@ -10,4 +10,4 @@ Optional structured filter rules controlling which events are forwarded.
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
| `enabled` | *Optional[bool]* | :heavy_minus_sign: | N/A |
-| `groups` | List[[components.ObservabilityFilterRuleGroup](../components/observabilityfilterrulegroup.mdx)] | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `groups` | List[[components.ObservabilityFilterRuleGroup](../components/observabilityfilterrulegroup)] | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/observabilitygrafanadestination.mdx b/docs/components/observabilitygrafanadestination.mdx
index f0c1cfd9..f4014b2e 100644
--- a/docs/components/observabilitygrafanadestination.mdx
+++ b/docs/components/observabilitygrafanadestination.mdx
@@ -7,14 +7,14 @@ title: "ObservabilityGrafanaDestination"
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| `api_key_hashes` | List[*str*] | :heavy_check_mark: | Optional allowlist of OpenRouter API key hashes (`api_keys.hash`) whose traffic is forwarded to this destination. `null` means all keys. | null |
-| `config` | [components.ObservabilityGrafanaDestinationConfig](../components/observabilitygrafanadestinationconfig.mdx) | :heavy_check_mark: | N/A | |
+| `config` | [components.ObservabilityGrafanaDestinationConfig](../components/observabilitygrafanadestinationconfig) | :heavy_check_mark: | N/A | |
| `created_at` | *str* | :heavy_check_mark: | ISO timestamp of when the destination was created. | 2025-08-24T10:30:00Z |
| `enabled` | *bool* | :heavy_check_mark: | Whether this destination is currently enabled. | true |
-| `filter_rules` | [Nullable[components.ObservabilityFilterRulesConfig]](../components/observabilityfilterrulesconfig.mdx) | :heavy_check_mark: | Optional structured filter rules controlling which events are forwarded. | null |
+| `filter_rules` | [Nullable[components.ObservabilityFilterRulesConfig]](../components/observabilityfilterrulesconfig) | :heavy_check_mark: | Optional structured filter rules controlling which events are forwarded. | null |
| `id` | *str* | :heavy_check_mark: | Stable public identifier for this destination. | 99999999-aaaa-bbbb-cccc-dddddddddddd |
| `name` | *Nullable[str]* | :heavy_check_mark: | Human-readable name for the destination. | Production Langfuse |
| `privacy_mode` | *bool* | :heavy_check_mark: | When true, request/response bodies are not forwarded to this destination — only metadata. | false |
| `sampling_rate` | *float* | :heavy_check_mark: | Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%). | 1 |
-| `type` | [components.ObservabilityGrafanaDestinationType](../components/observabilitygrafanadestinationtype.mdx) | :heavy_check_mark: | N/A | |
+| `type` | [components.ObservabilityGrafanaDestinationType](../components/observabilitygrafanadestinationtype) | :heavy_check_mark: | N/A | |
| `updated_at` | *str* | :heavy_check_mark: | ISO timestamp of when the destination was last updated. | 2025-08-24T15:45:00Z |
| `workspace_id` | *str* | :heavy_check_mark: | ID of the workspace this destination belongs to. | 550e8400-e29b-41d4-a716-446655440000 |
\ No newline at end of file
diff --git a/docs/components/observabilitylangfusedestination.mdx b/docs/components/observabilitylangfusedestination.mdx
index 5364c633..3637cca5 100644
--- a/docs/components/observabilitylangfusedestination.mdx
+++ b/docs/components/observabilitylangfusedestination.mdx
@@ -7,14 +7,14 @@ title: "ObservabilityLangfuseDestination"
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| `api_key_hashes` | List[*str*] | :heavy_check_mark: | Optional allowlist of OpenRouter API key hashes (`api_keys.hash`) whose traffic is forwarded to this destination. `null` means all keys. | null |
-| `config` | [components.ObservabilityLangfuseDestinationConfig](../components/observabilitylangfusedestinationconfig.mdx) | :heavy_check_mark: | N/A | |
+| `config` | [components.ObservabilityLangfuseDestinationConfig](../components/observabilitylangfusedestinationconfig) | :heavy_check_mark: | N/A | |
| `created_at` | *str* | :heavy_check_mark: | ISO timestamp of when the destination was created. | 2025-08-24T10:30:00Z |
| `enabled` | *bool* | :heavy_check_mark: | Whether this destination is currently enabled. | true |
-| `filter_rules` | [Nullable[components.ObservabilityFilterRulesConfig]](../components/observabilityfilterrulesconfig.mdx) | :heavy_check_mark: | Optional structured filter rules controlling which events are forwarded. | null |
+| `filter_rules` | [Nullable[components.ObservabilityFilterRulesConfig]](../components/observabilityfilterrulesconfig) | :heavy_check_mark: | Optional structured filter rules controlling which events are forwarded. | null |
| `id` | *str* | :heavy_check_mark: | Stable public identifier for this destination. | 99999999-aaaa-bbbb-cccc-dddddddddddd |
| `name` | *Nullable[str]* | :heavy_check_mark: | Human-readable name for the destination. | Production Langfuse |
| `privacy_mode` | *bool* | :heavy_check_mark: | When true, request/response bodies are not forwarded to this destination — only metadata. | false |
| `sampling_rate` | *float* | :heavy_check_mark: | Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%). | 1 |
-| `type` | [components.ObservabilityLangfuseDestinationType](../components/observabilitylangfusedestinationtype.mdx) | :heavy_check_mark: | N/A | |
+| `type` | [components.ObservabilityLangfuseDestinationType](../components/observabilitylangfusedestinationtype) | :heavy_check_mark: | N/A | |
| `updated_at` | *str* | :heavy_check_mark: | ISO timestamp of when the destination was last updated. | 2025-08-24T15:45:00Z |
| `workspace_id` | *str* | :heavy_check_mark: | ID of the workspace this destination belongs to. | 550e8400-e29b-41d4-a716-446655440000 |
\ No newline at end of file
diff --git a/docs/components/observabilitylangsmithdestination.mdx b/docs/components/observabilitylangsmithdestination.mdx
index 20e1a3ec..fe561b18 100644
--- a/docs/components/observabilitylangsmithdestination.mdx
+++ b/docs/components/observabilitylangsmithdestination.mdx
@@ -7,14 +7,14 @@ title: "ObservabilityLangsmithDestination"
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| `api_key_hashes` | List[*str*] | :heavy_check_mark: | Optional allowlist of OpenRouter API key hashes (`api_keys.hash`) whose traffic is forwarded to this destination. `null` means all keys. | null |
-| `config` | [components.ObservabilityLangsmithDestinationConfig](../components/observabilitylangsmithdestinationconfig.mdx) | :heavy_check_mark: | N/A | |
+| `config` | [components.ObservabilityLangsmithDestinationConfig](../components/observabilitylangsmithdestinationconfig) | :heavy_check_mark: | N/A | |
| `created_at` | *str* | :heavy_check_mark: | ISO timestamp of when the destination was created. | 2025-08-24T10:30:00Z |
| `enabled` | *bool* | :heavy_check_mark: | Whether this destination is currently enabled. | true |
-| `filter_rules` | [Nullable[components.ObservabilityFilterRulesConfig]](../components/observabilityfilterrulesconfig.mdx) | :heavy_check_mark: | Optional structured filter rules controlling which events are forwarded. | null |
+| `filter_rules` | [Nullable[components.ObservabilityFilterRulesConfig]](../components/observabilityfilterrulesconfig) | :heavy_check_mark: | Optional structured filter rules controlling which events are forwarded. | null |
| `id` | *str* | :heavy_check_mark: | Stable public identifier for this destination. | 99999999-aaaa-bbbb-cccc-dddddddddddd |
| `name` | *Nullable[str]* | :heavy_check_mark: | Human-readable name for the destination. | Production Langfuse |
| `privacy_mode` | *bool* | :heavy_check_mark: | When true, request/response bodies are not forwarded to this destination — only metadata. | false |
| `sampling_rate` | *float* | :heavy_check_mark: | Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%). | 1 |
-| `type` | [components.ObservabilityLangsmithDestinationType](../components/observabilitylangsmithdestinationtype.mdx) | :heavy_check_mark: | N/A | |
+| `type` | [components.ObservabilityLangsmithDestinationType](../components/observabilitylangsmithdestinationtype) | :heavy_check_mark: | N/A | |
| `updated_at` | *str* | :heavy_check_mark: | ISO timestamp of when the destination was last updated. | 2025-08-24T15:45:00Z |
| `workspace_id` | *str* | :heavy_check_mark: | ID of the workspace this destination belongs to. | 550e8400-e29b-41d4-a716-446655440000 |
\ No newline at end of file
diff --git a/docs/components/observabilitynewrelicdestination.mdx b/docs/components/observabilitynewrelicdestination.mdx
index b04a7f80..6cab80fd 100644
--- a/docs/components/observabilitynewrelicdestination.mdx
+++ b/docs/components/observabilitynewrelicdestination.mdx
@@ -7,14 +7,14 @@ title: "ObservabilityNewrelicDestination"
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| `api_key_hashes` | List[*str*] | :heavy_check_mark: | Optional allowlist of OpenRouter API key hashes (`api_keys.hash`) whose traffic is forwarded to this destination. `null` means all keys. | null |
-| `config` | [components.ObservabilityNewrelicDestinationConfig](../components/observabilitynewrelicdestinationconfig.mdx) | :heavy_check_mark: | N/A | |
+| `config` | [components.ObservabilityNewrelicDestinationConfig](../components/observabilitynewrelicdestinationconfig) | :heavy_check_mark: | N/A | |
| `created_at` | *str* | :heavy_check_mark: | ISO timestamp of when the destination was created. | 2025-08-24T10:30:00Z |
| `enabled` | *bool* | :heavy_check_mark: | Whether this destination is currently enabled. | true |
-| `filter_rules` | [Nullable[components.ObservabilityFilterRulesConfig]](../components/observabilityfilterrulesconfig.mdx) | :heavy_check_mark: | Optional structured filter rules controlling which events are forwarded. | null |
+| `filter_rules` | [Nullable[components.ObservabilityFilterRulesConfig]](../components/observabilityfilterrulesconfig) | :heavy_check_mark: | Optional structured filter rules controlling which events are forwarded. | null |
| `id` | *str* | :heavy_check_mark: | Stable public identifier for this destination. | 99999999-aaaa-bbbb-cccc-dddddddddddd |
| `name` | *Nullable[str]* | :heavy_check_mark: | Human-readable name for the destination. | Production Langfuse |
| `privacy_mode` | *bool* | :heavy_check_mark: | When true, request/response bodies are not forwarded to this destination — only metadata. | false |
| `sampling_rate` | *float* | :heavy_check_mark: | Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%). | 1 |
-| `type` | [components.ObservabilityNewrelicDestinationType](../components/observabilitynewrelicdestinationtype.mdx) | :heavy_check_mark: | N/A | |
+| `type` | [components.ObservabilityNewrelicDestinationType](../components/observabilitynewrelicdestinationtype) | :heavy_check_mark: | N/A | |
| `updated_at` | *str* | :heavy_check_mark: | ISO timestamp of when the destination was last updated. | 2025-08-24T15:45:00Z |
| `workspace_id` | *str* | :heavy_check_mark: | ID of the workspace this destination belongs to. | 550e8400-e29b-41d4-a716-446655440000 |
\ No newline at end of file
diff --git a/docs/components/observabilitynewrelicdestinationconfig.mdx b/docs/components/observabilitynewrelicdestinationconfig.mdx
index eb8542dc..05b8bc90 100644
--- a/docs/components/observabilitynewrelicdestinationconfig.mdx
+++ b/docs/components/observabilitynewrelicdestinationconfig.mdx
@@ -8,4 +8,4 @@ title: "ObservabilityNewrelicDestinationConfig"
| --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- |
| `headers` | Dict[str, *str*] | :heavy_minus_sign: | Custom HTTP headers to include in requests to this destination. |
| `license_key` | *str* | :heavy_check_mark: | N/A |
-| `region` | [Optional[components.Region]](../components/region.mdx) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `region` | [Optional[components.Region]](../components/region) | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/docs/components/observabilityopikdestination.mdx b/docs/components/observabilityopikdestination.mdx
index 82ab82d0..0b9b6fff 100644
--- a/docs/components/observabilityopikdestination.mdx
+++ b/docs/components/observabilityopikdestination.mdx
@@ -7,14 +7,14 @@ title: "ObservabilityOpikDestination"
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| `api_key_hashes` | List[*str*] | :heavy_check_mark: | Optional allowlist of OpenRouter API key hashes (`api_keys.hash`) whose traffic is forwarded to this destination. `null` means all keys. | null |
-| `config` | [components.ObservabilityOpikDestinationConfig](../components/observabilityopikdestinationconfig.mdx) | :heavy_check_mark: | N/A | |
+| `config` | [components.ObservabilityOpikDestinationConfig](../components/observabilityopikdestinationconfig) | :heavy_check_mark: | N/A | |
| `created_at` | *str* | :heavy_check_mark: | ISO timestamp of when the destination was created. | 2025-08-24T10:30:00Z |
| `enabled` | *bool* | :heavy_check_mark: | Whether this destination is currently enabled. | true |
-| `filter_rules` | [Nullable[components.ObservabilityFilterRulesConfig]](../components/observabilityfilterrulesconfig.mdx) | :heavy_check_mark: | Optional structured filter rules controlling which events are forwarded. | null |
+| `filter_rules` | [Nullable[components.ObservabilityFilterRulesConfig]](../components/observabilityfilterrulesconfig) | :heavy_check_mark: | Optional structured filter rules controlling which events are forwarded. | null |
| `id` | *str* | :heavy_check_mark: | Stable public identifier for this destination. | 99999999-aaaa-bbbb-cccc-dddddddddddd |
| `name` | *Nullable[str]* | :heavy_check_mark: | Human-readable name for the destination. | Production Langfuse |
| `privacy_mode` | *bool* | :heavy_check_mark: | When true, request/response bodies are not forwarded to this destination — only metadata. | false |
| `sampling_rate` | *float* | :heavy_check_mark: | Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%). | 1 |
-| `type` | [components.ObservabilityOpikDestinationType](../components/observabilityopikdestinationtype.mdx) | :heavy_check_mark: | N/A | |
+| `type` | [components.ObservabilityOpikDestinationType](../components/observabilityopikdestinationtype) | :heavy_check_mark: | N/A | |
| `updated_at` | *str* | :heavy_check_mark: | ISO timestamp of when the destination was last updated. | 2025-08-24T15:45:00Z |
| `workspace_id` | *str* | :heavy_check_mark: | ID of the workspace this destination belongs to. | 550e8400-e29b-41d4-a716-446655440000 |
\ No newline at end of file
diff --git a/docs/components/observabilityotelcollectordestination.mdx b/docs/components/observabilityotelcollectordestination.mdx
index 43f3a512..a1e8aefc 100644
--- a/docs/components/observabilityotelcollectordestination.mdx
+++ b/docs/components/observabilityotelcollectordestination.mdx
@@ -7,14 +7,14 @@ title: "ObservabilityOtelCollectorDestination"
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| `api_key_hashes` | List[*str*] | :heavy_check_mark: | Optional allowlist of OpenRouter API key hashes (`api_keys.hash`) whose traffic is forwarded to this destination. `null` means all keys. | null |
-| `config` | [components.ObservabilityOtelCollectorDestinationConfig](../components/observabilityotelcollectordestinationconfig.mdx) | :heavy_check_mark: | N/A | |
+| `config` | [components.ObservabilityOtelCollectorDestinationConfig](../components/observabilityotelcollectordestinationconfig) | :heavy_check_mark: | N/A | |
| `created_at` | *str* | :heavy_check_mark: | ISO timestamp of when the destination was created. | 2025-08-24T10:30:00Z |
| `enabled` | *bool* | :heavy_check_mark: | Whether this destination is currently enabled. | true |
-| `filter_rules` | [Nullable[components.ObservabilityFilterRulesConfig]](../components/observabilityfilterrulesconfig.mdx) | :heavy_check_mark: | Optional structured filter rules controlling which events are forwarded. | null |
+| `filter_rules` | [Nullable[components.ObservabilityFilterRulesConfig]](../components/observabilityfilterrulesconfig) | :heavy_check_mark: | Optional structured filter rules controlling which events are forwarded. | null |
| `id` | *str* | :heavy_check_mark: | Stable public identifier for this destination. | 99999999-aaaa-bbbb-cccc-dddddddddddd |
| `name` | *Nullable[str]* | :heavy_check_mark: | Human-readable name for the destination. | Production Langfuse |
| `privacy_mode` | *bool* | :heavy_check_mark: | When true, request/response bodies are not forwarded to this destination — only metadata. | false |
| `sampling_rate` | *float* | :heavy_check_mark: | Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%). | 1 |
-| `type` | [components.ObservabilityOtelCollectorDestinationType](../components/observabilityotelcollectordestinationtype.mdx) | :heavy_check_mark: | N/A | |
+| `type` | [components.ObservabilityOtelCollectorDestinationType](../components/observabilityotelcollectordestinationtype) | :heavy_check_mark: | N/A | |
| `updated_at` | *str* | :heavy_check_mark: | ISO timestamp of when the destination was last updated. | 2025-08-24T15:45:00Z |
| `workspace_id` | *str* | :heavy_check_mark: | ID of the workspace this destination belongs to. | 550e8400-e29b-41d4-a716-446655440000 |
\ No newline at end of file
diff --git a/docs/components/observabilityposthogdestination.mdx b/docs/components/observabilityposthogdestination.mdx
index e6b8ee1b..1e531937 100644
--- a/docs/components/observabilityposthogdestination.mdx
+++ b/docs/components/observabilityposthogdestination.mdx
@@ -7,14 +7,14 @@ title: "ObservabilityPosthogDestination"
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| `api_key_hashes` | List[*str*] | :heavy_check_mark: | Optional allowlist of OpenRouter API key hashes (`api_keys.hash`) whose traffic is forwarded to this destination. `null` means all keys. | null |
-| `config` | [components.ObservabilityPosthogDestinationConfig](../components/observabilityposthogdestinationconfig.mdx) | :heavy_check_mark: | N/A | |
+| `config` | [components.ObservabilityPosthogDestinationConfig](../components/observabilityposthogdestinationconfig) | :heavy_check_mark: | N/A | |
| `created_at` | *str* | :heavy_check_mark: | ISO timestamp of when the destination was created. | 2025-08-24T10:30:00Z |
| `enabled` | *bool* | :heavy_check_mark: | Whether this destination is currently enabled. | true |
-| `filter_rules` | [Nullable[components.ObservabilityFilterRulesConfig]](../components/observabilityfilterrulesconfig.mdx) | :heavy_check_mark: | Optional structured filter rules controlling which events are forwarded. | null |
+| `filter_rules` | [Nullable[components.ObservabilityFilterRulesConfig]](../components/observabilityfilterrulesconfig) | :heavy_check_mark: | Optional structured filter rules controlling which events are forwarded. | null |
| `id` | *str* | :heavy_check_mark: | Stable public identifier for this destination. | 99999999-aaaa-bbbb-cccc-dddddddddddd |
| `name` | *Nullable[str]* | :heavy_check_mark: | Human-readable name for the destination. | Production Langfuse |
| `privacy_mode` | *bool* | :heavy_check_mark: | When true, request/response bodies are not forwarded to this destination — only metadata. | false |
| `sampling_rate` | *float* | :heavy_check_mark: | Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%). | 1 |
-| `type` | [components.ObservabilityPosthogDestinationType](../components/observabilityposthogdestinationtype.mdx) | :heavy_check_mark: | N/A | |
+| `type` | [components.ObservabilityPosthogDestinationType](../components/observabilityposthogdestinationtype) | :heavy_check_mark: | N/A | |
| `updated_at` | *str* | :heavy_check_mark: | ISO timestamp of when the destination was last updated. | 2025-08-24T15:45:00Z |
| `workspace_id` | *str* | :heavy_check_mark: | ID of the workspace this destination belongs to. | 550e8400-e29b-41d4-a716-446655440000 |
\ No newline at end of file
diff --git a/docs/components/observabilityrampdestination.mdx b/docs/components/observabilityrampdestination.mdx
index 78218365..9326107d 100644
--- a/docs/components/observabilityrampdestination.mdx
+++ b/docs/components/observabilityrampdestination.mdx
@@ -7,14 +7,14 @@ title: "ObservabilityRampDestination"
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| `api_key_hashes` | List[*str*] | :heavy_check_mark: | Optional allowlist of OpenRouter API key hashes (`api_keys.hash`) whose traffic is forwarded to this destination. `null` means all keys. | null |
-| `config` | [components.ObservabilityRampDestinationConfig](../components/observabilityrampdestinationconfig.mdx) | :heavy_check_mark: | N/A | |
+| `config` | [components.ObservabilityRampDestinationConfig](../components/observabilityrampdestinationconfig) | :heavy_check_mark: | N/A | |
| `created_at` | *str* | :heavy_check_mark: | ISO timestamp of when the destination was created. | 2025-08-24T10:30:00Z |
| `enabled` | *bool* | :heavy_check_mark: | Whether this destination is currently enabled. | true |
-| `filter_rules` | [Nullable[components.ObservabilityFilterRulesConfig]](../components/observabilityfilterrulesconfig.mdx) | :heavy_check_mark: | Optional structured filter rules controlling which events are forwarded. | null |
+| `filter_rules` | [Nullable[components.ObservabilityFilterRulesConfig]](../components/observabilityfilterrulesconfig) | :heavy_check_mark: | Optional structured filter rules controlling which events are forwarded. | null |
| `id` | *str* | :heavy_check_mark: | Stable public identifier for this destination. | 99999999-aaaa-bbbb-cccc-dddddddddddd |
| `name` | *Nullable[str]* | :heavy_check_mark: | Human-readable name for the destination. | Production Langfuse |
| `privacy_mode` | *bool* | :heavy_check_mark: | When true, request/response bodies are not forwarded to this destination — only metadata. | false |
| `sampling_rate` | *float* | :heavy_check_mark: | Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%). | 1 |
-| `type` | [components.ObservabilityRampDestinationType](../components/observabilityrampdestinationtype.mdx) | :heavy_check_mark: | N/A | |
+| `type` | [components.ObservabilityRampDestinationType](../components/observabilityrampdestinationtype) | :heavy_check_mark: | N/A | |
| `updated_at` | *str* | :heavy_check_mark: | ISO timestamp of when the destination was last updated. | 2025-08-24T15:45:00Z |
| `workspace_id` | *str* | :heavy_check_mark: | ID of the workspace this destination belongs to. | 550e8400-e29b-41d4-a716-446655440000 |
\ No newline at end of file
diff --git a/docs/components/observabilitys3destination.mdx b/docs/components/observabilitys3destination.mdx
index 14ec127b..3720c23a 100644
--- a/docs/components/observabilitys3destination.mdx
+++ b/docs/components/observabilitys3destination.mdx
@@ -7,14 +7,14 @@ title: "ObservabilityS3Destination"
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| `api_key_hashes` | List[*str*] | :heavy_check_mark: | Optional allowlist of OpenRouter API key hashes (`api_keys.hash`) whose traffic is forwarded to this destination. `null` means all keys. | null |
-| `config` | [components.ObservabilityS3DestinationConfig](../components/observabilitys3destinationconfig.mdx) | :heavy_check_mark: | N/A | |
+| `config` | [components.ObservabilityS3DestinationConfig](../components/observabilitys3destinationconfig) | :heavy_check_mark: | N/A | |
| `created_at` | *str* | :heavy_check_mark: | ISO timestamp of when the destination was created. | 2025-08-24T10:30:00Z |
| `enabled` | *bool* | :heavy_check_mark: | Whether this destination is currently enabled. | true |
-| `filter_rules` | [Nullable[components.ObservabilityFilterRulesConfig]](../components/observabilityfilterrulesconfig.mdx) | :heavy_check_mark: | Optional structured filter rules controlling which events are forwarded. | null |
+| `filter_rules` | [Nullable[components.ObservabilityFilterRulesConfig]](../components/observabilityfilterrulesconfig) | :heavy_check_mark: | Optional structured filter rules controlling which events are forwarded. | null |
| `id` | *str* | :heavy_check_mark: | Stable public identifier for this destination. | 99999999-aaaa-bbbb-cccc-dddddddddddd |
| `name` | *Nullable[str]* | :heavy_check_mark: | Human-readable name for the destination. | Production Langfuse |
| `privacy_mode` | *bool* | :heavy_check_mark: | When true, request/response bodies are not forwarded to this destination — only metadata. | false |
| `sampling_rate` | *float* | :heavy_check_mark: | Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%). | 1 |
-| `type` | [components.ObservabilityS3DestinationType](../components/observabilitys3destinationtype.mdx) | :heavy_check_mark: | N/A | |
+| `type` | [components.ObservabilityS3DestinationType](../components/observabilitys3destinationtype) | :heavy_check_mark: | N/A | |
| `updated_at` | *str* | :heavy_check_mark: | ISO timestamp of when the destination was last updated. | 2025-08-24T15:45:00Z |
| `workspace_id` | *str* | :heavy_check_mark: | ID of the workspace this destination belongs to. | 550e8400-e29b-41d4-a716-446655440000 |
\ No newline at end of file
diff --git a/docs/components/observabilitysentrydestination.mdx b/docs/components/observabilitysentrydestination.mdx
index 6f37f7dc..f493eaa6 100644
--- a/docs/components/observabilitysentrydestination.mdx
+++ b/docs/components/observabilitysentrydestination.mdx
@@ -7,14 +7,14 @@ title: "ObservabilitySentryDestination"
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| `api_key_hashes` | List[*str*] | :heavy_check_mark: | Optional allowlist of OpenRouter API key hashes (`api_keys.hash`) whose traffic is forwarded to this destination. `null` means all keys. | null |
-| `config` | [components.ObservabilitySentryDestinationConfig](../components/observabilitysentrydestinationconfig.mdx) | :heavy_check_mark: | N/A | |
+| `config` | [components.ObservabilitySentryDestinationConfig](../components/observabilitysentrydestinationconfig) | :heavy_check_mark: | N/A | |
| `created_at` | *str* | :heavy_check_mark: | ISO timestamp of when the destination was created. | 2025-08-24T10:30:00Z |
| `enabled` | *bool* | :heavy_check_mark: | Whether this destination is currently enabled. | true |
-| `filter_rules` | [Nullable[components.ObservabilityFilterRulesConfig]](../components/observabilityfilterrulesconfig.mdx) | :heavy_check_mark: | Optional structured filter rules controlling which events are forwarded. | null |
+| `filter_rules` | [Nullable[components.ObservabilityFilterRulesConfig]](../components/observabilityfilterrulesconfig) | :heavy_check_mark: | Optional structured filter rules controlling which events are forwarded. | null |
| `id` | *str* | :heavy_check_mark: | Stable public identifier for this destination. | 99999999-aaaa-bbbb-cccc-dddddddddddd |
| `name` | *Nullable[str]* | :heavy_check_mark: | Human-readable name for the destination. | Production Langfuse |
| `privacy_mode` | *bool* | :heavy_check_mark: | When true, request/response bodies are not forwarded to this destination — only metadata. | false |
| `sampling_rate` | *float* | :heavy_check_mark: | Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%). | 1 |
-| `type` | [components.ObservabilitySentryDestinationType](../components/observabilitysentrydestinationtype.mdx) | :heavy_check_mark: | N/A | |
+| `type` | [components.ObservabilitySentryDestinationType](../components/observabilitysentrydestinationtype) | :heavy_check_mark: | N/A | |
| `updated_at` | *str* | :heavy_check_mark: | ISO timestamp of when the destination was last updated. | 2025-08-24T15:45:00Z |
| `workspace_id` | *str* | :heavy_check_mark: | ID of the workspace this destination belongs to. | 550e8400-e29b-41d4-a716-446655440000 |
\ No newline at end of file
diff --git a/docs/components/observabilitysnowflakedestination.mdx b/docs/components/observabilitysnowflakedestination.mdx
index 0cc7f73d..8e61316b 100644
--- a/docs/components/observabilitysnowflakedestination.mdx
+++ b/docs/components/observabilitysnowflakedestination.mdx
@@ -7,14 +7,14 @@ title: "ObservabilitySnowflakeDestination"
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| `api_key_hashes` | List[*str*] | :heavy_check_mark: | Optional allowlist of OpenRouter API key hashes (`api_keys.hash`) whose traffic is forwarded to this destination. `null` means all keys. | null |
-| `config` | [components.ObservabilitySnowflakeDestinationConfig](../components/observabilitysnowflakedestinationconfig.mdx) | :heavy_check_mark: | N/A | |
+| `config` | [components.ObservabilitySnowflakeDestinationConfig](../components/observabilitysnowflakedestinationconfig) | :heavy_check_mark: | N/A | |
| `created_at` | *str* | :heavy_check_mark: | ISO timestamp of when the destination was created. | 2025-08-24T10:30:00Z |
| `enabled` | *bool* | :heavy_check_mark: | Whether this destination is currently enabled. | true |
-| `filter_rules` | [Nullable[components.ObservabilityFilterRulesConfig]](../components/observabilityfilterrulesconfig.mdx) | :heavy_check_mark: | Optional structured filter rules controlling which events are forwarded. | null |
+| `filter_rules` | [Nullable[components.ObservabilityFilterRulesConfig]](../components/observabilityfilterrulesconfig) | :heavy_check_mark: | Optional structured filter rules controlling which events are forwarded. | null |
| `id` | *str* | :heavy_check_mark: | Stable public identifier for this destination. | 99999999-aaaa-bbbb-cccc-dddddddddddd |
| `name` | *Nullable[str]* | :heavy_check_mark: | Human-readable name for the destination. | Production Langfuse |
| `privacy_mode` | *bool* | :heavy_check_mark: | When true, request/response bodies are not forwarded to this destination — only metadata. | false |
| `sampling_rate` | *float* | :heavy_check_mark: | Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%). | 1 |
-| `type` | [components.ObservabilitySnowflakeDestinationType](../components/observabilitysnowflakedestinationtype.mdx) | :heavy_check_mark: | N/A | |
+| `type` | [components.ObservabilitySnowflakeDestinationType](../components/observabilitysnowflakedestinationtype) | :heavy_check_mark: | N/A | |
| `updated_at` | *str* | :heavy_check_mark: | ISO timestamp of when the destination was last updated. | 2025-08-24T15:45:00Z |
| `workspace_id` | *str* | :heavy_check_mark: | ID of the workspace this destination belongs to. | 550e8400-e29b-41d4-a716-446655440000 |
\ No newline at end of file
diff --git a/docs/components/observabilityweavedestination.mdx b/docs/components/observabilityweavedestination.mdx
index 4f9d6b16..a1a2538a 100644
--- a/docs/components/observabilityweavedestination.mdx
+++ b/docs/components/observabilityweavedestination.mdx
@@ -7,14 +7,14 @@ title: "ObservabilityWeaveDestination"
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| `api_key_hashes` | List[*str*] | :heavy_check_mark: | Optional allowlist of OpenRouter API key hashes (`api_keys.hash`) whose traffic is forwarded to this destination. `null` means all keys. | null |
-| `config` | [components.ObservabilityWeaveDestinationConfig](../components/observabilityweavedestinationconfig.mdx) | :heavy_check_mark: | N/A | |
+| `config` | [components.ObservabilityWeaveDestinationConfig](../components/observabilityweavedestinationconfig) | :heavy_check_mark: | N/A | |
| `created_at` | *str* | :heavy_check_mark: | ISO timestamp of when the destination was created. | 2025-08-24T10:30:00Z |
| `enabled` | *bool* | :heavy_check_mark: | Whether this destination is currently enabled. | true |
-| `filter_rules` | [Nullable[components.ObservabilityFilterRulesConfig]](../components/observabilityfilterrulesconfig.mdx) | :heavy_check_mark: | Optional structured filter rules controlling which events are forwarded. | null |
+| `filter_rules` | [Nullable[components.ObservabilityFilterRulesConfig]](../components/observabilityfilterrulesconfig) | :heavy_check_mark: | Optional structured filter rules controlling which events are forwarded. | null |
| `id` | *str* | :heavy_check_mark: | Stable public identifier for this destination. | 99999999-aaaa-bbbb-cccc-dddddddddddd |
| `name` | *Nullable[str]* | :heavy_check_mark: | Human-readable name for the destination. | Production Langfuse |
| `privacy_mode` | *bool* | :heavy_check_mark: | When true, request/response bodies are not forwarded to this destination — only metadata. | false |
| `sampling_rate` | *float* | :heavy_check_mark: | Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%). | 1 |
-| `type` | [components.ObservabilityWeaveDestinationType](../components/observabilityweavedestinationtype.mdx) | :heavy_check_mark: | N/A | |
+| `type` | [components.ObservabilityWeaveDestinationType](../components/observabilityweavedestinationtype) | :heavy_check_mark: | N/A | |
| `updated_at` | *str* | :heavy_check_mark: | ISO timestamp of when the destination was last updated. | 2025-08-24T15:45:00Z |
| `workspace_id` | *str* | :heavy_check_mark: | ID of the workspace this destination belongs to. | 550e8400-e29b-41d4-a716-446655440000 |
\ No newline at end of file
diff --git a/docs/components/observabilitywebhookdestination.mdx b/docs/components/observabilitywebhookdestination.mdx
index 6be7531c..4aade29b 100644
--- a/docs/components/observabilitywebhookdestination.mdx
+++ b/docs/components/observabilitywebhookdestination.mdx
@@ -7,14 +7,14 @@ title: "ObservabilityWebhookDestination"
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| `api_key_hashes` | List[*str*] | :heavy_check_mark: | Optional allowlist of OpenRouter API key hashes (`api_keys.hash`) whose traffic is forwarded to this destination. `null` means all keys. | null |
-| `config` | [components.ObservabilityWebhookDestinationConfig](../components/observabilitywebhookdestinationconfig.mdx) | :heavy_check_mark: | N/A | |
+| `config` | [components.ObservabilityWebhookDestinationConfig](../components/observabilitywebhookdestinationconfig) | :heavy_check_mark: | N/A | |
| `created_at` | *str* | :heavy_check_mark: | ISO timestamp of when the destination was created. | 2025-08-24T10:30:00Z |
| `enabled` | *bool* | :heavy_check_mark: | Whether this destination is currently enabled. | true |
-| `filter_rules` | [Nullable[components.ObservabilityFilterRulesConfig]](../components/observabilityfilterrulesconfig.mdx) | :heavy_check_mark: | Optional structured filter rules controlling which events are forwarded. | null |
+| `filter_rules` | [Nullable[components.ObservabilityFilterRulesConfig]](../components/observabilityfilterrulesconfig) | :heavy_check_mark: | Optional structured filter rules controlling which events are forwarded. | null |
| `id` | *str* | :heavy_check_mark: | Stable public identifier for this destination. | 99999999-aaaa-bbbb-cccc-dddddddddddd |
| `name` | *Nullable[str]* | :heavy_check_mark: | Human-readable name for the destination. | Production Langfuse |
| `privacy_mode` | *bool* | :heavy_check_mark: | When true, request/response bodies are not forwarded to this destination — only metadata. | false |
| `sampling_rate` | *float* | :heavy_check_mark: | Sampling rate for events sent to this destination, between 0.0001 and 1 (1 = 100%). | 1 |
-| `type` | [components.ObservabilityWebhookDestinationType](../components/observabilitywebhookdestinationtype.mdx) | :heavy_check_mark: | N/A | |
+| `type` | [components.ObservabilityWebhookDestinationType](../components/observabilitywebhookdestinationtype) | :heavy_check_mark: | N/A | |
| `updated_at` | *str* | :heavy_check_mark: | ISO timestamp of when the destination was last updated. | 2025-08-24T15:45:00Z |
| `workspace_id` | *str* | :heavy_check_mark: | ID of the workspace this destination belongs to. | 550e8400-e29b-41d4-a716-446655440000 |
\ No newline at end of file
diff --git a/docs/components/observabilitywebhookdestinationconfig.mdx b/docs/components/observabilitywebhookdestinationconfig.mdx
index 8dab0b1a..7cc06229 100644
--- a/docs/components/observabilitywebhookdestinationconfig.mdx
+++ b/docs/components/observabilitywebhookdestinationconfig.mdx
@@ -7,5 +7,5 @@ title: "ObservabilityWebhookDestinationConfig"
| Field | Type | Required | Description |
| ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ |
| `headers` | Dict[str, *str*] | :heavy_minus_sign: | N/A |
-| `method` | [Optional[components.Method]](../components/method.mdx) | :heavy_minus_sign: | N/A |
+| `method` | [Optional[components.Method]](../components/method) | :heavy_minus_sign: | N/A |
| `url` | *str* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/openaifile.mdx b/docs/components/openaifile.mdx
index 83aa7914..171572bf 100644
--- a/docs/components/openaifile.mdx
+++ b/docs/components/openaifile.mdx
@@ -9,11 +9,11 @@ A stored file in OpenAI's Files API shape.
| Field | Type | Required | Description |
| ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- |
-| `shape` | [components.OpenAIFileShape](../components/openaifileshape.mdx) | :heavy_check_mark: | N/A |
+| `shape` | [components.OpenAIFileShape](../components/openaifileshape) | :heavy_check_mark: | N/A |
| `bytes_` | *int* | :heavy_check_mark: | N/A |
| `created_at` | *int* | :heavy_check_mark: | N/A |
| `filename` | *str* | :heavy_check_mark: | N/A |
| `id` | *str* | :heavy_check_mark: | N/A |
-| `object` | [components.OpenAIFileObject](../components/openaifileobject.mdx) | :heavy_check_mark: | N/A |
-| `purpose` | [components.Purpose](../components/purpose.mdx) | :heavy_check_mark: | N/A |
-| `status` | [components.OpenAIFileStatus](../components/openaifilestatus.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `object` | [components.OpenAIFileObject](../components/openaifileobject) | :heavy_check_mark: | N/A |
+| `purpose` | [components.Purpose](../components/purpose) | :heavy_check_mark: | N/A |
+| `status` | [components.OpenAIFileStatus](../components/openaifilestatus) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/openaifiledeleted.mdx b/docs/components/openaifiledeleted.mdx
index 24db73f8..df6d6d16 100644
--- a/docs/components/openaifiledeleted.mdx
+++ b/docs/components/openaifiledeleted.mdx
@@ -9,7 +9,7 @@ Deletion result in OpenAI's shape.
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ |
-| `shape` | [components.OpenAIFileDeletedShape](../components/openaifiledeletedshape.mdx) | :heavy_check_mark: | N/A |
+| `shape` | [components.OpenAIFileDeletedShape](../components/openaifiledeletedshape) | :heavy_check_mark: | N/A |
| `deleted` | *Literal[True]* | :heavy_check_mark: | N/A |
| `id` | *str* | :heavy_check_mark: | N/A |
-| `object` | [components.OpenAIFileDeletedObject](../components/openaifiledeletedobject.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `object` | [components.OpenAIFileDeletedObject](../components/openaifiledeletedobject) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/openaifilelist.mdx b/docs/components/openaifilelist.mdx
index d365da30..7dc9ae3d 100644
--- a/docs/components/openaifilelist.mdx
+++ b/docs/components/openaifilelist.mdx
@@ -9,9 +9,9 @@ A page of files in OpenAI's shape.
| Field | Type | Required | Description |
| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ |
-| `shape` | [components.OpenAIFileListShape](../components/openaifilelistshape.mdx) | :heavy_check_mark: | N/A |
-| `data` | List[[components.OpenAIFile](../components/openaifile.mdx)] | :heavy_check_mark: | N/A |
+| `shape` | [components.OpenAIFileListShape](../components/openaifilelistshape) | :heavy_check_mark: | N/A |
+| `data` | List[[components.OpenAIFile](../components/openaifile)] | :heavy_check_mark: | N/A |
| `first_id` | *Nullable[str]* | :heavy_check_mark: | N/A |
| `has_more` | *bool* | :heavy_check_mark: | N/A |
| `last_id` | *Nullable[str]* | :heavy_check_mark: | N/A |
-| `object` | [components.OpenAIFileListObject](../components/openaifilelistobject.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `object` | [components.OpenAIFileListObject](../components/openaifilelistobject) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/openairesponsecustomtoolcall.mdx b/docs/components/openairesponsecustomtoolcall.mdx
index 6d919122..dc63cbb5 100644
--- a/docs/components/openairesponsecustomtoolcall.mdx
+++ b/docs/components/openairesponsecustomtoolcall.mdx
@@ -11,4 +11,4 @@ title: "OpenAIResponseCustomToolCall"
| `input` | *str* | :heavy_check_mark: | N/A |
| `name` | *str* | :heavy_check_mark: | N/A |
| `namespace` | *Optional[str]* | :heavy_minus_sign: | Namespace qualifier for tools registered as part of a namespace tool group (e.g. an MCP server) |
-| `type` | [components.OpenAIResponseCustomToolCallType](../components/openairesponsecustomtoolcalltype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.OpenAIResponseCustomToolCallType](../components/openairesponsecustomtoolcalltype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/openairesponsecustomtoolcalloutput.mdx b/docs/components/openairesponsecustomtoolcalloutput.mdx
index a5539655..340e9c89 100644
--- a/docs/components/openairesponsecustomtoolcalloutput.mdx
+++ b/docs/components/openairesponsecustomtoolcalloutput.mdx
@@ -8,5 +8,5 @@ title: "OpenAIResponseCustomToolCallOutput"
| ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ |
| `call_id` | *str* | :heavy_check_mark: | N/A |
| `id` | *Optional[str]* | :heavy_minus_sign: | N/A |
-| `output` | [components.OpenAIResponseCustomToolCallOutputOutput2](../components/openairesponsecustomtoolcalloutputoutput2.mdx) | :heavy_check_mark: | N/A |
-| `type` | [components.OpenAIResponseCustomToolCallOutputType](../components/openairesponsecustomtoolcalloutputtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `output` | [components.OpenAIResponseCustomToolCallOutputOutput2](../components/openairesponsecustomtoolcalloutputoutput2) | :heavy_check_mark: | N/A |
+| `type` | [components.OpenAIResponseCustomToolCallOutputType](../components/openairesponsecustomtoolcalloutputtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/openairesponsefunctiontoolcall.mdx b/docs/components/openairesponsefunctiontoolcall.mdx
index efdbbbce..da60019b 100644
--- a/docs/components/openairesponsefunctiontoolcall.mdx
+++ b/docs/components/openairesponsefunctiontoolcall.mdx
@@ -11,5 +11,5 @@ title: "OpenAIResponseFunctionToolCall"
| `id` | *Optional[str]* | :heavy_minus_sign: | N/A | |
| `name` | *str* | :heavy_check_mark: | N/A | |
| `namespace` | *Optional[str]* | :heavy_minus_sign: | Namespace qualifier for tools registered as part of a namespace tool group (e.g. an MCP server) | |
-| `status` | [Optional[components.ToolCallStatus]](../components/toolcallstatus.mdx) | :heavy_minus_sign: | N/A | completed |
-| `type` | [components.OpenAIResponseFunctionToolCallType](../components/openairesponsefunctiontoolcalltype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `status` | [Optional[components.ToolCallStatus]](../components/toolcallstatus) | :heavy_minus_sign: | N/A | completed |
+| `type` | [components.OpenAIResponseFunctionToolCallType](../components/openairesponsefunctiontoolcalltype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/openairesponsefunctiontoolcalloutput.mdx b/docs/components/openairesponsefunctiontoolcalloutput.mdx
index 7999eeee..bbc1ff63 100644
--- a/docs/components/openairesponsefunctiontoolcalloutput.mdx
+++ b/docs/components/openairesponsefunctiontoolcalloutput.mdx
@@ -8,6 +8,6 @@ title: "OpenAIResponseFunctionToolCallOutput"
| ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| `call_id` | *str* | :heavy_check_mark: | N/A | |
| `id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
-| `output` | [components.OpenAIResponseFunctionToolCallOutputOutput2](../components/openairesponsefunctiontoolcalloutputoutput2.mdx) | :heavy_check_mark: | N/A | |
-| `status` | [OptionalNullable[components.ToolCallStatus]](../components/toolcallstatus.mdx) | :heavy_minus_sign: | N/A | completed |
-| `type` | [components.OpenAIResponseFunctionToolCallOutputType](../components/openairesponsefunctiontoolcalloutputtype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `output` | [components.OpenAIResponseFunctionToolCallOutputOutput2](../components/openairesponsefunctiontoolcalloutputoutput2) | :heavy_check_mark: | N/A | |
+| `status` | [OptionalNullable[components.ToolCallStatus]](../components/toolcallstatus) | :heavy_minus_sign: | N/A | completed |
+| `type` | [components.OpenAIResponseFunctionToolCallOutputType](../components/openairesponsefunctiontoolcalloutputtype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/openairesponseinputmessageitem.mdx b/docs/components/openairesponseinputmessageitem.mdx
index 8670ec0c..a1dcbcbf 100644
--- a/docs/components/openairesponseinputmessageitem.mdx
+++ b/docs/components/openairesponseinputmessageitem.mdx
@@ -6,7 +6,7 @@ title: "OpenAIResponseInputMessageItem"
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
-| `content` | List[[components.OpenAIResponseInputMessageItemContent](../components/openairesponseinputmessageitemcontent.mdx)] | :heavy_check_mark: | N/A |
+| `content` | List[[components.OpenAIResponseInputMessageItemContent](../components/openairesponseinputmessageitemcontent)] | :heavy_check_mark: | N/A |
| `id` | *str* | :heavy_check_mark: | N/A |
-| `role` | [components.OpenAIResponseInputMessageItemRoleUnion](../components/openairesponseinputmessageitemroleunion.mdx) | :heavy_check_mark: | N/A |
-| `type` | [Optional[components.OpenAIResponseInputMessageItemType]](../components/openairesponseinputmessageitemtype.mdx) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `role` | [components.OpenAIResponseInputMessageItemRoleUnion](../components/openairesponseinputmessageitemroleunion) | :heavy_check_mark: | N/A |
+| `type` | [Optional[components.OpenAIResponseInputMessageItemType]](../components/openairesponseinputmessageitemtype) | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/docs/components/openairesponsesrefusalcontent.mdx b/docs/components/openairesponsesrefusalcontent.mdx
index c687dab4..ba18dece 100644
--- a/docs/components/openairesponsesrefusalcontent.mdx
+++ b/docs/components/openairesponsesrefusalcontent.mdx
@@ -7,4 +7,4 @@ title: "OpenAIResponsesRefusalContent"
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| `refusal` | *str* | :heavy_check_mark: | N/A |
-| `type` | [components.OpenAIResponsesRefusalContentType](../components/openairesponsesrefusalcontenttype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.OpenAIResponsesRefusalContentType](../components/openairesponsesrefusalcontenttype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/openairesponsestoolchoice.mdx b/docs/components/openairesponsestoolchoice.mdx
index 71090a1f..26e5c2dc 100644
--- a/docs/components/openairesponsestoolchoice.mdx
+++ b/docs/components/openairesponsestoolchoice.mdx
@@ -6,4 +6,4 @@ title: "OpenAIResponsesToolChoice"
| Field | Type | Required | Description |
| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- |
-| `type` | [components.Type](../components/type.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.Type](../components/type) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/openairesponsestoolchoiceapplypatch.mdx b/docs/components/openairesponsestoolchoiceapplypatch.mdx
index de012d5c..56e4b665 100644
--- a/docs/components/openairesponsestoolchoiceapplypatch.mdx
+++ b/docs/components/openairesponsestoolchoiceapplypatch.mdx
@@ -6,4 +6,4 @@ title: "OpenAIResponsesToolChoiceApplyPatch"
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- |
-| `type` | [components.OpenAIResponsesToolChoiceTypeApplyPatch](../components/openairesponsestoolchoicetypeapplypatch.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.OpenAIResponsesToolChoiceTypeApplyPatch](../components/openairesponsestoolchoicetypeapplypatch) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/openairesponsestoolchoicefunction.mdx b/docs/components/openairesponsestoolchoicefunction.mdx
index e08dad52..dafa94c9 100644
--- a/docs/components/openairesponsestoolchoicefunction.mdx
+++ b/docs/components/openairesponsestoolchoicefunction.mdx
@@ -7,4 +7,4 @@ title: "OpenAIResponsesToolChoiceFunction"
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
| `name` | *str* | :heavy_check_mark: | N/A |
-| `type` | [components.OpenAIResponsesToolChoiceTypeFunction](../components/openairesponsestoolchoicetypefunction.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.OpenAIResponsesToolChoiceTypeFunction](../components/openairesponsestoolchoicetypefunction) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/openairesponsestoolchoiceshell.mdx b/docs/components/openairesponsestoolchoiceshell.mdx
index b0451b76..81bd8fc1 100644
--- a/docs/components/openairesponsestoolchoiceshell.mdx
+++ b/docs/components/openairesponsestoolchoiceshell.mdx
@@ -6,4 +6,4 @@ title: "OpenAIResponsesToolChoiceShell"
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
-| `type` | [components.OpenAIResponsesToolChoiceTypeShell](../components/openairesponsestoolchoicetypeshell.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.OpenAIResponsesToolChoiceTypeShell](../components/openairesponsestoolchoicetypeshell) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/openresponsescreatedevent.mdx b/docs/components/openresponsescreatedevent.mdx
index f1b2f471..2c550696 100644
--- a/docs/components/openresponsescreatedevent.mdx
+++ b/docs/components/openresponsescreatedevent.mdx
@@ -9,6 +9,6 @@ Event emitted when a response is created
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `response` | [components.OpenResponsesResult](../components/openresponsesresult.mdx) | :heavy_check_mark: | Complete non-streaming response from the Responses API | \{
"completed_at": 1704067210,
"created_at": 1704067200,
"error": null,
"frequency_penalty": null,
"id": "resp-abc123",
"incomplete_details": null,
"instructions": null,
"max_output_tokens": null,
"metadata": null,
"model": "gpt-4",
"object": "response",
"output": [
\{
"content": [
\{
"annotations": [],
"text": "Hello! How can I help you today?",
"type": "output_text"
}
],
"id": "msg-abc123",
"role": "assistant",
"status": "completed",
"type": "message"
}
],
"parallel_tool_calls": true,
"presence_penalty": null,
"status": "completed",
"temperature": null,
"tool_choice": "auto",
"tools": [],
"top_p": null,
"usage": \{
"input_tokens": 10,
"input_tokens_details": \{
"cached_tokens": 0
},
"output_tokens": 25,
"output_tokens_details": \{
"reasoning_tokens": 0
},
"total_tokens": 35
}
} |
+| `response` | [components.OpenResponsesResult](../components/openresponsesresult) | :heavy_check_mark: | Complete non-streaming response from the Responses API | \{
"completed_at": 1704067210,
"created_at": 1704067200,
"error": null,
"frequency_penalty": null,
"id": "resp-abc123",
"incomplete_details": null,
"instructions": null,
"max_output_tokens": null,
"metadata": null,
"model": "gpt-4",
"object": "response",
"output": [
\{
"content": [
\{
"annotations": [],
"text": "Hello! How can I help you today?",
"type": "output_text"
}
],
"id": "msg-abc123",
"role": "assistant",
"status": "completed",
"type": "message"
}
],
"parallel_tool_calls": true,
"presence_penalty": null,
"status": "completed",
"temperature": null,
"tool_choice": "auto",
"tools": [],
"top_p": null,
"usage": \{
"input_tokens": 10,
"input_tokens_details": \{
"cached_tokens": 0
},
"output_tokens": 25,
"output_tokens_details": \{
"reasoning_tokens": 0
},
"total_tokens": 35
}
} |
| `sequence_number` | *int* | :heavy_check_mark: | N/A | |
-| `type` | [components.OpenResponsesCreatedEventType](../components/openresponsescreatedeventtype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `type` | [components.OpenResponsesCreatedEventType](../components/openresponsescreatedeventtype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/openresponsesinprogressevent.mdx b/docs/components/openresponsesinprogressevent.mdx
index b9c8edc5..a354b84a 100644
--- a/docs/components/openresponsesinprogressevent.mdx
+++ b/docs/components/openresponsesinprogressevent.mdx
@@ -9,6 +9,6 @@ Event emitted when a response is in progress
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `response` | [components.OpenResponsesResult](../components/openresponsesresult.mdx) | :heavy_check_mark: | Complete non-streaming response from the Responses API | \{
"completed_at": 1704067210,
"created_at": 1704067200,
"error": null,
"frequency_penalty": null,
"id": "resp-abc123",
"incomplete_details": null,
"instructions": null,
"max_output_tokens": null,
"metadata": null,
"model": "gpt-4",
"object": "response",
"output": [
\{
"content": [
\{
"annotations": [],
"text": "Hello! How can I help you today?",
"type": "output_text"
}
],
"id": "msg-abc123",
"role": "assistant",
"status": "completed",
"type": "message"
}
],
"parallel_tool_calls": true,
"presence_penalty": null,
"status": "completed",
"temperature": null,
"tool_choice": "auto",
"tools": [],
"top_p": null,
"usage": \{
"input_tokens": 10,
"input_tokens_details": \{
"cached_tokens": 0
},
"output_tokens": 25,
"output_tokens_details": \{
"reasoning_tokens": 0
},
"total_tokens": 35
}
} |
+| `response` | [components.OpenResponsesResult](../components/openresponsesresult) | :heavy_check_mark: | Complete non-streaming response from the Responses API | \{
"completed_at": 1704067210,
"created_at": 1704067200,
"error": null,
"frequency_penalty": null,
"id": "resp-abc123",
"incomplete_details": null,
"instructions": null,
"max_output_tokens": null,
"metadata": null,
"model": "gpt-4",
"object": "response",
"output": [
\{
"content": [
\{
"annotations": [],
"text": "Hello! How can I help you today?",
"type": "output_text"
}
],
"id": "msg-abc123",
"role": "assistant",
"status": "completed",
"type": "message"
}
],
"parallel_tool_calls": true,
"presence_penalty": null,
"status": "completed",
"temperature": null,
"tool_choice": "auto",
"tools": [],
"top_p": null,
"usage": \{
"input_tokens": 10,
"input_tokens_details": \{
"cached_tokens": 0
},
"output_tokens": 25,
"output_tokens_details": \{
"reasoning_tokens": 0
},
"total_tokens": 35
}
} |
| `sequence_number` | *int* | :heavy_check_mark: | N/A | |
-| `type` | [components.OpenResponsesInProgressEventType](../components/openresponsesinprogresseventtype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `type` | [components.OpenResponsesInProgressEventType](../components/openresponsesinprogresseventtype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/openresponsesresult.mdx b/docs/components/openresponsesresult.mdx
index f5c81b71..c8b82f62 100644
--- a/docs/components/openresponsesresult.mdx
+++ b/docs/components/openresponsesresult.mdx
@@ -12,37 +12,37 @@ Complete non-streaming response from the Responses API
| `background` | *OptionalNullable[bool]* | :heavy_minus_sign: | N/A | |
| `completed_at` | *Nullable[int]* | :heavy_check_mark: | N/A | |
| `created_at` | *int* | :heavy_check_mark: | N/A | |
-| `error` | [Nullable[components.ResponsesErrorField]](../components/responseserrorfield.mdx) | :heavy_check_mark: | Error information returned from the API | \{
"code": "rate_limit_exceeded",
"message": "Rate limit exceeded. Please try again later."
} |
+| `error` | [Nullable[components.ResponsesErrorField]](../components/responseserrorfield) | :heavy_check_mark: | Error information returned from the API | \{
"code": "rate_limit_exceeded",
"message": "Rate limit exceeded. Please try again later."
} |
| `frequency_penalty` | *Nullable[float]* | :heavy_check_mark: | N/A | |
| `id` | *str* | :heavy_check_mark: | N/A | |
-| `incomplete_details` | [Nullable[components.IncompleteDetails]](../components/incompletedetails.mdx) | :heavy_check_mark: | N/A | \{
"reason": "max_output_tokens"
} |
-| `instructions` | [Nullable[components.BaseInputsUnion]](../components/baseinputsunion.mdx) | :heavy_check_mark: | N/A | [
\{
"content": "What is the weather today?",
"role": "user"
}
] |
+| `incomplete_details` | [Nullable[components.IncompleteDetails]](../components/incompletedetails) | :heavy_check_mark: | N/A | \{
"reason": "max_output_tokens"
} |
+| `instructions` | [Nullable[components.BaseInputsUnion]](../components/baseinputsunion) | :heavy_check_mark: | N/A | [
\{
"content": "What is the weather today?",
"role": "user"
}
] |
| `max_output_tokens` | *OptionalNullable[int]* | :heavy_minus_sign: | N/A | |
| `max_tool_calls` | *OptionalNullable[int]* | :heavy_minus_sign: | N/A | |
| `metadata` | Dict[str, *str*] | :heavy_check_mark: | Metadata key-value pairs for the request. Keys must be ≤64 characters and cannot contain brackets. Values must be ≤512 characters. Maximum 16 pairs allowed. | \{
"session_id": "abc-def-ghi",
"user_id": "123"
} |
| `model` | *str* | :heavy_check_mark: | N/A | |
-| `object` | [components.OpenResponsesResultObject](../components/openresponsesresultobject.mdx) | :heavy_check_mark: | N/A | |
-| `output` | List[[components.OutputItems](../components/outputitems.mdx)] | :heavy_check_mark: | N/A | |
+| `object` | [components.OpenResponsesResultObject](../components/openresponsesresultobject) | :heavy_check_mark: | N/A | |
+| `output` | List[[components.OutputItems](../components/outputitems)] | :heavy_check_mark: | N/A | |
| `output_text` | *Optional[str]* | :heavy_minus_sign: | N/A | |
| `parallel_tool_calls` | *bool* | :heavy_check_mark: | N/A | |
| `presence_penalty` | *Nullable[float]* | :heavy_check_mark: | N/A | |
| `previous_response_id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
-| `prompt` | [OptionalNullable[components.StoredPromptTemplate]](../components/storedprompttemplate.mdx) | :heavy_minus_sign: | N/A | \{
"id": "prompt-abc123",
"variables": \{
"name": "John"
}
} |
+| `prompt` | [OptionalNullable[components.StoredPromptTemplate]](../components/storedprompttemplate) | :heavy_minus_sign: | N/A | \{
"id": "prompt-abc123",
"variables": \{
"name": "John"
}
} |
| `prompt_cache_key` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
-| `prompt_cache_options` | [OptionalNullable[components.PromptCacheOptions]](../components/promptcacheoptions.mdx) | :heavy_minus_sign: | Request-level prompt-cache controls. `mode: "explicit"` disables OpenAI-managed breakpoints so only blocks marked with `prompt_cache_breakpoint` are cached. Only supported by OpenAI GPT-5.6 and newer. | \{
"mode": "explicit",
"ttl": "30m"
} |
-| `reasoning` | [OptionalNullable[components.BaseReasoningConfig]](../components/basereasoningconfig.mdx) | :heavy_minus_sign: | N/A | \{
"effort": "medium",
"summary": "auto"
} |
+| `prompt_cache_options` | [OptionalNullable[components.PromptCacheOptions]](../components/promptcacheoptions) | :heavy_minus_sign: | Request-level prompt-cache controls. `mode: "explicit"` disables OpenAI-managed breakpoints so only blocks marked with `prompt_cache_breakpoint` are cached. Only supported by OpenAI GPT-5.6 and newer. | \{
"mode": "explicit",
"ttl": "30m"
} |
+| `reasoning` | [OptionalNullable[components.BaseReasoningConfig]](../components/basereasoningconfig) | :heavy_minus_sign: | N/A | \{
"effort": "medium",
"summary": "auto"
} |
| `safety_identifier` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
| `service_tier` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
-| `status` | [components.OpenAIResponsesResponseStatus](../components/openairesponsesresponsestatus.mdx) | :heavy_check_mark: | N/A | completed |
+| `status` | [components.OpenAIResponsesResponseStatus](../components/openairesponsesresponsestatus) | :heavy_check_mark: | N/A | completed |
| `store` | *Optional[bool]* | :heavy_minus_sign: | N/A | |
| `temperature` | *Nullable[float]* | :heavy_check_mark: | N/A | |
-| `text` | [Optional[components.TextExtendedConfig]](../components/textextendedconfig.mdx) | :heavy_minus_sign: | Text output configuration including format and verbosity | \{
"format": \{
"type": "text"
}
} |
-| `tool_choice` | [components.OpenAIResponsesToolChoiceUnion](../components/openairesponsestoolchoiceunion.mdx) | :heavy_check_mark: | N/A | auto |
-| `tools` | List[[components.OpenResponsesResultToolUnion](../components/openresponsesresulttoolunion.mdx)] | :heavy_check_mark: | N/A | |
+| `text` | [Optional[components.TextExtendedConfig]](../components/textextendedconfig) | :heavy_minus_sign: | Text output configuration including format and verbosity | \{
"format": \{
"type": "text"
}
} |
+| `tool_choice` | [components.OpenAIResponsesToolChoiceUnion](../components/openairesponsestoolchoiceunion) | :heavy_check_mark: | N/A | auto |
+| `tools` | List[[components.OpenResponsesResultToolUnion](../components/openresponsesresulttoolunion)] | :heavy_check_mark: | N/A | |
| `top_logprobs` | *Optional[int]* | :heavy_minus_sign: | N/A | |
| `top_p` | *Nullable[float]* | :heavy_check_mark: | N/A | |
-| `truncation` | [OptionalNullable[components.Truncation]](../components/truncation.mdx) | :heavy_minus_sign: | N/A | auto |
-| `usage` | [OptionalNullable[components.Usage]](../components/usage.mdx) | :heavy_minus_sign: | Token usage information for the response | \{
"cost": 0.0012,
"cost_details": \{
"upstream_inference_cost": null,
"upstream_inference_input_cost": 0.0008,
"upstream_inference_output_cost": 0.0004
},
"input_tokens": 10,
"input_tokens_details": \{
"cached_tokens": 0
},
"output_tokens": 25,
"output_tokens_details": \{
"reasoning_tokens": 0
},
"total_tokens": 35
} |
+| `truncation` | [OptionalNullable[components.Truncation]](../components/truncation) | :heavy_minus_sign: | N/A | auto |
+| `usage` | [OptionalNullable[components.Usage]](../components/usage) | :heavy_minus_sign: | Token usage information for the response | \{
"cost": 0.0012,
"cost_details": \{
"upstream_inference_cost": null,
"upstream_inference_input_cost": 0.0008,
"upstream_inference_output_cost": 0.0004
},
"input_tokens": 10,
"input_tokens_details": \{
"cached_tokens": 0
},
"output_tokens": 25,
"output_tokens_details": \{
"reasoning_tokens": 0
},
"total_tokens": 35
} |
| `user` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
-| `error_type` | [Optional[components.APIErrorType]](../components/apierrortype.mdx) | :heavy_minus_sign: | Canonical OpenRouter error type, stable across all API formats | rate_limit_exceeded |
-| `openrouter_metadata` | [Optional[components.OpenRouterMetadata]](../components/openroutermetadata.mdx) | :heavy_minus_sign: | N/A | \{
"attempt": 1,
"endpoints": \{
"available": [
\{
"model": "openai/gpt-4o",
"provider": "OpenAI",
"selected": true
}
],
"total": 1
},
"is_byok": false,
"region": "iad",
"requested": "openai/gpt-4o",
"strategy": "direct",
"summary": "available=1, selected=OpenAI"
} |
\ No newline at end of file
+| `error_type` | [Optional[components.APIErrorType]](../components/apierrortype) | :heavy_minus_sign: | Canonical OpenRouter error type, stable across all API formats | rate_limit_exceeded |
+| `openrouter_metadata` | [Optional[components.OpenRouterMetadata]](../components/openroutermetadata) | :heavy_minus_sign: | N/A | \{
"attempt": 1,
"endpoints": \{
"available": [
\{
"model": "openai/gpt-4o",
"provider": "OpenAI",
"selected": true
}
],
"total": 1
},
"is_byok": false,
"region": "iad",
"requested": "openai/gpt-4o",
"strategy": "direct",
"summary": "available=1, selected=OpenAI"
} |
\ No newline at end of file
diff --git a/docs/components/openresponsesresulttoolfunction.mdx b/docs/components/openresponsesresulttoolfunction.mdx
index 9ccb4ab1..2302a9ab 100644
--- a/docs/components/openresponsesresulttoolfunction.mdx
+++ b/docs/components/openresponsesresulttoolfunction.mdx
@@ -13,4 +13,4 @@ Function tool definition
| `name` | *str* | :heavy_check_mark: | N/A |
| `parameters` | Dict[str, *Any*] | :heavy_check_mark: | N/A |
| `strict` | *OptionalNullable[bool]* | :heavy_minus_sign: | N/A |
-| `type` | [components.OpenResponsesResultType](../components/openresponsesresulttype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.OpenResponsesResultType](../components/openresponsesresulttype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/openrouterfile.mdx b/docs/components/openrouterfile.mdx
index f7335e37..6011f7e0 100644
--- a/docs/components/openrouterfile.mdx
+++ b/docs/components/openrouterfile.mdx
@@ -9,11 +9,11 @@ A stored file in the OpenRouter superset shape: Anthropic-shaped, plus OpenRoute
| Field | Type | Required | Description |
| ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- |
-| `shape` | [components.OpenRouterFileShape](../components/openrouterfileshape.mdx) | :heavy_check_mark: | N/A |
+| `shape` | [components.OpenRouterFileShape](../components/openrouterfileshape) | :heavy_check_mark: | N/A |
| `created_at` | *str* | :heavy_check_mark: | N/A |
| `downloadable` | *bool* | :heavy_check_mark: | N/A |
| `filename` | *str* | :heavy_check_mark: | N/A |
| `id` | *str* | :heavy_check_mark: | N/A |
| `mime_type` | *str* | :heavy_check_mark: | N/A |
| `size_bytes` | *int* | :heavy_check_mark: | N/A |
-| `type` | [components.OpenRouterFileType](../components/openrouterfiletype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.OpenRouterFileType](../components/openrouterfiletype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/openrouterfiledeleted.mdx b/docs/components/openrouterfiledeleted.mdx
index af6a578a..18069d50 100644
--- a/docs/components/openrouterfiledeleted.mdx
+++ b/docs/components/openrouterfiledeleted.mdx
@@ -9,6 +9,6 @@ Deletion result in the OpenRouter shape.
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ |
-| `shape` | [components.OpenRouterFileDeletedShape](../components/openrouterfiledeletedshape.mdx) | :heavy_check_mark: | N/A |
+| `shape` | [components.OpenRouterFileDeletedShape](../components/openrouterfiledeletedshape) | :heavy_check_mark: | N/A |
| `id` | *str* | :heavy_check_mark: | N/A |
-| `type` | [components.OpenRouterFileDeletedType](../components/openrouterfiledeletedtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.OpenRouterFileDeletedType](../components/openrouterfiledeletedtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/openrouterfilelist.mdx b/docs/components/openrouterfilelist.mdx
index 16ebdba6..c28e8c3a 100644
--- a/docs/components/openrouterfilelist.mdx
+++ b/docs/components/openrouterfilelist.mdx
@@ -9,9 +9,9 @@ A page of files in the OpenRouter shape.
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ |
-| `shape` | [components.OpenRouterFileListShape](../components/openrouterfilelistshape.mdx) | :heavy_check_mark: | N/A |
+| `shape` | [components.OpenRouterFileListShape](../components/openrouterfilelistshape) | :heavy_check_mark: | N/A |
| `cursor` | *Nullable[str]* | :heavy_check_mark: | Opaque cursor for the next page; null when there are no more results. |
-| `data` | List[[components.OpenRouterFile](../components/openrouterfile.mdx)] | :heavy_check_mark: | N/A |
+| `data` | List[[components.OpenRouterFile](../components/openrouterfile)] | :heavy_check_mark: | N/A |
| `first_id` | *Nullable[str]* | :heavy_check_mark: | N/A |
| `has_more` | *bool* | :heavy_check_mark: | N/A |
| `last_id` | *Nullable[str]* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/openroutermetadata.mdx b/docs/components/openroutermetadata.mdx
index 812ccb2b..28e730d2 100644
--- a/docs/components/openroutermetadata.mdx
+++ b/docs/components/openroutermetadata.mdx
@@ -7,12 +7,12 @@ title: "OpenRouterMetadata"
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
| `attempt` | *int* | :heavy_check_mark: | N/A | |
-| `attempts` | List[[components.RouterAttempt](../components/routerattempt.mdx)] | :heavy_minus_sign: | N/A | |
-| `endpoints` | [components.EndpointsMetadata](../components/endpointsmetadata.mdx) | :heavy_check_mark: | N/A | \{
"available": [
\{
"model": "openai/gpt-4o",
"provider": "OpenAI",
"selected": true
}
],
"total": 3
} |
+| `attempts` | List[[components.RouterAttempt](../components/routerattempt)] | :heavy_minus_sign: | N/A | |
+| `endpoints` | [components.EndpointsMetadata](../components/endpointsmetadata) | :heavy_check_mark: | N/A | \{
"available": [
\{
"model": "openai/gpt-4o",
"provider": "OpenAI",
"selected": true
}
],
"total": 3
} |
| `is_byok` | *bool* | :heavy_check_mark: | N/A | |
-| `params` | [Optional[components.RouterParams]](../components/routerparams.mdx) | :heavy_minus_sign: | N/A | \{
"version_group": "anthropic/claude-sonnet-4"
} |
-| `pipeline` | List[[components.PipelineStage](../components/pipelinestage.mdx)] | :heavy_minus_sign: | N/A | |
+| `params` | [Optional[components.RouterParams]](../components/routerparams) | :heavy_minus_sign: | N/A | \{
"version_group": "anthropic/claude-sonnet-4"
} |
+| `pipeline` | List[[components.PipelineStage](../components/pipelinestage)] | :heavy_minus_sign: | N/A | |
| `region` | *Nullable[str]* | :heavy_check_mark: | N/A | |
| `requested` | *str* | :heavy_check_mark: | N/A | |
-| `strategy` | [components.RoutingStrategy](../components/routingstrategy.mdx) | :heavy_check_mark: | N/A | direct |
+| `strategy` | [components.RoutingStrategy](../components/routingstrategy) | :heavy_check_mark: | N/A | direct |
| `summary` | *str* | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/openrouterwebsearchservertool.mdx b/docs/components/openrouterwebsearchservertool.mdx
index 3842a52e..efc529ea 100644
--- a/docs/components/openrouterwebsearchservertool.mdx
+++ b/docs/components/openrouterwebsearchservertool.mdx
@@ -9,5 +9,5 @@ OpenRouter built-in server tool: searches the web for current information
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
-| `parameters` | [Optional[components.WebSearchConfig]](../components/websearchconfig.mdx) | :heavy_minus_sign: | N/A | \{
"max_results": 5,
"search_context_size": "medium"
} |
-| `type` | [components.OpenRouterWebSearchServerToolType](../components/openrouterwebsearchservertooltype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `parameters` | [Optional[components.WebSearchConfig]](../components/websearchconfig) | :heavy_minus_sign: | N/A | \{
"max_results": 5,
"search_context_size": "medium"
} |
+| `type` | [components.OpenRouterWebSearchServerToolType](../components/openrouterwebsearchservertooltype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/outcomeexit.mdx b/docs/components/outcomeexit.mdx
index dd9bda68..2939e9e1 100644
--- a/docs/components/outcomeexit.mdx
+++ b/docs/components/outcomeexit.mdx
@@ -7,4 +7,4 @@ title: "OutcomeExit"
| Field | Type | Required | Description |
| ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ |
| `exit_code` | *int* | :heavy_check_mark: | N/A |
-| `type` | [components.TypeExit](../components/typeexit.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.TypeExit](../components/typeexit) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/outcometimeout.mdx b/docs/components/outcometimeout.mdx
index 6fe515d1..ab97dc8e 100644
--- a/docs/components/outcometimeout.mdx
+++ b/docs/components/outcometimeout.mdx
@@ -6,4 +6,4 @@ title: "OutcomeTimeout"
| Field | Type | Required | Description |
| ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ |
-| `type` | [components.TypeTimeout](../components/typetimeout.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.TypeTimeout](../components/typetimeout) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/outputadvisorservertoolitem.mdx b/docs/components/outputadvisorservertoolitem.mdx
index e89c7434..d2d8bb42 100644
--- a/docs/components/outputadvisorservertoolitem.mdx
+++ b/docs/components/outputadvisorservertoolitem.mdx
@@ -15,5 +15,5 @@ An openrouter:advisor server tool output item
| `instance_name` | *Optional[str]* | :heavy_minus_sign: | Provider-safe function name of the specific advisor instance that produced this item (e.g. `openrouter_advisor__1`). Present only when more than one advisor tool is configured; omitted for the default single advisor. Echo this field back unchanged so the advisor's cross-request memory stays namespaced to the correct instance. This identity is positional: it is derived from the index of the advisor entry in the request `tools` array, so clients must keep the order of advisor tool entries stable across requests in a conversation. Reordering or inserting advisor entries shifts these names and causes each advisor's cross-request memory to be attributed to the wrong instance. | openrouter_advisor__1 |
| `model` | *Optional[str]* | :heavy_minus_sign: | Slug of the advisor model that was consulted. | |
| `prompt` | *Optional[str]* | :heavy_minus_sign: | The prompt the executor sent to the advisor. | |
-| `status` | [components.ToolCallStatus](../components/toolcallstatus.mdx) | :heavy_check_mark: | N/A | completed |
-| `type` | [components.OutputAdvisorServerToolItemType](../components/outputadvisorservertoolitemtype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `status` | [components.ToolCallStatus](../components/toolcallstatus) | :heavy_check_mark: | N/A | completed |
+| `type` | [components.OutputAdvisorServerToolItemType](../components/outputadvisorservertoolitemtype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/outputapplypatchcallitem.mdx b/docs/components/outputapplypatchcallitem.mdx
index 2a02c6e3..48e0d2bc 100644
--- a/docs/components/outputapplypatchcallitem.mdx
+++ b/docs/components/outputapplypatchcallitem.mdx
@@ -11,6 +11,6 @@ A native `apply_patch_call` output item matching OpenAI's Responses API shape. E
| --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| `call_id` | *str* | :heavy_check_mark: | N/A | |
| `id` | *str* | :heavy_check_mark: | N/A | |
-| `operation` | [components.ApplyPatchCallOperation](../components/applypatchcalloperation.mdx) | :heavy_check_mark: | The patch operation requested by an `apply_patch_call`. `create_file` and `update_file` carry a V4A diff; `delete_file` omits it. | \{
"diff": "@@ function main() \{\n+ console.log(\"hi\");\n }",
"path": "/src/main.ts",
"type": "update_file"
} |
-| `status` | [components.ApplyPatchCallStatus](../components/applypatchcallstatus.mdx) | :heavy_check_mark: | Lifecycle state of an `apply_patch_call` output item. | completed |
-| `type` | [components.OutputApplyPatchCallItemType](../components/outputapplypatchcallitemtype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `operation` | [components.ApplyPatchCallOperation](../components/applypatchcalloperation) | :heavy_check_mark: | The patch operation requested by an `apply_patch_call`. `create_file` and `update_file` carry a V4A diff; `delete_file` omits it. | \{
"diff": "@@ function main() \{\n+ console.log(\"hi\");\n }",
"path": "/src/main.ts",
"type": "update_file"
} |
+| `status` | [components.ApplyPatchCallStatus](../components/applypatchcallstatus) | :heavy_check_mark: | Lifecycle state of an `apply_patch_call` output item. | completed |
+| `type` | [components.OutputApplyPatchCallItemType](../components/outputapplypatchcallitemtype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/outputapplypatchservertoolitem.mdx b/docs/components/outputapplypatchservertoolitem.mdx
index b27640e1..5159950c 100644
--- a/docs/components/outputapplypatchservertoolitem.mdx
+++ b/docs/components/outputapplypatchservertoolitem.mdx
@@ -11,6 +11,6 @@ An openrouter:apply_patch server tool output item. The turn halts when validatio
| --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| `call_id` | *Optional[str]* | :heavy_minus_sign: | N/A | |
| `id` | *Optional[str]* | :heavy_minus_sign: | N/A | |
-| `operation` | [Optional[components.ApplyPatchCallOperation]](../components/applypatchcalloperation.mdx) | :heavy_minus_sign: | The patch operation requested by an `apply_patch_call`. `create_file` and `update_file` carry a V4A diff; `delete_file` omits it. | \{
"diff": "@@ function main() \{\n+ console.log(\"hi\");\n }",
"path": "/src/main.ts",
"type": "update_file"
} |
-| `status` | [components.ToolCallStatus](../components/toolcallstatus.mdx) | :heavy_check_mark: | N/A | completed |
-| `type` | [components.OutputApplyPatchServerToolItemType](../components/outputapplypatchservertoolitemtype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `operation` | [Optional[components.ApplyPatchCallOperation]](../components/applypatchcalloperation) | :heavy_minus_sign: | The patch operation requested by an `apply_patch_call`. `create_file` and `update_file` carry a V4A diff; `delete_file` omits it. | \{
"diff": "@@ function main() \{\n+ console.log(\"hi\");\n }",
"path": "/src/main.ts",
"type": "update_file"
} |
+| `status` | [components.ToolCallStatus](../components/toolcallstatus) | :heavy_check_mark: | N/A | completed |
+| `type` | [components.OutputApplyPatchServerToolItemType](../components/outputapplypatchservertoolitemtype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/outputbashservertoolitem.mdx b/docs/components/outputbashservertoolitem.mdx
index cf5ee887..87bd7a75 100644
--- a/docs/components/outputbashservertoolitem.mdx
+++ b/docs/components/outputbashservertoolitem.mdx
@@ -14,7 +14,7 @@ An openrouter:bash server tool output item
| `command` | *Optional[str]* | :heavy_minus_sign: | N/A | |
| `exit_code` | *Optional[int]* | :heavy_minus_sign: | N/A | |
| `id` | *Optional[str]* | :heavy_minus_sign: | N/A | |
-| `status` | [components.ToolCallStatus](../components/toolcallstatus.mdx) | :heavy_check_mark: | N/A | completed |
+| `status` | [components.ToolCallStatus](../components/toolcallstatus) | :heavy_check_mark: | N/A | completed |
| `stderr` | *Optional[str]* | :heavy_minus_sign: | N/A | |
| `stdout` | *Optional[str]* | :heavy_minus_sign: | N/A | |
-| `type` | [components.OutputBashServerToolItemType](../components/outputbashservertoolitemtype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `type` | [components.OutputBashServerToolItemType](../components/outputbashservertoolitemtype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/outputbrowseruseservertoolitem.mdx b/docs/components/outputbrowseruseservertoolitem.mdx
index d8f75dc4..7ac7ac39 100644
--- a/docs/components/outputbrowseruseservertoolitem.mdx
+++ b/docs/components/outputbrowseruseservertoolitem.mdx
@@ -12,5 +12,5 @@ An openrouter:browser_use server tool output item
| `action` | *Optional[str]* | :heavy_minus_sign: | N/A | |
| `id` | *Optional[str]* | :heavy_minus_sign: | N/A | |
| `screenshot_b64` | *Optional[str]* | :heavy_minus_sign: | N/A | |
-| `status` | [components.ToolCallStatus](../components/toolcallstatus.mdx) | :heavy_check_mark: | N/A | completed |
-| `type` | [components.OutputBrowserUseServerToolItemType](../components/outputbrowseruseservertoolitemtype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `status` | [components.ToolCallStatus](../components/toolcallstatus) | :heavy_check_mark: | N/A | completed |
+| `type` | [components.OutputBrowserUseServerToolItemType](../components/outputbrowseruseservertoolitemtype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/outputcodeinterpretercallitem.mdx b/docs/components/outputcodeinterpretercallitem.mdx
index 08f28041..35aa47e2 100644
--- a/docs/components/outputcodeinterpretercallitem.mdx
+++ b/docs/components/outputcodeinterpretercallitem.mdx
@@ -12,6 +12,6 @@ A code interpreter execution call with outputs
| `code` | *Nullable[str]* | :heavy_check_mark: | N/A | |
| `container_id` | *str* | :heavy_check_mark: | N/A | |
| `id` | *str* | :heavy_check_mark: | N/A | |
-| `outputs` | List[[components.OutputCodeInterpreterCallItemOutputUnion](../components/outputcodeinterpretercallitemoutputunion.mdx)] | :heavy_check_mark: | N/A | |
-| `status` | [components.ToolCallStatus](../components/toolcallstatus.mdx) | :heavy_check_mark: | N/A | completed |
-| `type` | [components.TypeCodeInterpreterCall](../components/typecodeinterpretercall.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `outputs` | List[[components.OutputCodeInterpreterCallItemOutputUnion](../components/outputcodeinterpretercallitemoutputunion)] | :heavy_check_mark: | N/A | |
+| `status` | [components.ToolCallStatus](../components/toolcallstatus) | :heavy_check_mark: | N/A | completed |
+| `type` | [components.TypeCodeInterpreterCall](../components/typecodeinterpretercall) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/outputcodeinterpreterservertoolitem.mdx b/docs/components/outputcodeinterpreterservertoolitem.mdx
index 3b97b10f..57dacb10 100644
--- a/docs/components/outputcodeinterpreterservertoolitem.mdx
+++ b/docs/components/outputcodeinterpreterservertoolitem.mdx
@@ -13,7 +13,7 @@ An openrouter:code_interpreter server tool output item
| `exit_code` | *Optional[int]* | :heavy_minus_sign: | N/A | |
| `id` | *Optional[str]* | :heavy_minus_sign: | N/A | |
| `language` | *Optional[str]* | :heavy_minus_sign: | N/A | |
-| `status` | [components.ToolCallStatus](../components/toolcallstatus.mdx) | :heavy_check_mark: | N/A | completed |
+| `status` | [components.ToolCallStatus](../components/toolcallstatus) | :heavy_check_mark: | N/A | completed |
| `stderr` | *Optional[str]* | :heavy_minus_sign: | N/A | |
| `stdout` | *Optional[str]* | :heavy_minus_sign: | N/A | |
-| `type` | [components.OutputCodeInterpreterServerToolItemType](../components/outputcodeinterpreterservertoolitemtype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `type` | [components.OutputCodeInterpreterServerToolItemType](../components/outputcodeinterpreterservertoolitemtype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/outputcomputercallitem.mdx b/docs/components/outputcomputercallitem.mdx
index f765c59f..5431a877 100644
--- a/docs/components/outputcomputercallitem.mdx
+++ b/docs/components/outputcomputercallitem.mdx
@@ -9,6 +9,6 @@ title: "OutputComputerCallItem"
| `action` | *Optional[Any]* | :heavy_minus_sign: | N/A |
| `call_id` | *str* | :heavy_check_mark: | N/A |
| `id` | *Optional[str]* | :heavy_minus_sign: | N/A |
-| `pending_safety_checks` | List[[components.PendingSafetyCheck](../components/pendingsafetycheck.mdx)] | :heavy_check_mark: | N/A |
-| `status` | [components.OutputComputerCallItemStatus](../components/outputcomputercallitemstatus.mdx) | :heavy_check_mark: | N/A |
-| `type` | [components.OutputComputerCallItemType](../components/outputcomputercallitemtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `pending_safety_checks` | List[[components.PendingSafetyCheck](../components/pendingsafetycheck)] | :heavy_check_mark: | N/A |
+| `status` | [components.OutputComputerCallItemStatus](../components/outputcomputercallitemstatus) | :heavy_check_mark: | N/A |
+| `type` | [components.OutputComputerCallItemType](../components/outputcomputercallitemtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/outputcustomtoolcallitem.mdx b/docs/components/outputcustomtoolcallitem.mdx
index 6cc163b6..213581d0 100644
--- a/docs/components/outputcustomtoolcallitem.mdx
+++ b/docs/components/outputcustomtoolcallitem.mdx
@@ -14,4 +14,4 @@ A call to a custom (freeform-grammar) tool created by the model — distinct fro
| `input` | *str* | :heavy_check_mark: | N/A |
| `name` | *str* | :heavy_check_mark: | N/A |
| `namespace` | *Optional[str]* | :heavy_minus_sign: | Namespace qualifier for tools registered as part of a namespace tool group (e.g. an MCP server) |
-| `type` | [components.OutputCustomToolCallItemType](../components/outputcustomtoolcallitemtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.OutputCustomToolCallItemType](../components/outputcustomtoolcallitemtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/outputdatetimeitem.mdx b/docs/components/outputdatetimeitem.mdx
index c698d7e6..f4d01027 100644
--- a/docs/components/outputdatetimeitem.mdx
+++ b/docs/components/outputdatetimeitem.mdx
@@ -11,6 +11,6 @@ An openrouter:datetime server tool output item
| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
| `datetime_` | *str* | :heavy_check_mark: | ISO 8601 datetime string | |
| `id` | *Optional[str]* | :heavy_minus_sign: | N/A | |
-| `status` | [components.ToolCallStatus](../components/toolcallstatus.mdx) | :heavy_check_mark: | N/A | completed |
+| `status` | [components.ToolCallStatus](../components/toolcallstatus) | :heavy_check_mark: | N/A | completed |
| `timezone` | *str* | :heavy_check_mark: | IANA timezone name | |
-| `type` | [components.OutputDatetimeItemType](../components/outputdatetimeitemtype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `type` | [components.OutputDatetimeItemType](../components/outputdatetimeitemtype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/outputfilesearchcallitem.mdx b/docs/components/outputfilesearchcallitem.mdx
index 9b9ef444..7416ee16 100644
--- a/docs/components/outputfilesearchcallitem.mdx
+++ b/docs/components/outputfilesearchcallitem.mdx
@@ -8,5 +8,5 @@ title: "OutputFileSearchCallItem"
| ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
| `id` | *str* | :heavy_check_mark: | N/A | |
| `queries` | List[*str*] | :heavy_check_mark: | N/A | |
-| `status` | [components.WebSearchStatus](../components/websearchstatus.mdx) | :heavy_check_mark: | N/A | completed |
-| `type` | [components.OutputFileSearchCallItemType](../components/outputfilesearchcallitemtype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `status` | [components.WebSearchStatus](../components/websearchstatus) | :heavy_check_mark: | N/A | completed |
+| `type` | [components.OutputFileSearchCallItemType](../components/outputfilesearchcallitemtype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/outputfilesearchservertoolitem.mdx b/docs/components/outputfilesearchservertoolitem.mdx
index 2095688c..6a5af0f0 100644
--- a/docs/components/outputfilesearchservertoolitem.mdx
+++ b/docs/components/outputfilesearchservertoolitem.mdx
@@ -11,5 +11,5 @@ An openrouter:file_search server tool output item
| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| `id` | *Optional[str]* | :heavy_minus_sign: | N/A | |
| `queries` | List[*str*] | :heavy_minus_sign: | N/A | |
-| `status` | [components.ToolCallStatus](../components/toolcallstatus.mdx) | :heavy_check_mark: | N/A | completed |
-| `type` | [components.OutputFileSearchServerToolItemType](../components/outputfilesearchservertoolitemtype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `status` | [components.ToolCallStatus](../components/toolcallstatus) | :heavy_check_mark: | N/A | completed |
+| `type` | [components.OutputFileSearchServerToolItemType](../components/outputfilesearchservertoolitemtype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/outputfilesservertoolitem.mdx b/docs/components/outputfilesservertoolitem.mdx
index 111b79f0..807e3717 100644
--- a/docs/components/outputfilesservertoolitem.mdx
+++ b/docs/components/outputfilesservertoolitem.mdx
@@ -15,5 +15,5 @@ An openrouter:files server tool output item
| `id` | *Optional[str]* | :heavy_minus_sign: | N/A | |
| `operation` | *Optional[str]* | :heavy_minus_sign: | The file operation performed (list, read, write, or edit). | |
| `result` | *Optional[str]* | :heavy_minus_sign: | JSON-serialized result of the file operation. | |
-| `status` | [components.ToolCallStatus](../components/toolcallstatus.mdx) | :heavy_check_mark: | N/A | completed |
-| `type` | [components.OutputFilesServerToolItemType](../components/outputfilesservertoolitemtype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `status` | [components.ToolCallStatus](../components/toolcallstatus) | :heavy_check_mark: | N/A | completed |
+| `type` | [components.OutputFilesServerToolItemType](../components/outputfilesservertoolitemtype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/outputfunctioncallitem.mdx b/docs/components/outputfunctioncallitem.mdx
index 86a1cd0d..ea1ee0b2 100644
--- a/docs/components/outputfunctioncallitem.mdx
+++ b/docs/components/outputfunctioncallitem.mdx
@@ -11,5 +11,5 @@ title: "OutputFunctionCallItem"
| `id` | *Optional[str]* | :heavy_minus_sign: | N/A |
| `name` | *str* | :heavy_check_mark: | N/A |
| `namespace` | *Optional[str]* | :heavy_minus_sign: | Namespace qualifier for tools registered as part of a namespace tool group (e.g. an MCP server) |
-| `status` | [Optional[components.OutputFunctionCallItemStatusUnion]](../components/outputfunctioncallitemstatusunion.mdx) | :heavy_minus_sign: | N/A |
-| `type` | [components.OutputFunctionCallItemType](../components/outputfunctioncallitemtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `status` | [Optional[components.OutputFunctionCallItemStatusUnion]](../components/outputfunctioncallitemstatusunion) | :heavy_minus_sign: | N/A |
+| `type` | [components.OutputFunctionCallItemType](../components/outputfunctioncallitemtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/outputfusionservertoolitem.mdx b/docs/components/outputfusionservertoolitem.mdx
index 8a5941a7..24a93096 100644
--- a/docs/components/outputfusionservertoolitem.mdx
+++ b/docs/components/outputfusionservertoolitem.mdx
@@ -9,12 +9,12 @@ An openrouter:fusion server tool output item
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `analysis` | [Optional[components.FusionAnalysisResult]](../components/fusionanalysisresult.mdx) | :heavy_minus_sign: | Structured analysis produced by the fusion analyst model. | \{
"blind_spots": [
"No model considered the impact on existing API consumers."
],
"consensus": [
"All panel models agree the request is asking for a concise summary."
],
"contradictions": [
\{
"stances": [
\{
"model": "openai/gpt-5",
"stance": "Favors an incremental rollout."
},
\{
"model": "anthropic/claude-sonnet-4.5",
"stance": "Favors a single coordinated migration."
}
],
"topic": "Recommended approach"
}
],
"partial_coverage": [
\{
"models": [
"openai/gpt-5"
],
"point": "Only one model addressed the rollback strategy."
}
],
"unique_insights": [
\{
"insight": "Highlighted a backwards-compatibility risk the other models missed.",
"model": "anthropic/claude-sonnet-4.5"
}
]
} |
+| `analysis` | [Optional[components.FusionAnalysisResult]](../components/fusionanalysisresult) | :heavy_minus_sign: | Structured analysis produced by the fusion analyst model. | \{
"blind_spots": [
"No model considered the impact on existing API consumers."
],
"consensus": [
"All panel models agree the request is asking for a concise summary."
],
"contradictions": [
\{
"stances": [
\{
"model": "openai/gpt-5",
"stance": "Favors an incremental rollout."
},
\{
"model": "anthropic/claude-sonnet-4.5",
"stance": "Favors a single coordinated migration."
}
],
"topic": "Recommended approach"
}
],
"partial_coverage": [
\{
"models": [
"openai/gpt-5"
],
"point": "Only one model addressed the rollback strategy."
}
],
"unique_insights": [
\{
"insight": "Highlighted a backwards-compatibility risk the other models missed.",
"model": "anthropic/claude-sonnet-4.5"
}
]
} |
| `error` | *Optional[str]* | :heavy_minus_sign: | Error message when the fusion run did not produce an analysis result. | |
-| `failed_models` | List[[components.FailedModel](../components/failedmodel.mdx)] | :heavy_minus_sign: | Models that were requested as part of the analysis panel but did not produce a response. Present when at least one requested analysis model failed. The fusion result is still usable but was produced from a degraded panel. | |
+| `failed_models` | List[[components.FailedModel](../components/failedmodel)] | :heavy_minus_sign: | Models that were requested as part of the analysis panel but did not produce a response. Present when at least one requested analysis model failed. The fusion result is still usable but was produced from a degraded panel. | |
| `failure_reason` | *Optional[str]* | :heavy_minus_sign: | Typed failure reason when the fusion run failed. Possible values include: all_panels_failed, insufficient_credits, rate_limited, judge_not_valid_json, judge_schema_mismatch, judge_upstream_error, judge_empty_completion. The four analysis-stage codes keep their pre-rename `judge_` spelling so existing consumers keep matching. | |
| `id` | *Optional[str]* | :heavy_minus_sign: | N/A | |
-| `responses` | List[[components.Response](../components/response.mdx)] | :heavy_minus_sign: | Analysis models that produced a response in this fusion run, with each model's full panel content. | |
-| `sources` | List[[components.FusionSource](../components/fusionsource.mdx)] | :heavy_minus_sign: | Web pages the analysis panels and analyst retrieved via web search during this fusion run, deduplicated by URL across the whole run. Present when at least one model cited a source. | |
-| `status` | [components.ToolCallStatus](../components/toolcallstatus.mdx) | :heavy_check_mark: | N/A | completed |
-| `type` | [components.OutputFusionServerToolItemType](../components/outputfusionservertoolitemtype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `responses` | List[[components.Response](../components/response)] | :heavy_minus_sign: | Analysis models that produced a response in this fusion run, with each model's full panel content. | |
+| `sources` | List[[components.FusionSource](../components/fusionsource)] | :heavy_minus_sign: | Web pages the analysis panels and analyst retrieved via web search during this fusion run, deduplicated by URL across the whole run. Present when at least one model cited a source. | |
+| `status` | [components.ToolCallStatus](../components/toolcallstatus) | :heavy_check_mark: | N/A | completed |
+| `type` | [components.OutputFusionServerToolItemType](../components/outputfusionservertoolitemtype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/outputimage.mdx b/docs/components/outputimage.mdx
index a7b82463..30aa029e 100644
--- a/docs/components/outputimage.mdx
+++ b/docs/components/outputimage.mdx
@@ -6,5 +6,5 @@ title: "OutputImage"
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ |
-| `type` | [components.OutputCodeInterpreterCallItemTypeImage](../components/outputcodeinterpretercallitemtypeimage.mdx) | :heavy_check_mark: | N/A |
+| `type` | [components.OutputCodeInterpreterCallItemTypeImage](../components/outputcodeinterpretercallitemtypeimage) | :heavy_check_mark: | N/A |
| `url` | *str* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/outputimagegenerationcallitem.mdx b/docs/components/outputimagegenerationcallitem.mdx
index f0148fb5..4e14fdeb 100644
--- a/docs/components/outputimagegenerationcallitem.mdx
+++ b/docs/components/outputimagegenerationcallitem.mdx
@@ -8,6 +8,6 @@ title: "OutputImageGenerationCallItem"
| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| `id` | *str* | :heavy_check_mark: | N/A | |
| `result` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
-| `status` | [components.ImageGenerationStatus](../components/imagegenerationstatus.mdx) | :heavy_check_mark: | N/A | completed |
-| `type` | [components.OutputImageGenerationCallItemType](../components/outputimagegenerationcallitemtype.mdx) | :heavy_check_mark: | N/A | |
+| `status` | [components.ImageGenerationStatus](../components/imagegenerationstatus) | :heavy_check_mark: | N/A | completed |
+| `type` | [components.OutputImageGenerationCallItemType](../components/outputimagegenerationcallitemtype) | :heavy_check_mark: | N/A | |
| `prompt` | *Optional[str]* | :heavy_minus_sign: | The prompt (possibly rewritten) that the image was generated from. | |
\ No newline at end of file
diff --git a/docs/components/outputimagegenerationservertoolitem.mdx b/docs/components/outputimagegenerationservertoolitem.mdx
index 707bc634..6729d8b6 100644
--- a/docs/components/outputimagegenerationservertoolitem.mdx
+++ b/docs/components/outputimagegenerationservertoolitem.mdx
@@ -15,5 +15,5 @@ An openrouter:image_generation server tool output item
| `prompt` | *Optional[str]* | :heavy_minus_sign: | The prompt (possibly rewritten) that the image was generated from. | |
| `result` | *OptionalNullable[str]* | :heavy_minus_sign: | The generated image as a base64-encoded string or URL, matching OpenAI image_generation_call format | |
| `revised_prompt` | *Optional[str]* | :heavy_minus_sign: | N/A | |
-| `status` | [components.ToolCallStatus](../components/toolcallstatus.mdx) | :heavy_check_mark: | N/A | completed |
-| `type` | [components.OutputImageGenerationServerToolItemType](../components/outputimagegenerationservertoolitemtype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `status` | [components.ToolCallStatus](../components/toolcallstatus) | :heavy_check_mark: | N/A | completed |
+| `type` | [components.OutputImageGenerationServerToolItemType](../components/outputimagegenerationservertoolitemtype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/outputitemimagegenerationcall.mdx b/docs/components/outputitemimagegenerationcall.mdx
index a9c86ddb..77b93bb2 100644
--- a/docs/components/outputitemimagegenerationcall.mdx
+++ b/docs/components/outputitemimagegenerationcall.mdx
@@ -8,5 +8,5 @@ title: "OutputItemImageGenerationCall"
| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| `id` | *str* | :heavy_check_mark: | N/A | |
| `result` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
-| `status` | [components.ImageGenerationStatus](../components/imagegenerationstatus.mdx) | :heavy_check_mark: | N/A | completed |
-| `type` | [components.OutputItemImageGenerationCallType](../components/outputitemimagegenerationcalltype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `status` | [components.ImageGenerationStatus](../components/imagegenerationstatus) | :heavy_check_mark: | N/A | completed |
+| `type` | [components.OutputItemImageGenerationCallType](../components/outputitemimagegenerationcalltype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/outputlogs.mdx b/docs/components/outputlogs.mdx
index e6eb732c..ba25ed0f 100644
--- a/docs/components/outputlogs.mdx
+++ b/docs/components/outputlogs.mdx
@@ -7,4 +7,4 @@ title: "OutputLogs"
| Field | Type | Required | Description |
| ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ |
| `logs` | *str* | :heavy_check_mark: | N/A |
-| `type` | [components.TypeLogs](../components/typelogs.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.TypeLogs](../components/typelogs) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/outputmcpservertoolitem.mdx b/docs/components/outputmcpservertoolitem.mdx
index d11d1e77..6d8e3651 100644
--- a/docs/components/outputmcpservertoolitem.mdx
+++ b/docs/components/outputmcpservertoolitem.mdx
@@ -11,6 +11,6 @@ An openrouter:mcp server tool output item
| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
| `id` | *Optional[str]* | :heavy_minus_sign: | N/A | |
| `server_label` | *Optional[str]* | :heavy_minus_sign: | N/A | |
-| `status` | [components.ToolCallStatus](../components/toolcallstatus.mdx) | :heavy_check_mark: | N/A | completed |
+| `status` | [components.ToolCallStatus](../components/toolcallstatus) | :heavy_check_mark: | N/A | completed |
| `tool_name` | *Optional[str]* | :heavy_minus_sign: | N/A | |
-| `type` | [components.OutputMcpServerToolItemType](../components/outputmcpservertoolitemtype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `type` | [components.OutputMcpServerToolItemType](../components/outputmcpservertoolitemtype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/outputmemoryservertoolitem.mdx b/docs/components/outputmemoryservertoolitem.mdx
index 57345928..b345aaea 100644
--- a/docs/components/outputmemoryservertoolitem.mdx
+++ b/docs/components/outputmemoryservertoolitem.mdx
@@ -9,9 +9,9 @@ An openrouter:memory server tool output item
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
-| `action` | [Optional[components.ActionEnum]](../components/actionenum.mdx) | :heavy_minus_sign: | N/A | |
+| `action` | [Optional[components.ActionEnum]](../components/actionenum) | :heavy_minus_sign: | N/A | |
| `id` | *Optional[str]* | :heavy_minus_sign: | N/A | |
| `key` | *Optional[str]* | :heavy_minus_sign: | N/A | |
-| `status` | [components.ToolCallStatus](../components/toolcallstatus.mdx) | :heavy_check_mark: | N/A | completed |
-| `type` | [components.OutputMemoryServerToolItemType](../components/outputmemoryservertoolitemtype.mdx) | :heavy_check_mark: | N/A | |
+| `status` | [components.ToolCallStatus](../components/toolcallstatus) | :heavy_check_mark: | N/A | completed |
+| `type` | [components.OutputMemoryServerToolItemType](../components/outputmemoryservertoolitemtype) | :heavy_check_mark: | N/A | |
| `value` | *Optional[Any]* | :heavy_minus_sign: | N/A | |
\ No newline at end of file
diff --git a/docs/components/outputmessage.mdx b/docs/components/outputmessage.mdx
index 9cd8a403..f8d74cdf 100644
--- a/docs/components/outputmessage.mdx
+++ b/docs/components/outputmessage.mdx
@@ -6,9 +6,9 @@ title: "OutputMessage"
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `content` | List[[components.OutputMessageContent](../components/outputmessagecontent.mdx)] | :heavy_check_mark: | N/A |
+| `content` | List[[components.OutputMessageContent](../components/outputmessagecontent)] | :heavy_check_mark: | N/A |
| `id` | *str* | :heavy_check_mark: | N/A |
-| `phase` | [OptionalNullable[components.OutputMessagePhaseUnion]](../components/outputmessagephaseunion.mdx) | :heavy_minus_sign: | The phase of an assistant message. Use `commentary` for an intermediate assistant message and `final_answer` for the final assistant message. For follow-up requests with models like `gpt-5.3-codex` and later, preserve and resend phase on all assistant messages. Omitting it can degrade performance. Not used for user messages. |
-| `role` | [components.OutputMessageRole](../components/outputmessagerole.mdx) | :heavy_check_mark: | N/A |
-| `status` | [Optional[components.OutputMessageStatusUnion]](../components/outputmessagestatusunion.mdx) | :heavy_minus_sign: | N/A |
-| `type` | [components.OutputMessageType](../components/outputmessagetype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `phase` | [OptionalNullable[components.OutputMessagePhaseUnion]](../components/outputmessagephaseunion) | :heavy_minus_sign: | The phase of an assistant message. Use `commentary` for an intermediate assistant message and `final_answer` for the final assistant message. For follow-up requests with models like `gpt-5.3-codex` and later, preserve and resend phase on all assistant messages. Omitting it can degrade performance. Not used for user messages. |
+| `role` | [components.OutputMessageRole](../components/outputmessagerole) | :heavy_check_mark: | N/A |
+| `status` | [Optional[components.OutputMessageStatusUnion]](../components/outputmessagestatusunion) | :heavy_minus_sign: | N/A |
+| `type` | [components.OutputMessageType](../components/outputmessagetype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/outputmessageitem.mdx b/docs/components/outputmessageitem.mdx
index f02e8d23..e96a5144 100644
--- a/docs/components/outputmessageitem.mdx
+++ b/docs/components/outputmessageitem.mdx
@@ -9,9 +9,9 @@ An output message item
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `content` | List[[components.OutputMessageItemContent](../components/outputmessageitemcontent.mdx)] | :heavy_check_mark: | N/A |
+| `content` | List[[components.OutputMessageItemContent](../components/outputmessageitemcontent)] | :heavy_check_mark: | N/A |
| `id` | *str* | :heavy_check_mark: | N/A |
-| `phase` | [OptionalNullable[components.OutputMessageItemPhaseUnion]](../components/outputmessageitemphaseunion.mdx) | :heavy_minus_sign: | The phase of an assistant message. Use `commentary` for an intermediate assistant message and `final_answer` for the final assistant message. For follow-up requests with models like `gpt-5.3-codex` and later, preserve and resend phase on all assistant messages. Omitting it can degrade performance. Not used for user messages. |
-| `role` | [components.OutputMessageItemRole](../components/outputmessageitemrole.mdx) | :heavy_check_mark: | N/A |
-| `status` | [Optional[components.OutputMessageItemStatusUnion]](../components/outputmessageitemstatusunion.mdx) | :heavy_minus_sign: | N/A |
-| `type` | [components.OutputMessageItemType](../components/outputmessageitemtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `phase` | [OptionalNullable[components.OutputMessageItemPhaseUnion]](../components/outputmessageitemphaseunion) | :heavy_minus_sign: | The phase of an assistant message. Use `commentary` for an intermediate assistant message and `final_answer` for the final assistant message. For follow-up requests with models like `gpt-5.3-codex` and later, preserve and resend phase on all assistant messages. Omitting it can degrade performance. Not used for user messages. |
+| `role` | [components.OutputMessageItemRole](../components/outputmessageitemrole) | :heavy_check_mark: | N/A |
+| `status` | [Optional[components.OutputMessageItemStatusUnion]](../components/outputmessageitemstatusunion) | :heavy_minus_sign: | N/A |
+| `type` | [components.OutputMessageItemType](../components/outputmessageitemtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/outputreasoningitem.mdx b/docs/components/outputreasoningitem.mdx
index 761085bf..c665decb 100644
--- a/docs/components/outputreasoningitem.mdx
+++ b/docs/components/outputreasoningitem.mdx
@@ -9,11 +9,11 @@ An output item containing reasoning
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ |
-| `content` | List[[components.ReasoningTextContent](../components/reasoningtextcontent.mdx)] | :heavy_minus_sign: | N/A | |
+| `content` | List[[components.ReasoningTextContent](../components/reasoningtextcontent)] | :heavy_minus_sign: | N/A | |
| `encrypted_content` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
| `id` | *str* | :heavy_check_mark: | N/A | |
-| `status` | [Optional[components.OutputReasoningItemStatusUnion]](../components/outputreasoningitemstatusunion.mdx) | :heavy_minus_sign: | N/A | |
-| `summary` | List[[components.ReasoningSummaryText](../components/reasoningsummarytext.mdx)] | :heavy_check_mark: | N/A | |
-| `type` | [components.OutputReasoningItemType](../components/outputreasoningitemtype.mdx) | :heavy_check_mark: | N/A | |
-| `format_` | [OptionalNullable[components.ReasoningFormat]](../components/reasoningformat.mdx) | :heavy_minus_sign: | N/A | unknown |
+| `status` | [Optional[components.OutputReasoningItemStatusUnion]](../components/outputreasoningitemstatusunion) | :heavy_minus_sign: | N/A | |
+| `summary` | List[[components.ReasoningSummaryText](../components/reasoningsummarytext)] | :heavy_check_mark: | N/A | |
+| `type` | [components.OutputReasoningItemType](../components/outputreasoningitemtype) | :heavy_check_mark: | N/A | |
+| `format_` | [OptionalNullable[components.ReasoningFormat]](../components/reasoningformat) | :heavy_minus_sign: | N/A | unknown |
| `signature` | *OptionalNullable[str]* | :heavy_minus_sign: | A signature for the reasoning content, used for verification | EvcBCkgIChABGAIqQKkSDbRuVEQUk9qN1odC098l9SEj... |
\ No newline at end of file
diff --git a/docs/components/outputsearchmodelsservertoolitem.mdx b/docs/components/outputsearchmodelsservertoolitem.mdx
index bb1946a0..77f9c13c 100644
--- a/docs/components/outputsearchmodelsservertoolitem.mdx
+++ b/docs/components/outputsearchmodelsservertoolitem.mdx
@@ -12,5 +12,5 @@ An openrouter:experimental__search_models server tool output item
| `arguments` | *Optional[str]* | :heavy_minus_sign: | The JSON arguments submitted to the search tool (e.g. \{"query":"Claude"}) | |
| `id` | *Optional[str]* | :heavy_minus_sign: | N/A | |
| `query` | *Optional[str]* | :heavy_minus_sign: | N/A | |
-| `status` | [components.ToolCallStatus](../components/toolcallstatus.mdx) | :heavy_check_mark: | N/A | completed |
-| `type` | [components.OutputSearchModelsServerToolItemType](../components/outputsearchmodelsservertoolitemtype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `status` | [components.ToolCallStatus](../components/toolcallstatus) | :heavy_check_mark: | N/A | completed |
+| `type` | [components.OutputSearchModelsServerToolItemType](../components/outputsearchmodelsservertoolitemtype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/outputshellcallitem.mdx b/docs/components/outputshellcallitem.mdx
index 994c3c01..3dc7ff75 100644
--- a/docs/components/outputshellcallitem.mdx
+++ b/docs/components/outputshellcallitem.mdx
@@ -9,8 +9,8 @@ A native `shell_call` output item matching OpenAI's Responses API shape. Emitted
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
-| `action` | [Optional[components.OutputShellCallItemAction]](../components/outputshellcallitemaction.mdx) | :heavy_minus_sign: | N/A | |
+| `action` | [Optional[components.OutputShellCallItemAction]](../components/outputshellcallitemaction) | :heavy_minus_sign: | N/A | |
| `call_id` | *str* | :heavy_check_mark: | N/A | |
| `id` | *str* | :heavy_check_mark: | N/A | |
-| `status` | [components.ShellCallStatus](../components/shellcallstatus.mdx) | :heavy_check_mark: | Status of a shell call or its output. | completed |
-| `type` | [components.OutputShellCallItemType](../components/outputshellcallitemtype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `status` | [components.ShellCallStatus](../components/shellcallstatus) | :heavy_check_mark: | Status of a shell call or its output. | completed |
+| `type` | [components.OutputShellCallItemType](../components/outputshellcallitemtype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/outputshellcalloutputitem.mdx b/docs/components/outputshellcalloutputitem.mdx
index b8fc79b3..ec512fe3 100644
--- a/docs/components/outputshellcalloutputitem.mdx
+++ b/docs/components/outputshellcalloutputitem.mdx
@@ -12,6 +12,6 @@ A native `shell_call_output` item matching OpenAI's Responses API shape. Carries
| `call_id` | *str* | :heavy_check_mark: | N/A | |
| `id` | *str* | :heavy_check_mark: | N/A | |
| `max_output_length` | *OptionalNullable[int]* | :heavy_minus_sign: | N/A | |
-| `output` | List[[components.OutputShellCallOutputItemOutput](../components/outputshellcalloutputitemoutput.mdx)] | :heavy_check_mark: | N/A | |
-| `status` | [components.ShellCallStatus](../components/shellcallstatus.mdx) | :heavy_check_mark: | Status of a shell call or its output. | completed |
-| `type` | [components.OutputShellCallOutputItemTypeShellCallOutput](../components/outputshellcalloutputitemtypeshellcalloutput.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `output` | List[[components.OutputShellCallOutputItemOutput](../components/outputshellcalloutputitemoutput)] | :heavy_check_mark: | N/A | |
+| `status` | [components.ShellCallStatus](../components/shellcallstatus) | :heavy_check_mark: | Status of a shell call or its output. | completed |
+| `type` | [components.OutputShellCallOutputItemTypeShellCallOutput](../components/outputshellcalloutputitemtypeshellcalloutput) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/outputshellcalloutputitemoutput.mdx b/docs/components/outputshellcalloutputitemoutput.mdx
index ca3f63fd..6ecf3207 100644
--- a/docs/components/outputshellcalloutputitemoutput.mdx
+++ b/docs/components/outputshellcalloutputitemoutput.mdx
@@ -6,6 +6,6 @@ title: "OutputShellCallOutputItemOutput"
| Field | Type | Required | Description |
| ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- |
-| `outcome` | [components.Outcome](../components/outcome.mdx) | :heavy_check_mark: | N/A |
+| `outcome` | [components.Outcome](../components/outcome) | :heavy_check_mark: | N/A |
| `stderr` | *str* | :heavy_check_mark: | N/A |
| `stdout` | *str* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/outputsubagentservertoolitem.mdx b/docs/components/outputsubagentservertoolitem.mdx
index 1b15fce1..3c0fbc27 100644
--- a/docs/components/outputsubagentservertoolitem.mdx
+++ b/docs/components/outputsubagentservertoolitem.mdx
@@ -15,7 +15,7 @@ An openrouter:subagent server tool output item
| `model` | *Optional[str]* | :heavy_minus_sign: | Slug of the worker model that executed the task. | |
| `name` | *Optional[str]* | :heavy_minus_sign: | Configured name of the subagent that executed the task (the `name` on its tool entry). Present only for named subagents; omitted for an unnamed (default) subagent. | summarizer |
| `outcome` | *Optional[str]* | :heavy_minus_sign: | The worker model's result (the outcome text returned to the delegating model). | |
-| `status` | [components.ToolCallStatus](../components/toolcallstatus.mdx) | :heavy_check_mark: | N/A | completed |
+| `status` | [components.ToolCallStatus](../components/toolcallstatus) | :heavy_check_mark: | N/A | completed |
| `task_description` | *Optional[str]* | :heavy_minus_sign: | The task description the delegating model sent to the worker. | |
| `task_name` | *Optional[str]* | :heavy_minus_sign: | The short task identifier the delegating model supplied. | |
-| `type` | [components.OutputSubagentServerToolItemType](../components/outputsubagentservertoolitemtype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `type` | [components.OutputSubagentServerToolItemType](../components/outputsubagentservertoolitemtype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/outputtexteditorservertoolitem.mdx b/docs/components/outputtexteditorservertoolitem.mdx
index 2739149f..ea47bc6e 100644
--- a/docs/components/outputtexteditorservertoolitem.mdx
+++ b/docs/components/outputtexteditorservertoolitem.mdx
@@ -9,8 +9,8 @@ An openrouter:text_editor server tool output item
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
-| `command` | [Optional[components.Command]](../components/command.mdx) | :heavy_minus_sign: | N/A | |
+| `command` | [Optional[components.Command]](../components/command) | :heavy_minus_sign: | N/A | |
| `file_path` | *Optional[str]* | :heavy_minus_sign: | N/A | |
| `id` | *Optional[str]* | :heavy_minus_sign: | N/A | |
-| `status` | [components.ToolCallStatus](../components/toolcallstatus.mdx) | :heavy_check_mark: | N/A | completed |
-| `type` | [components.OutputTextEditorServerToolItemType](../components/outputtexteditorservertoolitemtype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `status` | [components.ToolCallStatus](../components/toolcallstatus) | :heavy_check_mark: | N/A | completed |
+| `type` | [components.OutputTextEditorServerToolItemType](../components/outputtexteditorservertoolitemtype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/outputtoolsearchservertoolitem.mdx b/docs/components/outputtoolsearchservertoolitem.mdx
index af768f21..0b95eb15 100644
--- a/docs/components/outputtoolsearchservertoolitem.mdx
+++ b/docs/components/outputtoolsearchservertoolitem.mdx
@@ -11,5 +11,5 @@ An openrouter:tool_search server tool output item
| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| `id` | *Optional[str]* | :heavy_minus_sign: | N/A | |
| `query` | *Optional[str]* | :heavy_minus_sign: | N/A | |
-| `status` | [components.ToolCallStatus](../components/toolcallstatus.mdx) | :heavy_check_mark: | N/A | completed |
-| `type` | [components.OutputToolSearchServerToolItemType](../components/outputtoolsearchservertoolitemtype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `status` | [components.ToolCallStatus](../components/toolcallstatus) | :heavy_check_mark: | N/A | completed |
+| `type` | [components.OutputToolSearchServerToolItemType](../components/outputtoolsearchservertoolitemtype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/outputwebfetchservertoolitem.mdx b/docs/components/outputwebfetchservertoolitem.mdx
index 9c045b8b..cf8f40e3 100644
--- a/docs/components/outputwebfetchservertoolitem.mdx
+++ b/docs/components/outputwebfetchservertoolitem.mdx
@@ -13,7 +13,7 @@ An openrouter:web_fetch server tool output item
| `error` | *Optional[str]* | :heavy_minus_sign: | The error message if the fetch failed. | |
| `http_status` | *Optional[int]* | :heavy_minus_sign: | The HTTP status code returned by the upstream URL fetch. | |
| `id` | *Optional[str]* | :heavy_minus_sign: | N/A | |
-| `status` | [components.ToolCallStatus](../components/toolcallstatus.mdx) | :heavy_check_mark: | N/A | completed |
+| `status` | [components.ToolCallStatus](../components/toolcallstatus) | :heavy_check_mark: | N/A | completed |
| `title` | *Optional[str]* | :heavy_minus_sign: | N/A | |
-| `type` | [components.OutputWebFetchServerToolItemType](../components/outputwebfetchservertoolitemtype.mdx) | :heavy_check_mark: | N/A | |
+| `type` | [components.OutputWebFetchServerToolItemType](../components/outputwebfetchservertoolitemtype) | :heavy_check_mark: | N/A | |
| `url` | *Optional[str]* | :heavy_minus_sign: | N/A | |
\ No newline at end of file
diff --git a/docs/components/outputwebsearchcallitem.mdx b/docs/components/outputwebsearchcallitem.mdx
index 3a389a5f..ea94d23a 100644
--- a/docs/components/outputwebsearchcallitem.mdx
+++ b/docs/components/outputwebsearchcallitem.mdx
@@ -6,7 +6,7 @@ title: "OutputWebSearchCallItem"
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
-| `action` | [Optional[components.Action]](../components/action.mdx) | :heavy_minus_sign: | N/A | |
+| `action` | [Optional[components.Action]](../components/action) | :heavy_minus_sign: | N/A | |
| `id` | *str* | :heavy_check_mark: | N/A | |
-| `status` | [components.WebSearchStatus](../components/websearchstatus.mdx) | :heavy_check_mark: | N/A | completed |
-| `type` | [components.TypeWebSearchCall](../components/typewebsearchcall.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `status` | [components.WebSearchStatus](../components/websearchstatus) | :heavy_check_mark: | N/A | completed |
+| `type` | [components.TypeWebSearchCall](../components/typewebsearchcall) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/outputwebsearchcallitemactionsearch.mdx b/docs/components/outputwebsearchcallitemactionsearch.mdx
index 8a3bea40..e75795ba 100644
--- a/docs/components/outputwebsearchcallitemactionsearch.mdx
+++ b/docs/components/outputwebsearchcallitemactionsearch.mdx
@@ -8,5 +8,5 @@ title: "OutputWebSearchCallItemActionSearch"
| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- |
| `queries` | List[*str*] | :heavy_minus_sign: | N/A |
| `query` | *str* | :heavy_check_mark: | N/A |
-| `sources` | List[[components.WebSearchSource](../components/websearchsource.mdx)] | :heavy_minus_sign: | N/A |
-| `type` | [components.ActionTypeSearch](../components/actiontypesearch.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `sources` | List[[components.WebSearchSource](../components/websearchsource)] | :heavy_minus_sign: | N/A |
+| `type` | [components.ActionTypeSearch](../components/actiontypesearch) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/outputwebsearchservertoolitem.mdx b/docs/components/outputwebsearchservertoolitem.mdx
index b7fb42bb..a858cf47 100644
--- a/docs/components/outputwebsearchservertoolitem.mdx
+++ b/docs/components/outputwebsearchservertoolitem.mdx
@@ -9,7 +9,7 @@ An openrouter:web_search server tool output item
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `action` | [Optional[components.OutputWebSearchServerToolItemAction]](../components/outputwebsearchservertoolitemaction.mdx) | :heavy_minus_sign: | The search action performed, matching OpenAI web_search_call.action shape. Includes the query the model issued and optional source URLs returned by the search provider. | |
+| `action` | [Optional[components.OutputWebSearchServerToolItemAction]](../components/outputwebsearchservertoolitemaction) | :heavy_minus_sign: | The search action performed, matching OpenAI web_search_call.action shape. Includes the query the model issued and optional source URLs returned by the search provider. | |
| `id` | *Optional[str]* | :heavy_minus_sign: | N/A | |
-| `status` | [components.ToolCallStatus](../components/toolcallstatus.mdx) | :heavy_check_mark: | N/A | completed |
-| `type` | [components.OutputWebSearchServerToolItemTypeOpenrouterWebSearch](../components/outputwebsearchservertoolitemtypeopenrouterwebsearch.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `status` | [components.ToolCallStatus](../components/toolcallstatus) | :heavy_check_mark: | N/A | completed |
+| `type` | [components.OutputWebSearchServerToolItemTypeOpenrouterWebSearch](../components/outputwebsearchservertoolitemtypeopenrouterwebsearch) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/outputwebsearchservertoolitemaction.mdx b/docs/components/outputwebsearchservertoolitemaction.mdx
index ca6a895c..897f5a11 100644
--- a/docs/components/outputwebsearchservertoolitemaction.mdx
+++ b/docs/components/outputwebsearchservertoolitemaction.mdx
@@ -10,5 +10,5 @@ The search action performed, matching OpenAI web_search_call.action shape. Inclu
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- |
| `query` | *str* | :heavy_check_mark: | N/A |
-| `sources` | List[[components.OutputWebSearchServerToolItemSource](../components/outputwebsearchservertoolitemsource.mdx)] | :heavy_minus_sign: | N/A |
-| `type` | [components.OutputWebSearchServerToolItemTypeSearch](../components/outputwebsearchservertoolitemtypesearch.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `sources` | List[[components.OutputWebSearchServerToolItemSource](../components/outputwebsearchservertoolitemsource)] | :heavy_minus_sign: | N/A |
+| `type` | [components.OutputWebSearchServerToolItemTypeSearch](../components/outputwebsearchservertoolitemtypesearch) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/outputwebsearchservertoolitemsource.mdx b/docs/components/outputwebsearchservertoolitemsource.mdx
index 5c1f410d..be7cd620 100644
--- a/docs/components/outputwebsearchservertoolitemsource.mdx
+++ b/docs/components/outputwebsearchservertoolitemsource.mdx
@@ -6,5 +6,5 @@ title: "OutputWebSearchServerToolItemSource"
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
-| `type` | [components.OutputWebSearchServerToolItemTypeURL](../components/outputwebsearchservertoolitemtypeurl.mdx) | :heavy_check_mark: | N/A |
+| `type` | [components.OutputWebSearchServerToolItemTypeURL](../components/outputwebsearchservertoolitemtypeurl) | :heavy_check_mark: | N/A |
| `url` | *str* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/paretorouterplugin.mdx b/docs/components/paretorouterplugin.mdx
index 94e222c8..2021fe57 100644
--- a/docs/components/paretorouterplugin.mdx
+++ b/docs/components/paretorouterplugin.mdx
@@ -7,7 +7,7 @@ title: "ParetoRouterPlugin"
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `enabled` | *Optional[bool]* | :heavy_minus_sign: | Set to false to disable the pareto-router plugin for this request. Defaults to true. | |
-| `id` | [components.ParetoRouterPluginID](../components/paretorouterpluginid.mdx) | :heavy_check_mark: | N/A | |
+| `id` | [components.ParetoRouterPluginID](../components/paretorouterpluginid) | :heavy_check_mark: | N/A | |
| `max_price` | *Optional[float]* | :heavy_minus_sign: | Maximum input price in USD per million tokens. When set, quality-tier selection (min_coding_score) is bypassed: the router computes the Pareto frontier over the top coding models and routes to the best-scoring frontier model priced at or below this cap, falling back through cheaper frontier models, then non-frontier models. Enforced against the price source given by price_source. Returns 404 when no candidate satisfies the cap. | 5 |
| `min_coding_score` | *Optional[float]* | :heavy_minus_sign: | Minimum coding quality score between 0 and 1. Maps to internal quality tiers: >= 0.66 → high (top coding models), >= 0.33 → medium (strong modern flagships), < 0.33 → low (capable coders above the median). Omit to default to the highest tier (equivalent to >= 0.66). Not used when max_price is set (price-based selection takes over). | 0.8 |
-| `price_source` | [Optional[components.PriceSource]](../components/pricesource.mdx) | :heavy_minus_sign: | Price source for the Pareto frontier cost axis and for enforcing max_price. "prompt" uses catalog list price (endpoint.pricing.prompt). "weighted_avg" uses traffic-weighted effective input price from ClickHouse, falling back to prompt price for models without traffic data. Defaults to "prompt". | |
\ No newline at end of file
+| `price_source` | [Optional[components.PriceSource]](../components/pricesource) | :heavy_minus_sign: | Price source for the Pareto frontier cost axis and for enforcing max_price. "prompt" uses catalog list price (endpoint.pricing.prompt). "weighted_avg" uses traffic-weighted effective input price from ClickHouse, falling back to prompt price for models without traffic data. Defaults to "prompt". | |
\ No newline at end of file
diff --git a/docs/components/pdfparseroptions.mdx b/docs/components/pdfparseroptions.mdx
index 2e830520..3caa8c56 100644
--- a/docs/components/pdfparseroptions.mdx
+++ b/docs/components/pdfparseroptions.mdx
@@ -9,4 +9,4 @@ Options for PDF parsing.
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ |
-| `engine` | [Optional[components.PDFParserEngine]](../components/pdfparserengine.mdx) | :heavy_minus_sign: | The engine to use for parsing PDF files. "pdf-text" is deprecated and automatically redirected to "cloudflare-ai". | cloudflare-ai |
\ No newline at end of file
+| `engine` | [Optional[components.PDFParserEngine]](../components/pdfparserengine) | :heavy_minus_sign: | The engine to use for parsing PDF files. "pdf-text" is deprecated and automatically redirected to "cloudflare-ai". | cloudflare-ai |
\ No newline at end of file
diff --git a/docs/components/pipelinestage.mdx b/docs/components/pipelinestage.mdx
index 2f7a26c0..db1bda7f 100644
--- a/docs/components/pipelinestage.mdx
+++ b/docs/components/pipelinestage.mdx
@@ -12,4 +12,4 @@ title: "PipelineStage"
| `guardrail_scope` | *Optional[str]* | :heavy_minus_sign: | N/A | |
| `name` | *str* | :heavy_check_mark: | N/A | |
| `summary` | *Optional[str]* | :heavy_minus_sign: | N/A | |
-| `type` | [components.PipelineStageType](../components/pipelinestagetype.mdx) | :heavy_check_mark: | Categorical kind of a pipeline stage. Multiple plugins can share a type (e.g. all guardrail-level plugins emit `guardrail`); the `name` field disambiguates which plugin emitted it. | guardrail |
\ No newline at end of file
+| `type` | [components.PipelineStageType](../components/pipelinestagetype) | :heavy_check_mark: | Categorical kind of a pipeline stage. Multiple plugins can share a type (e.g. all guardrail-level plugins emit `guardrail`); the `name` field disambiguates which plugin emitted it. | guardrail |
\ No newline at end of file
diff --git a/docs/components/prediction.mdx b/docs/components/prediction.mdx
index 6164a9fa..e8e2070f 100644
--- a/docs/components/prediction.mdx
+++ b/docs/components/prediction.mdx
@@ -9,5 +9,5 @@ Static predicted output content. Supported models can use this to reduce latency
| Field | Type | Required | Description |
| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
-| `content` | [components.PredictionContent](../components/predictioncontent.mdx) | :heavy_check_mark: | N/A |
-| `type` | [components.PredictionType](../components/predictiontype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `content` | [components.PredictionContent](../components/predictioncontent) | :heavy_check_mark: | N/A |
+| `type` | [components.PredictionType](../components/predictiontype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/predictioncontenttext.mdx b/docs/components/predictioncontenttext.mdx
index 541026ea..f72bd208 100644
--- a/docs/components/predictioncontenttext.mdx
+++ b/docs/components/predictioncontenttext.mdx
@@ -10,4 +10,4 @@ Text content part for a predicted output.
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
| `text` | *str* | :heavy_check_mark: | N/A |
-| `type` | [components.PredictionContentTextType](../components/predictioncontenttexttype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.PredictionContentTextType](../components/predictioncontenttexttype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/preset.mdx b/docs/components/preset.mdx
index af18885f..cb01f7dc 100644
--- a/docs/components/preset.mdx
+++ b/docs/components/preset.mdx
@@ -16,7 +16,7 @@ A preset without version details.
| `id` | *str* | :heavy_check_mark: | N/A | |
| `name` | *str* | :heavy_check_mark: | N/A | |
| `slug` | *str* | :heavy_check_mark: | N/A | |
-| `status` | [components.PresetStatus](../components/presetstatus.mdx) | :heavy_check_mark: | The status of a preset. | active |
+| `status` | [components.PresetStatus](../components/presetstatus) | :heavy_check_mark: | The status of a preset. | active |
| `status_updated_at` | *Nullable[str]* | :heavy_check_mark: | N/A | |
| `updated_at` | *str* | :heavy_check_mark: | N/A | |
| `workspace_id` | *Nullable[str]* | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/presetwithdesignatedversion.mdx b/docs/components/presetwithdesignatedversion.mdx
index 56d189d9..c2d89a47 100644
--- a/docs/components/presetwithdesignatedversion.mdx
+++ b/docs/components/presetwithdesignatedversion.mdx
@@ -16,8 +16,8 @@ A preset with its currently designated version.
| `id` | *str* | :heavy_check_mark: | N/A | |
| `name` | *str* | :heavy_check_mark: | N/A | |
| `slug` | *str* | :heavy_check_mark: | N/A | |
-| `status` | [components.PresetStatus](../components/presetstatus.mdx) | :heavy_check_mark: | The status of a preset. | active |
+| `status` | [components.PresetStatus](../components/presetstatus) | :heavy_check_mark: | The status of a preset. | active |
| `status_updated_at` | *Nullable[str]* | :heavy_check_mark: | N/A | |
| `updated_at` | *str* | :heavy_check_mark: | N/A | |
| `workspace_id` | *Nullable[str]* | :heavy_check_mark: | N/A | |
-| `designated_version` | [Nullable[components.PresetDesignatedVersion]](../components/presetdesignatedversion.mdx) | :heavy_check_mark: | A specific version of a preset, containing config and optional system prompt. | \{
"config": \{
"model": "openai/gpt-4o",
"temperature": 0.7
},
"created_at": "2026-04-20T10:00:00Z",
"creator_id": "user_2dHFtVWx2n56w6HkM0000000000",
"id": "550e8400-e29b-41d4-a716-446655440000",
"preset_id": "650e8400-e29b-41d4-a716-446655440001",
"system_prompt": "You are a helpful assistant.",
"updated_at": "2026-04-20T10:00:00Z",
"version": 1
} |
\ No newline at end of file
+| `designated_version` | [Nullable[components.PresetDesignatedVersion]](../components/presetdesignatedversion) | :heavy_check_mark: | A specific version of a preset, containing config and optional system prompt. | \{
"config": \{
"model": "openai/gpt-4o",
"temperature": 0.7
},
"created_at": "2026-04-20T10:00:00Z",
"creator_id": "user_2dHFtVWx2n56w6HkM0000000000",
"id": "550e8400-e29b-41d4-a716-446655440000",
"preset_id": "650e8400-e29b-41d4-a716-446655440001",
"system_prompt": "You are a helpful assistant.",
"updated_at": "2026-04-20T10:00:00Z",
"version": 1
} |
\ No newline at end of file
diff --git a/docs/components/preview20250311websearchservertool.mdx b/docs/components/preview20250311websearchservertool.mdx
index ef9b4c5a..ea45d846 100644
--- a/docs/components/preview20250311websearchservertool.mdx
+++ b/docs/components/preview20250311websearchservertool.mdx
@@ -9,10 +9,10 @@ Web search preview tool configuration (2025-03-11 version)
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `engine` | [Optional[components.WebSearchEngineEnum]](../components/websearchengineenum.mdx) | :heavy_minus_sign: | Which search engine to use. "auto" (default) uses native if the provider supports it, otherwise Exa. "native" forces the provider's built-in search. "exa" forces the Exa search API. "firecrawl" uses Firecrawl (requires BYOK). "parallel" uses the Parallel search API. "perplexity" uses the Perplexity Search API (raw ranked results). | auto |
-| `filters` | [OptionalNullable[components.WebSearchDomainFilter]](../components/websearchdomainfilter.mdx) | :heavy_minus_sign: | N/A | \{
"allowed_domains": [
"example.com"
],
"blocked_domains": [
"spam.com"
],
"excluded_domains": [
"spam.com"
]
} |
+| `engine` | [Optional[components.WebSearchEngineEnum]](../components/websearchengineenum) | :heavy_minus_sign: | Which search engine to use. "auto" (default) uses native if the provider supports it, otherwise Exa. "native" forces the provider's built-in search. "exa" forces the Exa search API. "firecrawl" uses Firecrawl (requires BYOK). "parallel" uses the Parallel search API. "perplexity" uses the Perplexity Search API (raw ranked results). | auto |
+| `filters` | [OptionalNullable[components.WebSearchDomainFilter]](../components/websearchdomainfilter) | :heavy_minus_sign: | N/A | \{
"allowed_domains": [
"example.com"
],
"blocked_domains": [
"spam.com"
],
"excluded_domains": [
"spam.com"
]
} |
| `max_results` | *Optional[int]* | :heavy_minus_sign: | Maximum number of search results to return per search call. Defaults to 5. Applies to Exa, Firecrawl, Parallel, and Perplexity engines; ignored with native provider search. Perplexity supports a maximum of 20; values above 20 are clamped. | 5 |
| `max_uses` | *Optional[int]* | :heavy_minus_sign: | Maximum number of web searches the model may perform in a single request. Once reached, further search calls return an error result instead of executing. Applies to the Exa, Firecrawl, Parallel, and Perplexity engines. With native provider search, forwarded only to Anthropic (as `max_uses`); other native search providers have no equivalent parameter and ignore it. | 3 |
-| `search_context_size` | [Optional[components.SearchContextSizeEnum]](../components/searchcontextsizeenum.mdx) | :heavy_minus_sign: | Size of the search context for web search tools | medium |
-| `type` | [components.Preview20250311WebSearchServerToolType](../components/preview20250311websearchservertooltype.mdx) | :heavy_check_mark: | N/A | |
-| `user_location` | [OptionalNullable[components.PreviewWebSearchUserLocation]](../components/previewwebsearchuserlocation.mdx) | :heavy_minus_sign: | N/A | \{
"city": "San Francisco",
"country": "USA",
"region": "California",
"timezone": "America/Los_Angeles",
"type": "approximate"
} |
\ No newline at end of file
+| `search_context_size` | [Optional[components.SearchContextSizeEnum]](../components/searchcontextsizeenum) | :heavy_minus_sign: | Size of the search context for web search tools | medium |
+| `type` | [components.Preview20250311WebSearchServerToolType](../components/preview20250311websearchservertooltype) | :heavy_check_mark: | N/A | |
+| `user_location` | [OptionalNullable[components.PreviewWebSearchUserLocation]](../components/previewwebsearchuserlocation) | :heavy_minus_sign: | N/A | \{
"city": "San Francisco",
"country": "USA",
"region": "California",
"timezone": "America/Los_Angeles",
"type": "approximate"
} |
\ No newline at end of file
diff --git a/docs/components/previewwebsearchservertool.mdx b/docs/components/previewwebsearchservertool.mdx
index adbba6fb..1e7762eb 100644
--- a/docs/components/previewwebsearchservertool.mdx
+++ b/docs/components/previewwebsearchservertool.mdx
@@ -9,10 +9,10 @@ Web search preview tool configuration
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `engine` | [Optional[components.WebSearchEngineEnum]](../components/websearchengineenum.mdx) | :heavy_minus_sign: | Which search engine to use. "auto" (default) uses native if the provider supports it, otherwise Exa. "native" forces the provider's built-in search. "exa" forces the Exa search API. "firecrawl" uses Firecrawl (requires BYOK). "parallel" uses the Parallel search API. "perplexity" uses the Perplexity Search API (raw ranked results). | auto |
-| `filters` | [OptionalNullable[components.WebSearchDomainFilter]](../components/websearchdomainfilter.mdx) | :heavy_minus_sign: | N/A | \{
"allowed_domains": [
"example.com"
],
"blocked_domains": [
"spam.com"
],
"excluded_domains": [
"spam.com"
]
} |
+| `engine` | [Optional[components.WebSearchEngineEnum]](../components/websearchengineenum) | :heavy_minus_sign: | Which search engine to use. "auto" (default) uses native if the provider supports it, otherwise Exa. "native" forces the provider's built-in search. "exa" forces the Exa search API. "firecrawl" uses Firecrawl (requires BYOK). "parallel" uses the Parallel search API. "perplexity" uses the Perplexity Search API (raw ranked results). | auto |
+| `filters` | [OptionalNullable[components.WebSearchDomainFilter]](../components/websearchdomainfilter) | :heavy_minus_sign: | N/A | \{
"allowed_domains": [
"example.com"
],
"blocked_domains": [
"spam.com"
],
"excluded_domains": [
"spam.com"
]
} |
| `max_results` | *Optional[int]* | :heavy_minus_sign: | Maximum number of search results to return per search call. Defaults to 5. Applies to Exa, Firecrawl, Parallel, and Perplexity engines; ignored with native provider search. Perplexity supports a maximum of 20; values above 20 are clamped. | 5 |
| `max_uses` | *Optional[int]* | :heavy_minus_sign: | Maximum number of web searches the model may perform in a single request. Once reached, further search calls return an error result instead of executing. Applies to the Exa, Firecrawl, Parallel, and Perplexity engines. With native provider search, forwarded only to Anthropic (as `max_uses`); other native search providers have no equivalent parameter and ignore it. | 3 |
-| `search_context_size` | [Optional[components.SearchContextSizeEnum]](../components/searchcontextsizeenum.mdx) | :heavy_minus_sign: | Size of the search context for web search tools | medium |
-| `type` | [components.PreviewWebSearchServerToolType](../components/previewwebsearchservertooltype.mdx) | :heavy_check_mark: | N/A | |
-| `user_location` | [OptionalNullable[components.PreviewWebSearchUserLocation]](../components/previewwebsearchuserlocation.mdx) | :heavy_minus_sign: | N/A | \{
"city": "San Francisco",
"country": "USA",
"region": "California",
"timezone": "America/Los_Angeles",
"type": "approximate"
} |
\ No newline at end of file
+| `search_context_size` | [Optional[components.SearchContextSizeEnum]](../components/searchcontextsizeenum) | :heavy_minus_sign: | Size of the search context for web search tools | medium |
+| `type` | [components.PreviewWebSearchServerToolType](../components/previewwebsearchservertooltype) | :heavy_check_mark: | N/A | |
+| `user_location` | [OptionalNullable[components.PreviewWebSearchUserLocation]](../components/previewwebsearchuserlocation) | :heavy_minus_sign: | N/A | \{
"city": "San Francisco",
"country": "USA",
"region": "California",
"timezone": "America/Los_Angeles",
"type": "approximate"
} |
\ No newline at end of file
diff --git a/docs/components/previewwebsearchuserlocation.mdx b/docs/components/previewwebsearchuserlocation.mdx
index 1695e404..0729ceac 100644
--- a/docs/components/previewwebsearchuserlocation.mdx
+++ b/docs/components/previewwebsearchuserlocation.mdx
@@ -10,4 +10,4 @@ title: "PreviewWebSearchUserLocation"
| `country` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A |
| `region` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A |
| `timezone` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A |
-| `type` | [components.PreviewWebSearchUserLocationType](../components/previewwebsearchuserlocationtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.PreviewWebSearchUserLocationType](../components/previewwebsearchuserlocationtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/pricing.mdx b/docs/components/pricing.mdx
index e60ec6cf..2806c93c 100644
--- a/docs/components/pricing.mdx
+++ b/docs/components/pricing.mdx
@@ -18,7 +18,7 @@ title: "Pricing"
| `input_cache_write` | *Optional[str]* | :heavy_minus_sign: | Price per cache-write token, in USD per token. For providers with multiple cache TTLs (e.g. Anthropic), this is the default (5-minute) cache-write rate. |
| `input_cache_write_1h` | *Optional[str]* | :heavy_minus_sign: | Price per 1-hour cache-write token, in USD per token. Only present for providers that price an extended (1-hour) cache TTL separately, such as Anthropic. |
| `internal_reasoning` | *Optional[str]* | :heavy_minus_sign: | Price in USD per internal reasoning token |
-| `overrides` | List[[components.PricingOverride](../components/pricingoverride.mdx)] | :heavy_minus_sign: | Conditional overrides of the base pricing (e.g. long-context or time-based pricing). An entry applies when all of its condition fields (e.g. min_prompt_tokens, or the utc_start/utc_end time window) match the request; among applicable entries, later entries win per key; price keys absent from an entry inherit the base price. The top-level pricing keys always reflect the price that applies under default conditions. |
+| `overrides` | List[[components.PricingOverride](../components/pricingoverride)] | :heavy_minus_sign: | Conditional overrides of the base pricing (e.g. long-context or time-based pricing). An entry applies when all of its condition fields (e.g. min_prompt_tokens, or the utc_start/utc_end time window) match the request; among applicable entries, later entries win per key; price keys absent from an entry inherit the base price. The top-level pricing keys always reflect the price that applies under default conditions. |
| `prompt` | *str* | :heavy_check_mark: | Price in USD per token for prompt (input) processing |
| `request` | *Optional[str]* | :heavy_minus_sign: | Price in USD per request |
| `web_search` | *Optional[str]* | :heavy_minus_sign: | Price in USD per web search |
\ No newline at end of file
diff --git a/docs/components/promptcachebreakpoint.mdx b/docs/components/promptcachebreakpoint.mdx
index 313ab84d..d01f4c79 100644
--- a/docs/components/promptcachebreakpoint.mdx
+++ b/docs/components/promptcachebreakpoint.mdx
@@ -9,4 +9,4 @@ Marks an explicit prompt-cache boundary on this content block (OpenAI-style). Ev
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
-| `mode` | [components.PromptCacheBreakpointMode](../components/promptcachebreakpointmode.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `mode` | [components.PromptCacheBreakpointMode](../components/promptcachebreakpointmode) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/promptcacheoptions.mdx b/docs/components/promptcacheoptions.mdx
index a9b20d3f..4fa46bb2 100644
--- a/docs/components/promptcacheoptions.mdx
+++ b/docs/components/promptcacheoptions.mdx
@@ -9,5 +9,5 @@ Request-level prompt-cache controls. `mode: "explicit"` disables OpenAI-managed
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
-| `mode` | [components.PromptCacheOptionsMode](../components/promptcacheoptionsmode.mdx) | :heavy_check_mark: | N/A |
+| `mode` | [components.PromptCacheOptionsMode](../components/promptcacheoptionsmode) | :heavy_check_mark: | N/A |
| `ttl` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/docs/components/providerpreferences.mdx b/docs/components/providerpreferences.mdx
index a312c6f6..6ad62fcc 100644
--- a/docs/components/providerpreferences.mdx
+++ b/docs/components/providerpreferences.mdx
@@ -10,15 +10,15 @@ When multiple model providers are available, optionally indicate your routing pr
| Field | Type | Required | Description | Example |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `allow_fallbacks` | *OptionalNullable[bool]* | :heavy_minus_sign: | Whether to allow backup providers to serve requests
- true: (default) when the primary provider (or your custom providers in "order") is unavailable, use the next best provider.
- false: use only the primary/custom provider, and return the upstream error if it's unavailable.
| |
-| `data_collection` | [OptionalNullable[components.DataCollection]](../components/datacollection.mdx) | :heavy_minus_sign: | Data collection setting. If no available model provider meets the requirement, your request will return an error.
- allow: (default) allow providers which store user data non-transiently and may train on it
- deny: use only providers which do not collect user data. | allow |
+| `data_collection` | [OptionalNullable[components.DataCollection]](../components/datacollection) | :heavy_minus_sign: | Data collection setting. If no available model provider meets the requirement, your request will return an error.
- allow: (default) allow providers which store user data non-transiently and may train on it
- deny: use only providers which do not collect user data. | allow |
| `enforce_distillable_text` | *OptionalNullable[bool]* | :heavy_minus_sign: | Whether to restrict routing to only models that allow text distillation. When true, only models where the author has allowed distillation will be used. | true |
-| `ignore` | List[[components.ProviderPreferencesIgnore](../components/providerpreferencesignore.mdx)] | :heavy_minus_sign: | List of provider slugs to ignore. If provided, this list is merged with your account-wide ignored provider settings for this request. | [
"openai",
"anthropic"
] |
-| `max_price` | [Optional[components.MaxPrice]](../components/maxprice.mdx) | :heavy_minus_sign: | The object specifying the maximum price you want to pay for this request. USD price per million tokens, for prompt and completion. | |
-| `only` | List[[components.ProviderPreferencesOnly](../components/providerpreferencesonly.mdx)] | :heavy_minus_sign: | List of provider slugs to allow. If provided, this list is merged with your account-wide allowed provider settings for this request. | [
"openai",
"anthropic"
] |
-| `order` | List[[components.ProviderPreferencesOrder](../components/providerpreferencesorder.mdx)] | :heavy_minus_sign: | An ordered list of provider slugs. The router will attempt to use the first provider in the subset of this list that supports your requested model, and fall back to the next if it is unavailable. If no providers are available, the request will fail with an error message. | [
"openai",
"anthropic"
] |
-| `preferred_max_latency` | [OptionalNullable[components.PreferredMaxLatency]](../components/preferredmaxlatency.mdx) | :heavy_minus_sign: | Preferred maximum latency (in seconds). Can be a number (applies to p50) or an object with percentile-specific cutoffs. Endpoints above the threshold(s) may still be used, but are deprioritized in routing. When using fallback models, this may cause a fallback model to be used instead of the primary model if it meets the threshold. | 5 |
-| `preferred_min_throughput` | [OptionalNullable[components.PreferredMinThroughput]](../components/preferredminthroughput.mdx) | :heavy_minus_sign: | Preferred minimum throughput (in tokens per second). Can be a number (applies to p50) or an object with percentile-specific cutoffs. Endpoints below the threshold(s) may still be used, but are deprioritized in routing. When using fallback models, this may cause a fallback model to be used instead of the primary model if it meets the threshold. | 100 |
-| `quantizations` | List[[components.Quantization](../components/quantization.mdx)] | :heavy_minus_sign: | A list of quantization levels to filter the provider by. | |
+| `ignore` | List[[components.ProviderPreferencesIgnore](../components/providerpreferencesignore)] | :heavy_minus_sign: | List of provider slugs to ignore. If provided, this list is merged with your account-wide ignored provider settings for this request. | [
"openai",
"anthropic"
] |
+| `max_price` | [Optional[components.MaxPrice]](../components/maxprice) | :heavy_minus_sign: | The object specifying the maximum price you want to pay for this request. USD price per million tokens, for prompt and completion. | |
+| `only` | List[[components.ProviderPreferencesOnly](../components/providerpreferencesonly)] | :heavy_minus_sign: | List of provider slugs to allow. If provided, this list is merged with your account-wide allowed provider settings for this request. | [
"openai",
"anthropic"
] |
+| `order` | List[[components.ProviderPreferencesOrder](../components/providerpreferencesorder)] | :heavy_minus_sign: | An ordered list of provider slugs. The router will attempt to use the first provider in the subset of this list that supports your requested model, and fall back to the next if it is unavailable. If no providers are available, the request will fail with an error message. | [
"openai",
"anthropic"
] |
+| `preferred_max_latency` | [OptionalNullable[components.PreferredMaxLatency]](../components/preferredmaxlatency) | :heavy_minus_sign: | Preferred maximum latency (in seconds). Can be a number (applies to p50) or an object with percentile-specific cutoffs. Endpoints above the threshold(s) may still be used, but are deprioritized in routing. When using fallback models, this may cause a fallback model to be used instead of the primary model if it meets the threshold. | 5 |
+| `preferred_min_throughput` | [OptionalNullable[components.PreferredMinThroughput]](../components/preferredminthroughput) | :heavy_minus_sign: | Preferred minimum throughput (in tokens per second). Can be a number (applies to p50) or an object with percentile-specific cutoffs. Endpoints below the threshold(s) may still be used, but are deprioritized in routing. When using fallback models, this may cause a fallback model to be used instead of the primary model if it meets the threshold. | 100 |
+| `quantizations` | List[[components.Quantization](../components/quantization)] | :heavy_minus_sign: | A list of quantization levels to filter the provider by. | |
| `require_parameters` | *OptionalNullable[bool]* | :heavy_minus_sign: | Whether to filter providers to only those that support the parameters you've provided. If this setting is omitted or set to false, then providers will receive only the parameters they support, and ignore the rest. | |
-| `sort` | [OptionalNullable[components.ProviderPreferencesSort]](../components/providerpreferencessort.mdx) | :heavy_minus_sign: | The sorting strategy to use for this request, if "order" is not specified. When set, no load balancing is performed. | price |
+| `sort` | [OptionalNullable[components.ProviderPreferencesSort]](../components/providerpreferencessort) | :heavy_minus_sign: | The sorting strategy to use for this request, if "order" is not specified. When set, no load balancing is performed. | price |
| `zdr` | *OptionalNullable[bool]* | :heavy_minus_sign: | Whether to restrict routing to only ZDR (Zero Data Retention) endpoints. When true, only endpoints that do not retain prompts will be used. | true |
\ No newline at end of file
diff --git a/docs/components/providerresponse.mdx b/docs/components/providerresponse.mdx
index dd376f09..5623b644 100644
--- a/docs/components/providerresponse.mdx
+++ b/docs/components/providerresponse.mdx
@@ -14,6 +14,6 @@ Details of a provider response for a generation attempt
| `is_byok` | *Optional[bool]* | :heavy_minus_sign: | Whether the request used a bring-your-own-key | false |
| `latency` | *Optional[float]* | :heavy_minus_sign: | Response latency in milliseconds | 1200 |
| `model_permaslug` | *Optional[str]* | :heavy_minus_sign: | Canonical model slug | openai/gpt-4 |
-| `provider_name` | [Optional[components.ProviderResponseProviderName]](../components/providerresponseprovidername.mdx) | :heavy_minus_sign: | Name of the provider | OpenAI |
-| `routed_service_tier` | [Optional[components.RoutedServiceTier]](../components/routedservicetier.mdx) | :heavy_minus_sign: | The service tier this request was routed to (e.g. flex, priority). The tier actually applied and billed is determined by the provider response and may differ. | priority |
+| `provider_name` | [Optional[components.ProviderResponseProviderName]](../components/providerresponseprovidername) | :heavy_minus_sign: | Name of the provider | OpenAI |
+| `routed_service_tier` | [Optional[components.RoutedServiceTier]](../components/routedservicetier) | :heavy_minus_sign: | The service tier this request was routed to (e.g. flex, priority). The tier actually applied and billed is determined by the provider response and may differ. | priority |
| `status` | *Nullable[int]* | :heavy_check_mark: | HTTP status code from the provider | 200 |
\ No newline at end of file
diff --git a/docs/components/providersortconfig.mdx b/docs/components/providersortconfig.mdx
index 5aa8e90a..b3b5a8c6 100644
--- a/docs/components/providersortconfig.mdx
+++ b/docs/components/providersortconfig.mdx
@@ -9,5 +9,5 @@ The provider sorting strategy (price, throughput, latency)
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `by` | [OptionalNullable[components.By]](../components/by.mdx) | :heavy_minus_sign: | The provider sorting strategy (price, throughput, latency) | price |
-| `partition` | [OptionalNullable[components.Partition]](../components/partition.mdx) | :heavy_minus_sign: | Partitioning strategy for sorting: "model" (default) groups endpoints by model before sorting (fallback models remain fallbacks), "none" sorts all endpoints together regardless of model. | model |
\ No newline at end of file
+| `by` | [OptionalNullable[components.By]](../components/by) | :heavy_minus_sign: | The provider sorting strategy (price, throughput, latency) | price |
+| `partition` | [OptionalNullable[components.Partition]](../components/partition) | :heavy_minus_sign: | Partitioning strategy for sorting: "model" (default) groups endpoints by model before sorting (fallback models remain fallbacks), "none" sorts all endpoints together regardless of model. | model |
\ No newline at end of file
diff --git a/docs/components/publicendpoint.mdx b/docs/components/publicendpoint.mdx
index 79cab222..9fbce250 100644
--- a/docs/components/publicendpoint.mdx
+++ b/docs/components/publicendpoint.mdx
@@ -10,20 +10,20 @@ Information about a specific model endpoint
| Field | Type | Required | Description | Example |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `context_length` | *int* | :heavy_check_mark: | N/A | |
-| `latency_last_30m` | [Nullable[components.PercentileStats]](../components/percentilestats.mdx) | :heavy_check_mark: | Latency percentiles in milliseconds over the last 30 minutes. Latency measures time to first token. Only visible when authenticated with an API key or cookie; returns null for unauthenticated requests. | \{
"p50": 25.5,
"p75": 35.2,
"p90": 48.7,
"p99": 85.3
} |
+| `latency_last_30m` | [Nullable[components.PercentileStats]](../components/percentilestats) | :heavy_check_mark: | Latency percentiles in milliseconds over the last 30 minutes. Latency measures time to first token. Only visible when authenticated with an API key or cookie; returns null for unauthenticated requests. | \{
"p50": 25.5,
"p75": 35.2,
"p90": 48.7,
"p99": 85.3
} |
| `max_completion_tokens` | *Nullable[int]* | :heavy_check_mark: | N/A | |
| `max_prompt_tokens` | *Nullable[int]* | :heavy_check_mark: | N/A | |
| `model_id` | *str* | :heavy_check_mark: | The unique identifier for the model (permaslug) | openai/gpt-4 |
| `model_name` | *str* | :heavy_check_mark: | N/A | |
| `name` | *str* | :heavy_check_mark: | N/A | |
-| `pricing` | [components.Pricing](../components/pricing.mdx) | :heavy_check_mark: | N/A | |
-| `provider_name` | [components.ProviderName](../components/providername.mdx) | :heavy_check_mark: | N/A | OpenAI |
-| `quantization` | [Nullable[components.Quantization]](../components/quantization.mdx) | :heavy_check_mark: | N/A | fp16 |
-| `status` | [Optional[components.EndpointStatus]](../components/endpointstatus.mdx) | :heavy_minus_sign: | N/A | 0 |
-| `supported_parameters` | List[[components.Parameter](../components/parameter.mdx)] | :heavy_check_mark: | N/A | |
+| `pricing` | [components.Pricing](../components/pricing) | :heavy_check_mark: | N/A | |
+| `provider_name` | [components.ProviderName](../components/providername) | :heavy_check_mark: | N/A | OpenAI |
+| `quantization` | [Nullable[components.Quantization]](../components/quantization) | :heavy_check_mark: | N/A | fp16 |
+| `status` | [Optional[components.EndpointStatus]](../components/endpointstatus) | :heavy_minus_sign: | N/A | 0 |
+| `supported_parameters` | List[[components.Parameter](../components/parameter)] | :heavy_check_mark: | N/A | |
| `supports_implicit_caching` | *bool* | :heavy_check_mark: | N/A | |
| `tag` | *str* | :heavy_check_mark: | N/A | |
-| `throughput_last_30m` | [Nullable[components.PercentileStats]](../components/percentilestats.mdx) | :heavy_check_mark: | N/A | \{
"p50": 25.5,
"p75": 35.2,
"p90": 48.7,
"p99": 85.3
} |
+| `throughput_last_30m` | [Nullable[components.PercentileStats]](../components/percentilestats) | :heavy_check_mark: | N/A | \{
"p50": 25.5,
"p75": 35.2,
"p90": 48.7,
"p99": 85.3
} |
| `uptime_last_1d` | *Nullable[float]* | :heavy_check_mark: | Uptime percentage over the last 1 day, calculated as successful requests / (successful + error requests) * 100. Rate-limited requests are excluded. Returns null if insufficient data. | |
| `uptime_last_30m` | *Nullable[float]* | :heavy_check_mark: | N/A | |
| `uptime_last_5m` | *Nullable[float]* | :heavy_check_mark: | Uptime percentage over the last 5 minutes, calculated as successful requests / (successful + error requests) * 100. Rate-limited requests are excluded. Returns null if insufficient data. | |
\ No newline at end of file
diff --git a/docs/components/publicpricing.mdx b/docs/components/publicpricing.mdx
index 894ca95c..44adeee2 100644
--- a/docs/components/publicpricing.mdx
+++ b/docs/components/publicpricing.mdx
@@ -21,7 +21,7 @@ Pricing information for the model
| `input_cache_write` | *Optional[str]* | :heavy_minus_sign: | Price per cache-write token, in USD per token. For providers with multiple cache TTLs (e.g. Anthropic), this is the default (5-minute) cache-write rate. |
| `input_cache_write_1h` | *Optional[str]* | :heavy_minus_sign: | Price per 1-hour cache-write token, in USD per token. Only present for providers that price an extended (1-hour) cache TTL separately, such as Anthropic. |
| `internal_reasoning` | *Optional[str]* | :heavy_minus_sign: | Price in USD per internal reasoning token |
-| `overrides` | List[[components.PricingOverride](../components/pricingoverride.mdx)] | :heavy_minus_sign: | Conditional overrides of the base pricing (e.g. long-context or time-based pricing). An entry applies when all of its condition fields (e.g. min_prompt_tokens, or the utc_start/utc_end time window) match the request; among applicable entries, later entries win per key; price keys absent from an entry inherit the base price. The top-level pricing keys always reflect the price that applies under default conditions. |
+| `overrides` | List[[components.PricingOverride](../components/pricingoverride)] | :heavy_minus_sign: | Conditional overrides of the base pricing (e.g. long-context or time-based pricing). An entry applies when all of its condition fields (e.g. min_prompt_tokens, or the utc_start/utc_end time window) match the request; among applicable entries, later entries win per key; price keys absent from an entry inherit the base price. The top-level pricing keys always reflect the price that applies under default conditions. |
| `prompt` | *str* | :heavy_check_mark: | Price in USD per token for prompt (input) processing |
| `request` | *Optional[str]* | :heavy_minus_sign: | Price in USD per request |
| `web_search` | *Optional[str]* | :heavy_minus_sign: | Price in USD per web search |
\ No newline at end of file
diff --git a/docs/components/rangecapability.mdx b/docs/components/rangecapability.mdx
index 34425c50..16fffa8e 100644
--- a/docs/components/rangecapability.mdx
+++ b/docs/components/rangecapability.mdx
@@ -11,4 +11,4 @@ A parameter that accepts any value within an inclusive numeric range.
| ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- |
| `max` | *float* | :heavy_check_mark: | N/A |
| `min` | *float* | :heavy_check_mark: | N/A |
-| `type` | [components.RangeCapabilityType](../components/rangecapabilitytype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.RangeCapabilityType](../components/rangecapabilitytype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/rankingoptions.mdx b/docs/components/rankingoptions.mdx
index 2f3d38a0..1e834e6c 100644
--- a/docs/components/rankingoptions.mdx
+++ b/docs/components/rankingoptions.mdx
@@ -6,5 +6,5 @@ title: "RankingOptions"
| Field | Type | Required | Description |
| ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ |
-| `ranker` | [Optional[components.Ranker]](../components/ranker.mdx) | :heavy_minus_sign: | N/A |
+| `ranker` | [Optional[components.Ranker]](../components/ranker) | :heavy_minus_sign: | N/A |
| `score_threshold` | *Optional[float]* | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/docs/components/rankingsdailymeta.mdx b/docs/components/rankingsdailymeta.mdx
index cdc00fcf..f86784f5 100644
--- a/docs/components/rankingsdailymeta.mdx
+++ b/docs/components/rankingsdailymeta.mdx
@@ -9,4 +9,4 @@ title: "RankingsDailyMeta"
| `as_of` | *str* | :heavy_check_mark: | ISO-8601 timestamp of when the response was generated. Reflects data-freshness because the underlying materialized view continuously ingests upstream events. | 2026-05-12T02:00:00Z |
| `end_date` | *str* | :heavy_check_mark: | Resolved end of the date window (UTC, inclusive). | 2026-05-11 |
| `start_date` | *str* | :heavy_check_mark: | Resolved start of the date window (UTC, inclusive). | 2026-04-12 |
-| `version` | [components.RankingsDailyMetaVersion](../components/rankingsdailymetaversion.mdx) | :heavy_check_mark: | Dataset version. Field names and grain are stable for the life of `v1`. | |
\ No newline at end of file
+| `version` | [components.RankingsDailyMetaVersion](../components/rankingsdailymetaversion) | :heavy_check_mark: | Dataset version. Field names and grain are stable for the life of `v1`. | |
\ No newline at end of file
diff --git a/docs/components/rankingsdailyresponse.mdx b/docs/components/rankingsdailyresponse.mdx
index 13cf299d..695b73cd 100644
--- a/docs/components/rankingsdailyresponse.mdx
+++ b/docs/components/rankingsdailyresponse.mdx
@@ -6,5 +6,5 @@ title: "RankingsDailyResponse"
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `data` | List[[components.RankingsDailyItem](../components/rankingsdailyitem.mdx)] | :heavy_check_mark: | Up to 51 rows per day — the top 50 public models by `total_tokens` for each UTC calendar date in the window, plus one aggregated `other` row summing every model outside that top 50 (omitted when the long tail is empty). Rows are sorted by `date` ascending, then by `total_tokens` descending, with `other` pinned last within its date. Ties between real models break alphabetically on `model_permaslug` so the order is stable across requests. | |
-| `meta` | [components.RankingsDailyMeta](../components/rankingsdailymeta.mdx) | :heavy_check_mark: | N/A | \{
"as_of": "2026-05-12T02:00:00Z",
"end_date": "2026-05-11",
"start_date": "2026-04-12",
"version": "v1"
} |
\ No newline at end of file
+| `data` | List[[components.RankingsDailyItem](../components/rankingsdailyitem)] | :heavy_check_mark: | Up to 51 rows per day — the top 50 public models by `total_tokens` for each UTC calendar date in the window, plus one aggregated `other` row summing every model outside that top 50 (omitted when the long tail is empty). Rows are sorted by `date` ascending, then by `total_tokens` descending, with `other` pinned last within its date. Ties between real models break alphabetically on `model_permaslug` so the order is stable across requests. | |
+| `meta` | [components.RankingsDailyMeta](../components/rankingsdailymeta) | :heavy_check_mark: | N/A | \{
"as_of": "2026-05-12T02:00:00Z",
"end_date": "2026-05-11",
"start_date": "2026-04-12",
"version": "v1"
} |
\ No newline at end of file
diff --git a/docs/components/reasoningconfig.mdx b/docs/components/reasoningconfig.mdx
index 12bc5225..814e8715 100644
--- a/docs/components/reasoningconfig.mdx
+++ b/docs/components/reasoningconfig.mdx
@@ -6,9 +6,9 @@ title: "ReasoningConfig"
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `context` | [OptionalNullable[components.ReasoningContext]](../components/reasoningcontext.mdx) | :heavy_minus_sign: | Controls which reasoning is available to the model. `auto` uses the model default (same as omitting); `all_turns` includes reasoning from earlier turns passed in input; `current_turn` limits to the current turn only. Only supported by OpenAI GPT-5.6 and newer. | all_turns |
-| `effort` | [OptionalNullable[components.ReasoningEffort]](../components/reasoningeffort.mdx) | :heavy_minus_sign: | N/A | medium |
-| `mode` | [OptionalNullable[components.ReasoningMode]](../components/reasoningmode.mdx) | :heavy_minus_sign: | Selects the reasoning mode. `standard` is the default; `pro` engages deeper reasoning on models that support it, billed at standard token rates. Only supported by OpenAI GPT-5.6 and newer. | standard |
-| `summary` | [OptionalNullable[components.ReasoningSummaryVerbosity]](../components/reasoningsummaryverbosity.mdx) | :heavy_minus_sign: | N/A | auto |
+| `context` | [OptionalNullable[components.ReasoningContext]](../components/reasoningcontext) | :heavy_minus_sign: | Controls which reasoning is available to the model. `auto` uses the model default (same as omitting); `all_turns` includes reasoning from earlier turns passed in input; `current_turn` limits to the current turn only. Only supported by OpenAI GPT-5.6 and newer. | all_turns |
+| `effort` | [OptionalNullable[components.ReasoningEffort]](../components/reasoningeffort) | :heavy_minus_sign: | N/A | medium |
+| `mode` | [OptionalNullable[components.ReasoningMode]](../components/reasoningmode) | :heavy_minus_sign: | Selects the reasoning mode. `standard` is the default; `pro` engages deeper reasoning on models that support it, billed at standard token rates. Only supported by OpenAI GPT-5.6 and newer. | standard |
+| `summary` | [OptionalNullable[components.ReasoningSummaryVerbosity]](../components/reasoningsummaryverbosity) | :heavy_minus_sign: | N/A | auto |
| `enabled` | *OptionalNullable[bool]* | :heavy_minus_sign: | N/A | |
| `max_tokens` | *OptionalNullable[int]* | :heavy_minus_sign: | N/A | |
\ No newline at end of file
diff --git a/docs/components/reasoningdeltaevent.mdx b/docs/components/reasoningdeltaevent.mdx
index 2c29c423..fc0e1ba8 100644
--- a/docs/components/reasoningdeltaevent.mdx
+++ b/docs/components/reasoningdeltaevent.mdx
@@ -14,4 +14,4 @@ Event emitted when reasoning text delta is streamed
| `item_id` | *str* | :heavy_check_mark: | N/A |
| `output_index` | *int* | :heavy_check_mark: | N/A |
| `sequence_number` | *int* | :heavy_check_mark: | N/A |
-| `type` | [components.ReasoningDeltaEventType](../components/reasoningdeltaeventtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.ReasoningDeltaEventType](../components/reasoningdeltaeventtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/reasoningdetailencrypted.mdx b/docs/components/reasoningdetailencrypted.mdx
index af4cce61..1216f0f5 100644
--- a/docs/components/reasoningdetailencrypted.mdx
+++ b/docs/components/reasoningdetailencrypted.mdx
@@ -10,7 +10,7 @@ Reasoning detail encrypted schema
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
| `data` | *str* | :heavy_check_mark: | N/A | |
-| `format_` | [OptionalNullable[components.ReasoningFormat]](../components/reasoningformat.mdx) | :heavy_minus_sign: | N/A | unknown |
+| `format_` | [OptionalNullable[components.ReasoningFormat]](../components/reasoningformat) | :heavy_minus_sign: | N/A | unknown |
| `id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
| `index` | *Optional[int]* | :heavy_minus_sign: | N/A | |
-| `type` | [components.ReasoningDetailEncryptedType](../components/reasoningdetailencryptedtype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `type` | [components.ReasoningDetailEncryptedType](../components/reasoningdetailencryptedtype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/reasoningdetailservertoolcall.mdx b/docs/components/reasoningdetailservertoolcall.mdx
index 78f316a1..da3ea251 100644
--- a/docs/components/reasoningdetailservertoolcall.mdx
+++ b/docs/components/reasoningdetailservertoolcall.mdx
@@ -10,10 +10,10 @@ Record of an OpenRouter server-tool invocation (e.g. openrouter:fusion), carried
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| `arguments` | *str* | :heavy_check_mark: | N/A | |
-| `format_` | [OptionalNullable[components.ReasoningFormat]](../components/reasoningformat.mdx) | :heavy_minus_sign: | N/A | unknown |
+| `format_` | [OptionalNullable[components.ReasoningFormat]](../components/reasoningformat) | :heavy_minus_sign: | N/A | unknown |
| `id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
| `index` | *Optional[int]* | :heavy_minus_sign: | N/A | |
| `result` | *str* | :heavy_check_mark: | N/A | |
| `tool_call_id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
| `tool_name` | *str* | :heavy_check_mark: | N/A | |
-| `type` | [components.ReasoningDetailServerToolCallType](../components/reasoningdetailservertoolcalltype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `type` | [components.ReasoningDetailServerToolCallType](../components/reasoningdetailservertoolcalltype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/reasoningdetailsummary.mdx b/docs/components/reasoningdetailsummary.mdx
index f0ad47f1..64b68a47 100644
--- a/docs/components/reasoningdetailsummary.mdx
+++ b/docs/components/reasoningdetailsummary.mdx
@@ -9,8 +9,8 @@ Reasoning detail summary schema
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ |
-| `format_` | [OptionalNullable[components.ReasoningFormat]](../components/reasoningformat.mdx) | :heavy_minus_sign: | N/A | unknown |
+| `format_` | [OptionalNullable[components.ReasoningFormat]](../components/reasoningformat) | :heavy_minus_sign: | N/A | unknown |
| `id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
| `index` | *Optional[int]* | :heavy_minus_sign: | N/A | |
| `summary` | *str* | :heavy_check_mark: | N/A | |
-| `type` | [components.ReasoningDetailSummaryType](../components/reasoningdetailsummarytype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `type` | [components.ReasoningDetailSummaryType](../components/reasoningdetailsummarytype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/reasoningdetailtext.mdx b/docs/components/reasoningdetailtext.mdx
index 54a6696f..ed082bbf 100644
--- a/docs/components/reasoningdetailtext.mdx
+++ b/docs/components/reasoningdetailtext.mdx
@@ -9,9 +9,9 @@ Reasoning detail text schema
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
-| `format_` | [OptionalNullable[components.ReasoningFormat]](../components/reasoningformat.mdx) | :heavy_minus_sign: | N/A | unknown |
+| `format_` | [OptionalNullable[components.ReasoningFormat]](../components/reasoningformat) | :heavy_minus_sign: | N/A | unknown |
| `id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
| `index` | *Optional[int]* | :heavy_minus_sign: | N/A | |
| `signature` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
| `text` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
-| `type` | [components.ReasoningDetailTextType](../components/reasoningdetailtexttype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `type` | [components.ReasoningDetailTextType](../components/reasoningdetailtexttype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/reasoningdoneevent.mdx b/docs/components/reasoningdoneevent.mdx
index 6068c9df..16ea6a1c 100644
--- a/docs/components/reasoningdoneevent.mdx
+++ b/docs/components/reasoningdoneevent.mdx
@@ -14,4 +14,4 @@ Event emitted when reasoning text streaming is complete
| `output_index` | *int* | :heavy_check_mark: | N/A |
| `sequence_number` | *int* | :heavy_check_mark: | N/A |
| `text` | *str* | :heavy_check_mark: | N/A |
-| `type` | [components.ReasoningDoneEventType](../components/reasoningdoneeventtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.ReasoningDoneEventType](../components/reasoningdoneeventtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/reasoningitem.mdx b/docs/components/reasoningitem.mdx
index 1afe6189..eec62570 100644
--- a/docs/components/reasoningitem.mdx
+++ b/docs/components/reasoningitem.mdx
@@ -9,11 +9,11 @@ Reasoning output item with signature and format extensions
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ |
-| `content` | List[[components.ReasoningTextContent](../components/reasoningtextcontent.mdx)] | :heavy_minus_sign: | N/A | |
+| `content` | List[[components.ReasoningTextContent](../components/reasoningtextcontent)] | :heavy_minus_sign: | N/A | |
| `encrypted_content` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
| `id` | *str* | :heavy_check_mark: | N/A | |
-| `status` | [Optional[components.ReasoningItemStatusUnion]](../components/reasoningitemstatusunion.mdx) | :heavy_minus_sign: | N/A | |
-| `summary` | List[[components.ReasoningSummaryText](../components/reasoningsummarytext.mdx)] | :heavy_check_mark: | N/A | |
-| `type` | [components.ReasoningItemType](../components/reasoningitemtype.mdx) | :heavy_check_mark: | N/A | |
-| `format_` | [OptionalNullable[components.ReasoningFormat]](../components/reasoningformat.mdx) | :heavy_minus_sign: | N/A | unknown |
+| `status` | [Optional[components.ReasoningItemStatusUnion]](../components/reasoningitemstatusunion) | :heavy_minus_sign: | N/A | |
+| `summary` | List[[components.ReasoningSummaryText](../components/reasoningsummarytext)] | :heavy_check_mark: | N/A | |
+| `type` | [components.ReasoningItemType](../components/reasoningitemtype) | :heavy_check_mark: | N/A | |
+| `format_` | [OptionalNullable[components.ReasoningFormat]](../components/reasoningformat) | :heavy_minus_sign: | N/A | unknown |
| `signature` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
\ No newline at end of file
diff --git a/docs/components/reasoningsummarypartaddedevent.mdx b/docs/components/reasoningsummarypartaddedevent.mdx
index 277f6169..4f68eff7 100644
--- a/docs/components/reasoningsummarypartaddedevent.mdx
+++ b/docs/components/reasoningsummarypartaddedevent.mdx
@@ -11,7 +11,7 @@ Event emitted when a reasoning summary part is added
| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| `item_id` | *str* | :heavy_check_mark: | N/A | |
| `output_index` | *int* | :heavy_check_mark: | N/A | |
-| `part` | [components.ReasoningSummaryText](../components/reasoningsummarytext.mdx) | :heavy_check_mark: | N/A | \{
"text": "Analyzed the problem using first principles",
"type": "summary_text"
} |
+| `part` | [components.ReasoningSummaryText](../components/reasoningsummarytext) | :heavy_check_mark: | N/A | \{
"text": "Analyzed the problem using first principles",
"type": "summary_text"
} |
| `sequence_number` | *int* | :heavy_check_mark: | N/A | |
| `summary_index` | *int* | :heavy_check_mark: | N/A | |
-| `type` | [components.ReasoningSummaryPartAddedEventType](../components/reasoningsummarypartaddedeventtype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `type` | [components.ReasoningSummaryPartAddedEventType](../components/reasoningsummarypartaddedeventtype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/reasoningsummarypartdoneevent.mdx b/docs/components/reasoningsummarypartdoneevent.mdx
index f648a1e1..d61902e4 100644
--- a/docs/components/reasoningsummarypartdoneevent.mdx
+++ b/docs/components/reasoningsummarypartdoneevent.mdx
@@ -11,7 +11,7 @@ Event emitted when a reasoning summary part is complete
| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| `item_id` | *str* | :heavy_check_mark: | N/A | |
| `output_index` | *int* | :heavy_check_mark: | N/A | |
-| `part` | [components.ReasoningSummaryText](../components/reasoningsummarytext.mdx) | :heavy_check_mark: | N/A | \{
"text": "Analyzed the problem using first principles",
"type": "summary_text"
} |
+| `part` | [components.ReasoningSummaryText](../components/reasoningsummarytext) | :heavy_check_mark: | N/A | \{
"text": "Analyzed the problem using first principles",
"type": "summary_text"
} |
| `sequence_number` | *int* | :heavy_check_mark: | N/A | |
| `summary_index` | *int* | :heavy_check_mark: | N/A | |
-| `type` | [components.ReasoningSummaryPartDoneEventType](../components/reasoningsummarypartdoneeventtype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `type` | [components.ReasoningSummaryPartDoneEventType](../components/reasoningsummarypartdoneeventtype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/reasoningsummarytext.mdx b/docs/components/reasoningsummarytext.mdx
index 0a97676e..ef4182c7 100644
--- a/docs/components/reasoningsummarytext.mdx
+++ b/docs/components/reasoningsummarytext.mdx
@@ -7,4 +7,4 @@ title: "ReasoningSummaryText"
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
| `text` | *str* | :heavy_check_mark: | N/A |
-| `type` | [components.ReasoningSummaryTextType](../components/reasoningsummarytexttype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.ReasoningSummaryTextType](../components/reasoningsummarytexttype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/reasoningsummarytextdeltaevent.mdx b/docs/components/reasoningsummarytextdeltaevent.mdx
index 204b30ef..e6f630b0 100644
--- a/docs/components/reasoningsummarytextdeltaevent.mdx
+++ b/docs/components/reasoningsummarytextdeltaevent.mdx
@@ -14,4 +14,4 @@ Event emitted when reasoning summary text delta is streamed
| `output_index` | *int* | :heavy_check_mark: | N/A |
| `sequence_number` | *int* | :heavy_check_mark: | N/A |
| `summary_index` | *int* | :heavy_check_mark: | N/A |
-| `type` | [components.ReasoningSummaryTextDeltaEventType](../components/reasoningsummarytextdeltaeventtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.ReasoningSummaryTextDeltaEventType](../components/reasoningsummarytextdeltaeventtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/reasoningsummarytextdoneevent.mdx b/docs/components/reasoningsummarytextdoneevent.mdx
index 540a20ce..a60298e1 100644
--- a/docs/components/reasoningsummarytextdoneevent.mdx
+++ b/docs/components/reasoningsummarytextdoneevent.mdx
@@ -14,4 +14,4 @@ Event emitted when reasoning summary text streaming is complete
| `sequence_number` | *int* | :heavy_check_mark: | N/A |
| `summary_index` | *int* | :heavy_check_mark: | N/A |
| `text` | *str* | :heavy_check_mark: | N/A |
-| `type` | [components.ReasoningSummaryTextDoneEventType](../components/reasoningsummarytextdoneeventtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.ReasoningSummaryTextDoneEventType](../components/reasoningsummarytextdoneeventtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/reasoningtextcontent.mdx b/docs/components/reasoningtextcontent.mdx
index 6fbaeeed..7231bf5d 100644
--- a/docs/components/reasoningtextcontent.mdx
+++ b/docs/components/reasoningtextcontent.mdx
@@ -7,4 +7,4 @@ title: "ReasoningTextContent"
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
| `text` | *str* | :heavy_check_mark: | N/A |
-| `type` | [components.ReasoningTextContentType](../components/reasoningtextcontenttype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.ReasoningTextContentType](../components/reasoningtextcontenttype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/refusaldeltaevent.mdx b/docs/components/refusaldeltaevent.mdx
index 046947a1..4385a9d6 100644
--- a/docs/components/refusaldeltaevent.mdx
+++ b/docs/components/refusaldeltaevent.mdx
@@ -14,4 +14,4 @@ Event emitted when a refusal delta is streamed
| `item_id` | *str* | :heavy_check_mark: | N/A |
| `output_index` | *int* | :heavy_check_mark: | N/A |
| `sequence_number` | *int* | :heavy_check_mark: | N/A |
-| `type` | [components.RefusalDeltaEventType](../components/refusaldeltaeventtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.RefusalDeltaEventType](../components/refusaldeltaeventtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/refusaldoneevent.mdx b/docs/components/refusaldoneevent.mdx
index ccc2709f..8dd4fdf0 100644
--- a/docs/components/refusaldoneevent.mdx
+++ b/docs/components/refusaldoneevent.mdx
@@ -14,4 +14,4 @@ Event emitted when refusal streaming is complete
| `output_index` | *int* | :heavy_check_mark: | N/A |
| `refusal` | *str* | :heavy_check_mark: | N/A |
| `sequence_number` | *int* | :heavy_check_mark: | N/A |
-| `type` | [components.RefusalDoneEventType](../components/refusaldoneeventtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.RefusalDoneEventType](../components/refusaldoneeventtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/requireapproval.mdx b/docs/components/requireapproval.mdx
index 79583bfa..f9833e5e 100644
--- a/docs/components/requireapproval.mdx
+++ b/docs/components/requireapproval.mdx
@@ -6,5 +6,5 @@ title: "RequireApproval"
| Field | Type | Required | Description |
| ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ |
-| `always` | [Optional[components.Always]](../components/always.mdx) | :heavy_minus_sign: | N/A |
-| `never` | [Optional[components.Never]](../components/never.mdx) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `always` | [Optional[components.Always]](../components/always) | :heavy_minus_sign: | N/A |
+| `never` | [Optional[components.Never]](../components/never) | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/docs/components/responsehealingplugin.mdx b/docs/components/responsehealingplugin.mdx
index 8b89cfa9..9ab54893 100644
--- a/docs/components/responsehealingplugin.mdx
+++ b/docs/components/responsehealingplugin.mdx
@@ -7,4 +7,4 @@ title: "ResponseHealingPlugin"
| Field | Type | Required | Description |
| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- |
| `enabled` | *Optional[bool]* | :heavy_minus_sign: | Set to false to disable the response-healing plugin for this request. Defaults to true. |
-| `id` | [components.ResponseHealingPluginID](../components/responsehealingpluginid.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `id` | [components.ResponseHealingPluginID](../components/responsehealingpluginid) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/responseoutputtext.mdx b/docs/components/responseoutputtext.mdx
index a6879aa8..123accfd 100644
--- a/docs/components/responseoutputtext.mdx
+++ b/docs/components/responseoutputtext.mdx
@@ -6,7 +6,7 @@ title: "ResponseOutputText"
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
-| `annotations` | List[[components.OpenAIResponsesAnnotation](../components/openairesponsesannotation.mdx)] | :heavy_minus_sign: | N/A |
-| `logprobs` | List[[components.Logprob](../components/logprob.mdx)] | :heavy_minus_sign: | N/A |
+| `annotations` | List[[components.OpenAIResponsesAnnotation](../components/openairesponsesannotation)] | :heavy_minus_sign: | N/A |
+| `logprobs` | List[[components.Logprob](../components/logprob)] | :heavy_minus_sign: | N/A |
| `text` | *str* | :heavy_check_mark: | N/A |
-| `type` | [components.ResponseOutputTextType](../components/responseoutputtexttype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.ResponseOutputTextType](../components/responseoutputtexttype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/responseserrorfield.mdx b/docs/components/responseserrorfield.mdx
index 996cffee..06ae76d0 100644
--- a/docs/components/responseserrorfield.mdx
+++ b/docs/components/responseserrorfield.mdx
@@ -9,5 +9,5 @@ Error information returned from the API
| Field | Type | Required | Description |
| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- |
-| `code` | [components.Code](../components/code.mdx) | :heavy_check_mark: | N/A |
+| `code` | [components.Code](../components/code) | :heavy_check_mark: | N/A |
| `message` | *str* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/responsesrequest.mdx b/docs/components/responsesrequest.mdx
index fb122ae7..456ce37e 100644
--- a/docs/components/responsesrequest.mdx
+++ b/docs/components/responsesrequest.mdx
@@ -10,41 +10,41 @@ Request schema for Responses endpoint
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `background` | *OptionalNullable[bool]* | :heavy_minus_sign: | N/A | |
-| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../components/anthropiccachecontroldirective.mdx) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
-| `debug` | [Optional[components.ChatDebugOptions]](../components/chatdebugoptions.mdx) | :heavy_minus_sign: | Debug options for inspecting request transformations (streaming only) | \{
"echo_upstream_body": true
} |
+| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../components/anthropiccachecontroldirective) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
+| `debug` | [Optional[components.ChatDebugOptions]](../components/chatdebugoptions) | :heavy_minus_sign: | Debug options for inspecting request transformations (streaming only) | \{
"echo_upstream_body": true
} |
| `frequency_penalty` | *OptionalNullable[float]* | :heavy_minus_sign: | N/A | |
-| `image_config` | Dict[str, [components.ImageConfig](../components/imageconfig.mdx)] | :heavy_minus_sign: | Provider-specific image configuration options. Keys and values vary by model/provider. See https://openrouter.ai/docs/guides/overview/multimodal/image-generation for more details. | \{
"aspect_ratio": "16:9",
"quality": "high"
} |
-| `include` | List[[components.ResponseIncludesEnum](../components/responseincludesenum.mdx)] | :heavy_minus_sign: | N/A | |
-| `input` | [Optional[components.InputsUnion]](../components/inputsunion.mdx) | :heavy_minus_sign: | Input for a response request - can be a string or array of items | [
\{
"content": "What is the weather today?",
"role": "user"
}
] |
+| `image_config` | Dict[str, [components.ImageConfig](../components/imageconfig)] | :heavy_minus_sign: | Provider-specific image configuration options. Keys and values vary by model/provider. See https://openrouter.ai/docs/guides/overview/multimodal/image-generation for more details. | \{
"aspect_ratio": "16:9",
"quality": "high"
} |
+| `include` | List[[components.ResponseIncludesEnum](../components/responseincludesenum)] | :heavy_minus_sign: | N/A | |
+| `input` | [Optional[components.InputsUnion]](../components/inputsunion) | :heavy_minus_sign: | Input for a response request - can be a string or array of items | [
\{
"content": "What is the weather today?",
"role": "user"
}
] |
| `instructions` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
| `max_output_tokens` | *OptionalNullable[int]* | :heavy_minus_sign: | N/A | |
| `max_tool_calls` | *OptionalNullable[int]* | :heavy_minus_sign: | Maximum number of server-tool (e.g. `openrouter:web_search`) agent steps the model may take during a request. Defaults to 30, which is also the maximum. Ignored when `stop_server_tools_when` is set. | 30 |
| `metadata` | Dict[str, *str*] | :heavy_minus_sign: | Metadata key-value pairs for the request. Keys must be ≤64 characters and cannot contain brackets. Values must be ≤512 characters. Maximum 16 pairs allowed. | \{
"session_id": "abc-def-ghi",
"user_id": "123"
} |
-| `modalities` | List[[components.OutputModalityEnum](../components/outputmodalityenum.mdx)] | :heavy_minus_sign: | Output modalities for the response. Supported values are "text" and "image". | [
"text",
"image"
] |
+| `modalities` | List[[components.OutputModalityEnum](../components/outputmodalityenum)] | :heavy_minus_sign: | Output modalities for the response. Supported values are "text" and "image". | [
"text",
"image"
] |
| `model` | *Optional[str]* | :heavy_minus_sign: | N/A | |
| `models` | List[*str*] | :heavy_minus_sign: | N/A | |
| `parallel_tool_calls` | *OptionalNullable[bool]* | :heavy_minus_sign: | N/A | |
-| `plugins` | List[[components.ResponsesRequestPlugin](../components/responsesrequestplugin.mdx)] | :heavy_minus_sign: | Plugins you want to enable for this request, including their settings. | |
+| `plugins` | List[[components.ResponsesRequestPlugin](../components/responsesrequestplugin)] | :heavy_minus_sign: | Plugins you want to enable for this request, including their settings. | |
| `presence_penalty` | *OptionalNullable[float]* | :heavy_minus_sign: | N/A | |
| `previous_response_id` | *Optional[Any]* | :heavy_minus_sign: | Not supported. The Responses API is stateless: no responses are stored, so a previous response cannot be referenced. Requests with a non-null value are rejected with a 400 error. Send the full conversation history in `input` instead. | |
-| `prompt` | [OptionalNullable[components.StoredPromptTemplate]](../components/storedprompttemplate.mdx) | :heavy_minus_sign: | N/A | \{
"id": "prompt-abc123",
"variables": \{
"name": "John"
}
} |
+| `prompt` | [OptionalNullable[components.StoredPromptTemplate]](../components/storedprompttemplate) | :heavy_minus_sign: | N/A | \{
"id": "prompt-abc123",
"variables": \{
"name": "John"
}
} |
| `prompt_cache_key` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
-| `prompt_cache_options` | [OptionalNullable[components.PromptCacheOptions]](../components/promptcacheoptions.mdx) | :heavy_minus_sign: | Request-level prompt-cache controls. `mode: "explicit"` disables OpenAI-managed breakpoints so only blocks marked with `prompt_cache_breakpoint` are cached. Only supported by OpenAI GPT-5.6 and newer. | \{
"mode": "explicit",
"ttl": "30m"
} |
-| `provider` | [OptionalNullable[components.ProviderPreferences]](../components/providerpreferences.mdx) | :heavy_minus_sign: | When multiple model providers are available, optionally indicate your routing preference. | \{
"allow_fallbacks": true
} |
-| `reasoning` | [OptionalNullable[components.ReasoningConfig]](../components/reasoningconfig.mdx) | :heavy_minus_sign: | Configuration for reasoning mode in the response | \{
"enabled": true,
"summary": "auto"
} |
+| `prompt_cache_options` | [OptionalNullable[components.PromptCacheOptions]](../components/promptcacheoptions) | :heavy_minus_sign: | Request-level prompt-cache controls. `mode: "explicit"` disables OpenAI-managed breakpoints so only blocks marked with `prompt_cache_breakpoint` are cached. Only supported by OpenAI GPT-5.6 and newer. | \{
"mode": "explicit",
"ttl": "30m"
} |
+| `provider` | [OptionalNullable[components.ProviderPreferences]](../components/providerpreferences) | :heavy_minus_sign: | When multiple model providers are available, optionally indicate your routing preference. | \{
"allow_fallbacks": true
} |
+| `reasoning` | [OptionalNullable[components.ReasoningConfig]](../components/reasoningconfig) | :heavy_minus_sign: | Configuration for reasoning mode in the response | \{
"enabled": true,
"summary": "auto"
} |
| `safety_identifier` | *OptionalNullable[str]* | :heavy_minus_sign: | Recommended per-end-user identifier for abuse isolation. Use a stable ID, hash, or pseudonym. When a provider requires a user identity, OpenRouter folds it into the hashed identity sent upstream and never forwards it raw. If omitted, requests use an account-level identity, so provider policy blocks can affect the whole account. | user-123 |
-| `service_tier` | [OptionalNullable[components.ResponsesRequestServiceTier]](../components/responsesrequestservicetier.mdx) | :heavy_minus_sign: | N/A | |
+| `service_tier` | [OptionalNullable[components.ResponsesRequestServiceTier]](../components/responsesrequestservicetier) | :heavy_minus_sign: | N/A | |
| `session_id` | *Optional[str]* | :heavy_minus_sign: | A unique identifier for grouping related requests (e.g., a conversation or agent workflow). When provided, OpenRouter uses it as the sticky routing key, routing all requests in the session to the same provider to maximize prompt cache hits. Also used for observability grouping. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 256 characters. | |
-| `stop_server_tools_when` | List[[components.StopServerToolsWhenCondition](../components/stopservertoolswhencondition.mdx)] | :heavy_minus_sign: | Stop conditions for the server-tool agent loop. Any condition firing halts the loop (OR logic). When set, this overrides `max_tool_calls`. When a condition fires while the model is still emitting tool calls, the pending tool calls are executed and one final turn is made with tool calls disabled so the response ends with a natural-language answer instead of an unfinished tool call. | [
\{
"step_count": 5,
"type": "step_count_is"
},
\{
"max_cost_in_dollars": 0.5,
"type": "max_cost"
}
] |
+| `stop_server_tools_when` | List[[components.StopServerToolsWhenCondition](../components/stopservertoolswhencondition)] | :heavy_minus_sign: | Stop conditions for the server-tool agent loop. Any condition firing halts the loop (OR logic). When set, this overrides `max_tool_calls`. When a condition fires while the model is still emitting tool calls, the pending tool calls are executed and one final turn is made with tool calls disabled so the response ends with a natural-language answer instead of an unfinished tool call. | [
\{
"step_count": 5,
"type": "step_count_is"
},
\{
"max_cost_in_dollars": 0.5,
"type": "max_cost"
}
] |
| `store` | *Optional[Literal[False]]* | :heavy_minus_sign: | N/A | |
| `stream` | *Optional[bool]* | :heavy_minus_sign: | N/A | |
| `temperature` | *OptionalNullable[float]* | :heavy_minus_sign: | N/A | |
-| `text` | [Optional[components.TextExtendedConfig]](../components/textextendedconfig.mdx) | :heavy_minus_sign: | Text output configuration including format and verbosity | \{
"format": \{
"type": "text"
}
} |
-| `tool_choice` | [Optional[components.OpenAIResponsesToolChoiceUnion]](../components/openairesponsestoolchoiceunion.mdx) | :heavy_minus_sign: | N/A | auto |
-| `tools` | List[[components.ResponsesRequestToolUnion](../components/responsesrequesttoolunion.mdx)] | :heavy_minus_sign: | N/A | |
+| `text` | [Optional[components.TextExtendedConfig]](../components/textextendedconfig) | :heavy_minus_sign: | Text output configuration including format and verbosity | \{
"format": \{
"type": "text"
}
} |
+| `tool_choice` | [Optional[components.OpenAIResponsesToolChoiceUnion]](../components/openairesponsestoolchoiceunion) | :heavy_minus_sign: | N/A | auto |
+| `tools` | List[[components.ResponsesRequestToolUnion](../components/responsesrequesttoolunion)] | :heavy_minus_sign: | N/A | |
| `top_k` | *Optional[int]* | :heavy_minus_sign: | N/A | |
| `top_logprobs` | *OptionalNullable[int]* | :heavy_minus_sign: | N/A | |
| `top_p` | *OptionalNullable[float]* | :heavy_minus_sign: | N/A | |
-| `trace` | [Optional[components.TraceConfig]](../components/traceconfig.mdx) | :heavy_minus_sign: | Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations. | \{
"trace_id": "trace-abc123",
"trace_name": "my-app-trace"
} |
-| `truncation` | [OptionalNullable[components.OpenAIResponsesTruncation]](../components/openairesponsestruncation.mdx) | :heavy_minus_sign: | N/A | auto |
+| `trace` | [Optional[components.TraceConfig]](../components/traceconfig) | :heavy_minus_sign: | Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations. | \{
"trace_id": "trace-abc123",
"trace_name": "my-app-trace"
} |
+| `truncation` | [OptionalNullable[components.OpenAIResponsesTruncation]](../components/openairesponsestruncation) | :heavy_minus_sign: | N/A | auto |
| `user` | *Optional[str]* | :heavy_minus_sign: | A unique identifier representing your end-user, which helps distinguish between different users of your app. This allows your app to identify specific users in case of abuse reports, preventing your entire app from being affected by the actions of individual users. Maximum of 256 characters. | |
\ No newline at end of file
diff --git a/docs/components/responsesrequesttoolfunction.mdx b/docs/components/responsesrequesttoolfunction.mdx
index 783bfa34..05830d9e 100644
--- a/docs/components/responsesrequesttoolfunction.mdx
+++ b/docs/components/responsesrequesttoolfunction.mdx
@@ -13,4 +13,4 @@ Function tool definition
| `name` | *str* | :heavy_check_mark: | N/A |
| `parameters` | Dict[str, *Any*] | :heavy_check_mark: | N/A |
| `strict` | *OptionalNullable[bool]* | :heavy_minus_sign: | N/A |
-| `type` | [components.ResponsesRequestType](../components/responsesrequesttype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.ResponsesRequestType](../components/responsesrequesttype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/responsesstreamingresponse.mdx b/docs/components/responsesstreamingresponse.mdx
index 2d97adfb..90cd8fcd 100644
--- a/docs/components/responsesstreamingresponse.mdx
+++ b/docs/components/responsesstreamingresponse.mdx
@@ -6,4 +6,4 @@ title: "ResponsesStreamingResponse"
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `data` | [components.StreamEvents](../components/streamevents.mdx) | :heavy_check_mark: | Union of all possible event types emitted during response streaming | \{
"response": \{
"completed_at": null,
"created_at": 1704067200,
"error": null,
"frequency_penalty": null,
"id": "resp-abc123",
"incomplete_details": null,
"instructions": null,
"max_output_tokens": null,
"metadata": null,
"model": "gpt-4",
"object": "response",
"output": [],
"parallel_tool_calls": true,
"presence_penalty": null,
"status": "in_progress",
"temperature": null,
"tool_choice": "auto",
"tools": [],
"top_p": null
},
"sequence_number": 0,
"type": "response.created"
} |
\ No newline at end of file
+| `data` | [components.StreamEvents](../components/streamevents) | :heavy_check_mark: | Union of all possible event types emitted during response streaming | \{
"response": \{
"completed_at": null,
"created_at": 1704067200,
"error": null,
"frequency_penalty": null,
"id": "resp-abc123",
"incomplete_details": null,
"instructions": null,
"max_output_tokens": null,
"metadata": null,
"model": "gpt-4",
"object": "response",
"output": [],
"parallel_tool_calls": true,
"presence_penalty": null,
"status": "in_progress",
"temperature": null,
"tool_choice": "auto",
"tools": [],
"top_p": null
},
"sequence_number": 0,
"type": "response.created"
} |
\ No newline at end of file
diff --git a/docs/components/rule.mdx b/docs/components/rule.mdx
index 14a9f713..18ea92a8 100644
--- a/docs/components/rule.mdx
+++ b/docs/components/rule.mdx
@@ -6,6 +6,6 @@ title: "Rule"
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ |
-| `field` | [components.FieldT](../components/fieldt.mdx) | :heavy_check_mark: | N/A |
-| `operator` | [components.Operator](../components/operator.mdx) | :heavy_check_mark: | N/A |
-| `value` | [Optional[components.ObservabilityFilterRuleGroupValue]](../components/observabilityfilterrulegroupvalue.mdx) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `field` | [components.FieldT](../components/fieldt) | :heavy_check_mark: | N/A |
+| `operator` | [components.Operator](../components/operator) | :heavy_check_mark: | N/A |
+| `value` | [Optional[components.ObservabilityFilterRuleGroupValue]](../components/observabilityfilterrulegroupvalue) | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/docs/components/searchmodelsservertoolopenrouter.mdx b/docs/components/searchmodelsservertoolopenrouter.mdx
index e72c5e1c..4a652f81 100644
--- a/docs/components/searchmodelsservertoolopenrouter.mdx
+++ b/docs/components/searchmodelsservertoolopenrouter.mdx
@@ -9,5 +9,5 @@ OpenRouter built-in server tool: searches and filters AI models available on Ope
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
-| `parameters` | [Optional[components.SearchModelsServerToolConfig]](../components/searchmodelsservertoolconfig.mdx) | :heavy_minus_sign: | Configuration for the openrouter:experimental__search_models server tool | \{
"max_results": 5
} |
-| `type` | [components.SearchModelsServerToolOpenRouterType](../components/searchmodelsservertoolopenroutertype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `parameters` | [Optional[components.SearchModelsServerToolConfig]](../components/searchmodelsservertoolconfig) | :heavy_minus_sign: | Configuration for the openrouter:experimental__search_models server tool | \{
"max_results": 5
} |
+| `type` | [components.SearchModelsServerToolOpenRouterType](../components/searchmodelsservertoolopenroutertype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/shellcallitem.mdx b/docs/components/shellcallitem.mdx
index a43e4598..96bc76fc 100644
--- a/docs/components/shellcallitem.mdx
+++ b/docs/components/shellcallitem.mdx
@@ -9,9 +9,9 @@ A shell command execution call (newer variant)
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ |
-| `action` | [components.ShellCallItemAction](../components/shellcallitemaction.mdx) | :heavy_check_mark: | N/A | |
+| `action` | [components.ShellCallItemAction](../components/shellcallitemaction) | :heavy_check_mark: | N/A | |
| `call_id` | *str* | :heavy_check_mark: | N/A | |
| `environment` | *Optional[Any]* | :heavy_minus_sign: | N/A | |
| `id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
-| `status` | [OptionalNullable[components.ToolCallStatus]](../components/toolcallstatus.mdx) | :heavy_minus_sign: | N/A | completed |
-| `type` | [components.ShellCallItemType](../components/shellcallitemtype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `status` | [OptionalNullable[components.ToolCallStatus]](../components/toolcallstatus) | :heavy_minus_sign: | N/A | completed |
+| `type` | [components.ShellCallItemType](../components/shellcallitemtype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/shellcalloutputitem.mdx b/docs/components/shellcalloutputitem.mdx
index 7cf2cb9d..38c201ae 100644
--- a/docs/components/shellcalloutputitem.mdx
+++ b/docs/components/shellcalloutputitem.mdx
@@ -12,6 +12,6 @@ Output from a shell command execution (newer variant)
| `call_id` | *str* | :heavy_check_mark: | N/A | |
| `id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
| `max_output_length` | *OptionalNullable[int]* | :heavy_minus_sign: | N/A | |
-| `output` | List[[components.ShellCallOutputItemOutput](../components/shellcalloutputitemoutput.mdx)] | :heavy_check_mark: | N/A | |
-| `status` | [OptionalNullable[components.ToolCallStatus]](../components/toolcallstatus.mdx) | :heavy_minus_sign: | N/A | completed |
-| `type` | [components.ShellCallOutputItemType](../components/shellcalloutputitemtype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `output` | List[[components.ShellCallOutputItemOutput](../components/shellcalloutputitemoutput)] | :heavy_check_mark: | N/A | |
+| `status` | [OptionalNullable[components.ToolCallStatus]](../components/toolcallstatus) | :heavy_minus_sign: | N/A | completed |
+| `type` | [components.ShellCallOutputItemType](../components/shellcalloutputitemtype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/shellservertool.mdx b/docs/components/shellservertool.mdx
index 0f55c379..6a77b958 100644
--- a/docs/components/shellservertool.mdx
+++ b/docs/components/shellservertool.mdx
@@ -9,4 +9,4 @@ Shell tool configuration
| Field | Type | Required | Description |
| ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- |
-| `type` | [components.ShellServerToolType](../components/shellservertooltype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.ShellServerToolType](../components/shellservertooltype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/shellservertoolconfig.mdx b/docs/components/shellservertoolconfig.mdx
index 5f24f1a8..f9eb8e5f 100644
--- a/docs/components/shellservertoolconfig.mdx
+++ b/docs/components/shellservertoolconfig.mdx
@@ -9,6 +9,6 @@ Configuration for the openrouter:shell server tool
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `engine` | [Optional[components.ShellServerToolEngine]](../components/shellservertoolengine.mdx) | :heavy_minus_sign: | Which shell engine to use. "openrouter" runs commands server-side in the OpenRouter sandbox. "auto" (default) keeps the provider's native hosted shell when available (OpenAI); on other providers the call is routed to the OpenRouter sandbox. | openrouter |
-| `environment` | [Optional[components.ShellServerToolEnvironment]](../components/shellservertoolenvironment.mdx) | :heavy_minus_sign: | Server-side execution environment for the shell tool. Only container-backed environments are supported; "local" shells are not. | \{
"type": "container_auto"
} |
+| `engine` | [Optional[components.ShellServerToolEngine]](../components/shellservertoolengine) | :heavy_minus_sign: | Which shell engine to use. "openrouter" runs commands server-side in the OpenRouter sandbox. "auto" (default) keeps the provider's native hosted shell when available (OpenAI); on other providers the call is routed to the OpenRouter sandbox. | openrouter |
+| `environment` | [Optional[components.ShellServerToolEnvironment]](../components/shellservertoolenvironment) | :heavy_minus_sign: | Server-side execution environment for the shell tool. Only container-backed environments are supported; "local" shells are not. | \{
"type": "container_auto"
} |
| `sleep_after_seconds` | *Optional[int]* | :heavy_minus_sign: | How long (in seconds) the container stays warm after its last command before sleeping, freeing its capacity slot. Idle-based: each command renews the timer. Defaults to 900 (15 minutes); capped at 2592000 (30 days). | 900 |
\ No newline at end of file
diff --git a/docs/components/shellservertoolopenrouter.mdx b/docs/components/shellservertoolopenrouter.mdx
index fa031486..088127e2 100644
--- a/docs/components/shellservertoolopenrouter.mdx
+++ b/docs/components/shellservertoolopenrouter.mdx
@@ -9,5 +9,5 @@ OpenRouter built-in server tool: runs shell commands server-side in a sandboxed
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ |
-| `parameters` | [Optional[components.ShellServerToolConfig]](../components/shellservertoolconfig.mdx) | :heavy_minus_sign: | Configuration for the openrouter:shell server tool | \{
"engine": "openrouter",
"environment": \{
"type": "container_auto"
}
} |
-| `type` | [components.ShellServerToolOpenRouterType](../components/shellservertoolopenroutertype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `parameters` | [Optional[components.ShellServerToolConfig]](../components/shellservertoolconfig) | :heavy_minus_sign: | Configuration for the openrouter:shell server tool | \{
"engine": "openrouter",
"environment": \{
"type": "container_auto"
}
} |
+| `type` | [components.ShellServerToolOpenRouterType](../components/shellservertoolopenroutertype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/sourcecontent.mdx b/docs/components/sourcecontent.mdx
index 792f4054..953dab88 100644
--- a/docs/components/sourcecontent.mdx
+++ b/docs/components/sourcecontent.mdx
@@ -6,5 +6,5 @@ title: "SourceContent"
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ |
-| `content` | [components.AnthropicDocumentBlockParamContent2](../components/anthropicdocumentblockparamcontent2.mdx) | :heavy_check_mark: | N/A |
-| `type` | [components.SourceType](../components/sourcetype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `content` | [components.AnthropicDocumentBlockParamContent2](../components/anthropicdocumentblockparamcontent2) | :heavy_check_mark: | N/A |
+| `type` | [components.SourceType](../components/sourcetype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/speechrequest.mdx b/docs/components/speechrequest.mdx
index de4caacf..6b13a48f 100644
--- a/docs/components/speechrequest.mdx
+++ b/docs/components/speechrequest.mdx
@@ -11,7 +11,7 @@ Text-to-speech request input
| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
| `input` | *str* | :heavy_check_mark: | Text to synthesize | Hello world |
| `model` | *str* | :heavy_check_mark: | TTS model identifier | mistralai/voxtral-mini-tts-2603 |
-| `provider` | [Optional[components.SpeechRequestProvider]](../components/speechrequestprovider.mdx) | :heavy_minus_sign: | Provider-specific passthrough configuration | |
-| `response_format` | [Optional[components.SpeechRequestResponseFormat]](../components/speechrequestresponseformat.mdx) | :heavy_minus_sign: | Audio output format | pcm |
+| `provider` | [Optional[components.SpeechRequestProvider]](../components/speechrequestprovider) | :heavy_minus_sign: | Provider-specific passthrough configuration | |
+| `response_format` | [Optional[components.SpeechRequestResponseFormat]](../components/speechrequestresponseformat) | :heavy_minus_sign: | Audio output format | pcm |
| `speed` | *Optional[float]* | :heavy_minus_sign: | Playback speed multiplier. Only used by models that support it (e.g. OpenAI TTS). Ignored by other providers. | 1 |
| `voice` | *str* | :heavy_check_mark: | Voice identifier (provider-specific). | en_paul_neutral |
\ No newline at end of file
diff --git a/docs/components/speechrequestprovider.mdx b/docs/components/speechrequestprovider.mdx
index 3a95d19f..26b91b18 100644
--- a/docs/components/speechrequestprovider.mdx
+++ b/docs/components/speechrequestprovider.mdx
@@ -9,4 +9,4 @@ Provider-specific passthrough configuration
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `options` | [Optional[components.ProviderOptions]](../components/provideroptions.mdx) | :heavy_minus_sign: | Provider-specific options keyed by provider slug. Only options for the matched provider are forwarded; the rest are ignored. Unrecognized keys are silently dropped. | \{
"openai": \{
"max_tokens": 1000
}
} |
\ No newline at end of file
+| `options` | [Optional[components.ProviderOptions]](../components/provideroptions) | :heavy_minus_sign: | Provider-specific options keyed by provider slug. Only options for the matched provider are forwarded; the rest are ignored. Unrecognized keys are silently dropped. | \{
"openai": \{
"max_tokens": 1000
}
} |
\ No newline at end of file
diff --git a/docs/components/stopservertoolswhenfinishreasonis.mdx b/docs/components/stopservertoolswhenfinishreasonis.mdx
index ef2f143f..91b91c06 100644
--- a/docs/components/stopservertoolswhenfinishreasonis.mdx
+++ b/docs/components/stopservertoolswhenfinishreasonis.mdx
@@ -10,4 +10,4 @@ Stop when the upstream model emits this finish reason (e.g. `length`).
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
| `reason` | *str* | :heavy_check_mark: | N/A |
-| `type` | [components.StopServerToolsWhenFinishReasonIsType](../components/stopservertoolswhenfinishreasonistype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.StopServerToolsWhenFinishReasonIsType](../components/stopservertoolswhenfinishreasonistype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/stopservertoolswhenhastoolcall.mdx b/docs/components/stopservertoolswhenhastoolcall.mdx
index 890af332..058ff0cd 100644
--- a/docs/components/stopservertoolswhenhastoolcall.mdx
+++ b/docs/components/stopservertoolswhenhastoolcall.mdx
@@ -10,4 +10,4 @@ Stop after a tool with this name has been called.
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| `tool_name` | *str* | :heavy_check_mark: | N/A |
-| `type` | [components.StopServerToolsWhenHasToolCallType](../components/stopservertoolswhenhastoolcalltype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.StopServerToolsWhenHasToolCallType](../components/stopservertoolswhenhastoolcalltype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/stopservertoolswhenmaxcost.mdx b/docs/components/stopservertoolswhenmaxcost.mdx
index 11ec5264..f4adb813 100644
--- a/docs/components/stopservertoolswhenmaxcost.mdx
+++ b/docs/components/stopservertoolswhenmaxcost.mdx
@@ -10,4 +10,4 @@ Stop once cumulative cost across the loop exceeds this dollar threshold.
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
| `max_cost_in_dollars` | *float* | :heavy_check_mark: | N/A |
-| `type` | [components.StopServerToolsWhenMaxCostType](../components/stopservertoolswhenmaxcosttype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.StopServerToolsWhenMaxCostType](../components/stopservertoolswhenmaxcosttype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/stopservertoolswhenmaxtokensused.mdx b/docs/components/stopservertoolswhenmaxtokensused.mdx
index 33d4618b..f0a92b5a 100644
--- a/docs/components/stopservertoolswhenmaxtokensused.mdx
+++ b/docs/components/stopservertoolswhenmaxtokensused.mdx
@@ -10,4 +10,4 @@ Stop once cumulative token usage across the loop exceeds this threshold.
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
| `max_tokens` | *int* | :heavy_check_mark: | N/A |
-| `type` | [components.StopServerToolsWhenMaxTokensUsedType](../components/stopservertoolswhenmaxtokensusedtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.StopServerToolsWhenMaxTokensUsedType](../components/stopservertoolswhenmaxtokensusedtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/stopservertoolswhenstepcountis.mdx b/docs/components/stopservertoolswhenstepcountis.mdx
index 0544b66f..a7503b54 100644
--- a/docs/components/stopservertoolswhenstepcountis.mdx
+++ b/docs/components/stopservertoolswhenstepcountis.mdx
@@ -10,4 +10,4 @@ Stop after the agent loop has executed this many steps.
| Field | Type | Required | Description |
| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| `step_count` | *int* | :heavy_check_mark: | N/A |
-| `type` | [components.StopServerToolsWhenStepCountIsType](../components/stopservertoolswhenstepcountistype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.StopServerToolsWhenStepCountIsType](../components/stopservertoolswhenstepcountistype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/storedprompttemplate.mdx b/docs/components/storedprompttemplate.mdx
index a9461bc3..afc86bd4 100644
--- a/docs/components/storedprompttemplate.mdx
+++ b/docs/components/storedprompttemplate.mdx
@@ -7,4 +7,4 @@ title: "StoredPromptTemplate"
| Field | Type | Required | Description |
| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- |
| `id` | *str* | :heavy_check_mark: | N/A |
-| `variables` | Dict[str, [components.Variables](../components/variables.mdx)] | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `variables` | Dict[str, [components.Variables](../components/variables)] | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/docs/components/streameventsresponsecompleted.mdx b/docs/components/streameventsresponsecompleted.mdx
index 35bdaf31..5ad90123 100644
--- a/docs/components/streameventsresponsecompleted.mdx
+++ b/docs/components/streameventsresponsecompleted.mdx
@@ -9,6 +9,6 @@ Event emitted when a response has completed successfully
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `response` | [components.OpenResponsesResult](../components/openresponsesresult.mdx) | :heavy_check_mark: | Complete non-streaming response from the Responses API | \{
"completed_at": 1704067210,
"created_at": 1704067200,
"error": null,
"frequency_penalty": null,
"id": "resp-abc123",
"incomplete_details": null,
"instructions": null,
"max_output_tokens": null,
"metadata": null,
"model": "gpt-4",
"object": "response",
"output": [
\{
"content": [
\{
"annotations": [],
"text": "Hello! How can I help you today?",
"type": "output_text"
}
],
"id": "msg-abc123",
"role": "assistant",
"status": "completed",
"type": "message"
}
],
"parallel_tool_calls": true,
"presence_penalty": null,
"status": "completed",
"temperature": null,
"tool_choice": "auto",
"tools": [],
"top_p": null,
"usage": \{
"input_tokens": 10,
"input_tokens_details": \{
"cached_tokens": 0
},
"output_tokens": 25,
"output_tokens_details": \{
"reasoning_tokens": 0
},
"total_tokens": 35
}
} |
+| `response` | [components.OpenResponsesResult](../components/openresponsesresult) | :heavy_check_mark: | Complete non-streaming response from the Responses API | \{
"completed_at": 1704067210,
"created_at": 1704067200,
"error": null,
"frequency_penalty": null,
"id": "resp-abc123",
"incomplete_details": null,
"instructions": null,
"max_output_tokens": null,
"metadata": null,
"model": "gpt-4",
"object": "response",
"output": [
\{
"content": [
\{
"annotations": [],
"text": "Hello! How can I help you today?",
"type": "output_text"
}
],
"id": "msg-abc123",
"role": "assistant",
"status": "completed",
"type": "message"
}
],
"parallel_tool_calls": true,
"presence_penalty": null,
"status": "completed",
"temperature": null,
"tool_choice": "auto",
"tools": [],
"top_p": null,
"usage": \{
"input_tokens": 10,
"input_tokens_details": \{
"cached_tokens": 0
},
"output_tokens": 25,
"output_tokens_details": \{
"reasoning_tokens": 0
},
"total_tokens": 35
}
} |
| `sequence_number` | *int* | :heavy_check_mark: | N/A | |
-| `type` | [components.StreamEventsResponseCompletedType](../components/streameventsresponsecompletedtype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `type` | [components.StreamEventsResponseCompletedType](../components/streameventsresponsecompletedtype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/streameventsresponsefailed.mdx b/docs/components/streameventsresponsefailed.mdx
index 2fe71e96..44f4fd22 100644
--- a/docs/components/streameventsresponsefailed.mdx
+++ b/docs/components/streameventsresponsefailed.mdx
@@ -9,6 +9,6 @@ Event emitted when a response has failed
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `response` | [components.OpenResponsesResult](../components/openresponsesresult.mdx) | :heavy_check_mark: | Complete non-streaming response from the Responses API | \{
"completed_at": 1704067210,
"created_at": 1704067200,
"error": null,
"frequency_penalty": null,
"id": "resp-abc123",
"incomplete_details": null,
"instructions": null,
"max_output_tokens": null,
"metadata": null,
"model": "gpt-4",
"object": "response",
"output": [
\{
"content": [
\{
"annotations": [],
"text": "Hello! How can I help you today?",
"type": "output_text"
}
],
"id": "msg-abc123",
"role": "assistant",
"status": "completed",
"type": "message"
}
],
"parallel_tool_calls": true,
"presence_penalty": null,
"status": "completed",
"temperature": null,
"tool_choice": "auto",
"tools": [],
"top_p": null,
"usage": \{
"input_tokens": 10,
"input_tokens_details": \{
"cached_tokens": 0
},
"output_tokens": 25,
"output_tokens_details": \{
"reasoning_tokens": 0
},
"total_tokens": 35
}
} |
+| `response` | [components.OpenResponsesResult](../components/openresponsesresult) | :heavy_check_mark: | Complete non-streaming response from the Responses API | \{
"completed_at": 1704067210,
"created_at": 1704067200,
"error": null,
"frequency_penalty": null,
"id": "resp-abc123",
"incomplete_details": null,
"instructions": null,
"max_output_tokens": null,
"metadata": null,
"model": "gpt-4",
"object": "response",
"output": [
\{
"content": [
\{
"annotations": [],
"text": "Hello! How can I help you today?",
"type": "output_text"
}
],
"id": "msg-abc123",
"role": "assistant",
"status": "completed",
"type": "message"
}
],
"parallel_tool_calls": true,
"presence_penalty": null,
"status": "completed",
"temperature": null,
"tool_choice": "auto",
"tools": [],
"top_p": null,
"usage": \{
"input_tokens": 10,
"input_tokens_details": \{
"cached_tokens": 0
},
"output_tokens": 25,
"output_tokens_details": \{
"reasoning_tokens": 0
},
"total_tokens": 35
}
} |
| `sequence_number` | *int* | :heavy_check_mark: | N/A | |
-| `type` | [components.StreamEventsResponseFailedType](../components/streameventsresponsefailedtype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `type` | [components.StreamEventsResponseFailedType](../components/streameventsresponsefailedtype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/streameventsresponseincomplete.mdx b/docs/components/streameventsresponseincomplete.mdx
index 0abd1db5..ffd53016 100644
--- a/docs/components/streameventsresponseincomplete.mdx
+++ b/docs/components/streameventsresponseincomplete.mdx
@@ -9,6 +9,6 @@ Event emitted when a response is incomplete
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `response` | [components.OpenResponsesResult](../components/openresponsesresult.mdx) | :heavy_check_mark: | Complete non-streaming response from the Responses API | \{
"completed_at": 1704067210,
"created_at": 1704067200,
"error": null,
"frequency_penalty": null,
"id": "resp-abc123",
"incomplete_details": null,
"instructions": null,
"max_output_tokens": null,
"metadata": null,
"model": "gpt-4",
"object": "response",
"output": [
\{
"content": [
\{
"annotations": [],
"text": "Hello! How can I help you today?",
"type": "output_text"
}
],
"id": "msg-abc123",
"role": "assistant",
"status": "completed",
"type": "message"
}
],
"parallel_tool_calls": true,
"presence_penalty": null,
"status": "completed",
"temperature": null,
"tool_choice": "auto",
"tools": [],
"top_p": null,
"usage": \{
"input_tokens": 10,
"input_tokens_details": \{
"cached_tokens": 0
},
"output_tokens": 25,
"output_tokens_details": \{
"reasoning_tokens": 0
},
"total_tokens": 35
}
} |
+| `response` | [components.OpenResponsesResult](../components/openresponsesresult) | :heavy_check_mark: | Complete non-streaming response from the Responses API | \{
"completed_at": 1704067210,
"created_at": 1704067200,
"error": null,
"frequency_penalty": null,
"id": "resp-abc123",
"incomplete_details": null,
"instructions": null,
"max_output_tokens": null,
"metadata": null,
"model": "gpt-4",
"object": "response",
"output": [
\{
"content": [
\{
"annotations": [],
"text": "Hello! How can I help you today?",
"type": "output_text"
}
],
"id": "msg-abc123",
"role": "assistant",
"status": "completed",
"type": "message"
}
],
"parallel_tool_calls": true,
"presence_penalty": null,
"status": "completed",
"temperature": null,
"tool_choice": "auto",
"tools": [],
"top_p": null,
"usage": \{
"input_tokens": 10,
"input_tokens_details": \{
"cached_tokens": 0
},
"output_tokens": 25,
"output_tokens_details": \{
"reasoning_tokens": 0
},
"total_tokens": 35
}
} |
| `sequence_number` | *int* | :heavy_check_mark: | N/A | |
-| `type` | [components.StreamEventsResponseIncompleteType](../components/streameventsresponseincompletetype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `type` | [components.StreamEventsResponseIncompleteType](../components/streameventsresponseincompletetype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/streameventsresponseoutputitemadded.mdx b/docs/components/streameventsresponseoutputitemadded.mdx
index 8121198a..1fb6ebe0 100644
--- a/docs/components/streameventsresponseoutputitemadded.mdx
+++ b/docs/components/streameventsresponseoutputitemadded.mdx
@@ -9,7 +9,7 @@ Event emitted when a new output item is added to the response
| Field | Type | Required | Description | Example |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `item` | [components.OutputItems](../components/outputitems.mdx) | :heavy_check_mark: | An output item from the response | \{
"content": [
\{
"text": "Hello! How can I help you today?",
"type": "output_text"
}
],
"id": "msg-abc123",
"role": "assistant",
"status": "completed",
"type": "message"
} |
+| `item` | [components.OutputItems](../components/outputitems) | :heavy_check_mark: | An output item from the response | \{
"content": [
\{
"text": "Hello! How can I help you today?",
"type": "output_text"
}
],
"id": "msg-abc123",
"role": "assistant",
"status": "completed",
"type": "message"
} |
| `output_index` | *int* | :heavy_check_mark: | N/A | |
| `sequence_number` | *int* | :heavy_check_mark: | N/A | |
-| `type` | [components.StreamEventsResponseOutputItemAddedType](../components/streameventsresponseoutputitemaddedtype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `type` | [components.StreamEventsResponseOutputItemAddedType](../components/streameventsresponseoutputitemaddedtype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/streameventsresponseoutputitemdone.mdx b/docs/components/streameventsresponseoutputitemdone.mdx
index 5d02fd8e..b824639a 100644
--- a/docs/components/streameventsresponseoutputitemdone.mdx
+++ b/docs/components/streameventsresponseoutputitemdone.mdx
@@ -9,7 +9,7 @@ Event emitted when an output item is complete
| Field | Type | Required | Description | Example |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `item` | [components.OutputItems](../components/outputitems.mdx) | :heavy_check_mark: | An output item from the response | \{
"content": [
\{
"text": "Hello! How can I help you today?",
"type": "output_text"
}
],
"id": "msg-abc123",
"role": "assistant",
"status": "completed",
"type": "message"
} |
+| `item` | [components.OutputItems](../components/outputitems) | :heavy_check_mark: | An output item from the response | \{
"content": [
\{
"text": "Hello! How can I help you today?",
"type": "output_text"
}
],
"id": "msg-abc123",
"role": "assistant",
"status": "completed",
"type": "message"
} |
| `output_index` | *int* | :heavy_check_mark: | N/A | |
| `sequence_number` | *int* | :heavy_check_mark: | N/A | |
-| `type` | [components.StreamEventsResponseOutputItemDoneType](../components/streameventsresponseoutputitemdonetype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `type` | [components.StreamEventsResponseOutputItemDoneType](../components/streameventsresponseoutputitemdonetype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/streamlogprob.mdx b/docs/components/streamlogprob.mdx
index 39882464..e48dfc45 100644
--- a/docs/components/streamlogprob.mdx
+++ b/docs/components/streamlogprob.mdx
@@ -12,4 +12,4 @@ Log probability information for a token
| `bytes_` | List[*int*] | :heavy_minus_sign: | N/A |
| `logprob` | *float* | :heavy_check_mark: | N/A |
| `token` | *str* | :heavy_check_mark: | N/A |
-| `top_logprobs` | List[[components.StreamLogprobTopLogprob](../components/streamlogprobtoplogprob.mdx)] | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `top_logprobs` | List[[components.StreamLogprobTopLogprob](../components/streamlogprobtoplogprob)] | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/docs/components/sttrequest.mdx b/docs/components/sttrequest.mdx
index e81d9df1..6150e875 100644
--- a/docs/components/sttrequest.mdx
+++ b/docs/components/sttrequest.mdx
@@ -9,10 +9,10 @@ Speech-to-text request input. Accepts a JSON body with input_audio containing ba
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `input_audio` | [components.STTInputAudio](../components/sttinputaudio.mdx) | :heavy_check_mark: | Base64-encoded audio to transcribe | \{
"data": "UklGRiQA...",
"format": "wav"
} |
+| `input_audio` | [components.STTInputAudio](../components/sttinputaudio) | :heavy_check_mark: | Base64-encoded audio to transcribe | \{
"data": "UklGRiQA...",
"format": "wav"
} |
| `language` | *Optional[str]* | :heavy_minus_sign: | ISO-639-1 language code (e.g., "en", "ja"). Auto-detected if omitted. | en |
| `model` | *str* | :heavy_check_mark: | STT model identifier | openai/whisper-large-v3 |
-| `provider` | [Optional[components.STTRequestProvider]](../components/sttrequestprovider.mdx) | :heavy_minus_sign: | Provider-specific passthrough configuration | |
-| `response_format` | [Optional[components.STTRequestResponseFormat]](../components/sttrequestresponseformat.mdx) | :heavy_minus_sign: | Output format. "json" (default) returns \{ text, usage }. "verbose_json" additionally returns task, language, duration, and segment-level timestamps; only supported by OpenAI-compatible providers. | json |
+| `provider` | [Optional[components.STTRequestProvider]](../components/sttrequestprovider) | :heavy_minus_sign: | Provider-specific passthrough configuration | |
+| `response_format` | [Optional[components.STTRequestResponseFormat]](../components/sttrequestresponseformat) | :heavy_minus_sign: | Output format. "json" (default) returns \{ text, usage }. "verbose_json" additionally returns task, language, duration, and segment-level timestamps; only supported by OpenAI-compatible providers. | json |
| `temperature` | *Optional[float]* | :heavy_minus_sign: | Sampling temperature for transcription | 0 |
-| `timestamp_granularities` | List[[components.STTTimestampGranularity](../components/stttimestampgranularity.mdx)] | :heavy_minus_sign: | Timestamp detail levels to include when response_format is "verbose_json". "segment" returns segment-level timestamps; "word" additionally returns word-level timestamps in the words array. Ignored unless response_format is "verbose_json". | [
"segment"
] |
\ No newline at end of file
+| `timestamp_granularities` | List[[components.STTTimestampGranularity](../components/stttimestampgranularity)] | :heavy_minus_sign: | Timestamp detail levels to include when response_format is "verbose_json". "segment" returns segment-level timestamps; "word" additionally returns word-level timestamps in the words array. Ignored unless response_format is "verbose_json". | [
"segment"
] |
\ No newline at end of file
diff --git a/docs/components/sttrequestprovider.mdx b/docs/components/sttrequestprovider.mdx
index 5eebff08..98f6681c 100644
--- a/docs/components/sttrequestprovider.mdx
+++ b/docs/components/sttrequestprovider.mdx
@@ -9,4 +9,4 @@ Provider-specific passthrough configuration
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `options` | [Optional[components.ProviderOptions]](../components/provideroptions.mdx) | :heavy_minus_sign: | Provider-specific options keyed by provider slug. Only options for the matched provider are forwarded; the rest are ignored. Unrecognized keys are silently dropped. | \{
"openai": \{
"max_tokens": 1000
}
} |
\ No newline at end of file
+| `options` | [Optional[components.ProviderOptions]](../components/provideroptions) | :heavy_minus_sign: | Provider-specific options keyed by provider slug. Only options for the matched provider are forwarded; the rest are ignored. Unrecognized keys are silently dropped. | \{
"openai": \{
"max_tokens": 1000
}
} |
\ No newline at end of file
diff --git a/docs/components/sttresponse.mdx b/docs/components/sttresponse.mdx
index 5868e50f..3ca6e09e 100644
--- a/docs/components/sttresponse.mdx
+++ b/docs/components/sttresponse.mdx
@@ -11,8 +11,8 @@ STT response containing transcribed text and optional usage statistics
| ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| `duration` | *Optional[float]* | :heavy_minus_sign: | Duration of the input audio in seconds, present when response_format is verbose_json | 9.2 |
| `language` | *Optional[str]* | :heavy_minus_sign: | Detected or forced language, present when response_format is verbose_json | english |
-| `segments` | List[[components.STTSegment](../components/sttsegment.mdx)] | :heavy_minus_sign: | Timestamped transcript segments, present when response_format is verbose_json | |
+| `segments` | List[[components.STTSegment](../components/sttsegment)] | :heavy_minus_sign: | Timestamped transcript segments, present when response_format is verbose_json | |
| `task` | *Optional[str]* | :heavy_minus_sign: | The task performed, present when response_format is verbose_json | transcribe |
| `text` | *str* | :heavy_check_mark: | The transcribed text | Hello, this is a test of OpenAI speech-to-text transcription. The weather is sunny today and the temperature is around 72 degrees. |
-| `usage` | [Optional[components.STTUsage]](../components/sttusage.mdx) | :heavy_minus_sign: | Aggregated usage statistics for the request | \{
"cost": 0.000508,
"input_tokens": 83,
"output_tokens": 30,
"seconds": 9.2,
"total_tokens": 113
} |
-| `words` | List[[components.STTWord](../components/sttword.mdx)] | :heavy_minus_sign: | Timestamped words, present when the provider returns word-level timestamps | |
\ No newline at end of file
+| `usage` | [Optional[components.STTUsage]](../components/sttusage) | :heavy_minus_sign: | Aggregated usage statistics for the request | \{
"cost": 0.000508,
"input_tokens": 83,
"output_tokens": 30,
"seconds": 9.2,
"total_tokens": 113
} |
+| `words` | List[[components.STTWord](../components/sttword)] | :heavy_minus_sign: | Timestamped words, present when the provider returns word-level timestamps | |
\ No newline at end of file
diff --git a/docs/components/subagentreasoning.mdx b/docs/components/subagentreasoning.mdx
index 17ee212d..4739b51a 100644
--- a/docs/components/subagentreasoning.mdx
+++ b/docs/components/subagentreasoning.mdx
@@ -9,5 +9,5 @@ Reasoning configuration forwarded to the subagent call. Use this to control reas
| Field | Type | Required | Description |
| --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
-| `effort` | [Optional[components.SubagentReasoningEffort]](../components/subagentreasoningeffort.mdx) | :heavy_minus_sign: | Reasoning effort level for the subagent call. |
+| `effort` | [Optional[components.SubagentReasoningEffort]](../components/subagentreasoningeffort) | :heavy_minus_sign: | Reasoning effort level for the subagent call. |
| `max_tokens` | *Optional[int]* | :heavy_minus_sign: | Maximum number of reasoning tokens the subagent may use. Accepted and validated but not yet forwarded to the subagent call. |
\ No newline at end of file
diff --git a/docs/components/subagentservertoolconfig.mdx b/docs/components/subagentservertoolconfig.mdx
index 3a8e769c..c4906eeb 100644
--- a/docs/components/subagentservertoolconfig.mdx
+++ b/docs/components/subagentservertoolconfig.mdx
@@ -14,6 +14,6 @@ Configuration for one openrouter:subagent server tool entry.
| `max_tool_calls` | *Optional[int]* | :heavy_minus_sign: | Maximum number of tool-calling steps the subagent may take during its agentic loop. Capped at 25. Only relevant when the subagent is given tools. Accepted and validated but not yet enforced on the subagent call. | 5 |
| `model` | *Optional[str]* | :heavy_minus_sign: | Slug of the model that executes delegated tasks (any OpenRouter model). Typically a smaller, cheaper, faster model than the one delegating. When omitted, the model from the outer API request is used. The subagent tool itself cannot be the subagent model. | ~anthropic/claude-haiku-latest |
| `name` | *Optional[str]* | :heavy_minus_sign: | Optional name for this subagent. The model sees one tool per named subagent (and one default for an unnamed entry). Names must be unique across subagent entries. Letters, digits, spaces, underscores, and dashes; trimmed; 1–64 chars. | summarizer |
-| `reasoning` | [Optional[components.SubagentReasoning]](../components/subagentreasoning.mdx) | :heavy_minus_sign: | Reasoning configuration forwarded to the subagent call. Use this to control reasoning effort and token budget for models that support extended thinking. | \{
"effort": "low"
} |
+| `reasoning` | [Optional[components.SubagentReasoning]](../components/subagentreasoning) | :heavy_minus_sign: | Reasoning configuration forwarded to the subagent call. Use this to control reasoning effort and token budget for models that support extended thinking. | \{
"effort": "low"
} |
| `temperature` | *Optional[float]* | :heavy_minus_sign: | Sampling temperature forwarded to the subagent call. When omitted, the provider's default applies. | 0.7 |
-| `tools` | List[[components.SubagentNestedTool](../components/subagentnestedtool.mdx)] | :heavy_minus_sign: | Tools the subagent may use while executing a delegated task. The subagent runs as an agentic sub-agent over these tools, then returns its outcome. Only OpenRouter server tools are supported — function tools are rejected — and the list must not include the subagent tool itself. | |
\ No newline at end of file
+| `tools` | List[[components.SubagentNestedTool](../components/subagentnestedtool)] | :heavy_minus_sign: | Tools the subagent may use while executing a delegated task. The subagent runs as an agentic sub-agent over these tools, then returns its outcome. Only OpenRouter server tools are supported — function tools are rejected — and the list must not include the subagent tool itself. | |
\ No newline at end of file
diff --git a/docs/components/subagentservertoolopenrouter.mdx b/docs/components/subagentservertoolopenrouter.mdx
index 3b1eb0a6..27e6ca9d 100644
--- a/docs/components/subagentservertoolopenrouter.mdx
+++ b/docs/components/subagentservertoolopenrouter.mdx
@@ -9,5 +9,5 @@ OpenRouter built-in server tool: delegates self-contained tasks to a smaller, ch
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ |
-| `parameters` | [Optional[components.SubagentServerToolConfig]](../components/subagentservertoolconfig.mdx) | :heavy_minus_sign: | Configuration for one openrouter:subagent server tool entry. | \{
"model": "~anthropic/claude-haiku-latest",
"name": "summarizer"
} |
-| `type` | [components.SubagentServerToolOpenRouterType](../components/subagentservertoolopenroutertype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `parameters` | [Optional[components.SubagentServerToolConfig]](../components/subagentservertoolconfig) | :heavy_minus_sign: | Configuration for one openrouter:subagent server tool entry. | \{
"model": "~anthropic/claude-haiku-latest",
"name": "summarizer"
} |
+| `type` | [components.SubagentServerToolOpenRouterType](../components/subagentservertoolopenroutertype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/submitgenerationfeedbackrequest.mdx b/docs/components/submitgenerationfeedbackrequest.mdx
index 9e56152e..28e4b7ce 100644
--- a/docs/components/submitgenerationfeedbackrequest.mdx
+++ b/docs/components/submitgenerationfeedbackrequest.mdx
@@ -9,6 +9,6 @@ Structured feedback about a specific generation
| Field | Type | Required | Description | Example |
| ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- |
-| `category` | [components.Category](../components/category.mdx) | :heavy_check_mark: | The category of feedback being reported | incorrect_response |
+| `category` | [components.Category](../components/category) | :heavy_check_mark: | The category of feedback being reported | incorrect_response |
| `comment` | *Optional[str]* | :heavy_minus_sign: | An optional free-text comment describing the feedback | The model repeated the same paragraph three times. |
| `generation_id` | *str* | :heavy_check_mark: | The generation to submit feedback on | gen-3bhGkxlo4XFrqiabUM7NDtwDzWwG |
\ No newline at end of file
diff --git a/docs/components/submitgenerationfeedbackresponse.mdx b/docs/components/submitgenerationfeedbackresponse.mdx
index ba546e04..0bb011ab 100644
--- a/docs/components/submitgenerationfeedbackresponse.mdx
+++ b/docs/components/submitgenerationfeedbackresponse.mdx
@@ -9,4 +9,4 @@ Confirmation that the feedback was recorded
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
-| `data` | [components.SubmitGenerationFeedbackResponseData](../components/submitgenerationfeedbackresponsedata.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `data` | [components.SubmitGenerationFeedbackResponseData](../components/submitgenerationfeedbackresponsedata) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/taskbudget.mdx b/docs/components/taskbudget.mdx
index c98814d6..e2b4305c 100644
--- a/docs/components/taskbudget.mdx
+++ b/docs/components/taskbudget.mdx
@@ -11,4 +11,4 @@ Task budget for an agentic turn. The model sees a countdown of remaining tokens
| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- |
| `remaining` | *OptionalNullable[int]* | :heavy_minus_sign: | N/A |
| `total` | *int* | :heavy_check_mark: | N/A |
-| `type` | [components.TypeTokens](../components/typetokens.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.TypeTokens](../components/typetokens) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/taskclassificationitem.mdx b/docs/components/taskclassificationitem.mdx
index 905d9090..dcd067fb 100644
--- a/docs/components/taskclassificationitem.mdx
+++ b/docs/components/taskclassificationitem.mdx
@@ -10,7 +10,7 @@ title: "TaskClassificationItem"
| `category_usage_share` | *float* | :heavy_check_mark: | Fraction of this classification's usage within its macro-category (0–1). Sums to 1 across all classifications sharing the same `macro_category`. | 0.51 |
| `display_name` | *str* | :heavy_check_mark: | Human-readable label for the classification. | Code Generation |
| `macro_category` | *str* | :heavy_check_mark: | Coarse grouping derived from the tag prefix: `code`, `data`, `agent`, or `general`. | code |
-| `models` | List[[components.TaskClassificationModel](../components/taskclassificationmodel.mdx)] | :heavy_check_mark: | Top models for this classification by request volume, sorted descending. Each entry reports the model's share of this classification's requests and tokens. | |
+| `models` | List[[components.TaskClassificationModel](../components/taskclassificationmodel)] | :heavy_check_mark: | Top models for this classification by request volume, sorted descending. Each entry reports the model's share of this classification's requests and tokens. | |
| `tag` | *str* | :heavy_check_mark: | Classification tag identifier (e.g. `code:general_impl`, `agent:web_search`). | code:general_impl |
| `token_share` | *float* | :heavy_check_mark: | Fraction of classified sampled token volume (prompt + completion) attributed to this classification (0–1). The unclassified `other` bucket is excluded from the denominator. | 0.31 |
| `usage_share` | *float* | :heavy_check_mark: | Fraction of classified sampled requests attributed to this classification (0–1). The unclassified `other` bucket is excluded from the denominator. | 0.23 |
\ No newline at end of file
diff --git a/docs/components/taskclassificationresponse.mdx b/docs/components/taskclassificationresponse.mdx
index 40e0bc7f..59a2c094 100644
--- a/docs/components/taskclassificationresponse.mdx
+++ b/docs/components/taskclassificationresponse.mdx
@@ -6,4 +6,4 @@ title: "TaskClassificationResponse"
| Field | Type | Required | Description |
| -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
-| `data` | [components.TaskClassificationResponseData](../components/taskclassificationresponsedata.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `data` | [components.TaskClassificationResponseData](../components/taskclassificationresponsedata) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/taskclassificationresponsedata.mdx b/docs/components/taskclassificationresponsedata.mdx
index a22f20ac..f91a1e78 100644
--- a/docs/components/taskclassificationresponsedata.mdx
+++ b/docs/components/taskclassificationresponsedata.mdx
@@ -7,6 +7,6 @@ title: "TaskClassificationResponseData"
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `as_of` | *str* | :heavy_check_mark: | UTC date (YYYY-MM-DD) of the window upper bound (yesterday). Data is exclusive of the current incomplete UTC day. This is the expected latest date in the snapshot; it does not confirm data presence for that date. | 2026-06-17 |
-| `classifications` | List[[components.TaskClassificationItem](../components/taskclassificationitem.mdx)] | :heavy_check_mark: | Per-task classification market-share data, sorted by usage_share descending. | |
-| `macro_categories` | List[[components.TaskClassificationMacroCategory](../components/taskclassificationmacrocategory.mdx)] | :heavy_check_mark: | Aggregate market-share data per macro-category (code, data, agent, general). | |
+| `classifications` | List[[components.TaskClassificationItem](../components/taskclassificationitem)] | :heavy_check_mark: | Per-task classification market-share data, sorted by usage_share descending. | |
+| `macro_categories` | List[[components.TaskClassificationMacroCategory](../components/taskclassificationmacrocategory)] | :heavy_check_mark: | Aggregate market-share data per macro-category (code, data, agent, general). | |
| `window_days` | *int* | :heavy_check_mark: | Number of trailing days covered by this snapshot. | 7 |
\ No newline at end of file
diff --git a/docs/components/textdeltaevent.mdx b/docs/components/textdeltaevent.mdx
index 8214536b..a31de1e9 100644
--- a/docs/components/textdeltaevent.mdx
+++ b/docs/components/textdeltaevent.mdx
@@ -12,7 +12,7 @@ Event emitted when a text delta is streamed
| `content_index` | *int* | :heavy_check_mark: | N/A |
| `delta` | *str* | :heavy_check_mark: | N/A |
| `item_id` | *str* | :heavy_check_mark: | N/A |
-| `logprobs` | List[[components.StreamLogprob](../components/streamlogprob.mdx)] | :heavy_check_mark: | N/A |
+| `logprobs` | List[[components.StreamLogprob](../components/streamlogprob)] | :heavy_check_mark: | N/A |
| `output_index` | *int* | :heavy_check_mark: | N/A |
| `sequence_number` | *int* | :heavy_check_mark: | N/A |
-| `type` | [components.TextDeltaEventType](../components/textdeltaeventtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.TextDeltaEventType](../components/textdeltaeventtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/textdoneevent.mdx b/docs/components/textdoneevent.mdx
index d2d16600..b1c09602 100644
--- a/docs/components/textdoneevent.mdx
+++ b/docs/components/textdoneevent.mdx
@@ -11,8 +11,8 @@ Event emitted when text streaming is complete
| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
| `content_index` | *int* | :heavy_check_mark: | N/A |
| `item_id` | *str* | :heavy_check_mark: | N/A |
-| `logprobs` | List[[components.StreamLogprob](../components/streamlogprob.mdx)] | :heavy_check_mark: | N/A |
+| `logprobs` | List[[components.StreamLogprob](../components/streamlogprob)] | :heavy_check_mark: | N/A |
| `output_index` | *int* | :heavy_check_mark: | N/A |
| `sequence_number` | *int* | :heavy_check_mark: | N/A |
| `text` | *str* | :heavy_check_mark: | N/A |
-| `type` | [components.TextDoneEventType](../components/textdoneeventtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.TextDoneEventType](../components/textdoneeventtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/textextendedconfig.mdx b/docs/components/textextendedconfig.mdx
index 04c08c1d..a2b03df4 100644
--- a/docs/components/textextendedconfig.mdx
+++ b/docs/components/textextendedconfig.mdx
@@ -9,5 +9,5 @@ Text output configuration including format and verbosity
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- |
-| `format_` | [Optional[components.Formats]](../components/formats.mdx) | :heavy_minus_sign: | Text response format configuration | \{
"type": "text"
} |
-| `verbosity` | [OptionalNullable[components.Verbosity]](../components/verbosity.mdx) | :heavy_minus_sign: | N/A | |
\ No newline at end of file
+| `format_` | [Optional[components.Formats]](../components/formats) | :heavy_minus_sign: | Text response format configuration | \{
"type": "text"
} |
+| `verbosity` | [OptionalNullable[components.Verbosity]](../components/verbosity) | :heavy_minus_sign: | N/A | |
\ No newline at end of file
diff --git a/docs/components/thinkingadaptive.mdx b/docs/components/thinkingadaptive.mdx
index 970ce43c..5e3e6b58 100644
--- a/docs/components/thinkingadaptive.mdx
+++ b/docs/components/thinkingadaptive.mdx
@@ -6,5 +6,5 @@ title: "ThinkingAdaptive"
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
-| `display` | [OptionalNullable[components.AnthropicThinkingDisplay]](../components/anthropicthinkingdisplay.mdx) | :heavy_minus_sign: | N/A | summarized |
-| `type` | [components.TypeAdaptive](../components/typeadaptive.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `display` | [OptionalNullable[components.AnthropicThinkingDisplay]](../components/anthropicthinkingdisplay) | :heavy_minus_sign: | N/A | summarized |
+| `type` | [components.TypeAdaptive](../components/typeadaptive) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/thinkingdisabled.mdx b/docs/components/thinkingdisabled.mdx
index ef2829f6..5581bc70 100644
--- a/docs/components/thinkingdisabled.mdx
+++ b/docs/components/thinkingdisabled.mdx
@@ -6,4 +6,4 @@ title: "ThinkingDisabled"
| Field | Type | Required | Description |
| -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- |
-| `type` | [components.TypeDisabled](../components/typedisabled.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.TypeDisabled](../components/typedisabled) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/thinkingenabled.mdx b/docs/components/thinkingenabled.mdx
index 533ba7c8..bdb8b0ed 100644
--- a/docs/components/thinkingenabled.mdx
+++ b/docs/components/thinkingenabled.mdx
@@ -7,5 +7,5 @@ title: "ThinkingEnabled"
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| `budget_tokens` | *int* | :heavy_check_mark: | N/A | |
-| `display` | [OptionalNullable[components.AnthropicThinkingDisplay]](../components/anthropicthinkingdisplay.mdx) | :heavy_minus_sign: | N/A | summarized |
-| `type` | [components.TypeEnabled](../components/typeenabled.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `display` | [OptionalNullable[components.AnthropicThinkingDisplay]](../components/anthropicthinkingdisplay) | :heavy_minus_sign: | N/A | summarized |
+| `type` | [components.TypeEnabled](../components/typeenabled) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/timings.mdx b/docs/components/timings.mdx
index 8d52bfae..dc2f5b13 100644
--- a/docs/components/timings.mdx
+++ b/docs/components/timings.mdx
@@ -7,5 +7,5 @@ title: "Timings"
| Field | Type | Required | Description |
| ------------------------------------------ | ------------------------------------------ | ------------------------------------------ | ------------------------------------------ |
| `epoch_ms` | *int* | :heavy_check_mark: | N/A |
-| `event` | [components.Event](../components/event.mdx) | :heavy_check_mark: | N/A |
+| `event` | [components.Event](../components/event) | :heavy_check_mark: | N/A |
| `start_ms` | *int* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/tooladvisor20260301.mdx b/docs/components/tooladvisor20260301.mdx
index cf0c0f91..d8cb82fd 100644
--- a/docs/components/tooladvisor20260301.mdx
+++ b/docs/components/tooladvisor20260301.mdx
@@ -6,11 +6,11 @@ title: "ToolAdvisor20260301"
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `allowed_callers` | List[[components.AnthropicAllowedCallers](../components/anthropicallowedcallers.mdx)] | :heavy_minus_sign: | N/A | [
"direct"
] |
-| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../components/anthropiccachecontroldirective.mdx) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
-| `caching` | [OptionalNullable[components.AnthropicCacheControlDirective]](../components/anthropiccachecontroldirective.mdx) | :heavy_minus_sign: | N/A | \{
"type": "ephemeral"
} |
+| `allowed_callers` | List[[components.AnthropicAllowedCallers](../components/anthropicallowedcallers)] | :heavy_minus_sign: | N/A | [
"direct"
] |
+| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../components/anthropiccachecontroldirective) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
+| `caching` | [OptionalNullable[components.AnthropicCacheControlDirective]](../components/anthropiccachecontroldirective) | :heavy_minus_sign: | N/A | \{
"type": "ephemeral"
} |
| `defer_loading` | *Optional[bool]* | :heavy_minus_sign: | N/A | |
| `max_uses` | *Optional[int]* | :heavy_minus_sign: | N/A | |
| `model` | *str* | :heavy_check_mark: | N/A | |
-| `name` | [components.NameAdvisor](../components/nameadvisor.mdx) | :heavy_check_mark: | N/A | |
-| `type` | [components.TypeAdvisor20260301](../components/typeadvisor20260301.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `name` | [components.NameAdvisor](../components/nameadvisor) | :heavy_check_mark: | N/A | |
+| `type` | [components.TypeAdvisor20260301](../components/typeadvisor20260301) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/toolbash20250124.mdx b/docs/components/toolbash20250124.mdx
index d3a3ea6c..3a13118b 100644
--- a/docs/components/toolbash20250124.mdx
+++ b/docs/components/toolbash20250124.mdx
@@ -6,6 +6,6 @@ title: "ToolBash20250124"
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../components/anthropiccachecontroldirective.mdx) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
-| `name` | [components.NameBash](../components/namebash.mdx) | :heavy_check_mark: | N/A | |
-| `type` | [components.TypeBash20250124](../components/typebash20250124.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../components/anthropiccachecontroldirective) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
+| `name` | [components.NameBash](../components/namebash) | :heavy_check_mark: | N/A | |
+| `type` | [components.TypeBash20250124](../components/typebash20250124) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/toolchoiceallowed.mdx b/docs/components/toolchoiceallowed.mdx
index 4e85322c..f8507da6 100644
--- a/docs/components/toolchoiceallowed.mdx
+++ b/docs/components/toolchoiceallowed.mdx
@@ -9,6 +9,6 @@ Constrains the model to a pre-defined set of allowed tools
| Field | Type | Required | Description |
| -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- |
-| `mode` | [components.Mode](../components/mode.mdx) | :heavy_check_mark: | N/A |
+| `mode` | [components.Mode](../components/mode) | :heavy_check_mark: | N/A |
| `tools` | List[Dict[str, *Any*]] | :heavy_check_mark: | N/A |
-| `type` | [components.ToolChoiceAllowedType](../components/toolchoiceallowedtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.ToolChoiceAllowedType](../components/toolchoiceallowedtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/toolchoiceany.mdx b/docs/components/toolchoiceany.mdx
index 444b7015..e755aab4 100644
--- a/docs/components/toolchoiceany.mdx
+++ b/docs/components/toolchoiceany.mdx
@@ -7,4 +7,4 @@ title: "ToolChoiceAny"
| Field | Type | Required | Description |
| ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- | ---------------------------------------------- |
| `disable_parallel_tool_use` | *Optional[bool]* | :heavy_minus_sign: | N/A |
-| `type` | [components.TypeAny](../components/typeany.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.TypeAny](../components/typeany) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/toolchoiceauto.mdx b/docs/components/toolchoiceauto.mdx
index 8759b2ff..e3c68ab3 100644
--- a/docs/components/toolchoiceauto.mdx
+++ b/docs/components/toolchoiceauto.mdx
@@ -7,4 +7,4 @@ title: "ToolChoiceAuto"
| Field | Type | Required | Description |
| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- |
| `disable_parallel_tool_use` | *Optional[bool]* | :heavy_minus_sign: | N/A |
-| `type` | [components.ToolChoiceTypeAuto](../components/toolchoicetypeauto.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.ToolChoiceTypeAuto](../components/toolchoicetypeauto) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/toolchoicenone.mdx b/docs/components/toolchoicenone.mdx
index a042d898..6aa80e50 100644
--- a/docs/components/toolchoicenone.mdx
+++ b/docs/components/toolchoicenone.mdx
@@ -6,4 +6,4 @@ title: "ToolChoiceNone"
| Field | Type | Required | Description |
| ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ |
-| `type` | [components.TypeNone](../components/typenone.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.TypeNone](../components/typenone) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/toolchoicetool.mdx b/docs/components/toolchoicetool.mdx
index 08139fd7..afdedd74 100644
--- a/docs/components/toolchoicetool.mdx
+++ b/docs/components/toolchoicetool.mdx
@@ -8,4 +8,4 @@ title: "ToolChoiceTool"
| ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ |
| `disable_parallel_tool_use` | *Optional[bool]* | :heavy_minus_sign: | N/A |
| `name` | *str* | :heavy_check_mark: | N/A |
-| `type` | [components.TypeTool](../components/typetool.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.TypeTool](../components/typetool) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/toolcustom.mdx b/docs/components/toolcustom.mdx
index e52e0f6a..b238deac 100644
--- a/docs/components/toolcustom.mdx
+++ b/docs/components/toolcustom.mdx
@@ -6,9 +6,9 @@ title: "ToolCustom"
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../components/anthropiccachecontroldirective.mdx) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
+| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../components/anthropiccachecontroldirective) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
| `defer_loading` | *Optional[bool]* | :heavy_minus_sign: | N/A | |
| `description` | *Optional[str]* | :heavy_minus_sign: | N/A | |
-| `input_schema` | [components.InputSchema](../components/inputschema.mdx) | :heavy_check_mark: | N/A | |
+| `input_schema` | [components.InputSchema](../components/inputschema) | :heavy_check_mark: | N/A | |
| `name` | *str* | :heavy_check_mark: | N/A | |
-| `type` | [Optional[components.ToolTypeCustom]](../components/tooltypecustom.mdx) | :heavy_minus_sign: | N/A | |
\ No newline at end of file
+| `type` | [Optional[components.ToolTypeCustom]](../components/tooltypecustom) | :heavy_minus_sign: | N/A | |
\ No newline at end of file
diff --git a/docs/components/tooltexteditor20250124.mdx b/docs/components/tooltexteditor20250124.mdx
index a7f1a273..08b0820b 100644
--- a/docs/components/tooltexteditor20250124.mdx
+++ b/docs/components/tooltexteditor20250124.mdx
@@ -6,6 +6,6 @@ title: "ToolTextEditor20250124"
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../components/anthropiccachecontroldirective.mdx) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
-| `name` | [components.NameStrReplaceEditor](../components/namestrreplaceeditor.mdx) | :heavy_check_mark: | N/A | |
-| `type` | [components.TypeTextEditor20250124](../components/typetexteditor20250124.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../components/anthropiccachecontroldirective) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
+| `name` | [components.NameStrReplaceEditor](../components/namestrreplaceeditor) | :heavy_check_mark: | N/A | |
+| `type` | [components.TypeTextEditor20250124](../components/typetexteditor20250124) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/toolwebsearch20250305.mdx b/docs/components/toolwebsearch20250305.mdx
index 36a09641..521560d3 100644
--- a/docs/components/toolwebsearch20250305.mdx
+++ b/docs/components/toolwebsearch20250305.mdx
@@ -8,8 +8,8 @@ title: "ToolWebSearch20250305"
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `allowed_domains` | List[*str*] | :heavy_minus_sign: | N/A | |
| `blocked_domains` | List[*str*] | :heavy_minus_sign: | N/A | |
-| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../components/anthropiccachecontroldirective.mdx) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
+| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../components/anthropiccachecontroldirective) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
| `max_uses` | *OptionalNullable[int]* | :heavy_minus_sign: | N/A | |
-| `name` | [components.NameWebSearch1](../components/namewebsearch1.mdx) | :heavy_check_mark: | N/A | |
-| `type` | [components.TypeWebSearch20250305](../components/typewebsearch20250305.mdx) | :heavy_check_mark: | N/A | |
-| `user_location` | [OptionalNullable[components.AnthropicWebSearchToolUserLocation]](../components/anthropicwebsearchtooluserlocation.mdx) | :heavy_minus_sign: | N/A | \{
"city": "San Francisco",
"country": "US",
"region": "California",
"timezone": "America/Los_Angeles",
"type": "approximate"
} |
\ No newline at end of file
+| `name` | [components.NameWebSearch1](../components/namewebsearch1) | :heavy_check_mark: | N/A | |
+| `type` | [components.TypeWebSearch20250305](../components/typewebsearch20250305) | :heavy_check_mark: | N/A | |
+| `user_location` | [OptionalNullable[components.AnthropicWebSearchToolUserLocation]](../components/anthropicwebsearchtooluserlocation) | :heavy_minus_sign: | N/A | \{
"city": "San Francisco",
"country": "US",
"region": "California",
"timezone": "America/Los_Angeles",
"type": "approximate"
} |
\ No newline at end of file
diff --git a/docs/components/toolwebsearch20260209.mdx b/docs/components/toolwebsearch20260209.mdx
index 062b3155..88967b3d 100644
--- a/docs/components/toolwebsearch20260209.mdx
+++ b/docs/components/toolwebsearch20260209.mdx
@@ -6,11 +6,11 @@ title: "ToolWebSearch20260209"
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `allowed_callers` | List[[components.AnthropicAllowedCallers](../components/anthropicallowedcallers.mdx)] | :heavy_minus_sign: | N/A | [
"direct"
] |
+| `allowed_callers` | List[[components.AnthropicAllowedCallers](../components/anthropicallowedcallers)] | :heavy_minus_sign: | N/A | [
"direct"
] |
| `allowed_domains` | List[*str*] | :heavy_minus_sign: | N/A | |
| `blocked_domains` | List[*str*] | :heavy_minus_sign: | N/A | |
-| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../components/anthropiccachecontroldirective.mdx) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
+| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../components/anthropiccachecontroldirective) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
| `max_uses` | *OptionalNullable[int]* | :heavy_minus_sign: | N/A | |
-| `name` | [components.NameWebSearch2](../components/namewebsearch2.mdx) | :heavy_check_mark: | N/A | |
-| `type` | [components.TypeWebSearch20260209](../components/typewebsearch20260209.mdx) | :heavy_check_mark: | N/A | |
-| `user_location` | [OptionalNullable[components.AnthropicWebSearchToolUserLocation]](../components/anthropicwebsearchtooluserlocation.mdx) | :heavy_minus_sign: | N/A | \{
"city": "San Francisco",
"country": "US",
"region": "California",
"timezone": "America/Los_Angeles",
"type": "approximate"
} |
\ No newline at end of file
+| `name` | [components.NameWebSearch2](../components/namewebsearch2) | :heavy_check_mark: | N/A | |
+| `type` | [components.TypeWebSearch20260209](../components/typewebsearch20260209) | :heavy_check_mark: | N/A | |
+| `user_location` | [OptionalNullable[components.AnthropicWebSearchToolUserLocation]](../components/anthropicwebsearchtooluserlocation) | :heavy_minus_sign: | N/A | \{
"city": "San Francisco",
"country": "US",
"region": "California",
"timezone": "America/Los_Angeles",
"type": "approximate"
} |
\ No newline at end of file
diff --git a/docs/components/triggerinputtokens.mdx b/docs/components/triggerinputtokens.mdx
index 45784f00..db7601df 100644
--- a/docs/components/triggerinputtokens.mdx
+++ b/docs/components/triggerinputtokens.mdx
@@ -6,5 +6,5 @@ title: "TriggerInputTokens"
| Field | Type | Required | Description |
| ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- |
-| `type` | [components.EditTypeInputTokens](../components/edittypeinputtokens.mdx) | :heavy_check_mark: | N/A |
+| `type` | [components.EditTypeInputTokens](../components/edittypeinputtokens) | :heavy_check_mark: | N/A |
| `value` | *int* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/unifiedbenchmarksaaitem.mdx b/docs/components/unifiedbenchmarksaaitem.mdx
index 0a22591f..07dd9643 100644
--- a/docs/components/unifiedbenchmarksaaitem.mdx
+++ b/docs/components/unifiedbenchmarksaaitem.mdx
@@ -11,5 +11,5 @@ title: "UnifiedBenchmarksAAItem"
| `display_name` | *str* | :heavy_check_mark: | Model name as listed on Artificial Analysis. | GPT-4o |
| `intelligence_index` | *Nullable[float]* | :heavy_check_mark: | Artificial Analysis Intelligence Index composite score. Higher is better. | 71.2 |
| `model_permaslug` | *str* | :heavy_check_mark: | Stable OpenRouter model identifier. | openai/gpt-4o |
-| `pricing` | [Nullable[components.UnifiedBenchmarkPricing]](../components/unifiedbenchmarkpricing.mdx) | :heavy_check_mark: | OpenRouter pricing per token for this model. Null if pricing is unavailable. | \{
"completion": "0.000015",
"prompt": "0.000003"
} |
-| `source` | [components.UnifiedBenchmarksAAItemSource](../components/unifiedbenchmarksaaitemsource.mdx) | :heavy_check_mark: | Benchmark source discriminator. | |
\ No newline at end of file
+| `pricing` | [Nullable[components.UnifiedBenchmarkPricing]](../components/unifiedbenchmarkpricing) | :heavy_check_mark: | OpenRouter pricing per token for this model. Null if pricing is unavailable. | \{
"completion": "0.000015",
"prompt": "0.000003"
} |
+| `source` | [components.UnifiedBenchmarksAAItemSource](../components/unifiedbenchmarksaaitemsource) | :heavy_check_mark: | Benchmark source discriminator. | |
\ No newline at end of file
diff --git a/docs/components/unifiedbenchmarksdaitem.mdx b/docs/components/unifiedbenchmarksdaitem.mdx
index 95f66134..b46b1810 100644
--- a/docs/components/unifiedbenchmarksdaitem.mdx
+++ b/docs/components/unifiedbenchmarksdaitem.mdx
@@ -12,7 +12,7 @@ title: "UnifiedBenchmarksDAItem"
| `display_name` | *str* | :heavy_check_mark: | Human-readable model name from Design Arena. | Claude Sonnet 4 |
| `elo` | *float* | :heavy_check_mark: | ELO rating from head-to-head arena battles. | 1423 |
| `model_permaslug` | *str* | :heavy_check_mark: | Stable OpenRouter model identifier when mapped; otherwise the upstream Design Arena model id. | anthropic/claude-sonnet-4 |
-| `pricing` | [Nullable[components.UnifiedBenchmarkPricing]](../components/unifiedbenchmarkpricing.mdx) | :heavy_check_mark: | OpenRouter pricing per token for this model. Null if pricing is unavailable. | \{
"completion": "0.000015",
"prompt": "0.000003"
} |
-| `source` | [components.UnifiedBenchmarksDAItemSource](../components/unifiedbenchmarksdaitemsource.mdx) | :heavy_check_mark: | Benchmark source discriminator. | |
-| `tournament_stats` | [components.TournamentStats](../components/tournamentstats.mdx) | :heavy_check_mark: | Placement distribution from tournament matches. | |
+| `pricing` | [Nullable[components.UnifiedBenchmarkPricing]](../components/unifiedbenchmarkpricing) | :heavy_check_mark: | OpenRouter pricing per token for this model. Null if pricing is unavailable. | \{
"completion": "0.000015",
"prompt": "0.000003"
} |
+| `source` | [components.UnifiedBenchmarksDAItemSource](../components/unifiedbenchmarksdaitemsource) | :heavy_check_mark: | Benchmark source discriminator. | |
+| `tournament_stats` | [components.TournamentStats](../components/tournamentstats) | :heavy_check_mark: | Placement distribution from tournament matches. | |
| `win_rate` | *float* | :heavy_check_mark: | Win rate as a percentage (0–100). | 72 |
\ No newline at end of file
diff --git a/docs/components/unifiedbenchmarksmeta.mdx b/docs/components/unifiedbenchmarksmeta.mdx
index ea52df6e..24fef9f0 100644
--- a/docs/components/unifiedbenchmarksmeta.mdx
+++ b/docs/components/unifiedbenchmarksmeta.mdx
@@ -9,7 +9,7 @@ title: "UnifiedBenchmarksMeta"
| `as_of` | *str* | :heavy_check_mark: | ISO-8601 timestamp of when this data was last updated. | 2026-06-03T12:00:00Z |
| `citation` | *Nullable[str]* | :heavy_check_mark: | Required attribution when republishing this data, or null when results span multiple sources (attribute each item individually by its `source` discriminator). | Source: Artificial Analysis (artificialanalysis.ai) via OpenRouter (openrouter.ai/rankings). |
| `model_count` | *int* | :heavy_check_mark: | Number of unique models in the response. | |
-| `source` | [Nullable[components.UnifiedBenchmarksMetaSource]](../components/unifiedbenchmarksmetasource.mdx) | :heavy_check_mark: | The source filter applied, or null when all sources are returned. | artificial-analysis |
+| `source` | [Nullable[components.UnifiedBenchmarksMetaSource]](../components/unifiedbenchmarksmetasource) | :heavy_check_mark: | The source filter applied, or null when all sources are returned. | artificial-analysis |
| `source_url` | *Nullable[str]* | :heavy_check_mark: | URL of the upstream data source, or null when results span multiple sources. | https://artificialanalysis.ai |
| `task_type` | *Nullable[str]* | :heavy_check_mark: | The task_type filter applied, or null if showing all. | |
-| `version` | [components.UnifiedBenchmarksMetaVersion](../components/unifiedbenchmarksmetaversion.mdx) | :heavy_check_mark: | Dataset version. | |
\ No newline at end of file
+| `version` | [components.UnifiedBenchmarksMetaVersion](../components/unifiedbenchmarksmetaversion) | :heavy_check_mark: | Dataset version. | |
\ No newline at end of file
diff --git a/docs/components/unifiedbenchmarksoritem.mdx b/docs/components/unifiedbenchmarksoritem.mdx
index 99228c0b..774f106c 100644
--- a/docs/components/unifiedbenchmarksoritem.mdx
+++ b/docs/components/unifiedbenchmarksoritem.mdx
@@ -9,9 +9,9 @@ title: "UnifiedBenchmarksORItem"
| `accuracy` | *float* | :heavy_check_mark: | Aggregate accuracy score from 0 to 1. Higher is better. | 0.72 |
| `accuracy_stddev` | *Nullable[float]* | :heavy_check_mark: | Standard deviation of run accuracy, or null for a single run. | 0.03 |
| `avg_cost_per_task` | *Nullable[float]* | :heavy_check_mark: | Average cost per task in USD, or null if unavailable. | 0.002 |
-| `benchmark_type` | [components.BenchmarkType](../components/benchmarktype.mdx) | :heavy_check_mark: | OpenRouter benchmark evaluation type. | gpqa_diamond |
+| `benchmark_type` | [components.BenchmarkType](../components/benchmarktype) | :heavy_check_mark: | OpenRouter benchmark evaluation type. | gpqa_diamond |
| `display_name` | *str* | :heavy_check_mark: | Human-readable model name. | GPT-4o |
| `last_run_timestamp` | *str* | :heavy_check_mark: | Timestamp of the most recent public benchmark run. | 2026-06-03T12:00:00Z |
| `model_permaslug` | *str* | :heavy_check_mark: | Stable OpenRouter model identifier. | openai/gpt-4o |
-| `source` | [components.UnifiedBenchmarksORItemSource](../components/unifiedbenchmarksoritemsource.mdx) | :heavy_check_mark: | Benchmark source discriminator. | |
+| `source` | [components.UnifiedBenchmarksORItemSource](../components/unifiedbenchmarksoritemsource) | :heavy_check_mark: | Benchmark source discriminator. | |
| `total_tasks` | *int* | :heavy_check_mark: | Total benchmark tasks across runs. | 300 |
\ No newline at end of file
diff --git a/docs/components/unifiedbenchmarksresponse.mdx b/docs/components/unifiedbenchmarksresponse.mdx
index ee48e645..fdcd91b8 100644
--- a/docs/components/unifiedbenchmarksresponse.mdx
+++ b/docs/components/unifiedbenchmarksresponse.mdx
@@ -6,5 +6,5 @@ title: "UnifiedBenchmarksResponse"
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `data` | List[[components.UnifiedBenchmarksResponseData](../components/unifiedbenchmarksresponsedata.mdx)] | :heavy_check_mark: | N/A | |
-| `meta` | [components.UnifiedBenchmarksMeta](../components/unifiedbenchmarksmeta.mdx) | :heavy_check_mark: | N/A | \{
"as_of": "2026-06-03T12:00:00Z",
"citation": "Source: Artificial Analysis (artificialanalysis.ai) via OpenRouter (openrouter.ai/rankings).",
"model_count": 50,
"source": "artificial-analysis",
"source_url": "https://artificialanalysis.ai",
"task_type": null,
"version": "v1"
} |
\ No newline at end of file
+| `data` | List[[components.UnifiedBenchmarksResponseData](../components/unifiedbenchmarksresponsedata)] | :heavy_check_mark: | N/A | |
+| `meta` | [components.UnifiedBenchmarksMeta](../components/unifiedbenchmarksmeta) | :heavy_check_mark: | N/A | \{
"as_of": "2026-06-03T12:00:00Z",
"citation": "Source: Artificial Analysis (artificialanalysis.ai) via OpenRouter (openrouter.ai/rankings).",
"model_count": 50,
"source": "artificial-analysis",
"source_url": "https://artificialanalysis.ai",
"task_type": null,
"version": "v1"
} |
\ No newline at end of file
diff --git a/docs/components/updatebyokkeyresponse.mdx b/docs/components/updatebyokkeyresponse.mdx
index 335feb18..8079bc35 100644
--- a/docs/components/updatebyokkeyresponse.mdx
+++ b/docs/components/updatebyokkeyresponse.mdx
@@ -6,4 +6,4 @@ title: "UpdateBYOKKeyResponse"
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `data` | [components.BYOKKey](../components/byokkey.mdx) | :heavy_check_mark: | N/A | \{
"allowed_api_key_hashes": null,
"allowed_models": null,
"allowed_user_ids": null,
"created_at": "2025-08-24T10:30:00Z",
"disabled": false,
"id": "11111111-2222-3333-4444-555555555555",
"is_fallback": false,
"label": "sk-...AbCd",
"name": "Production OpenAI Key",
"provider": "openai",
"sort_order": 0,
"workspace_id": "550e8400-e29b-41d4-a716-446655440000"
} |
\ No newline at end of file
+| `data` | [components.BYOKKey](../components/byokkey) | :heavy_check_mark: | N/A | \{
"allowed_api_key_hashes": null,
"allowed_models": null,
"allowed_user_ids": null,
"created_at": "2025-08-24T10:30:00Z",
"disabled": false,
"id": "11111111-2222-3333-4444-555555555555",
"is_fallback": false,
"label": "sk-...AbCd",
"name": "Production OpenAI Key",
"provider": "openai",
"sort_order": 0,
"workspace_id": "550e8400-e29b-41d4-a716-446655440000"
} |
\ No newline at end of file
diff --git a/docs/components/updateguardrailrequest.mdx b/docs/components/updateguardrailrequest.mdx
index c4e5ea94..7c5f6a3e 100644
--- a/docs/components/updateguardrailrequest.mdx
+++ b/docs/components/updateguardrailrequest.mdx
@@ -8,8 +8,8 @@ title: "UpdateGuardrailRequest"
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `allowed_models` | List[*str*] | :heavy_minus_sign: | Array of model identifiers (slug or canonical_slug accepted) | [
"openai/gpt-5.2"
] |
| `allowed_providers` | List[*str*] | :heavy_minus_sign: | New list of allowed provider IDs | [
"openai",
"anthropic",
"deepseek"
] |
-| `content_filter_builtins` | List[[components.ContentFilterBuiltinEntryInput](../components/contentfilterbuiltinentryinput.mdx)] | :heavy_minus_sign: | Builtin content filters to apply. Set to null to remove. Every builtin slug supports "block", "redact", and the detect-only "flag" action. | [
\{
"action": "block",
"slug": "regex-prompt-injection"
}
] |
-| `content_filters` | List[[components.ContentFilterEntry](../components/contentfilterentry.mdx)] | :heavy_minus_sign: | Custom regex content filters to apply. Set to null to remove. | null |
+| `content_filter_builtins` | List[[components.ContentFilterBuiltinEntryInput](../components/contentfilterbuiltinentryinput)] | :heavy_minus_sign: | Builtin content filters to apply. Set to null to remove. Every builtin slug supports "block", "redact", and the detect-only "flag" action. | [
\{
"action": "block",
"slug": "regex-prompt-injection"
}
] |
+| `content_filters` | List[[components.ContentFilterEntry](../components/contentfilterentry)] | :heavy_minus_sign: | Custom regex content filters to apply. Set to null to remove. | null |
| `description` | *OptionalNullable[str]* | :heavy_minus_sign: | New description for the guardrail | Updated description |
| `enable_free_model_publication` | *OptionalNullable[bool]* | :heavy_minus_sign: | Whether this guardrail allows free endpoints that publish prompts. | false |
| `enable_free_model_training` | *OptionalNullable[bool]* | :heavy_minus_sign: | Whether this guardrail allows free endpoints that train on request data. | true |
@@ -25,4 +25,4 @@ title: "UpdateGuardrailRequest"
| `include_byok_in_budgets` | *Optional[bool]* | :heavy_minus_sign: | Whether BYOK (bring-your-own-key) inference spend counts toward this guardrail's limit_usd, in addition to OpenRouter credit spend. Omit to leave unchanged. | true |
| `limit_usd` | *OptionalNullable[float]* | :heavy_minus_sign: | New spending limit in USD | 75 |
| `name` | *Optional[str]* | :heavy_minus_sign: | New name for the guardrail | Updated Guardrail Name |
-| `reset_interval` | [OptionalNullable[components.GuardrailInterval]](../components/guardrailinterval.mdx) | :heavy_minus_sign: | Interval at which the limit resets (daily, weekly, monthly) | monthly |
\ No newline at end of file
+| `reset_interval` | [OptionalNullable[components.GuardrailInterval]](../components/guardrailinterval) | :heavy_minus_sign: | Interval at which the limit resets (daily, weekly, monthly) | monthly |
\ No newline at end of file
diff --git a/docs/components/updateguardrailresponse.mdx b/docs/components/updateguardrailresponse.mdx
index 9afd1bfd..555ef66b 100644
--- a/docs/components/updateguardrailresponse.mdx
+++ b/docs/components/updateguardrailresponse.mdx
@@ -6,4 +6,4 @@ title: "UpdateGuardrailResponse"
| Field | Type | Required | Description | Example |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `data` | [components.Guardrail](../components/guardrail.mdx) | :heavy_check_mark: | N/A | \{
"allowed_models": null,
"allowed_providers": [
"openai",
"anthropic",
"google"
],
"content_filter_builtins": [
\{
"action": "redact",
"label": "[EMAIL]",
"slug": "email"
}
],
"content_filters": null,
"created_at": "2025-08-24T10:30:00Z",
"description": "Guardrail for production environment",
"enable_free_model_publication": false,
"enable_free_model_training": true,
"enable_paid_model_training": true,
"enforce_zdr": null,
"enforce_zdr_anthropic": true,
"enforce_zdr_google": false,
"enforce_zdr_openai": true,
"enforce_zdr_other": false,
"enforce_zdr_xai": false,
"id": "550e8400-e29b-41d4-a716-446655440000",
"ignored_models": null,
"ignored_providers": null,
"include_byok_in_budgets": false,
"limit_usd": 100,
"name": "Production Guardrail",
"reset_interval": "monthly",
"updated_at": "2025-08-24T15:45:00Z",
"workspace_id": "0df9e665-d932-5740-b2c7-b52af166bc11"
} |
\ No newline at end of file
+| `data` | [components.Guardrail](../components/guardrail) | :heavy_check_mark: | N/A | \{
"allowed_models": null,
"allowed_providers": [
"openai",
"anthropic",
"google"
],
"content_filter_builtins": [
\{
"action": "redact",
"label": "[EMAIL]",
"slug": "email"
}
],
"content_filters": null,
"created_at": "2025-08-24T10:30:00Z",
"description": "Guardrail for production environment",
"enable_free_model_publication": false,
"enable_free_model_training": true,
"enable_paid_model_training": true,
"enforce_zdr": null,
"enforce_zdr_anthropic": true,
"enforce_zdr_google": false,
"enforce_zdr_openai": true,
"enforce_zdr_other": false,
"enforce_zdr_xai": false,
"id": "550e8400-e29b-41d4-a716-446655440000",
"ignored_models": null,
"ignored_providers": null,
"include_byok_in_budgets": false,
"limit_usd": 100,
"name": "Production Guardrail",
"reset_interval": "monthly",
"updated_at": "2025-08-24T15:45:00Z",
"workspace_id": "0df9e665-d932-5740-b2c7-b52af166bc11"
} |
\ No newline at end of file
diff --git a/docs/components/updateobservabilitydestinationrequest.mdx b/docs/components/updateobservabilitydestinationrequest.mdx
index 56bffb4e..af52fdc3 100644
--- a/docs/components/updateobservabilitydestinationrequest.mdx
+++ b/docs/components/updateobservabilitydestinationrequest.mdx
@@ -9,7 +9,7 @@ title: "UpdateObservabilityDestinationRequest"
| `api_key_hashes` | List[*str*] | :heavy_minus_sign: | Optional allowlist of OpenRouter API key hashes. `null` clears the filter (all keys). Omitting leaves the current value. Must contain at least one hash if provided. | null |
| `config` | Dict[str, *Any*] | :heavy_minus_sign: | Provider-specific configuration fields to update. Masked values are ignored; unset fields keep their current value. | \{
"baseUrl": "https://us.cloud.langfuse.com",
"publicKey": "pk-l...EfGh",
"secretKey": "sk-l...AbCd"
} |
| `enabled` | *Optional[bool]* | :heavy_minus_sign: | Whether the destination is enabled. | true |
-| `filter_rules` | [OptionalNullable[components.ObservabilityFilterRulesConfigNullable]](../components/observabilityfilterrulesconfignullable.mdx) | :heavy_minus_sign: | N/A | null |
+| `filter_rules` | [OptionalNullable[components.ObservabilityFilterRulesConfigNullable]](../components/observabilityfilterrulesconfignullable) | :heavy_minus_sign: | N/A | null |
| `name` | *Optional[str]* | :heavy_minus_sign: | Human-readable name for the destination. | Production Langfuse |
| `privacy_mode` | *Optional[bool]* | :heavy_minus_sign: | When true, request/response bodies are not forwarded — only metadata. | false |
| `sampling_rate` | *Optional[float]* | :heavy_minus_sign: | Sampling rate between 0.0001 and 1 (1 = 100%). | 1 |
\ No newline at end of file
diff --git a/docs/components/updateobservabilitydestinationresponse.mdx b/docs/components/updateobservabilitydestinationresponse.mdx
index c7aba437..5f727dbb 100644
--- a/docs/components/updateobservabilitydestinationresponse.mdx
+++ b/docs/components/updateobservabilitydestinationresponse.mdx
@@ -6,4 +6,4 @@ title: "UpdateObservabilityDestinationResponse"
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `data` | [components.ObservabilityDestination](../components/observabilitydestination.mdx) | :heavy_check_mark: | N/A | \{
"api_key_hashes": null,
"config": \{
"baseUrl": "https://us.cloud.langfuse.com",
"publicKey": "pk-l...EfGh",
"secretKey": "sk-l...AbCd"
},
"created_at": "2025-08-24T10:30:00Z",
"enabled": true,
"filter_rules": null,
"id": "99999999-aaaa-bbbb-cccc-dddddddddddd",
"name": "Production Langfuse",
"privacy_mode": false,
"sampling_rate": 1,
"type": "langfuse",
"updated_at": "2025-08-24T15:45:00Z",
"workspace_id": "550e8400-e29b-41d4-a716-446655440000"
} |
\ No newline at end of file
+| `data` | [components.ObservabilityDestination](../components/observabilitydestination) | :heavy_check_mark: | N/A | \{
"api_key_hashes": null,
"config": \{
"baseUrl": "https://us.cloud.langfuse.com",
"publicKey": "pk-l...EfGh",
"secretKey": "sk-l...AbCd"
},
"created_at": "2025-08-24T10:30:00Z",
"enabled": true,
"filter_rules": null,
"id": "99999999-aaaa-bbbb-cccc-dddddddddddd",
"name": "Production Langfuse",
"privacy_mode": false,
"sampling_rate": 1,
"type": "langfuse",
"updated_at": "2025-08-24T15:45:00Z",
"workspace_id": "550e8400-e29b-41d4-a716-446655440000"
} |
\ No newline at end of file
diff --git a/docs/components/updateworkspaceresponse.mdx b/docs/components/updateworkspaceresponse.mdx
index 16dd41f1..af2fd357 100644
--- a/docs/components/updateworkspaceresponse.mdx
+++ b/docs/components/updateworkspaceresponse.mdx
@@ -6,4 +6,4 @@ title: "UpdateWorkspaceResponse"
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `data` | [components.Workspace](../components/workspace.mdx) | :heavy_check_mark: | N/A | \{
"created_at": "2025-08-24T10:30:00Z",
"created_by": "user_abc123",
"default_guardrail_id": "595d5849-7e86-51fd-a7c0-705c34e4afff",
"default_image_model": "openai/dall-e-3",
"default_provider_sort": "price",
"default_text_model": "openai/gpt-4o",
"description": "Production environment workspace",
"id": "550e8400-e29b-41d4-a716-446655440000",
"io_logging_api_key_ids": null,
"io_logging_sampling_rate": 1,
"is_data_discount_logging_enabled": true,
"is_observability_broadcast_enabled": false,
"is_observability_io_logging_enabled": false,
"name": "Production",
"slug": "production",
"updated_at": "2025-08-24T15:45:00Z"
} |
\ No newline at end of file
+| `data` | [components.Workspace](../components/workspace) | :heavy_check_mark: | N/A | \{
"created_at": "2025-08-24T10:30:00Z",
"created_by": "user_abc123",
"default_guardrail_id": "595d5849-7e86-51fd-a7c0-705c34e4afff",
"default_image_model": "openai/dall-e-3",
"default_provider_sort": "price",
"default_text_model": "openai/gpt-4o",
"description": "Production environment workspace",
"id": "550e8400-e29b-41d4-a716-446655440000",
"io_logging_api_key_ids": null,
"io_logging_sampling_rate": 1,
"is_data_discount_logging_enabled": true,
"is_observability_broadcast_enabled": false,
"is_observability_io_logging_enabled": false,
"name": "Production",
"slug": "production",
"updated_at": "2025-08-24T15:45:00Z"
} |
\ No newline at end of file
diff --git a/docs/components/upsertworkspacebudgetresponse.mdx b/docs/components/upsertworkspacebudgetresponse.mdx
index 6c975bc4..3f6f06d4 100644
--- a/docs/components/upsertworkspacebudgetresponse.mdx
+++ b/docs/components/upsertworkspacebudgetresponse.mdx
@@ -6,4 +6,4 @@ title: "UpsertWorkspaceBudgetResponse"
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `data` | [components.WorkspaceBudget](../components/workspacebudget.mdx) | :heavy_check_mark: | N/A | \{
"created_at": "2025-08-24T10:30:00Z",
"id": "770e8400-e29b-41d4-a716-446655440000",
"limit_usd": 100,
"reset_interval": "monthly",
"updated_at": "2025-08-24T15:45:00Z",
"workspace_id": "550e8400-e29b-41d4-a716-446655440000"
} |
\ No newline at end of file
+| `data` | [components.WorkspaceBudget](../components/workspacebudget) | :heavy_check_mark: | N/A | \{
"created_at": "2025-08-24T10:30:00Z",
"id": "770e8400-e29b-41d4-a716-446655440000",
"limit_usd": 100,
"reset_interval": "monthly",
"updated_at": "2025-08-24T15:45:00Z",
"workspace_id": "550e8400-e29b-41d4-a716-446655440000"
} |
\ No newline at end of file
diff --git a/docs/components/urlcitation.mdx b/docs/components/urlcitation.mdx
index 0386b33d..16a705aa 100644
--- a/docs/components/urlcitation.mdx
+++ b/docs/components/urlcitation.mdx
@@ -10,5 +10,5 @@ title: "URLCitation"
| `end_index` | *int* | :heavy_check_mark: | N/A |
| `start_index` | *int* | :heavy_check_mark: | N/A |
| `title` | *str* | :heavy_check_mark: | N/A |
-| `type` | [components.URLCitationType](../components/urlcitationtype.mdx) | :heavy_check_mark: | N/A |
+| `type` | [components.URLCitationType](../components/urlcitationtype) | :heavy_check_mark: | N/A |
| `url` | *str* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/usage.mdx b/docs/components/usage.mdx
index bdccd146..c6a7457a 100644
--- a/docs/components/usage.mdx
+++ b/docs/components/usage.mdx
@@ -7,11 +7,11 @@ title: "Usage"
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ |
| `input_tokens` | *int* | :heavy_check_mark: | N/A | |
-| `input_tokens_details` | [components.InputTokensDetails](../components/inputtokensdetails.mdx) | :heavy_check_mark: | N/A | |
+| `input_tokens_details` | [components.InputTokensDetails](../components/inputtokensdetails) | :heavy_check_mark: | N/A | |
| `output_tokens` | *int* | :heavy_check_mark: | N/A | |
-| `output_tokens_details` | [components.OutputTokensDetails](../components/outputtokensdetails.mdx) | :heavy_check_mark: | N/A | |
+| `output_tokens_details` | [components.OutputTokensDetails](../components/outputtokensdetails) | :heavy_check_mark: | N/A | |
| `total_tokens` | *int* | :heavy_check_mark: | N/A | |
| `cost` | *OptionalNullable[float]* | :heavy_minus_sign: | Cost of the completion | |
-| `cost_details` | [Optional[components.UsageCostDetails]](../components/usagecostdetails.mdx) | :heavy_minus_sign: | N/A | |
+| `cost_details` | [Optional[components.UsageCostDetails]](../components/usagecostdetails) | :heavy_minus_sign: | N/A | |
| `is_byok` | *Optional[bool]* | :heavy_minus_sign: | Whether a request was made using a Bring Your Own Key configuration | |
-| `server_tool_use_details` | [OptionalNullable[components.ServerToolUseDetails]](../components/servertoolusedetails.mdx) | :heavy_minus_sign: | Usage for server-side tool execution (e.g., web search) | \{
"tool_calls_executed": 2,
"tool_calls_requested": 2,
"web_search_requests": 2
} |
\ No newline at end of file
+| `server_tool_use_details` | [OptionalNullable[components.ServerToolUseDetails]](../components/servertoolusedetails) | :heavy_minus_sign: | Usage for server-side tool execution (e.g., web search) | \{
"tool_calls_executed": 2,
"tool_calls_requested": 2,
"web_search_requests": 2
} |
\ No newline at end of file
diff --git a/docs/components/userlocation.mdx b/docs/components/userlocation.mdx
index 2b1814db..b89c99c6 100644
--- a/docs/components/userlocation.mdx
+++ b/docs/components/userlocation.mdx
@@ -13,4 +13,4 @@ Approximate user location for location-biased search results. Passed through to
| `country` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A |
| `region` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A |
| `timezone` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A |
-| `type` | [components.WebSearchPluginType](../components/websearchplugintype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.WebSearchPluginType](../components/websearchplugintype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/videogenerationrequest.mdx b/docs/components/videogenerationrequest.mdx
index e055725b..af8584c4 100644
--- a/docs/components/videogenerationrequest.mdx
+++ b/docs/components/videogenerationrequest.mdx
@@ -6,15 +6,15 @@ title: "VideoGenerationRequest"
| Field | Type | Required | Description | Example |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `aspect_ratio` | [Optional[components.VideoGenerationRequestAspectRatio]](../components/videogenerationrequestaspectratio.mdx) | :heavy_minus_sign: | Aspect ratio of the generated video | 16:9 |
+| `aspect_ratio` | [Optional[components.VideoGenerationRequestAspectRatio]](../components/videogenerationrequestaspectratio) | :heavy_minus_sign: | Aspect ratio of the generated video | 16:9 |
| `callback_url` | *Optional[str]* | :heavy_minus_sign: | URL to receive a webhook notification when the video generation job completes. Overrides the workspace-level default callback URL if set. Must be HTTPS. | https://example.com/webhook |
| `duration` | *Optional[int]* | :heavy_minus_sign: | Duration of the generated video in seconds | 8 |
-| `frame_images` | List[[components.FrameImage](../components/frameimage.mdx)] | :heavy_minus_sign: | Images to use as the first and/or last frame of the generated video. Each image must specify a frame_type of first_frame or last_frame. | |
+| `frame_images` | List[[components.FrameImage](../components/frameimage)] | :heavy_minus_sign: | Images to use as the first and/or last frame of the generated video. Each image must specify a frame_type of first_frame or last_frame. | |
| `generate_audio` | *Optional[bool]* | :heavy_minus_sign: | Whether to generate audio alongside the video. Defaults to the endpoint's generate_audio capability flag, false if not set. | true |
-| `input_references` | List[[components.InputReference](../components/inputreference.mdx)] | :heavy_minus_sign: | Reference assets to guide video generation. Accepts image, audio, and video references. Audio and video references are only honored by providers that support them (currently BytePlus Seedance 2.0); other providers use image references and ignore the rest. | |
+| `input_references` | List[[components.InputReference](../components/inputreference)] | :heavy_minus_sign: | Reference assets to guide video generation. Accepts image, audio, and video references. Audio and video references are only honored by providers that support them (currently BytePlus Seedance 2.0); other providers use image references and ignore the rest. | |
| `model` | *str* | :heavy_check_mark: | N/A | |
| `prompt` | *Optional[str]* | :heavy_minus_sign: | Text prompt describing the video to generate. Optional for models that support generating a video from image input alone; required by all other models. | A serene mountain landscape at sunset |
-| `provider` | [Optional[components.VideoGenerationRequestProvider]](../components/videogenerationrequestprovider.mdx) | :heavy_minus_sign: | Provider-specific passthrough configuration | |
-| `resolution` | [Optional[components.VideoGenerationRequestResolution]](../components/videogenerationrequestresolution.mdx) | :heavy_minus_sign: | Resolution of the generated video | 720p |
+| `provider` | [Optional[components.VideoGenerationRequestProvider]](../components/videogenerationrequestprovider) | :heavy_minus_sign: | Provider-specific passthrough configuration | |
+| `resolution` | [Optional[components.VideoGenerationRequestResolution]](../components/videogenerationrequestresolution) | :heavy_minus_sign: | Resolution of the generated video | 720p |
| `seed` | *Optional[int]* | :heavy_minus_sign: | If specified, the generation will sample deterministically, such that repeated requests with the same seed and parameters should return the same result. Determinism is not guaranteed for all providers. | |
| `size` | *Optional[str]* | :heavy_minus_sign: | Exact pixel dimensions of the generated video in "WIDTHxHEIGHT" format (e.g. "1280x720"). Interchangeable with resolution + aspect_ratio. | 1280x720 |
\ No newline at end of file
diff --git a/docs/components/videogenerationrequestprovider.mdx b/docs/components/videogenerationrequestprovider.mdx
index 63d00957..42dc58a3 100644
--- a/docs/components/videogenerationrequestprovider.mdx
+++ b/docs/components/videogenerationrequestprovider.mdx
@@ -9,4 +9,4 @@ Provider-specific passthrough configuration
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
-| `options` | [Optional[components.VideoGenerationRequestOptions]](../components/videogenerationrequestoptions.mdx) | :heavy_minus_sign: | N/A | \{
"google-vertex": \{
"output_config": \{
"effort": "low"
}
}
} |
\ No newline at end of file
+| `options` | [Optional[components.VideoGenerationRequestOptions]](../components/videogenerationrequestoptions) | :heavy_minus_sign: | N/A | \{
"google-vertex": \{
"output_config": \{
"effort": "low"
}
}
} |
\ No newline at end of file
diff --git a/docs/components/videogenerationresponse.mdx b/docs/components/videogenerationresponse.mdx
index dd365941..20b6e09a 100644
--- a/docs/components/videogenerationresponse.mdx
+++ b/docs/components/videogenerationresponse.mdx
@@ -10,6 +10,6 @@ title: "VideoGenerationResponse"
| `generation_id` | *Optional[str]* | :heavy_minus_sign: | The generation ID associated with this video generation job. Available once the job has been processed. | |
| `id` | *str* | :heavy_check_mark: | N/A | |
| `polling_url` | *str* | :heavy_check_mark: | N/A | |
-| `status` | [components.VideoGenerationResponseStatus](../components/videogenerationresponsestatus.mdx) | :heavy_check_mark: | N/A | |
+| `status` | [components.VideoGenerationResponseStatus](../components/videogenerationresponsestatus) | :heavy_check_mark: | N/A | |
| `unsigned_urls` | List[*str*] | :heavy_minus_sign: | N/A | |
-| `usage` | [Optional[components.VideoGenerationUsage]](../components/videogenerationusage.mdx) | :heavy_minus_sign: | Usage and cost information for the video generation. Available once the job has completed. | \{
"cost": 0.5,
"is_byok": false
} |
\ No newline at end of file
+| `usage` | [Optional[components.VideoGenerationUsage]](../components/videogenerationusage) | :heavy_minus_sign: | Usage and cost information for the video generation. Available once the job has completed. | \{
"cost": 0.5,
"is_byok": false
} |
\ No newline at end of file
diff --git a/docs/components/videomodel.mdx b/docs/components/videomodel.mdx
index ad8a6c3f..d364e7aa 100644
--- a/docs/components/videomodel.mdx
+++ b/docs/components/videomodel.mdx
@@ -16,8 +16,8 @@ title: "VideoModel"
| `name` | *str* | :heavy_check_mark: | Display name of the model | GPT-4 |
| `pricing_skus` | Dict[str, *str*] | :heavy_minus_sign: | Pricing SKUs with provider prefix stripped, values as strings | |
| `seed` | *Nullable[bool]* | :heavy_check_mark: | Whether the model supports deterministic generation via seed parameter | |
-| `supported_aspect_ratios` | List[[components.SupportedAspectRatio](../components/supportedaspectratio.mdx)] | :heavy_check_mark: | Supported output aspect ratios | |
+| `supported_aspect_ratios` | List[[components.SupportedAspectRatio](../components/supportedaspectratio)] | :heavy_check_mark: | Supported output aspect ratios | |
| `supported_durations` | List[*int*] | :heavy_check_mark: | Supported video durations in seconds | |
-| `supported_frame_images` | List[[components.SupportedFrameImage](../components/supportedframeimage.mdx)] | :heavy_check_mark: | Supported frame image types (e.g. first_frame, last_frame) | |
-| `supported_resolutions` | List[[components.SupportedResolution](../components/supportedresolution.mdx)] | :heavy_check_mark: | Supported output resolutions | |
-| `supported_sizes` | List[[components.SupportedSize](../components/supportedsize.mdx)] | :heavy_check_mark: | Supported output sizes (width x height) | |
\ No newline at end of file
+| `supported_frame_images` | List[[components.SupportedFrameImage](../components/supportedframeimage)] | :heavy_check_mark: | Supported frame image types (e.g. first_frame, last_frame) | |
+| `supported_resolutions` | List[[components.SupportedResolution](../components/supportedresolution)] | :heavy_check_mark: | Supported output resolutions | |
+| `supported_sizes` | List[[components.SupportedSize](../components/supportedsize)] | :heavy_check_mark: | Supported output sizes (width x height) | |
\ No newline at end of file
diff --git a/docs/components/videomodelslistresponse.mdx b/docs/components/videomodelslistresponse.mdx
index 9199c3b3..d1523067 100644
--- a/docs/components/videomodelslistresponse.mdx
+++ b/docs/components/videomodelslistresponse.mdx
@@ -6,4 +6,4 @@ title: "VideoModelsListResponse"
| Field | Type | Required | Description |
| ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- |
-| `data` | List[[components.VideoModel](../components/videomodel.mdx)] | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `data` | List[[components.VideoModel](../components/videomodel)] | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/webfetchplugin.mdx b/docs/components/webfetchplugin.mdx
index f4651287..9c067bf5 100644
--- a/docs/components/webfetchplugin.mdx
+++ b/docs/components/webfetchplugin.mdx
@@ -8,6 +8,6 @@ title: "WebFetchPlugin"
| ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
| `allowed_domains` | List[*str*] | :heavy_minus_sign: | Only fetch from these domains. |
| `blocked_domains` | List[*str*] | :heavy_minus_sign: | Never fetch from these domains. |
-| `id` | [components.WebFetchPluginID](../components/webfetchpluginid.mdx) | :heavy_check_mark: | N/A |
+| `id` | [components.WebFetchPluginID](../components/webfetchpluginid) | :heavy_check_mark: | N/A |
| `max_content_tokens` | *Optional[int]* | :heavy_minus_sign: | Maximum content length in approximate tokens. Content exceeding this limit is truncated. |
| `max_uses` | *Optional[int]* | :heavy_minus_sign: | Maximum number of web fetches per request. Once exceeded, the tool returns an error. |
\ No newline at end of file
diff --git a/docs/components/webfetchservertool.mdx b/docs/components/webfetchservertool.mdx
index fe93938c..c31af2c0 100644
--- a/docs/components/webfetchservertool.mdx
+++ b/docs/components/webfetchservertool.mdx
@@ -9,5 +9,5 @@ OpenRouter built-in server tool: fetches full content from a URL (web page or PD
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ |
-| `parameters` | [Optional[components.WebFetchServerToolConfig]](../components/webfetchservertoolconfig.mdx) | :heavy_minus_sign: | Configuration for the openrouter:web_fetch server tool | \{
"max_content_tokens": 100000,
"max_uses": 10
} |
-| `type` | [components.WebFetchServerToolType](../components/webfetchservertooltype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `parameters` | [Optional[components.WebFetchServerToolConfig]](../components/webfetchservertoolconfig) | :heavy_minus_sign: | Configuration for the openrouter:web_fetch server tool | \{
"max_content_tokens": 100000,
"max_uses": 10
} |
+| `type` | [components.WebFetchServerToolType](../components/webfetchservertooltype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/webfetchservertoolconfig.mdx b/docs/components/webfetchservertoolconfig.mdx
index 1d52d81a..9b11395a 100644
--- a/docs/components/webfetchservertoolconfig.mdx
+++ b/docs/components/webfetchservertoolconfig.mdx
@@ -11,6 +11,6 @@ Configuration for the openrouter:web_fetch server tool
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `allowed_domains` | List[*str*] | :heavy_minus_sign: | Only fetch from these domains. | |
| `blocked_domains` | List[*str*] | :heavy_minus_sign: | Never fetch from these domains. | |
-| `engine` | [Optional[components.WebFetchEngineEnum]](../components/webfetchengineenum.mdx) | :heavy_minus_sign: | Which fetch engine to use. "auto" (default) uses native if the provider supports it, otherwise Exa. "native" forces the provider's built-in fetch. "exa" uses Exa Contents API. "openrouter" uses direct HTTP fetch. "firecrawl" uses Firecrawl scrape (requires BYOK). "parallel" uses the Parallel extract API. | auto |
+| `engine` | [Optional[components.WebFetchEngineEnum]](../components/webfetchengineenum) | :heavy_minus_sign: | Which fetch engine to use. "auto" (default) uses native if the provider supports it, otherwise Exa. "native" forces the provider's built-in fetch. "exa" uses Exa Contents API. "openrouter" uses direct HTTP fetch. "firecrawl" uses Firecrawl scrape (requires BYOK). "parallel" uses the Parallel extract API. | auto |
| `max_content_tokens` | *Optional[int]* | :heavy_minus_sign: | Maximum content length in approximate tokens. Content exceeding this limit is truncated. | 100000 |
| `max_uses` | *Optional[int]* | :heavy_minus_sign: | Maximum number of web fetches per request. Once exceeded, the tool returns an error. | 10 |
\ No newline at end of file
diff --git a/docs/components/websearchcallcompletedevent.mdx b/docs/components/websearchcallcompletedevent.mdx
index 34bcc1fe..1c592635 100644
--- a/docs/components/websearchcallcompletedevent.mdx
+++ b/docs/components/websearchcallcompletedevent.mdx
@@ -12,4 +12,4 @@ Web search call completed
| `item_id` | *str* | :heavy_check_mark: | N/A |
| `output_index` | *int* | :heavy_check_mark: | N/A |
| `sequence_number` | *int* | :heavy_check_mark: | N/A |
-| `type` | [components.WebSearchCallCompletedEventType](../components/websearchcallcompletedeventtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.WebSearchCallCompletedEventType](../components/websearchcallcompletedeventtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/websearchcallinprogressevent.mdx b/docs/components/websearchcallinprogressevent.mdx
index eaf3e606..bbeb0b47 100644
--- a/docs/components/websearchcallinprogressevent.mdx
+++ b/docs/components/websearchcallinprogressevent.mdx
@@ -12,4 +12,4 @@ Web search call in progress
| `item_id` | *str* | :heavy_check_mark: | N/A |
| `output_index` | *int* | :heavy_check_mark: | N/A |
| `sequence_number` | *int* | :heavy_check_mark: | N/A |
-| `type` | [components.WebSearchCallInProgressEventType](../components/websearchcallinprogresseventtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.WebSearchCallInProgressEventType](../components/websearchcallinprogresseventtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/websearchcallsearchingevent.mdx b/docs/components/websearchcallsearchingevent.mdx
index 5cd28105..109b9030 100644
--- a/docs/components/websearchcallsearchingevent.mdx
+++ b/docs/components/websearchcallsearchingevent.mdx
@@ -12,4 +12,4 @@ Web search call is searching
| `item_id` | *str* | :heavy_check_mark: | N/A |
| `output_index` | *int* | :heavy_check_mark: | N/A |
| `sequence_number` | *int* | :heavy_check_mark: | N/A |
-| `type` | [components.WebSearchCallSearchingEventType](../components/websearchcallsearchingeventtype.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [components.WebSearchCallSearchingEventType](../components/websearchcallsearchingeventtype) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/websearchconfig.mdx b/docs/components/websearchconfig.mdx
index d7fecd7b..a0e77700 100644
--- a/docs/components/websearchconfig.mdx
+++ b/docs/components/websearchconfig.mdx
@@ -7,11 +7,11 @@ title: "WebSearchConfig"
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `allowed_domains` | List[*str*] | :heavy_minus_sign: | Limit search results to these domains. Supported by Exa, Firecrawl, Parallel, Perplexity, and most native providers (Anthropic, OpenAI, xAI). Cannot be used with excluded_domains. | |
-| `engine` | [Optional[components.WebSearchEngineEnum]](../components/websearchengineenum.mdx) | :heavy_minus_sign: | Which search engine to use. "auto" (default) uses native if the provider supports it, otherwise Exa. "native" forces the provider's built-in search. "exa" forces the Exa search API. "firecrawl" uses Firecrawl (requires BYOK). "parallel" uses the Parallel search API. "perplexity" uses the Perplexity Search API (raw ranked results). | auto |
+| `engine` | [Optional[components.WebSearchEngineEnum]](../components/websearchengineenum) | :heavy_minus_sign: | Which search engine to use. "auto" (default) uses native if the provider supports it, otherwise Exa. "native" forces the provider's built-in search. "exa" forces the Exa search API. "firecrawl" uses Firecrawl (requires BYOK). "parallel" uses the Parallel search API. "perplexity" uses the Perplexity Search API (raw ranked results). | auto |
| `excluded_domains` | List[*str*] | :heavy_minus_sign: | Exclude search results from these domains. Supported by Exa, Firecrawl, Parallel, Perplexity, Anthropic, OpenAI, and xAI. Cannot be used with allowed_domains. | |
| `max_characters` | *Optional[int]* | :heavy_minus_sign: | Exact maximum number of characters of content per search result. Applies to the Exa, Parallel, and Perplexity engines; ignored with native provider search and Firecrawl. For Exa, caps highlight content per result. For Parallel, caps excerpt content per result (default 1,500 when omitted). For Perplexity, maps to the native `max_tokens_per_page` parameter (converted from characters to tokens) and trims the response to the exact character cap. When both `max_characters` and `search_context_size` are set, `max_characters` takes precedence. When omitted, falls back to `search_context_size` mapping (Exa) or engine defaults (Parallel, Perplexity). | 2000 |
| `max_results` | *Optional[int]* | :heavy_minus_sign: | Maximum number of search results to return per search call. Defaults to 5. Applies to Exa, Firecrawl, Parallel, and Perplexity engines; ignored with native provider search. Perplexity supports a maximum of 20; values above 20 are clamped. | 5 |
| `max_total_results` | *Optional[int]* | :heavy_minus_sign: | Maximum total number of search results across all search calls in a single request. Once this limit is reached, the tool will stop returning new results. Useful for controlling cost and context size in agentic loops. Defaults to 50 when not specified. | 50 |
| `max_uses` | *Optional[int]* | :heavy_minus_sign: | Maximum number of web searches the model may perform in a single request. Once reached, further search calls return an error result instead of executing. Applies to the Exa, Firecrawl, Parallel, and Perplexity engines. With native provider search, forwarded only to Anthropic (as `max_uses`); other native search providers have no equivalent parameter and ignore it. | 3 |
-| `search_context_size` | [Optional[components.SearchQualityLevel]](../components/searchqualitylevel.mdx) | :heavy_minus_sign: | How much context to retrieve per result. Applies to Exa, Parallel, and Perplexity engines; ignored with native provider search and Firecrawl. For Exa, pins a fixed per-result character cap (low=5,000, medium=15,000, high=30,000); when omitted, Exa picks an adaptive size per query and document (typically ~2,000–4,000 characters per result). For Parallel, controls the total characters across all results; when omitted, Parallel uses its own default size. For Perplexity, maps directly to the Search API's native search_context_size parameter. Overridden by `max_characters` when both are set. | medium |
-| `user_location` | [Optional[components.WebSearchUserLocationServerTool]](../components/websearchuserlocationservertool.mdx) | :heavy_minus_sign: | Approximate user location for location-biased results. | \{
"city": "San Francisco",
"country": "US",
"region": "California",
"timezone": "America/Los_Angeles",
"type": "approximate"
} |
\ No newline at end of file
+| `search_context_size` | [Optional[components.SearchQualityLevel]](../components/searchqualitylevel) | :heavy_minus_sign: | How much context to retrieve per result. Applies to Exa, Parallel, and Perplexity engines; ignored with native provider search and Firecrawl. For Exa, pins a fixed per-result character cap (low=5,000, medium=15,000, high=30,000); when omitted, Exa picks an adaptive size per query and document (typically ~2,000–4,000 characters per result). For Parallel, controls the total characters across all results; when omitted, Parallel uses its own default size. For Perplexity, maps directly to the Search API's native search_context_size parameter. Overridden by `max_characters` when both are set. | medium |
+| `user_location` | [Optional[components.WebSearchUserLocationServerTool]](../components/websearchuserlocationservertool) | :heavy_minus_sign: | Approximate user location for location-biased results. | \{
"city": "San Francisco",
"country": "US",
"region": "California",
"timezone": "America/Los_Angeles",
"type": "approximate"
} |
\ No newline at end of file
diff --git a/docs/components/websearchplugin.mdx b/docs/components/websearchplugin.mdx
index c4cbc7b9..427450a0 100644
--- a/docs/components/websearchplugin.mdx
+++ b/docs/components/websearchplugin.mdx
@@ -7,11 +7,11 @@ title: "WebSearchPlugin"
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| `enabled` | *Optional[bool]* | :heavy_minus_sign: | Set to false to disable the web-search plugin for this request. Defaults to true. | |
-| `engine` | [Optional[components.WebSearchEngine]](../components/websearchengine.mdx) | :heavy_minus_sign: | The search engine to use for web search. | exa |
+| `engine` | [Optional[components.WebSearchEngine]](../components/websearchengine) | :heavy_minus_sign: | The search engine to use for web search. | exa |
| `exclude_domains` | List[*str*] | :heavy_minus_sign: | A list of domains to exclude from web search results. Supports wildcards (e.g. "*.substack.com") and path filtering (e.g. "openai.com/blog"). | [
"example.com",
"*.substack.com",
"openai.com/blog"
] |
-| `id` | [components.WebSearchPluginID](../components/websearchpluginid.mdx) | :heavy_check_mark: | N/A | |
+| `id` | [components.WebSearchPluginID](../components/websearchpluginid) | :heavy_check_mark: | N/A | |
| `include_domains` | List[*str*] | :heavy_minus_sign: | A list of domains to restrict web search results to. Supports wildcards (e.g. "*.substack.com") and path filtering (e.g. "openai.com/blog"). | [
"example.com",
"*.substack.com",
"openai.com/blog"
] |
| `max_results` | *Optional[int]* | :heavy_minus_sign: | N/A | |
| `max_uses` | *Optional[int]* | :heavy_minus_sign: | Maximum number of times the model can invoke web search in a single turn. Passed through to native providers that support it (e.g. Anthropic). | |
| `search_prompt` | *Optional[str]* | :heavy_minus_sign: | N/A | |
-| `user_location` | [OptionalNullable[components.UserLocation]](../components/userlocation.mdx) | :heavy_minus_sign: | N/A | \{
"city": "San Francisco",
"country": "US",
"region": "California",
"timezone": "America/Los_Angeles",
"type": "approximate"
} |
\ No newline at end of file
+| `user_location` | [OptionalNullable[components.UserLocation]](../components/userlocation) | :heavy_minus_sign: | N/A | \{
"city": "San Francisco",
"country": "US",
"region": "California",
"timezone": "America/Los_Angeles",
"type": "approximate"
} |
\ No newline at end of file
diff --git a/docs/components/websearchservertool.mdx b/docs/components/websearchservertool.mdx
index 30f7dd63..e67f2688 100644
--- a/docs/components/websearchservertool.mdx
+++ b/docs/components/websearchservertool.mdx
@@ -9,10 +9,10 @@ Web search tool configuration (2025-08-26 version)
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `engine` | [Optional[components.WebSearchEngineEnum]](../components/websearchengineenum.mdx) | :heavy_minus_sign: | Which search engine to use. "auto" (default) uses native if the provider supports it, otherwise Exa. "native" forces the provider's built-in search. "exa" forces the Exa search API. "firecrawl" uses Firecrawl (requires BYOK). "parallel" uses the Parallel search API. "perplexity" uses the Perplexity Search API (raw ranked results). | auto |
-| `filters` | [OptionalNullable[components.WebSearchDomainFilter]](../components/websearchdomainfilter.mdx) | :heavy_minus_sign: | N/A | \{
"allowed_domains": [
"example.com"
],
"blocked_domains": [
"spam.com"
],
"excluded_domains": [
"spam.com"
]
} |
+| `engine` | [Optional[components.WebSearchEngineEnum]](../components/websearchengineenum) | :heavy_minus_sign: | Which search engine to use. "auto" (default) uses native if the provider supports it, otherwise Exa. "native" forces the provider's built-in search. "exa" forces the Exa search API. "firecrawl" uses Firecrawl (requires BYOK). "parallel" uses the Parallel search API. "perplexity" uses the Perplexity Search API (raw ranked results). | auto |
+| `filters` | [OptionalNullable[components.WebSearchDomainFilter]](../components/websearchdomainfilter) | :heavy_minus_sign: | N/A | \{
"allowed_domains": [
"example.com"
],
"blocked_domains": [
"spam.com"
],
"excluded_domains": [
"spam.com"
]
} |
| `max_results` | *Optional[int]* | :heavy_minus_sign: | Maximum number of search results to return per search call. Defaults to 5. Applies to Exa, Firecrawl, Parallel, and Perplexity engines; ignored with native provider search. Perplexity supports a maximum of 20; values above 20 are clamped. | 5 |
| `max_uses` | *Optional[int]* | :heavy_minus_sign: | Maximum number of web searches the model may perform in a single request. Once reached, further search calls return an error result instead of executing. Applies to the Exa, Firecrawl, Parallel, and Perplexity engines. With native provider search, forwarded only to Anthropic (as `max_uses`); other native search providers have no equivalent parameter and ignore it. | 3 |
-| `search_context_size` | [Optional[components.SearchContextSizeEnum]](../components/searchcontextsizeenum.mdx) | :heavy_minus_sign: | Size of the search context for web search tools | medium |
-| `type` | [components.WebSearchServerToolType](../components/websearchservertooltype.mdx) | :heavy_check_mark: | N/A | |
-| `user_location` | [OptionalNullable[components.WebSearchUserLocation]](../components/websearchuserlocation.mdx) | :heavy_minus_sign: | User location information for web search | \{
"city": "San Francisco",
"country": "USA",
"region": "California",
"timezone": "America/Los_Angeles",
"type": "approximate"
} |
\ No newline at end of file
+| `search_context_size` | [Optional[components.SearchContextSizeEnum]](../components/searchcontextsizeenum) | :heavy_minus_sign: | Size of the search context for web search tools | medium |
+| `type` | [components.WebSearchServerToolType](../components/websearchservertooltype) | :heavy_check_mark: | N/A | |
+| `user_location` | [OptionalNullable[components.WebSearchUserLocation]](../components/websearchuserlocation) | :heavy_minus_sign: | User location information for web search | \{
"city": "San Francisco",
"country": "USA",
"region": "California",
"timezone": "America/Los_Angeles",
"type": "approximate"
} |
\ No newline at end of file
diff --git a/docs/components/websearchservertoolconfig.mdx b/docs/components/websearchservertoolconfig.mdx
index 373a48ee..f6139e82 100644
--- a/docs/components/websearchservertoolconfig.mdx
+++ b/docs/components/websearchservertoolconfig.mdx
@@ -10,11 +10,11 @@ Configuration for the openrouter:web_search server tool
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `allowed_domains` | List[*str*] | :heavy_minus_sign: | Limit search results to these domains. Supported by Exa, Firecrawl, Parallel, Perplexity, and most native providers (Anthropic, OpenAI, xAI). Cannot be used with excluded_domains. | |
-| `engine` | [Optional[components.WebSearchEngineEnum]](../components/websearchengineenum.mdx) | :heavy_minus_sign: | Which search engine to use. "auto" (default) uses native if the provider supports it, otherwise Exa. "native" forces the provider's built-in search. "exa" forces the Exa search API. "firecrawl" uses Firecrawl (requires BYOK). "parallel" uses the Parallel search API. "perplexity" uses the Perplexity Search API (raw ranked results). | auto |
+| `engine` | [Optional[components.WebSearchEngineEnum]](../components/websearchengineenum) | :heavy_minus_sign: | Which search engine to use. "auto" (default) uses native if the provider supports it, otherwise Exa. "native" forces the provider's built-in search. "exa" forces the Exa search API. "firecrawl" uses Firecrawl (requires BYOK). "parallel" uses the Parallel search API. "perplexity" uses the Perplexity Search API (raw ranked results). | auto |
| `excluded_domains` | List[*str*] | :heavy_minus_sign: | Exclude search results from these domains. Supported by Exa, Firecrawl, Parallel, Perplexity, Anthropic, OpenAI, and xAI. Cannot be used with allowed_domains. | |
| `max_characters` | *Optional[int]* | :heavy_minus_sign: | Exact maximum number of characters of content per search result. Applies to the Exa, Parallel, and Perplexity engines; ignored with native provider search and Firecrawl. For Exa, caps highlight content per result. For Parallel, caps excerpt content per result (default 1,500 when omitted). For Perplexity, maps to the native `max_tokens_per_page` parameter (converted from characters to tokens) and trims the response to the exact character cap. When both `max_characters` and `search_context_size` are set, `max_characters` takes precedence. When omitted, falls back to `search_context_size` mapping (Exa) or engine defaults (Parallel, Perplexity). | 2000 |
| `max_results` | *Optional[int]* | :heavy_minus_sign: | Maximum number of search results to return per search call. Defaults to 5. Applies to Exa, Firecrawl, Parallel, and Perplexity engines; ignored with native provider search. Perplexity supports a maximum of 20; values above 20 are clamped. | 5 |
| `max_total_results` | *Optional[int]* | :heavy_minus_sign: | Maximum total number of search results across all search calls in a single request. Once this limit is reached, the tool will stop returning new results. Useful for controlling cost and context size in agentic loops. Defaults to 50 when not specified. | 50 |
| `max_uses` | *Optional[int]* | :heavy_minus_sign: | Maximum number of web searches the model may perform in a single request. Once reached, further search calls return an error result instead of executing. Applies to the Exa, Firecrawl, Parallel, and Perplexity engines. With native provider search, forwarded only to Anthropic (as `max_uses`); other native search providers have no equivalent parameter and ignore it. | 3 |
-| `search_context_size` | [Optional[components.SearchQualityLevel]](../components/searchqualitylevel.mdx) | :heavy_minus_sign: | How much context to retrieve per result. Applies to Exa, Parallel, and Perplexity engines; ignored with native provider search and Firecrawl. For Exa, pins a fixed per-result character cap (low=5,000, medium=15,000, high=30,000); when omitted, Exa picks an adaptive size per query and document (typically ~2,000–4,000 characters per result). For Parallel, controls the total characters across all results; when omitted, Parallel uses its own default size. For Perplexity, maps directly to the Search API's native search_context_size parameter. Overridden by `max_characters` when both are set. | medium |
-| `user_location` | [Optional[components.WebSearchUserLocationServerTool]](../components/websearchuserlocationservertool.mdx) | :heavy_minus_sign: | Approximate user location for location-biased results. | \{
"city": "San Francisco",
"country": "US",
"region": "California",
"timezone": "America/Los_Angeles",
"type": "approximate"
} |
\ No newline at end of file
+| `search_context_size` | [Optional[components.SearchQualityLevel]](../components/searchqualitylevel) | :heavy_minus_sign: | How much context to retrieve per result. Applies to Exa, Parallel, and Perplexity engines; ignored with native provider search and Firecrawl. For Exa, pins a fixed per-result character cap (low=5,000, medium=15,000, high=30,000); when omitted, Exa picks an adaptive size per query and document (typically ~2,000–4,000 characters per result). For Parallel, controls the total characters across all results; when omitted, Parallel uses its own default size. For Perplexity, maps directly to the Search API's native search_context_size parameter. Overridden by `max_characters` when both are set. | medium |
+| `user_location` | [Optional[components.WebSearchUserLocationServerTool]](../components/websearchuserlocationservertool) | :heavy_minus_sign: | Approximate user location for location-biased results. | \{
"city": "San Francisco",
"country": "US",
"region": "California",
"timezone": "America/Los_Angeles",
"type": "approximate"
} |
\ No newline at end of file
diff --git a/docs/components/websearchservertoolopenrouter.mdx b/docs/components/websearchservertoolopenrouter.mdx
index 1e3301d3..1a69b10b 100644
--- a/docs/components/websearchservertoolopenrouter.mdx
+++ b/docs/components/websearchservertoolopenrouter.mdx
@@ -9,5 +9,5 @@ OpenRouter built-in server tool: searches the web for current information
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
-| `parameters` | [Optional[components.WebSearchServerToolConfig]](../components/websearchservertoolconfig.mdx) | :heavy_minus_sign: | Configuration for the openrouter:web_search server tool | \{
"max_results": 5,
"search_context_size": "medium"
} |
-| `type` | [components.WebSearchServerToolOpenRouterType](../components/websearchservertoolopenroutertype.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `parameters` | [Optional[components.WebSearchServerToolConfig]](../components/websearchservertoolconfig) | :heavy_minus_sign: | Configuration for the openrouter:web_search server tool | \{
"max_results": 5,
"search_context_size": "medium"
} |
+| `type` | [components.WebSearchServerToolOpenRouterType](../components/websearchservertoolopenroutertype) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/components/websearchsource.mdx b/docs/components/websearchsource.mdx
index 870075f9..048460fb 100644
--- a/docs/components/websearchsource.mdx
+++ b/docs/components/websearchsource.mdx
@@ -6,5 +6,5 @@ title: "WebSearchSource"
| Field | Type | Required | Description |
| ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- |
-| `type` | [components.WebSearchSourceType](../components/websearchsourcetype.mdx) | :heavy_check_mark: | N/A |
+| `type` | [components.WebSearchSourceType](../components/websearchsourcetype) | :heavy_check_mark: | N/A |
| `url` | *str* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/components/websearchuserlocation.mdx b/docs/components/websearchuserlocation.mdx
index dccb9d9a..0cd23ad4 100644
--- a/docs/components/websearchuserlocation.mdx
+++ b/docs/components/websearchuserlocation.mdx
@@ -13,4 +13,4 @@ User location information for web search
| `country` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A |
| `region` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A |
| `timezone` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A |
-| `type` | [Optional[components.WebSearchUserLocationType]](../components/websearchuserlocationtype.mdx) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `type` | [Optional[components.WebSearchUserLocationType]](../components/websearchuserlocationtype) | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/docs/components/websearchuserlocationservertool.mdx b/docs/components/websearchuserlocationservertool.mdx
index 98a2e0b6..78e26297 100644
--- a/docs/components/websearchuserlocationservertool.mdx
+++ b/docs/components/websearchuserlocationservertool.mdx
@@ -13,4 +13,4 @@ Approximate user location for location-biased results.
| `country` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A |
| `region` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A |
| `timezone` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A |
-| `type` | [Optional[components.WebSearchUserLocationServerToolType]](../components/websearchuserlocationservertooltype.mdx) | :heavy_minus_sign: | N/A |
\ No newline at end of file
+| `type` | [Optional[components.WebSearchUserLocationServerToolType]](../components/websearchuserlocationservertooltype) | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/docs/components/workspacebudget.mdx b/docs/components/workspacebudget.mdx
index d9aa348c..682dd243 100644
--- a/docs/components/workspacebudget.mdx
+++ b/docs/components/workspacebudget.mdx
@@ -9,6 +9,6 @@ title: "WorkspaceBudget"
| `created_at` | *str* | :heavy_check_mark: | ISO 8601 timestamp of when the budget was created | 2025-08-24T10:30:00Z |
| `id` | *str* | :heavy_check_mark: | Unique identifier for the budget | 770e8400-e29b-41d4-a716-446655440000 |
| `limit_usd` | *float* | :heavy_check_mark: | Spending limit in USD for this interval | 100 |
-| `reset_interval` | [Nullable[components.ResetInterval]](../components/resetinterval.mdx) | :heavy_check_mark: | Interval at which spend resets. Null means a lifetime (one-time) budget. | monthly |
+| `reset_interval` | [Nullable[components.ResetInterval]](../components/resetinterval) | :heavy_check_mark: | Interval at which spend resets. Null means a lifetime (one-time) budget. | monthly |
| `updated_at` | *str* | :heavy_check_mark: | ISO 8601 timestamp of when the budget was last updated | 2025-08-24T15:45:00Z |
| `workspace_id` | *str* | :heavy_check_mark: | ID of the workspace the budget belongs to | 550e8400-e29b-41d4-a716-446655440000 |
\ No newline at end of file
diff --git a/docs/components/workspacemember.mdx b/docs/components/workspacemember.mdx
index 3e77b3d5..acb5b1c7 100644
--- a/docs/components/workspacemember.mdx
+++ b/docs/components/workspacemember.mdx
@@ -8,6 +8,6 @@ title: "WorkspaceMember"
| ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- |
| `created_at` | *str* | :heavy_check_mark: | ISO 8601 timestamp of when the membership was created | 2025-08-24T10:30:00Z |
| `id` | *str* | :heavy_check_mark: | Unique identifier for the workspace membership | 660e8400-e29b-41d4-a716-446655440000 |
-| `role` | [components.WorkspaceMemberRole](../components/workspacememberrole.mdx) | :heavy_check_mark: | Role of the member in the workspace | member |
+| `role` | [components.WorkspaceMemberRole](../components/workspacememberrole) | :heavy_check_mark: | Role of the member in the workspace | member |
| `user_id` | *str* | :heavy_check_mark: | Clerk user ID of the member | user_abc123 |
| `workspace_id` | *str* | :heavy_check_mark: | ID of the workspace | 550e8400-e29b-41d4-a716-446655440000 |
\ No newline at end of file
diff --git a/docs/errors/badgatewayresponseerror.mdx b/docs/errors/badgatewayresponseerror.mdx
index d596a9c0..0c98498d 100644
--- a/docs/errors/badgatewayresponseerror.mdx
+++ b/docs/errors/badgatewayresponseerror.mdx
@@ -9,6 +9,6 @@ Bad Gateway - Provider/upstream API failure
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
-| `error` | [components.BadGatewayResponseErrorData](../components/badgatewayresponseerrordata.mdx) | :heavy_check_mark: | Error data for BadGatewayResponse | \{
"code": 502,
"message": "Provider returned error"
} |
+| `error` | [components.BadGatewayResponseErrorData](../components/badgatewayresponseerrordata) | :heavy_check_mark: | Error data for BadGatewayResponse | \{
"code": 502,
"message": "Provider returned error"
} |
| `openrouter_metadata` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | |
| `user_id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
\ No newline at end of file
diff --git a/docs/errors/badrequestresponseerror.mdx b/docs/errors/badrequestresponseerror.mdx
index 68e67bcf..d4942312 100644
--- a/docs/errors/badrequestresponseerror.mdx
+++ b/docs/errors/badrequestresponseerror.mdx
@@ -9,6 +9,6 @@ Bad Request - Invalid request parameters or malformed input
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
-| `error` | [components.BadRequestResponseErrorData](../components/badrequestresponseerrordata.mdx) | :heavy_check_mark: | Error data for BadRequestResponse | \{
"code": 400,
"message": "Invalid request parameters"
} |
+| `error` | [components.BadRequestResponseErrorData](../components/badrequestresponseerrordata) | :heavy_check_mark: | Error data for BadRequestResponse | \{
"code": 400,
"message": "Invalid request parameters"
} |
| `openrouter_metadata` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | |
| `user_id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
\ No newline at end of file
diff --git a/docs/errors/conflictresponseerror.mdx b/docs/errors/conflictresponseerror.mdx
index c6f96de8..75278c4a 100644
--- a/docs/errors/conflictresponseerror.mdx
+++ b/docs/errors/conflictresponseerror.mdx
@@ -9,6 +9,6 @@ Conflict - Resource conflict or concurrent modification
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
-| `error` | [components.ConflictResponseErrorData](../components/conflictresponseerrordata.mdx) | :heavy_check_mark: | Error data for ConflictResponse | \{
"code": 409,
"message": "Resource conflict. Please try again later."
} |
+| `error` | [components.ConflictResponseErrorData](../components/conflictresponseerrordata) | :heavy_check_mark: | Error data for ConflictResponse | \{
"code": 409,
"message": "Resource conflict. Please try again later."
} |
| `openrouter_metadata` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | |
| `user_id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
\ No newline at end of file
diff --git a/docs/errors/edgenetworktimeoutresponseerror.mdx b/docs/errors/edgenetworktimeoutresponseerror.mdx
index 845c9d6c..37acf409 100644
--- a/docs/errors/edgenetworktimeoutresponseerror.mdx
+++ b/docs/errors/edgenetworktimeoutresponseerror.mdx
@@ -9,6 +9,6 @@ Infrastructure Timeout - Provider request timed out at edge network
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ |
-| `error` | [components.EdgeNetworkTimeoutResponseErrorData](../components/edgenetworktimeoutresponseerrordata.mdx) | :heavy_check_mark: | Error data for EdgeNetworkTimeoutResponse | \{
"code": 524,
"message": "Request timed out. Please try again later."
} |
+| `error` | [components.EdgeNetworkTimeoutResponseErrorData](../components/edgenetworktimeoutresponseerrordata) | :heavy_check_mark: | Error data for EdgeNetworkTimeoutResponse | \{
"code": 524,
"message": "Request timed out. Please try again later."
} |
| `openrouter_metadata` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | |
| `user_id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
\ No newline at end of file
diff --git a/docs/errors/forbiddenresponseerror.mdx b/docs/errors/forbiddenresponseerror.mdx
index 657b79d0..601e9a5c 100644
--- a/docs/errors/forbiddenresponseerror.mdx
+++ b/docs/errors/forbiddenresponseerror.mdx
@@ -9,6 +9,6 @@ Forbidden - Authentication successful but insufficient permissions
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ |
-| `error` | [components.ForbiddenResponseErrorData](../components/forbiddenresponseerrordata.mdx) | :heavy_check_mark: | Error data for ForbiddenResponse | \{
"code": 403,
"message": "Only management keys can perform this operation"
} |
+| `error` | [components.ForbiddenResponseErrorData](../components/forbiddenresponseerrordata) | :heavy_check_mark: | Error data for ForbiddenResponse | \{
"code": 403,
"message": "Only management keys can perform this operation"
} |
| `openrouter_metadata` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | |
| `user_id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
\ No newline at end of file
diff --git a/docs/errors/internalserverresponseerror.mdx b/docs/errors/internalserverresponseerror.mdx
index 2a892b08..a0304f6f 100644
--- a/docs/errors/internalserverresponseerror.mdx
+++ b/docs/errors/internalserverresponseerror.mdx
@@ -9,6 +9,6 @@ Internal Server Error - Unexpected server error
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
-| `error` | [components.InternalServerResponseErrorData](../components/internalserverresponseerrordata.mdx) | :heavy_check_mark: | Error data for InternalServerResponse | \{
"code": 500,
"message": "Internal Server Error"
} |
+| `error` | [components.InternalServerResponseErrorData](../components/internalserverresponseerrordata) | :heavy_check_mark: | Error data for InternalServerResponse | \{
"code": 500,
"message": "Internal Server Error"
} |
| `openrouter_metadata` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | |
| `user_id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
\ No newline at end of file
diff --git a/docs/errors/notfoundresponseerror.mdx b/docs/errors/notfoundresponseerror.mdx
index 5ba79a19..64eb0cd5 100644
--- a/docs/errors/notfoundresponseerror.mdx
+++ b/docs/errors/notfoundresponseerror.mdx
@@ -9,6 +9,6 @@ Not Found - Resource does not exist
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
-| `error` | [components.NotFoundResponseErrorData](../components/notfoundresponseerrordata.mdx) | :heavy_check_mark: | Error data for NotFoundResponse | \{
"code": 404,
"message": "Resource not found"
} |
+| `error` | [components.NotFoundResponseErrorData](../components/notfoundresponseerrordata) | :heavy_check_mark: | Error data for NotFoundResponse | \{
"code": 404,
"message": "Resource not found"
} |
| `openrouter_metadata` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | |
| `user_id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
\ No newline at end of file
diff --git a/docs/errors/payloadtoolargeresponseerror.mdx b/docs/errors/payloadtoolargeresponseerror.mdx
index ba4d28b0..f67c5570 100644
--- a/docs/errors/payloadtoolargeresponseerror.mdx
+++ b/docs/errors/payloadtoolargeresponseerror.mdx
@@ -9,6 +9,6 @@ Payload Too Large - Request payload exceeds size limits
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ |
-| `error` | [components.PayloadTooLargeResponseErrorData](../components/payloadtoolargeresponseerrordata.mdx) | :heavy_check_mark: | Error data for PayloadTooLargeResponse | \{
"code": 413,
"message": "Request payload too large"
} |
+| `error` | [components.PayloadTooLargeResponseErrorData](../components/payloadtoolargeresponseerrordata) | :heavy_check_mark: | Error data for PayloadTooLargeResponse | \{
"code": 413,
"message": "Request payload too large"
} |
| `openrouter_metadata` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | |
| `user_id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
\ No newline at end of file
diff --git a/docs/errors/paymentrequiredresponseerror.mdx b/docs/errors/paymentrequiredresponseerror.mdx
index f632aa14..2167cb80 100644
--- a/docs/errors/paymentrequiredresponseerror.mdx
+++ b/docs/errors/paymentrequiredresponseerror.mdx
@@ -9,6 +9,6 @@ Payment Required - Insufficient credits or quota to complete request
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ |
-| `error` | [components.PaymentRequiredResponseErrorData](../components/paymentrequiredresponseerrordata.mdx) | :heavy_check_mark: | Error data for PaymentRequiredResponse | \{
"code": 402,
"message": "Insufficient credits. Add more using https://openrouter.ai/credits"
} |
+| `error` | [components.PaymentRequiredResponseErrorData](../components/paymentrequiredresponseerrordata) | :heavy_check_mark: | Error data for PaymentRequiredResponse | \{
"code": 402,
"message": "Insufficient credits. Add more using https://openrouter.ai/credits"
} |
| `openrouter_metadata` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | |
| `user_id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
\ No newline at end of file
diff --git a/docs/errors/provideroverloadedresponseerror.mdx b/docs/errors/provideroverloadedresponseerror.mdx
index c24817c5..c2b5bb1a 100644
--- a/docs/errors/provideroverloadedresponseerror.mdx
+++ b/docs/errors/provideroverloadedresponseerror.mdx
@@ -9,6 +9,6 @@ Provider Overloaded - Provider is temporarily overloaded
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ |
-| `error` | [components.ProviderOverloadedResponseErrorData](../components/provideroverloadedresponseerrordata.mdx) | :heavy_check_mark: | Error data for ProviderOverloadedResponse | \{
"code": 529,
"message": "Provider returned error"
} |
+| `error` | [components.ProviderOverloadedResponseErrorData](../components/provideroverloadedresponseerrordata) | :heavy_check_mark: | Error data for ProviderOverloadedResponse | \{
"code": 529,
"message": "Provider returned error"
} |
| `openrouter_metadata` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | |
| `user_id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
\ No newline at end of file
diff --git a/docs/errors/requesttimeoutresponseerror.mdx b/docs/errors/requesttimeoutresponseerror.mdx
index 81393cc7..372b3e92 100644
--- a/docs/errors/requesttimeoutresponseerror.mdx
+++ b/docs/errors/requesttimeoutresponseerror.mdx
@@ -9,6 +9,6 @@ Request Timeout - Operation exceeded time limit
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
-| `error` | [components.RequestTimeoutResponseErrorData](../components/requesttimeoutresponseerrordata.mdx) | :heavy_check_mark: | Error data for RequestTimeoutResponse | \{
"code": 408,
"message": "Operation timed out. Please try again later."
} |
+| `error` | [components.RequestTimeoutResponseErrorData](../components/requesttimeoutresponseerrordata) | :heavy_check_mark: | Error data for RequestTimeoutResponse | \{
"code": 408,
"message": "Operation timed out. Please try again later."
} |
| `openrouter_metadata` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | |
| `user_id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
\ No newline at end of file
diff --git a/docs/errors/serviceunavailableresponseerror.mdx b/docs/errors/serviceunavailableresponseerror.mdx
index 102116c6..9d5ea9e2 100644
--- a/docs/errors/serviceunavailableresponseerror.mdx
+++ b/docs/errors/serviceunavailableresponseerror.mdx
@@ -9,6 +9,6 @@ Service Unavailable - Service temporarily unavailable
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ |
-| `error` | [components.ServiceUnavailableResponseErrorData](../components/serviceunavailableresponseerrordata.mdx) | :heavy_check_mark: | Error data for ServiceUnavailableResponse | \{
"code": 503,
"message": "Service temporarily unavailable"
} |
+| `error` | [components.ServiceUnavailableResponseErrorData](../components/serviceunavailableresponseerrordata) | :heavy_check_mark: | Error data for ServiceUnavailableResponse | \{
"code": 503,
"message": "Service temporarily unavailable"
} |
| `openrouter_metadata` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | |
| `user_id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
\ No newline at end of file
diff --git a/docs/errors/toomanyrequestsresponseerror.mdx b/docs/errors/toomanyrequestsresponseerror.mdx
index 67bd342c..bff2855c 100644
--- a/docs/errors/toomanyrequestsresponseerror.mdx
+++ b/docs/errors/toomanyrequestsresponseerror.mdx
@@ -9,6 +9,6 @@ Too Many Requests - Rate limit exceeded
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ |
-| `error` | [components.TooManyRequestsResponseErrorData](../components/toomanyrequestsresponseerrordata.mdx) | :heavy_check_mark: | Error data for TooManyRequestsResponse | \{
"code": 429,
"message": "Rate limit exceeded"
} |
+| `error` | [components.TooManyRequestsResponseErrorData](../components/toomanyrequestsresponseerrordata) | :heavy_check_mark: | Error data for TooManyRequestsResponse | \{
"code": 429,
"message": "Rate limit exceeded"
} |
| `openrouter_metadata` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | |
| `user_id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
\ No newline at end of file
diff --git a/docs/errors/unauthorizedresponseerror.mdx b/docs/errors/unauthorizedresponseerror.mdx
index a24d0576..e2f4ff8d 100644
--- a/docs/errors/unauthorizedresponseerror.mdx
+++ b/docs/errors/unauthorizedresponseerror.mdx
@@ -9,6 +9,6 @@ Unauthorized - Authentication required or invalid credentials
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ |
-| `error` | [components.UnauthorizedResponseErrorData](../components/unauthorizedresponseerrordata.mdx) | :heavy_check_mark: | Error data for UnauthorizedResponse | \{
"code": 401,
"message": "Missing Authentication header"
} |
+| `error` | [components.UnauthorizedResponseErrorData](../components/unauthorizedresponseerrordata) | :heavy_check_mark: | Error data for UnauthorizedResponse | \{
"code": 401,
"message": "Missing Authentication header"
} |
| `openrouter_metadata` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | |
| `user_id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
\ No newline at end of file
diff --git a/docs/errors/unprocessableentityresponseerror.mdx b/docs/errors/unprocessableentityresponseerror.mdx
index 75813e9f..7e3ed801 100644
--- a/docs/errors/unprocessableentityresponseerror.mdx
+++ b/docs/errors/unprocessableentityresponseerror.mdx
@@ -9,6 +9,6 @@ Unprocessable Entity - Semantic validation failure
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
-| `error` | [components.UnprocessableEntityResponseErrorData](../components/unprocessableentityresponseerrordata.mdx) | :heavy_check_mark: | Error data for UnprocessableEntityResponse | \{
"code": 422,
"message": "Invalid argument"
} |
+| `error` | [components.UnprocessableEntityResponseErrorData](../components/unprocessableentityresponseerrordata) | :heavy_check_mark: | Error data for UnprocessableEntityResponse | \{
"code": 422,
"message": "Invalid argument"
} |
| `openrouter_metadata` | Dict[str, *Any*] | :heavy_minus_sign: | N/A | |
| `user_id` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
\ No newline at end of file
diff --git a/docs/operations/bulkaddworkspacemembersrequest.mdx b/docs/operations/bulkaddworkspacemembersrequest.mdx
index 5b61022c..204cb21c 100644
--- a/docs/operations/bulkaddworkspacemembersrequest.mdx
+++ b/docs/operations/bulkaddworkspacemembersrequest.mdx
@@ -10,4 +10,4 @@ title: "BulkAddWorkspaceMembersRequest"
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
| `id` | *str* | :heavy_check_mark: | The workspace ID (UUID) or slug | production |
-| `bulk_add_workspace_members_request` | [components.BulkAddWorkspaceMembersRequest](../components/bulkaddworkspacemembersrequest.mdx) | :heavy_check_mark: | N/A | \{
"user_ids": [
"user_abc123",
"user_def456"
]
} |
\ No newline at end of file
+| `bulk_add_workspace_members_request` | [components.BulkAddWorkspaceMembersRequest](../components/bulkaddworkspacemembersrequest) | :heavy_check_mark: | N/A | \{
"user_ids": [
"user_abc123",
"user_def456"
]
} |
\ No newline at end of file
diff --git a/docs/operations/bulkassignkeystoguardrailrequest.mdx b/docs/operations/bulkassignkeystoguardrailrequest.mdx
index 47d8a382..c2ae7908 100644
--- a/docs/operations/bulkassignkeystoguardrailrequest.mdx
+++ b/docs/operations/bulkassignkeystoguardrailrequest.mdx
@@ -10,4 +10,4 @@ title: "BulkAssignKeysToGuardrailRequest"
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
| `id` | *str* | :heavy_check_mark: | The unique identifier of the guardrail | 550e8400-e29b-41d4-a716-446655440000 |
-| `bulk_assign_keys_request` | [components.BulkAssignKeysRequest](../components/bulkassignkeysrequest.mdx) | :heavy_check_mark: | N/A | \{
"key_hashes": [
"c56454edb818d6b14bc0d61c46025f1450b0f4012d12304ab40aacb519fcbc93"
]
} |
\ No newline at end of file
+| `bulk_assign_keys_request` | [components.BulkAssignKeysRequest](../components/bulkassignkeysrequest) | :heavy_check_mark: | N/A | \{
"key_hashes": [
"c56454edb818d6b14bc0d61c46025f1450b0f4012d12304ab40aacb519fcbc93"
]
} |
\ No newline at end of file
diff --git a/docs/operations/bulkassignmemberstoguardrailrequest.mdx b/docs/operations/bulkassignmemberstoguardrailrequest.mdx
index ede199d3..c599cbeb 100644
--- a/docs/operations/bulkassignmemberstoguardrailrequest.mdx
+++ b/docs/operations/bulkassignmemberstoguardrailrequest.mdx
@@ -10,4 +10,4 @@ title: "BulkAssignMembersToGuardrailRequest"
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
| `id` | *str* | :heavy_check_mark: | The unique identifier of the guardrail | 550e8400-e29b-41d4-a716-446655440000 |
-| `bulk_assign_members_request` | [components.BulkAssignMembersRequest](../components/bulkassignmembersrequest.mdx) | :heavy_check_mark: | N/A | \{
"member_user_ids": [
"user_abc123",
"user_def456"
]
} |
\ No newline at end of file
+| `bulk_assign_members_request` | [components.BulkAssignMembersRequest](../components/bulkassignmembersrequest) | :heavy_check_mark: | N/A | \{
"member_user_ids": [
"user_abc123",
"user_def456"
]
} |
\ No newline at end of file
diff --git a/docs/operations/bulkremoveworkspacemembersrequest.mdx b/docs/operations/bulkremoveworkspacemembersrequest.mdx
index 40b34889..e6e8bbef 100644
--- a/docs/operations/bulkremoveworkspacemembersrequest.mdx
+++ b/docs/operations/bulkremoveworkspacemembersrequest.mdx
@@ -10,4 +10,4 @@ title: "BulkRemoveWorkspaceMembersRequest"
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
| `id` | *str* | :heavy_check_mark: | The workspace ID (UUID) or slug | production |
-| `bulk_remove_workspace_members_request` | [components.BulkRemoveWorkspaceMembersRequest](../components/bulkremoveworkspacemembersrequest.mdx) | :heavy_check_mark: | N/A | \{
"user_ids": [
"user_abc123",
"user_def456"
]
} |
\ No newline at end of file
+| `bulk_remove_workspace_members_request` | [components.BulkRemoveWorkspaceMembersRequest](../components/bulkremoveworkspacemembersrequest) | :heavy_check_mark: | N/A | \{
"user_ids": [
"user_abc123",
"user_def456"
]
} |
\ No newline at end of file
diff --git a/docs/operations/bulkunassignkeysfromguardrailrequest.mdx b/docs/operations/bulkunassignkeysfromguardrailrequest.mdx
index fba4dbe7..c6c28f48 100644
--- a/docs/operations/bulkunassignkeysfromguardrailrequest.mdx
+++ b/docs/operations/bulkunassignkeysfromguardrailrequest.mdx
@@ -10,4 +10,4 @@ title: "BulkUnassignKeysFromGuardrailRequest"
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
| `id` | *str* | :heavy_check_mark: | The unique identifier of the guardrail | 550e8400-e29b-41d4-a716-446655440000 |
-| `bulk_unassign_keys_request` | [components.BulkUnassignKeysRequest](../components/bulkunassignkeysrequest.mdx) | :heavy_check_mark: | N/A | \{
"key_hashes": [
"c56454edb818d6b14bc0d61c46025f1450b0f4012d12304ab40aacb519fcbc93"
]
} |
\ No newline at end of file
+| `bulk_unassign_keys_request` | [components.BulkUnassignKeysRequest](../components/bulkunassignkeysrequest) | :heavy_check_mark: | N/A | \{
"key_hashes": [
"c56454edb818d6b14bc0d61c46025f1450b0f4012d12304ab40aacb519fcbc93"
]
} |
\ No newline at end of file
diff --git a/docs/operations/bulkunassignmembersfromguardrailrequest.mdx b/docs/operations/bulkunassignmembersfromguardrailrequest.mdx
index de22a4c7..ff1461fb 100644
--- a/docs/operations/bulkunassignmembersfromguardrailrequest.mdx
+++ b/docs/operations/bulkunassignmembersfromguardrailrequest.mdx
@@ -10,4 +10,4 @@ title: "BulkUnassignMembersFromGuardrailRequest"
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
| `id` | *str* | :heavy_check_mark: | The unique identifier of the guardrail | 550e8400-e29b-41d4-a716-446655440000 |
-| `bulk_unassign_members_request` | [components.BulkUnassignMembersRequest](../components/bulkunassignmembersrequest.mdx) | :heavy_check_mark: | N/A | \{
"member_user_ids": [
"user_abc123",
"user_def456"
]
} |
\ No newline at end of file
+| `bulk_unassign_members_request` | [components.BulkUnassignMembersRequest](../components/bulkunassignmembersrequest) | :heavy_check_mark: | N/A | \{
"member_user_ids": [
"user_abc123",
"user_def456"
]
} |
\ No newline at end of file
diff --git a/docs/operations/classifierfilters.mdx b/docs/operations/classifierfilters.mdx
index db4dbe94..43c80f01 100644
--- a/docs/operations/classifierfilters.mdx
+++ b/docs/operations/classifierfilters.mdx
@@ -10,4 +10,4 @@ Filter results to generations with specific classifier tag values. Can be combin
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
| `classifier_id` | *str* | :heavy_check_mark: | UUID of the classifier whose tags to filter by. Must match classifier_dimensions.classifier_id when both are specified. | 550e8400-e29b-41d4-a716-446655440000 |
-| `filters` | List[[operations.ClassifierFiltersFilter](../operations/classifierfiltersfilter.mdx)] | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `filters` | List[[operations.ClassifierFiltersFilter](../operations/classifierfiltersfilter)] | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/operations/classifierfiltersfilter.mdx b/docs/operations/classifierfiltersfilter.mdx
index f09e983a..e60f5f10 100644
--- a/docs/operations/classifierfiltersfilter.mdx
+++ b/docs/operations/classifierfiltersfilter.mdx
@@ -8,4 +8,4 @@ title: "ClassifierFiltersFilter"
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `field` | *str* | :heavy_check_mark: | Classifier dimension name to filter on (snake_case identifier, e.g. "department", "work_type"). | department |
| `operator` | *str* | :heavy_check_mark: | Filter operator. Only equality/set operators are supported (eq, neq, in, not_in) — ordered comparisons are not available because classification values are strings. | eq |
-| `value` | [operations.ClassifierFiltersValue](../operations/classifierfiltersvalue.mdx) | :heavy_check_mark: | Filter value. Use a scalar (string or number) for eq/neq, or an array for in/not_in. | Engineering |
\ No newline at end of file
+| `value` | [operations.ClassifierFiltersValue](../operations/classifierfiltersvalue) | :heavy_check_mark: | Filter value. Use a scalar (string or number) for eq/neq, or an array for in/not_in. | Engineering |
\ No newline at end of file
diff --git a/docs/operations/contentimageurl.mdx b/docs/operations/contentimageurl.mdx
index d0e186ad..1f04db89 100644
--- a/docs/operations/contentimageurl.mdx
+++ b/docs/operations/contentimageurl.mdx
@@ -6,5 +6,5 @@ title: "ContentImageURL"
| Field | Type | Required | Description |
| -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- |
-| `image_url` | [operations.ImageURL](../operations/imageurl.mdx) | :heavy_check_mark: | N/A |
-| `type` | [operations.TypeImageURL](../operations/typeimageurl.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `image_url` | [operations.ImageURL](../operations/imageurl) | :heavy_check_mark: | N/A |
+| `type` | [operations.TypeImageURL](../operations/typeimageurl) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/operations/contenttext.mdx b/docs/operations/contenttext.mdx
index 08e418f7..301097ed 100644
--- a/docs/operations/contenttext.mdx
+++ b/docs/operations/contenttext.mdx
@@ -7,4 +7,4 @@ title: "ContentText"
| Field | Type | Required | Description |
| ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ |
| `text` | *str* | :heavy_check_mark: | N/A |
-| `type` | [operations.TypeText](../operations/typetext.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `type` | [operations.TypeText](../operations/typetext) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/operations/createaudiospeechrequest.mdx b/docs/operations/createaudiospeechrequest.mdx
index a9aaac38..5d37acc1 100644
--- a/docs/operations/createaudiospeechrequest.mdx
+++ b/docs/operations/createaudiospeechrequest.mdx
@@ -9,4 +9,4 @@ title: "CreateAudioSpeechRequest"
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `speech_request` | [components.SpeechRequest](../components/speechrequest.mdx) | :heavy_check_mark: | N/A | \{
"input": "Hello world",
"model": "mistralai/voxtral-mini-tts-2603",
"response_format": "pcm",
"speed": 1,
"voice": "en_paul_neutral"
} |
\ No newline at end of file
+| `speech_request` | [components.SpeechRequest](../components/speechrequest) | :heavy_check_mark: | N/A | \{
"input": "Hello world",
"model": "mistralai/voxtral-mini-tts-2603",
"response_format": "pcm",
"speed": 1,
"voice": "en_paul_neutral"
} |
\ No newline at end of file
diff --git a/docs/operations/createaudiotranscriptionsmultipartrequest.mdx b/docs/operations/createaudiotranscriptionsmultipartrequest.mdx
index b5031668..0fee4550 100644
--- a/docs/operations/createaudiotranscriptionsmultipartrequest.mdx
+++ b/docs/operations/createaudiotranscriptionsmultipartrequest.mdx
@@ -9,4 +9,4 @@ title: "CreateAudioTranscriptionsMultipartRequest"
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
|
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
|
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
|
-| `request_body` | [operations.CreateAudioTranscriptionsMultipartRequestBody](../operations/createaudiotranscriptionsmultipartrequestbody.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `request_body` | [operations.CreateAudioTranscriptionsMultipartRequestBody](../operations/createaudiotranscriptionsmultipartrequestbody) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/operations/createaudiotranscriptionsmultipartrequestbody.mdx b/docs/operations/createaudiotranscriptionsmultipartrequestbody.mdx
index 3054ebe9..c91d46b6 100644
--- a/docs/operations/createaudiotranscriptionsmultipartrequestbody.mdx
+++ b/docs/operations/createaudiotranscriptionsmultipartrequestbody.mdx
@@ -6,9 +6,9 @@ title: "CreateAudioTranscriptionsMultipartRequestBody"
| Field | Type | Required | Description |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `file` | [operations.CreateAudioTranscriptionsMultipartFile](../operations/createaudiotranscriptionsmultipartfile.mdx) | :heavy_check_mark: | The audio file to transcribe. The format is derived from the filename extension or the file part content type. Max 25 MB; send larger files as base64 JSON via input_audio. |
+| `file` | [operations.CreateAudioTranscriptionsMultipartFile](../operations/createaudiotranscriptionsmultipartfile) | :heavy_check_mark: | The audio file to transcribe. The format is derived from the filename extension or the file part content type. Max 25 MB; send larger files as base64 JSON via input_audio. |
| `language` | *Optional[str]* | :heavy_minus_sign: | The language of the input audio (ISO-639-1). |
| `model` | *str* | :heavy_check_mark: | The model to use for transcription. |
-| `response_format` | [Optional[operations.ResponseFormat]](../operations/responseformat.mdx) | :heavy_minus_sign: | The response format. "json" (default) returns \{ text, usage }; "verbose_json" additionally returns task, language, duration, and segment-level timestamps (OpenAI-compatible providers only). |
+| `response_format` | [Optional[operations.ResponseFormat]](../operations/responseformat) | :heavy_minus_sign: | The response format. "json" (default) returns \{ text, usage }; "verbose_json" additionally returns task, language, duration, and segment-level timestamps (OpenAI-compatible providers only). |
| `temperature` | *Optional[float]* | :heavy_minus_sign: | The sampling temperature. |
-| `timestamp_granularities` | List[[operations.TimestampGranularities](../operations/timestampgranularities.mdx)] | :heavy_minus_sign: | Timestamp detail levels to include when response_format is "verbose_json". "word" additionally returns word-level timestamps in the words array. |
\ No newline at end of file
+| `timestamp_granularities` | List[[operations.TimestampGranularities](../operations/timestampgranularities)] | :heavy_minus_sign: | Timestamp detail levels to include when response_format is "verbose_json". "word" additionally returns word-level timestamps in the words array. |
\ No newline at end of file
diff --git a/docs/operations/createaudiotranscriptionsrequest.mdx b/docs/operations/createaudiotranscriptionsrequest.mdx
index 63faa868..b319b877 100644
--- a/docs/operations/createaudiotranscriptionsrequest.mdx
+++ b/docs/operations/createaudiotranscriptionsrequest.mdx
@@ -9,4 +9,4 @@ title: "CreateAudioTranscriptionsRequest"
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `stt_request` | [components.STTRequest](../components/sttrequest.mdx) | :heavy_check_mark: | N/A | \{
"input_audio": \{
"data": "UklGRiQA...",
"format": "wav"
},
"language": "en",
"model": "openai/whisper-large-v3"
} |
\ No newline at end of file
+| `stt_request` | [components.STTRequest](../components/sttrequest) | :heavy_check_mark: | N/A | \{
"input_audio": \{
"data": "UklGRiQA...",
"format": "wav"
},
"language": "en",
"model": "openai/whisper-large-v3"
} |
\ No newline at end of file
diff --git a/docs/operations/createauthkeyscoderequest.mdx b/docs/operations/createauthkeyscoderequest.mdx
index cdafce62..740f09a5 100644
--- a/docs/operations/createauthkeyscoderequest.mdx
+++ b/docs/operations/createauthkeyscoderequest.mdx
@@ -9,4 +9,4 @@ title: "CreateAuthKeysCodeRequest"
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `request_body` | [operations.CreateAuthKeysCodeRequestBody](../operations/createauthkeyscoderequestbody.mdx) | :heavy_check_mark: | N/A | \{
"callback_url": "https://myapp.com/auth/callback",
"code_challenge": "E9Melhoa2OwvFrEMTJguCHaoeK1t8URWbuGJSstw-cM",
"code_challenge_method": "S256",
"limit": 100
} |
\ No newline at end of file
+| `request_body` | [operations.CreateAuthKeysCodeRequestBody](../operations/createauthkeyscoderequestbody) | :heavy_check_mark: | N/A | \{
"callback_url": "https://myapp.com/auth/callback",
"code_challenge": "E9Melhoa2OwvFrEMTJguCHaoeK1t8URWbuGJSstw-cM",
"code_challenge_method": "S256",
"limit": 100
} |
\ No newline at end of file
diff --git a/docs/operations/createauthkeyscoderequestbody.mdx b/docs/operations/createauthkeyscoderequestbody.mdx
index 2b4c4db9..95a1438d 100644
--- a/docs/operations/createauthkeyscoderequestbody.mdx
+++ b/docs/operations/createauthkeyscoderequestbody.mdx
@@ -8,9 +8,9 @@ title: "CreateAuthKeysCodeRequestBody"
| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| `callback_url` | *str* | :heavy_check_mark: | The callback URL to redirect to after authorization. Supports https URLs and localhost/127.0.0.1 URLs on any port for local CLI tools. | https://myapp.com/auth/callback |
| `code_challenge` | *Optional[str]* | :heavy_minus_sign: | PKCE code challenge for enhanced security | E9Melhoa2OwvFrEMTJguCHaoeK1t8URWbuGJSstw-cM |
-| `code_challenge_method` | [Optional[operations.CreateAuthKeysCodeCodeChallengeMethod]](../operations/createauthkeyscodecodechallengemethod.mdx) | :heavy_minus_sign: | The method used to generate the code challenge | S256 |
+| `code_challenge_method` | [Optional[operations.CreateAuthKeysCodeCodeChallengeMethod]](../operations/createauthkeyscodecodechallengemethod) | :heavy_minus_sign: | The method used to generate the code challenge | S256 |
| `expires_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Optional expiration time for the API key to be created | 2027-12-31T23:59:59Z |
| `key_label` | *Optional[str]* | :heavy_minus_sign: | Optional custom label for the API key. Defaults to the app name if not provided. | My Custom Key |
| `limit` | *Optional[float]* | :heavy_minus_sign: | Credit limit for the API key to be created | 100 |
-| `usage_limit_type` | [Optional[operations.UsageLimitType]](../operations/usagelimittype.mdx) | :heavy_minus_sign: | Optional credit limit reset interval. When set, the credit limit resets on this interval. | monthly |
+| `usage_limit_type` | [Optional[operations.UsageLimitType]](../operations/usagelimittype) | :heavy_minus_sign: | Optional credit limit reset interval. When set, the credit limit resets on this interval. | monthly |
| `workspace_id` | *Optional[str]* | :heavy_minus_sign: | Optional workspace ID to associate the API key with | |
\ No newline at end of file
diff --git a/docs/operations/createauthkeyscoderesponse.mdx b/docs/operations/createauthkeyscoderesponse.mdx
index 5044f577..3413c5c4 100644
--- a/docs/operations/createauthkeyscoderesponse.mdx
+++ b/docs/operations/createauthkeyscoderesponse.mdx
@@ -9,4 +9,4 @@ Successfully created authorization code
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
-| `data` | [operations.CreateAuthKeysCodeData](../operations/createauthkeyscodedata.mdx) | :heavy_check_mark: | Auth code data | \{
"app_id": 12345,
"created_at": "2025-08-24T10:30:00Z",
"id": "auth_code_xyz789"
} |
\ No newline at end of file
+| `data` | [operations.CreateAuthKeysCodeData](../operations/createauthkeyscodedata) | :heavy_check_mark: | Auth code data | \{
"app_id": 12345,
"created_at": "2025-08-24T10:30:00Z",
"id": "auth_code_xyz789"
} |
\ No newline at end of file
diff --git a/docs/operations/createbyokkeyrequest.mdx b/docs/operations/createbyokkeyrequest.mdx
index f8b09da3..52e43630 100644
--- a/docs/operations/createbyokkeyrequest.mdx
+++ b/docs/operations/createbyokkeyrequest.mdx
@@ -9,4 +9,4 @@ title: "CreateBYOKKeyRequest"
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `create_byok_key_request` | [components.CreateBYOKKeyRequest](../components/createbyokkeyrequest.mdx) | :heavy_check_mark: | N/A | \{
"key": "sk-proj-abc123...",
"name": "Production OpenAI Key",
"provider": "openai"
} |
\ No newline at end of file
+| `create_byok_key_request` | [components.CreateBYOKKeyRequest](../components/createbyokkeyrequest) | :heavy_check_mark: | N/A | \{
"key": "sk-proj-abc123...",
"name": "Production OpenAI Key",
"provider": "openai"
} |
\ No newline at end of file
diff --git a/docs/operations/createembeddingsdata.mdx b/docs/operations/createembeddingsdata.mdx
index 07670e00..4e7686c1 100644
--- a/docs/operations/createembeddingsdata.mdx
+++ b/docs/operations/createembeddingsdata.mdx
@@ -9,6 +9,6 @@ A single embedding object
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
-| `embedding` | [operations.Embedding](../operations/embedding.mdx) | :heavy_check_mark: | Embedding vector as an array of floats or a base64 string | [
0.0023064255,
-0.009327292,
0.015797347
] |
+| `embedding` | [operations.Embedding](../operations/embedding) | :heavy_check_mark: | Embedding vector as an array of floats or a base64 string | [
0.0023064255,
-0.009327292,
0.015797347
] |
| `index` | *Optional[int]* | :heavy_minus_sign: | Index of the embedding in the input list | 0 |
-| `object` | [operations.ObjectEmbedding](../operations/objectembedding.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `object` | [operations.ObjectEmbedding](../operations/objectembedding) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/operations/createembeddingsrequest.mdx b/docs/operations/createembeddingsrequest.mdx
index 6d20f015..090ee214 100644
--- a/docs/operations/createembeddingsrequest.mdx
+++ b/docs/operations/createembeddingsrequest.mdx
@@ -9,4 +9,4 @@ title: "CreateEmbeddingsRequest"
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `request_body` | [operations.CreateEmbeddingsRequestBody](../operations/createembeddingsrequestbody.mdx) | :heavy_check_mark: | N/A | \{
"dimensions": 1536,
"input": "The quick brown fox jumps over the lazy dog",
"model": "openai/text-embedding-3-small"
} |
\ No newline at end of file
+| `request_body` | [operations.CreateEmbeddingsRequestBody](../operations/createembeddingsrequestbody) | :heavy_check_mark: | N/A | \{
"dimensions": 1536,
"input": "The quick brown fox jumps over the lazy dog",
"model": "openai/text-embedding-3-small"
} |
\ No newline at end of file
diff --git a/docs/operations/createembeddingsrequestbody.mdx b/docs/operations/createembeddingsrequestbody.mdx
index a669d4e6..7c7cc52c 100644
--- a/docs/operations/createembeddingsrequestbody.mdx
+++ b/docs/operations/createembeddingsrequestbody.mdx
@@ -10,9 +10,9 @@ Embeddings request input
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
| `dimensions` | *Optional[int]* | :heavy_minus_sign: | The number of dimensions for the output embeddings | 1536 |
-| `encoding_format` | [Optional[operations.EncodingFormat]](../operations/encodingformat.mdx) | :heavy_minus_sign: | The format of the output embeddings | float |
-| `input` | [operations.InputUnion](../operations/inputunion.mdx) | :heavy_check_mark: | Text, token, or multimodal input(s) to embed | The quick brown fox jumps over the lazy dog |
+| `encoding_format` | [Optional[operations.EncodingFormat]](../operations/encodingformat) | :heavy_minus_sign: | The format of the output embeddings | float |
+| `input` | [operations.InputUnion](../operations/inputunion) | :heavy_check_mark: | Text, token, or multimodal input(s) to embed | The quick brown fox jumps over the lazy dog |
| `input_type` | *Optional[str]* | :heavy_minus_sign: | The type of input (e.g. search_query, search_document) | search_query |
| `model` | *str* | :heavy_check_mark: | The model to use for embeddings | openai/text-embedding-3-small |
-| `provider` | [OptionalNullable[components.ProviderPreferences]](../components/providerpreferences.mdx) | :heavy_minus_sign: | N/A | \{
"allow_fallbacks": true
} |
+| `provider` | [OptionalNullable[components.ProviderPreferences]](../components/providerpreferences) | :heavy_minus_sign: | N/A | \{
"allow_fallbacks": true
} |
| `user` | *Optional[str]* | :heavy_minus_sign: | A unique identifier for the end-user | user-1234 |
\ No newline at end of file
diff --git a/docs/operations/createembeddingsresponsebody.mdx b/docs/operations/createembeddingsresponsebody.mdx
index 4efeda7a..444bc485 100644
--- a/docs/operations/createembeddingsresponsebody.mdx
+++ b/docs/operations/createembeddingsresponsebody.mdx
@@ -9,8 +9,8 @@ Embeddings response containing embedding vectors
| Field | Type | Required | Description | Example |
| --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
-| `data` | List[[operations.CreateEmbeddingsData](../operations/createembeddingsdata.mdx)] | :heavy_check_mark: | List of embedding objects | [
\{
"embedding": [
0.0023064255,
-0.009327292,
0.015797347
],
"index": 0,
"object": "embedding"
}
] |
+| `data` | List[[operations.CreateEmbeddingsData](../operations/createembeddingsdata)] | :heavy_check_mark: | List of embedding objects | [
\{
"embedding": [
0.0023064255,
-0.009327292,
0.015797347
],
"index": 0,
"object": "embedding"
}
] |
| `id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier for the embeddings response | embd-1234567890 |
| `model` | *str* | :heavy_check_mark: | The model used for embeddings | openai/text-embedding-3-small |
-| `object` | [operations.Object](../operations/object.mdx) | :heavy_check_mark: | N/A | |
-| `usage` | [Optional[operations.CreateEmbeddingsUsage]](../operations/createembeddingsusage.mdx) | :heavy_minus_sign: | Token usage statistics | \{
"prompt_tokens": 8,
"total_tokens": 8
} |
\ No newline at end of file
+| `object` | [operations.Object](../operations/object) | :heavy_check_mark: | N/A | |
+| `usage` | [Optional[operations.CreateEmbeddingsUsage]](../operations/createembeddingsusage) | :heavy_minus_sign: | Token usage statistics | \{
"prompt_tokens": 8,
"total_tokens": 8
} |
\ No newline at end of file
diff --git a/docs/operations/createembeddingsusage.mdx b/docs/operations/createembeddingsusage.mdx
index 1218cf96..772e0b3d 100644
--- a/docs/operations/createembeddingsusage.mdx
+++ b/docs/operations/createembeddingsusage.mdx
@@ -10,8 +10,8 @@ Token usage statistics
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `cost` | *Optional[float]* | :heavy_minus_sign: | Cost of the request in credits | 0.0001 |
-| `cost_details` | [OptionalNullable[components.CostDetails]](../components/costdetails.mdx) | :heavy_minus_sign: | Breakdown of upstream inference costs | \{
"upstream_inference_completions_cost": 0.0004,
"upstream_inference_cost": null,
"upstream_inference_prompt_cost": 0.0008
} |
+| `cost_details` | [OptionalNullable[components.CostDetails]](../components/costdetails) | :heavy_minus_sign: | Breakdown of upstream inference costs | \{
"upstream_inference_completions_cost": 0.0004,
"upstream_inference_cost": null,
"upstream_inference_prompt_cost": 0.0008
} |
| `is_byok` | *Optional[bool]* | :heavy_minus_sign: | Whether a request was made using a Bring Your Own Key configuration | |
| `prompt_tokens` | *int* | :heavy_check_mark: | Number of tokens in the input | 8 |
-| `prompt_tokens_details` | [Optional[operations.PromptTokensDetails]](../operations/prompttokensdetails.mdx) | :heavy_minus_sign: | Per-modality token breakdown. Only present when the input contains 2+ modalities (e.g. text + image) and the upstream provider returns modality-level usage data. Only non-zero modality counts are included. | |
+| `prompt_tokens_details` | [Optional[operations.PromptTokensDetails]](../operations/prompttokensdetails) | :heavy_minus_sign: | Per-modality token breakdown. Only present when the input contains 2+ modalities (e.g. text + image) and the upstream provider returns modality-level usage data. Only non-zero modality counts are included. | |
| `total_tokens` | *int* | :heavy_check_mark: | Total number of tokens used | 8 |
\ No newline at end of file
diff --git a/docs/operations/createguardrailrequest.mdx b/docs/operations/createguardrailrequest.mdx
index 645bf9a2..6b40b3c7 100644
--- a/docs/operations/createguardrailrequest.mdx
+++ b/docs/operations/createguardrailrequest.mdx
@@ -9,4 +9,4 @@ title: "CreateGuardrailRequest"
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `create_guardrail_request` | [components.CreateGuardrailRequest](../components/createguardrailrequest.mdx) | :heavy_check_mark: | N/A | \{
"allowed_models": null,
"allowed_providers": [
"openai",
"anthropic",
"deepseek"
],
"content_filter_builtins": [
\{
"action": "block",
"slug": "regex-prompt-injection"
}
],
"content_filters": null,
"description": "A guardrail for limiting API usage",
"enforce_zdr_anthropic": true,
"enforce_zdr_google": false,
"enforce_zdr_openai": true,
"enforce_zdr_other": false,
"enforce_zdr_xai": false,
"ignored_models": null,
"ignored_providers": null,
"limit_usd": 50,
"name": "My New Guardrail",
"reset_interval": "monthly"
} |
\ No newline at end of file
+| `create_guardrail_request` | [components.CreateGuardrailRequest](../components/createguardrailrequest) | :heavy_check_mark: | N/A | \{
"allowed_models": null,
"allowed_providers": [
"openai",
"anthropic",
"deepseek"
],
"content_filter_builtins": [
\{
"action": "block",
"slug": "regex-prompt-injection"
}
],
"content_filters": null,
"description": "A guardrail for limiting API usage",
"enforce_zdr_anthropic": true,
"enforce_zdr_google": false,
"enforce_zdr_openai": true,
"enforce_zdr_other": false,
"enforce_zdr_xai": false,
"ignored_models": null,
"ignored_providers": null,
"limit_usd": 50,
"name": "My New Guardrail",
"reset_interval": "monthly"
} |
\ No newline at end of file
diff --git a/docs/operations/createimagesrequest.mdx b/docs/operations/createimagesrequest.mdx
index 5e9a2d73..e084dbe5 100644
--- a/docs/operations/createimagesrequest.mdx
+++ b/docs/operations/createimagesrequest.mdx
@@ -9,4 +9,4 @@ title: "CreateImagesRequest"
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `image_generation_request` | [components.ImageGenerationRequest](../components/imagegenerationrequest.mdx) | :heavy_check_mark: | N/A | \{
"model": "bytedance-seed/seedream-4.5",
"prompt": "a red panda astronaut floating in space, studio lighting"
} |
\ No newline at end of file
+| `image_generation_request` | [components.ImageGenerationRequest](../components/imagegenerationrequest) | :heavy_check_mark: | N/A | \{
"model": "bytedance-seed/seedream-4.5",
"prompt": "a red panda astronaut floating in space, studio lighting"
} |
\ No newline at end of file
diff --git a/docs/operations/createkeysrequest.mdx b/docs/operations/createkeysrequest.mdx
index 9ec01bf6..2824d7f2 100644
--- a/docs/operations/createkeysrequest.mdx
+++ b/docs/operations/createkeysrequest.mdx
@@ -9,4 +9,4 @@ title: "CreateKeysRequest"
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `request_body` | [operations.CreateKeysRequestBody](../operations/createkeysrequestbody.mdx) | :heavy_check_mark: | N/A | \{
"expires_at": "2027-12-31T23:59:59Z",
"include_byok_in_limit": true,
"limit": 50,
"limit_reset": "monthly",
"name": "My New API Key"
} |
\ No newline at end of file
+| `request_body` | [operations.CreateKeysRequestBody](../operations/createkeysrequestbody) | :heavy_check_mark: | N/A | \{
"expires_at": "2027-12-31T23:59:59Z",
"include_byok_in_limit": true,
"limit": 50,
"limit_reset": "monthly",
"name": "My New API Key"
} |
\ No newline at end of file
diff --git a/docs/operations/createkeysrequestbody.mdx b/docs/operations/createkeysrequestbody.mdx
index 37ca00af..f511723b 100644
--- a/docs/operations/createkeysrequestbody.mdx
+++ b/docs/operations/createkeysrequestbody.mdx
@@ -10,6 +10,6 @@ title: "CreateKeysRequestBody"
| `expires_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Optional ISO 8601 UTC timestamp when the API key should expire. Must be UTC, other timezones will be rejected | 2027-12-31T23:59:59Z |
| `include_byok_in_limit` | *Optional[bool]* | :heavy_minus_sign: | Whether to include BYOK usage in the limit | true |
| `limit` | *OptionalNullable[float]* | :heavy_minus_sign: | Optional spending limit for the API key in USD | 50 |
-| `limit_reset` | [OptionalNullable[operations.CreateKeysLimitReset]](../operations/createkeyslimitreset.mdx) | :heavy_minus_sign: | Type of limit reset for the API key (daily, weekly, monthly, or null for no reset). Resets happen automatically at midnight UTC, and weeks are Monday through Sunday. | monthly |
+| `limit_reset` | [OptionalNullable[operations.CreateKeysLimitReset]](../operations/createkeyslimitreset) | :heavy_minus_sign: | Type of limit reset for the API key (daily, weekly, monthly, or null for no reset). Resets happen automatically at midnight UTC, and weeks are Monday through Sunday. | monthly |
| `name` | *str* | :heavy_check_mark: | Name for the new API key | My New API Key |
| `workspace_id` | *Optional[str]* | :heavy_minus_sign: | The workspace to create the API key in. Defaults to the default workspace if not provided. | 0df9e665-d932-5740-b2c7-b52af166bc11 |
\ No newline at end of file
diff --git a/docs/operations/createkeysresponse.mdx b/docs/operations/createkeysresponse.mdx
index f5caa2c4..da746b4a 100644
--- a/docs/operations/createkeysresponse.mdx
+++ b/docs/operations/createkeysresponse.mdx
@@ -9,5 +9,5 @@ API key created successfully
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `data` | [operations.CreateKeysData](../operations/createkeysdata.mdx) | :heavy_check_mark: | The created API key information | \{
"byok_usage": 17.38,
"byok_usage_daily": 17.38,
"byok_usage_monthly": 17.38,
"byok_usage_weekly": 17.38,
"created_at": "2025-08-24T10:30:00Z",
"creator_user_id": "user_2dHFtVWx2n56w6HkM0000000000",
"disabled": false,
"expires_at": "2027-12-31T23:59:59Z",
"hash": "f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943",
"include_byok_in_limit": false,
"label": "sk-or-v1-0e6...1c96",
"limit": 100,
"limit_remaining": 74.5,
"limit_reset": "monthly",
"name": "My Production Key",
"updated_at": "2025-08-24T15:45:00Z",
"usage": 25.5,
"usage_daily": 25.5,
"usage_monthly": 25.5,
"usage_weekly": 25.5,
"workspace_id": "0df9e665-d932-5740-b2c7-b52af166bc11"
} |
+| `data` | [operations.CreateKeysData](../operations/createkeysdata) | :heavy_check_mark: | The created API key information | \{
"byok_usage": 17.38,
"byok_usage_daily": 17.38,
"byok_usage_monthly": 17.38,
"byok_usage_weekly": 17.38,
"created_at": "2025-08-24T10:30:00Z",
"creator_user_id": "user_2dHFtVWx2n56w6HkM0000000000",
"disabled": false,
"expires_at": "2027-12-31T23:59:59Z",
"hash": "f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943",
"include_byok_in_limit": false,
"label": "sk-or-v1-0e6...1c96",
"limit": 100,
"limit_remaining": 74.5,
"limit_reset": "monthly",
"name": "My Production Key",
"updated_at": "2025-08-24T15:45:00Z",
"usage": 25.5,
"usage_daily": 25.5,
"usage_monthly": 25.5,
"usage_weekly": 25.5,
"workspace_id": "0df9e665-d932-5740-b2c7-b52af166bc11"
} |
| `key` | *str* | :heavy_check_mark: | The actual API key string (only shown once) | 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 |
\ No newline at end of file
diff --git a/docs/operations/createobservabilitydestinationrequest.mdx b/docs/operations/createobservabilitydestinationrequest.mdx
index 3c62d6ca..18ad6a5d 100644
--- a/docs/operations/createobservabilitydestinationrequest.mdx
+++ b/docs/operations/createobservabilitydestinationrequest.mdx
@@ -9,4 +9,4 @@ title: "CreateObservabilityDestinationRequest"
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `create_observability_destination_request` | [components.CreateObservabilityDestinationRequest](../components/createobservabilitydestinationrequest.mdx) | :heavy_check_mark: | N/A | \{
"config": \{
"baseUrl": "https://us.cloud.langfuse.com",
"publicKey": "pk-l...EfGh",
"secretKey": "sk-l...AbCd"
},
"name": "Production Langfuse",
"type": "langfuse"
} |
\ No newline at end of file
+| `create_observability_destination_request` | [components.CreateObservabilityDestinationRequest](../components/createobservabilitydestinationrequest) | :heavy_check_mark: | N/A | \{
"config": \{
"baseUrl": "https://us.cloud.langfuse.com",
"publicKey": "pk-l...EfGh",
"secretKey": "sk-l...AbCd"
},
"name": "Production Langfuse",
"type": "langfuse"
} |
\ No newline at end of file
diff --git a/docs/operations/createpresetschatcompletionsrequest.mdx b/docs/operations/createpresetschatcompletionsrequest.mdx
index c6bd7807..4b5e4778 100644
--- a/docs/operations/createpresetschatcompletionsrequest.mdx
+++ b/docs/operations/createpresetschatcompletionsrequest.mdx
@@ -10,4 +10,4 @@ title: "CreatePresetsChatCompletionsRequest"
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
| `slug` | *str* | :heavy_check_mark: | URL-safe slug identifying the preset. Created if it does not exist. | my-preset |
-| `chat_request` | [components.ChatRequest](../components/chatrequest.mdx) | :heavy_check_mark: | N/A | \{
"max_tokens": 150,
"messages": [
\{
"content": "You are a helpful assistant.",
"role": "system"
},
\{
"content": "What is the capital of France?",
"role": "user"
}
],
"model": "openai/gpt-4",
"temperature": 0.7
} |
\ No newline at end of file
+| `chat_request` | [components.ChatRequest](../components/chatrequest) | :heavy_check_mark: | N/A | \{
"max_tokens": 150,
"messages": [
\{
"content": "You are a helpful assistant.",
"role": "system"
},
\{
"content": "What is the capital of France?",
"role": "user"
}
],
"model": "openai/gpt-4",
"temperature": 0.7
} |
\ No newline at end of file
diff --git a/docs/operations/createpresetsmessagesrequest.mdx b/docs/operations/createpresetsmessagesrequest.mdx
index 71d6249e..85cc6bde 100644
--- a/docs/operations/createpresetsmessagesrequest.mdx
+++ b/docs/operations/createpresetsmessagesrequest.mdx
@@ -10,4 +10,4 @@ title: "CreatePresetsMessagesRequest"
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
| `slug` | *str* | :heavy_check_mark: | URL-safe slug identifying the preset. Created if it does not exist. | my-preset |
-| `messages_request` | [components.MessagesRequest](../components/messagesrequest.mdx) | :heavy_check_mark: | N/A | \{
"max_tokens": 1024,
"messages": [
\{
"content": "Hello, how are you?",
"role": "user"
}
],
"model": "anthropic/claude-4.5-sonnet-20250929",
"temperature": 0.7
} |
\ No newline at end of file
+| `messages_request` | [components.MessagesRequest](../components/messagesrequest) | :heavy_check_mark: | N/A | \{
"max_tokens": 1024,
"messages": [
\{
"content": "Hello, how are you?",
"role": "user"
}
],
"model": "anthropic/claude-4.5-sonnet-20250929",
"temperature": 0.7
} |
\ No newline at end of file
diff --git a/docs/operations/createpresetsresponsesrequest.mdx b/docs/operations/createpresetsresponsesrequest.mdx
index 54dde0eb..39a032d2 100644
--- a/docs/operations/createpresetsresponsesrequest.mdx
+++ b/docs/operations/createpresetsresponsesrequest.mdx
@@ -10,4 +10,4 @@ title: "CreatePresetsResponsesRequest"
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
| `slug` | *str* | :heavy_check_mark: | URL-safe slug identifying the preset. Created if it does not exist. | my-preset |
-| `responses_request` | [components.ResponsesRequest](../components/responsesrequest.mdx) | :heavy_check_mark: | N/A | \{
"input": [
\{
"content": "Hello, how are you?",
"role": "user",
"type": "message"
}
],
"model": "anthropic/claude-4.5-sonnet-20250929",
"temperature": 0.7,
"tools": [
\{
"description": "Get the current weather in a given location",
"name": "get_current_weather",
"parameters": \{
"properties": \{
"location": \{
"type": "string"
}
},
"type": "object"
},
"type": "function"
}
],
"top_p": 0.9
} |
\ No newline at end of file
+| `responses_request` | [components.ResponsesRequest](../components/responsesrequest) | :heavy_check_mark: | N/A | \{
"input": [
\{
"content": "Hello, how are you?",
"role": "user",
"type": "message"
}
],
"model": "anthropic/claude-4.5-sonnet-20250929",
"temperature": 0.7,
"tools": [
\{
"description": "Get the current weather in a given location",
"name": "get_current_weather",
"parameters": \{
"properties": \{
"location": \{
"type": "string"
}
},
"type": "object"
},
"type": "function"
}
],
"top_p": 0.9
} |
\ No newline at end of file
diff --git a/docs/operations/creatererankrequest.mdx b/docs/operations/creatererankrequest.mdx
index f0d351fc..2c0bf150 100644
--- a/docs/operations/creatererankrequest.mdx
+++ b/docs/operations/creatererankrequest.mdx
@@ -9,4 +9,4 @@ title: "CreateRerankRequest"
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `request_body` | [operations.CreateRerankRequestBody](../operations/creatererankrequestbody.mdx) | :heavy_check_mark: | N/A | \{
"documents": [
"Paris is the capital of France.",
"Berlin is the capital of Germany."
],
"model": "cohere/rerank-v3.5",
"query": "What is the capital of France?",
"top_n": 3
} |
\ No newline at end of file
+| `request_body` | [operations.CreateRerankRequestBody](../operations/creatererankrequestbody) | :heavy_check_mark: | N/A | \{
"documents": [
"Paris is the capital of France.",
"Berlin is the capital of Germany."
],
"model": "cohere/rerank-v3.5",
"query": "What is the capital of France?",
"top_n": 3
} |
\ No newline at end of file
diff --git a/docs/operations/creatererankrequestbody.mdx b/docs/operations/creatererankrequestbody.mdx
index b5640657..6f49e514 100644
--- a/docs/operations/creatererankrequestbody.mdx
+++ b/docs/operations/creatererankrequestbody.mdx
@@ -9,8 +9,8 @@ Rerank request input
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
-| `documents` | List[[operations.Document](../operations/document.mdx)] | :heavy_check_mark: | The list of documents to rerank. Documents may be plain strings, or structured objects with `text` and/or `image` for multimodal models. | [
"Paris is the capital of France.",
"Berlin is the capital of Germany."
] |
+| `documents` | List[[operations.Document](../operations/document)] | :heavy_check_mark: | The list of documents to rerank. Documents may be plain strings, or structured objects with `text` and/or `image` for multimodal models. | [
"Paris is the capital of France.",
"Berlin is the capital of Germany."
] |
| `model` | *str* | :heavy_check_mark: | The rerank model to use | cohere/rerank-v3.5 |
-| `provider` | [OptionalNullable[components.ProviderPreferences]](../components/providerpreferences.mdx) | :heavy_minus_sign: | N/A | \{
"allow_fallbacks": true
} |
+| `provider` | [OptionalNullable[components.ProviderPreferences]](../components/providerpreferences) | :heavy_minus_sign: | N/A | \{
"allow_fallbacks": true
} |
| `query` | *str* | :heavy_check_mark: | The search query to rerank documents against | What is the capital of France? |
| `top_n` | *Optional[int]* | :heavy_minus_sign: | Number of most relevant documents to return | 3 |
\ No newline at end of file
diff --git a/docs/operations/creatererankresponsebody.mdx b/docs/operations/creatererankresponsebody.mdx
index 9dc87532..fc20fc64 100644
--- a/docs/operations/creatererankresponsebody.mdx
+++ b/docs/operations/creatererankresponsebody.mdx
@@ -12,5 +12,5 @@ Rerank response containing ranked results
| `id` | *Optional[str]* | :heavy_minus_sign: | Unique identifier for the rerank response (ORID format) | gen-rerank-1234567890-abc |
| `model` | *str* | :heavy_check_mark: | The model used for reranking | cohere/rerank-v3.5 |
| `provider` | *Optional[str]* | :heavy_minus_sign: | The provider that served the rerank request | Cohere |
-| `results` | List[[operations.Result](../operations/result.mdx)] | :heavy_check_mark: | List of rerank results sorted by relevance | [
\{
"document": \{
"text": "Paris is the capital of France."
},
"index": 0,
"relevance_score": 0.98
}
] |
-| `usage` | [Optional[operations.CreateRerankUsage]](../operations/creatererankusage.mdx) | :heavy_minus_sign: | Usage statistics | \{
"search_units": 1,
"total_tokens": 150
} |
\ No newline at end of file
+| `results` | List[[operations.Result](../operations/result)] | :heavy_check_mark: | List of rerank results sorted by relevance | [
\{
"document": \{
"text": "Paris is the capital of France."
},
"index": 0,
"relevance_score": 0.98
}
] |
+| `usage` | [Optional[operations.CreateRerankUsage]](../operations/creatererankusage) | :heavy_minus_sign: | Usage statistics | \{
"search_units": 1,
"total_tokens": 150
} |
\ No newline at end of file
diff --git a/docs/operations/createresponsesrequest.mdx b/docs/operations/createresponsesrequest.mdx
index bd72e62c..0d674e49 100644
--- a/docs/operations/createresponsesrequest.mdx
+++ b/docs/operations/createresponsesrequest.mdx
@@ -9,5 +9,5 @@ title: "CreateResponsesRequest"
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `x_open_router_metadata` | [Optional[components.MetadataLevel]](../components/metadatalevel.mdx) | :heavy_minus_sign: | Opt-in to surface routing metadata on the response under `openrouter_metadata`. Defaults to `disabled`. The legacy header `X-OpenRouter-Experimental-Metadata` is also accepted for backward compatibility. | enabled |
-| `responses_request` | [components.ResponsesRequest](../components/responsesrequest.mdx) | :heavy_check_mark: | N/A | \{
"input": [
\{
"content": "Hello, how are you?",
"role": "user",
"type": "message"
}
],
"model": "anthropic/claude-4.5-sonnet-20250929",
"temperature": 0.7,
"tools": [
\{
"description": "Get the current weather in a given location",
"name": "get_current_weather",
"parameters": \{
"properties": \{
"location": \{
"type": "string"
}
},
"type": "object"
},
"type": "function"
}
],
"top_p": 0.9
} |
\ No newline at end of file
+| `x_open_router_metadata` | [Optional[components.MetadataLevel]](../components/metadatalevel) | :heavy_minus_sign: | Opt-in to surface routing metadata on the response under `openrouter_metadata`. Defaults to `disabled`. The legacy header `X-OpenRouter-Experimental-Metadata` is also accepted for backward compatibility. | enabled |
+| `responses_request` | [components.ResponsesRequest](../components/responsesrequest) | :heavy_check_mark: | N/A | \{
"input": [
\{
"content": "Hello, how are you?",
"role": "user",
"type": "message"
}
],
"model": "anthropic/claude-4.5-sonnet-20250929",
"temperature": 0.7,
"tools": [
\{
"description": "Get the current weather in a given location",
"name": "get_current_weather",
"parameters": \{
"properties": \{
"location": \{
"type": "string"
}
},
"type": "object"
},
"type": "function"
}
],
"top_p": 0.9
} |
\ No newline at end of file
diff --git a/docs/operations/createvideosrequest.mdx b/docs/operations/createvideosrequest.mdx
index 2bb242fb..16fc85ee 100644
--- a/docs/operations/createvideosrequest.mdx
+++ b/docs/operations/createvideosrequest.mdx
@@ -9,4 +9,4 @@ title: "CreateVideosRequest"
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `video_generation_request` | [components.VideoGenerationRequest](../components/videogenerationrequest.mdx) | :heavy_check_mark: | N/A | \{
"aspect_ratio": "16:9",
"duration": 8,
"model": "google/veo-3.1",
"prompt": "A serene mountain landscape at sunset",
"resolution": "720p"
} |
\ No newline at end of file
+| `video_generation_request` | [components.VideoGenerationRequest](../components/videogenerationrequest) | :heavy_check_mark: | N/A | \{
"aspect_ratio": "16:9",
"duration": 8,
"model": "google/veo-3.1",
"prompt": "A serene mountain landscape at sunset",
"resolution": "720p"
} |
\ No newline at end of file
diff --git a/docs/operations/createworkspacerequest.mdx b/docs/operations/createworkspacerequest.mdx
index c4c5d7a8..db5ebac4 100644
--- a/docs/operations/createworkspacerequest.mdx
+++ b/docs/operations/createworkspacerequest.mdx
@@ -9,4 +9,4 @@ title: "CreateWorkspaceRequest"
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `create_workspace_request` | [components.CreateWorkspaceRequest](../components/createworkspacerequest.mdx) | :heavy_check_mark: | N/A | \{
"default_image_model": "openai/dall-e-3",
"default_provider_sort": "price",
"default_text_model": "openai/gpt-4o",
"description": "Production environment workspace",
"name": "Production",
"slug": "production"
} |
\ No newline at end of file
+| `create_workspace_request` | [components.CreateWorkspaceRequest](../components/createworkspacerequest) | :heavy_check_mark: | N/A | \{
"default_image_model": "openai/dall-e-3",
"default_provider_sort": "price",
"default_text_model": "openai/gpt-4o",
"description": "Production environment workspace",
"name": "Production",
"slug": "production"
} |
\ No newline at end of file
diff --git a/docs/operations/deletefilerequest.mdx b/docs/operations/deletefilerequest.mdx
index acff81d0..e363cf52 100644
--- a/docs/operations/deletefilerequest.mdx
+++ b/docs/operations/deletefilerequest.mdx
@@ -11,4 +11,4 @@ title: "DeleteFileRequest"
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
| `file_id` | *str* | :heavy_check_mark: | N/A | or_file_011CNha8iCJcU1wXNR6q4V8w |
| `workspace_id` | *Optional[str]* | :heavy_minus_sign: | Workspace to scope the request to. Defaults to the caller’s default workspace. | a103d8b6-42f0-4e50-9a3c-bf41e2c3c1a7 |
-| `provider` | [Optional[components.FileProvider]](../components/fileprovider.mdx) | :heavy_minus_sign: | Store or read this file on the named provider using your own API key for it. Omit to use OpenRouter storage. | openai |
\ No newline at end of file
+| `provider` | [Optional[components.FileProvider]](../components/fileprovider) | :heavy_minus_sign: | Store or read this file on the named provider using your own API key for it. Omit to use OpenRouter storage. | openai |
\ No newline at end of file
diff --git a/docs/operations/deleteworkspacebudgetrequest.mdx b/docs/operations/deleteworkspacebudgetrequest.mdx
index 1073b36b..a662d925 100644
--- a/docs/operations/deleteworkspacebudgetrequest.mdx
+++ b/docs/operations/deleteworkspacebudgetrequest.mdx
@@ -10,4 +10,4 @@ title: "DeleteWorkspaceBudgetRequest"
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
| `id` | *str* | :heavy_check_mark: | The workspace ID (UUID) or slug | production |
-| `interval` | [components.WorkspaceBudgetInterval](../components/workspacebudgetinterval.mdx) | :heavy_check_mark: | Budget reset interval. Use "lifetime" for a one-time budget that never resets. | monthly |
\ No newline at end of file
+| `interval` | [components.WorkspaceBudgetInterval](../components/workspacebudgetinterval) | :heavy_check_mark: | Budget reset interval. Use "lifetime" for a one-time budget that never resets. | monthly |
\ No newline at end of file
diff --git a/docs/operations/downloadfilecontentrequest.mdx b/docs/operations/downloadfilecontentrequest.mdx
index 4e0f83f3..958abc95 100644
--- a/docs/operations/downloadfilecontentrequest.mdx
+++ b/docs/operations/downloadfilecontentrequest.mdx
@@ -11,4 +11,4 @@ title: "DownloadFileContentRequest"
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
| `file_id` | *str* | :heavy_check_mark: | N/A | or_file_011CNha8iCJcU1wXNR6q4V8w |
| `workspace_id` | *Optional[str]* | :heavy_minus_sign: | Workspace to scope the request to. Defaults to the caller’s default workspace. | a103d8b6-42f0-4e50-9a3c-bf41e2c3c1a7 |
-| `provider` | [Optional[components.FileProvider]](../components/fileprovider.mdx) | :heavy_minus_sign: | Store or read this file on the named provider using your own API key for it. Omit to use OpenRouter storage. | openai |
\ No newline at end of file
+| `provider` | [Optional[components.FileProvider]](../components/fileprovider) | :heavy_minus_sign: | Store or read this file on the named provider using your own API key for it. Omit to use OpenRouter storage. | openai |
\ No newline at end of file
diff --git a/docs/operations/exchangeauthcodeforapikeyrequest.mdx b/docs/operations/exchangeauthcodeforapikeyrequest.mdx
index a52648cd..2447ecae 100644
--- a/docs/operations/exchangeauthcodeforapikeyrequest.mdx
+++ b/docs/operations/exchangeauthcodeforapikeyrequest.mdx
@@ -9,4 +9,4 @@ title: "ExchangeAuthCodeForAPIKeyRequest"
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `request_body` | [operations.ExchangeAuthCodeForAPIKeyRequestBody](../operations/exchangeauthcodeforapikeyrequestbody.mdx) | :heavy_check_mark: | N/A | \{
"code": "auth_code_abc123def456",
"code_challenge_method": "S256",
"code_verifier": "dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk"
} |
\ No newline at end of file
+| `request_body` | [operations.ExchangeAuthCodeForAPIKeyRequestBody](../operations/exchangeauthcodeforapikeyrequestbody) | :heavy_check_mark: | N/A | \{
"code": "auth_code_abc123def456",
"code_challenge_method": "S256",
"code_verifier": "dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk"
} |
\ No newline at end of file
diff --git a/docs/operations/exchangeauthcodeforapikeyrequestbody.mdx b/docs/operations/exchangeauthcodeforapikeyrequestbody.mdx
index 27265f4f..a8bbb418 100644
--- a/docs/operations/exchangeauthcodeforapikeyrequestbody.mdx
+++ b/docs/operations/exchangeauthcodeforapikeyrequestbody.mdx
@@ -7,5 +7,5 @@ title: "ExchangeAuthCodeForAPIKeyRequestBody"
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ |
| `code` | *str* | :heavy_check_mark: | The authorization code received from the OAuth redirect | auth_code_abc123def456 |
-| `code_challenge_method` | [OptionalNullable[operations.ExchangeAuthCodeForAPIKeyCodeChallengeMethod]](../operations/exchangeauthcodeforapikeycodechallengemethod.mdx) | :heavy_minus_sign: | The method used to generate the code challenge | S256 |
+| `code_challenge_method` | [OptionalNullable[operations.ExchangeAuthCodeForAPIKeyCodeChallengeMethod]](../operations/exchangeauthcodeforapikeycodechallengemethod) | :heavy_minus_sign: | The method used to generate the code challenge | S256 |
| `code_verifier` | *Optional[str]* | :heavy_minus_sign: | The code verifier if code_challenge was used in the authorization request | dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk |
\ No newline at end of file
diff --git a/docs/operations/filter_.mdx b/docs/operations/filter_.mdx
index 3dbded7e..f910bc8d 100644
--- a/docs/operations/filter_.mdx
+++ b/docs/operations/filter_.mdx
@@ -8,4 +8,4 @@ title: "Filter"
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `field` | *str* | :heavy_check_mark: | Dimension to filter on. Use the /meta endpoint for available dimensions. | model |
| `operator` | *str* | :heavy_check_mark: | Filter operator | eq |
-| `value` | [operations.Value1](../operations/value1.mdx) | :heavy_check_mark: | Filter value (scalar or array depending on operator). Several dimensions are enriched in responses (returned as human-readable labels), but filters must use the underlying ID: `api_key_id` — numeric ID (from generation metadata) or key hash (64-char hex from GET /api/v1/keys, resolved server-side); `user` — Clerk user ID (e.g. "user_abc123"), not the display name; `workspace` — workspace UUID, not the workspace name; `app` — numeric app ID, not the app title; `model` — permaslug (e.g. "openai/gpt-4o"), not the display name. Other dimensions (provider, origin, country, etc.) are not enriched and accept the value as returned. | |
\ No newline at end of file
+| `value` | [operations.Value1](../operations/value1) | :heavy_check_mark: | Filter value (scalar or array depending on operator). Several dimensions are enriched in responses (returned as human-readable labels), but filters must use the underlying ID: `api_key_id` — numeric ID (from generation metadata) or key hash (64-char hex from GET /api/v1/keys, resolved server-side); `user` — Clerk user ID (e.g. "user_abc123"), not the display name; `workspace` — workspace UUID, not the workspace name; `app` — numeric app ID, not the app title; `model` — permaslug (e.g. "openai/gpt-4o"), not the display name. Other dimensions (provider, origin, country, etc.) are not enriched and accept the value as returned. | |
\ No newline at end of file
diff --git a/docs/operations/getanalyticsmetadata.mdx b/docs/operations/getanalyticsmetadata.mdx
index 6eacfe52..fddaf560 100644
--- a/docs/operations/getanalyticsmetadata.mdx
+++ b/docs/operations/getanalyticsmetadata.mdx
@@ -6,7 +6,7 @@ title: "GetAnalyticsMetaData"
| Field | Type | Required | Description |
| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ |
-| `dimensions` | List[[operations.Dimension](../operations/dimension.mdx)] | :heavy_check_mark: | N/A |
-| `granularities` | List[[operations.Granularity](../operations/granularity.mdx)] | :heavy_check_mark: | N/A |
-| `metrics` | List[[operations.Metric](../operations/metric.mdx)] | :heavy_check_mark: | N/A |
-| `operators` | List[[operations.Operator](../operations/operator.mdx)] | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `dimensions` | List[[operations.Dimension](../operations/dimension)] | :heavy_check_mark: | N/A |
+| `granularities` | List[[operations.Granularity](../operations/granularity)] | :heavy_check_mark: | N/A |
+| `metrics` | List[[operations.Metric](../operations/metric)] | :heavy_check_mark: | N/A |
+| `operators` | List[[operations.Operator](../operations/operator)] | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/operations/getanalyticsmetaresponse.mdx b/docs/operations/getanalyticsmetaresponse.mdx
index f2a6915c..e35c5198 100644
--- a/docs/operations/getanalyticsmetaresponse.mdx
+++ b/docs/operations/getanalyticsmetaresponse.mdx
@@ -9,4 +9,4 @@ Returns analytics query metadata
| Field | Type | Required | Description |
| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ |
-| `data` | [operations.GetAnalyticsMetaData](../operations/getanalyticsmetadata.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `data` | [operations.GetAnalyticsMetaData](../operations/getanalyticsmetadata) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/operations/getapprankingsrequest.mdx b/docs/operations/getapprankingsrequest.mdx
index fb3afc12..ceb47f35 100644
--- a/docs/operations/getapprankingsrequest.mdx
+++ b/docs/operations/getapprankingsrequest.mdx
@@ -9,9 +9,9 @@ title: "GetAppRankingsRequest"
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `category` | [Optional[operations.GetAppRankingsCategory]](../operations/getapprankingscategory.mdx) | :heavy_minus_sign: | Marketplace category group to filter by (e.g. `coding`). Only apps tagged with a subcategory inside this group are returned. Mutually combinable with `subcategory` — when both are supplied the `subcategory` must belong to the `category` group. | coding |
-| `subcategory` | [Optional[operations.Subcategory]](../operations/subcategory.mdx) | :heavy_minus_sign: | Marketplace subcategory to filter by (e.g. `cli-agent`). Takes precedence over `category` for the actual filter; when `category` is also supplied the pair must be consistent. | cli-agent |
-| `sort` | [Optional[operations.GetAppRankingsSort]](../operations/getapprankingssort.mdx) | :heavy_minus_sign: | `popular` ranks apps by total token volume inside the date window. `trending` ranks apps by absolute excess token growth: window volume minus the average volume of the three equal-length periods immediately preceding the window. Apps with no excess growth are omitted from `trending` results. | popular |
+| `category` | [Optional[operations.GetAppRankingsCategory]](../operations/getapprankingscategory) | :heavy_minus_sign: | Marketplace category group to filter by (e.g. `coding`). Only apps tagged with a subcategory inside this group are returned. Mutually combinable with `subcategory` — when both are supplied the `subcategory` must belong to the `category` group. | coding |
+| `subcategory` | [Optional[operations.Subcategory]](../operations/subcategory) | :heavy_minus_sign: | Marketplace subcategory to filter by (e.g. `cli-agent`). Takes precedence over `category` for the actual filter; when `category` is also supplied the pair must be consistent. | cli-agent |
+| `sort` | [Optional[operations.GetAppRankingsSort]](../operations/getapprankingssort) | :heavy_minus_sign: | `popular` ranks apps by total token volume inside the date window. `trending` ranks apps by absolute excess token growth: window volume minus the average volume of the three equal-length periods immediately preceding the window. Apps with no excess growth are omitted from `trending` results. | popular |
| `start_date` | *Optional[str]* | :heavy_minus_sign: | Start of the date window in YYYY-MM-DD (UTC), inclusive. Defaults to 30 days before `end_date`. The dataset begins at 2025-01-01; earlier values are clamped forward to that floor and the resolved value is echoed in `meta.start_date`. | 2026-04-12 |
| `end_date` | *Optional[str]* | :heavy_minus_sign: | End of the date window in YYYY-MM-DD (UTC), inclusive. Defaults to the most recent completed UTC day. Must be on or after 2025-01-01; earlier values are rejected with a 400. | 2026-05-11 |
| `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum number of apps to return (1-100). Defaults to 50. | 50 |
diff --git a/docs/operations/getapprankingsresponse.mdx b/docs/operations/getapprankingsresponse.mdx
index 8353352d..fabd856c 100644
--- a/docs/operations/getapprankingsresponse.mdx
+++ b/docs/operations/getapprankingsresponse.mdx
@@ -6,4 +6,4 @@ title: "GetAppRankingsResponse"
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `result` | [components.AppRankingsResponse](../components/apprankingsresponse.mdx) | :heavy_check_mark: | N/A | \{
"data": [
\{
"app_id": 12345,
"app_name": "Cline",
"rank": 1,
"total_requests": 4321,
"total_tokens": "12345678"
},
\{
"app_id": 67890,
"app_name": "Roo Code",
"rank": 2,
"total_requests": 2109,
"total_tokens": "9876543"
}
],
"meta": \{
"as_of": "2026-05-12T02:00:00Z",
"end_date": "2026-05-11",
"start_date": "2026-04-12",
"version": "v1"
}
} |
\ No newline at end of file
+| `result` | [components.AppRankingsResponse](../components/apprankingsresponse) | :heavy_check_mark: | N/A | \{
"data": [
\{
"app_id": 12345,
"app_name": "Cline",
"rank": 1,
"total_requests": 4321,
"total_tokens": "12345678"
},
\{
"app_id": 67890,
"app_name": "Roo Code",
"rank": 2,
"total_requests": 2109,
"total_tokens": "9876543"
}
],
"meta": \{
"as_of": "2026-05-12T02:00:00Z",
"end_date": "2026-05-11",
"start_date": "2026-04-12",
"version": "v1"
}
} |
\ No newline at end of file
diff --git a/docs/operations/getbenchmarksrequest.mdx b/docs/operations/getbenchmarksrequest.mdx
index c5acba5b..b75db578 100644
--- a/docs/operations/getbenchmarksrequest.mdx
+++ b/docs/operations/getbenchmarksrequest.mdx
@@ -9,8 +9,8 @@ title: "GetBenchmarksRequest"
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `source` | [Optional[operations.Source]](../operations/source.mdx) | :heavy_minus_sign: | Benchmark source to query. Determines the shape of the returned items. When omitted, returns results from all sources. | artificial-analysis |
-| `task_type` | [Optional[operations.TaskType]](../operations/tasktype.mdx) | :heavy_minus_sign: | Filter results by task type. For Artificial Analysis, maps to the corresponding index. For Design Arena, maps to the matching category. | coding |
-| `arena` | [Optional[operations.Arena]](../operations/arena.mdx) | :heavy_minus_sign: | Design Arena only: arena to query. Defaults to `models` when source is `design-arena`. | models |
+| `source` | [Optional[operations.Source]](../operations/source) | :heavy_minus_sign: | Benchmark source to query. Determines the shape of the returned items. When omitted, returns results from all sources. | artificial-analysis |
+| `task_type` | [Optional[operations.TaskType]](../operations/tasktype) | :heavy_minus_sign: | Filter results by task type. For Artificial Analysis, maps to the corresponding index. For Design Arena, maps to the matching category. | coding |
+| `arena` | [Optional[operations.Arena]](../operations/arena) | :heavy_minus_sign: | Design Arena only: arena to query. Defaults to `models` when source is `design-arena`. | models |
| `category` | *Optional[str]* | :heavy_minus_sign: | Design Arena only: category within the arena (e.g. `codecategories`, `uicomponent`, `gamedev`, `3d`, `dataviz`, `image`, `video`, `svg`). When omitted, returns all categories. | codecategories |
| `max_results` | *Optional[int]* | :heavy_minus_sign: | Maximum number of items to return. When omitted, all matching results are returned. | 50 |
\ No newline at end of file
diff --git a/docs/operations/getcreditsresponse.mdx b/docs/operations/getcreditsresponse.mdx
index 1f584bb9..b51761f8 100644
--- a/docs/operations/getcreditsresponse.mdx
+++ b/docs/operations/getcreditsresponse.mdx
@@ -9,4 +9,4 @@ Total credits purchased and used
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ |
-| `data` | [operations.GetCreditsData](../operations/getcreditsdata.mdx) | :heavy_check_mark: | N/A | \{
"total_credits": 100.5,
"total_usage": 25.75
} |
\ No newline at end of file
+| `data` | [operations.GetCreditsData](../operations/getcreditsdata) | :heavy_check_mark: | N/A | \{
"total_credits": 100.5,
"total_usage": 25.75
} |
\ No newline at end of file
diff --git a/docs/operations/getcurrentkeydata.mdx b/docs/operations/getcurrentkeydata.mdx
index a73217d1..1542e5fd 100644
--- a/docs/operations/getcurrentkeydata.mdx
+++ b/docs/operations/getcurrentkeydata.mdx
@@ -23,7 +23,7 @@ Current API key information
| `limit` | *Nullable[float]* | :heavy_check_mark: | Spending limit for the API key in USD | 100 |
| `limit_remaining` | *Nullable[float]* | :heavy_check_mark: | Remaining spending limit in USD | 74.5 |
| `limit_reset` | *Nullable[str]* | :heavy_check_mark: | Type of limit reset for the API key | monthly |
-| ~~`rate_limit`~~ | [operations.RateLimit](../operations/ratelimit.mdx) | :heavy_check_mark: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.
Legacy rate limit information about a key. Will always return -1. | \{
"interval": "1h",
"note": "This field is deprecated and safe to ignore.",
"requests": 1000
} |
+| ~~`rate_limit`~~ | [operations.RateLimit](../operations/ratelimit) | :heavy_check_mark: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible.
Legacy rate limit information about a key. Will always return -1. | \{
"interval": "1h",
"note": "This field is deprecated and safe to ignore.",
"requests": 1000
} |
| `usage` | *float* | :heavy_check_mark: | Total OpenRouter credit usage (in USD) for the API key | 25.5 |
| `usage_daily` | *float* | :heavy_check_mark: | OpenRouter credit usage (in USD) for the current UTC day | 25.5 |
| `usage_monthly` | *float* | :heavy_check_mark: | OpenRouter credit usage (in USD) for the current UTC month | 25.5 |
diff --git a/docs/operations/getcurrentkeyresponse.mdx b/docs/operations/getcurrentkeyresponse.mdx
index 9b358b33..afb0351e 100644
--- a/docs/operations/getcurrentkeyresponse.mdx
+++ b/docs/operations/getcurrentkeyresponse.mdx
@@ -9,4 +9,4 @@ API key details
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `data` | [operations.GetCurrentKeyData](../operations/getcurrentkeydata.mdx) | :heavy_check_mark: | Current API key information | \{
"byok_usage": 17.38,
"byok_usage_daily": 17.38,
"byok_usage_monthly": 17.38,
"byok_usage_weekly": 17.38,
"creator_user_id": "user_2dHFtVWx2n56w6HkM0000000000",
"expires_at": "2027-12-31T23:59:59Z",
"include_byok_in_limit": false,
"is_free_tier": false,
"is_management_key": false,
"is_provisioning_key": false,
"label": "sk-or-v1-au7...890",
"limit": 100,
"limit_remaining": 74.5,
"limit_reset": "monthly",
"rate_limit": \{
"interval": "1h",
"note": "This field is deprecated and safe to ignore.",
"requests": 1000
},
"usage": 25.5,
"usage_daily": 25.5,
"usage_monthly": 25.5,
"usage_weekly": 25.5
} |
\ No newline at end of file
+| `data` | [operations.GetCurrentKeyData](../operations/getcurrentkeydata) | :heavy_check_mark: | Current API key information | \{
"byok_usage": 17.38,
"byok_usage_daily": 17.38,
"byok_usage_monthly": 17.38,
"byok_usage_weekly": 17.38,
"creator_user_id": "user_2dHFtVWx2n56w6HkM0000000000",
"expires_at": "2027-12-31T23:59:59Z",
"include_byok_in_limit": false,
"is_free_tier": false,
"is_management_key": false,
"is_provisioning_key": false,
"label": "sk-or-v1-au7...890",
"limit": 100,
"limit_remaining": 74.5,
"limit_reset": "monthly",
"rate_limit": \{
"interval": "1h",
"note": "This field is deprecated and safe to ignore.",
"requests": 1000
},
"usage": 25.5,
"usage_daily": 25.5,
"usage_monthly": 25.5,
"usage_weekly": 25.5
} |
\ No newline at end of file
diff --git a/docs/operations/getfilemetadatarequest.mdx b/docs/operations/getfilemetadatarequest.mdx
index 429a0f54..7b3e496d 100644
--- a/docs/operations/getfilemetadatarequest.mdx
+++ b/docs/operations/getfilemetadatarequest.mdx
@@ -11,4 +11,4 @@ title: "GetFileMetadataRequest"
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
| `file_id` | *str* | :heavy_check_mark: | N/A | or_file_011CNha8iCJcU1wXNR6q4V8w |
| `workspace_id` | *Optional[str]* | :heavy_minus_sign: | Workspace to scope the request to. Defaults to the caller’s default workspace. | a103d8b6-42f0-4e50-9a3c-bf41e2c3c1a7 |
-| `provider` | [Optional[components.FileProvider]](../components/fileprovider.mdx) | :heavy_minus_sign: | Store or read this file on the named provider using your own API key for it. Omit to use OpenRouter storage. | openai |
\ No newline at end of file
+| `provider` | [Optional[components.FileProvider]](../components/fileprovider) | :heavy_minus_sign: | Store or read this file on the named provider using your own API key for it. Omit to use OpenRouter storage. | openai |
\ No newline at end of file
diff --git a/docs/operations/getkeyresponse.mdx b/docs/operations/getkeyresponse.mdx
index 52562a4f..bddee55b 100644
--- a/docs/operations/getkeyresponse.mdx
+++ b/docs/operations/getkeyresponse.mdx
@@ -9,4 +9,4 @@ API key details
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `data` | [operations.GetKeyData](../operations/getkeydata.mdx) | :heavy_check_mark: | The API key information | \{
"byok_usage": 17.38,
"byok_usage_daily": 17.38,
"byok_usage_monthly": 17.38,
"byok_usage_weekly": 17.38,
"created_at": "2025-08-24T10:30:00Z",
"creator_user_id": "user_2dHFtVWx2n56w6HkM0000000000",
"disabled": false,
"expires_at": "2027-12-31T23:59:59Z",
"hash": "f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943",
"include_byok_in_limit": false,
"label": "sk-or-v1-0e6...1c96",
"limit": 100,
"limit_remaining": 74.5,
"limit_reset": "monthly",
"name": "My Production Key",
"updated_at": "2025-08-24T15:45:00Z",
"usage": 25.5,
"usage_daily": 25.5,
"usage_monthly": 25.5,
"usage_weekly": 25.5,
"workspace_id": "0df9e665-d932-5740-b2c7-b52af166bc11"
} |
\ No newline at end of file
+| `data` | [operations.GetKeyData](../operations/getkeydata) | :heavy_check_mark: | The API key information | \{
"byok_usage": 17.38,
"byok_usage_daily": 17.38,
"byok_usage_monthly": 17.38,
"byok_usage_weekly": 17.38,
"created_at": "2025-08-24T10:30:00Z",
"creator_user_id": "user_2dHFtVWx2n56w6HkM0000000000",
"disabled": false,
"expires_at": "2027-12-31T23:59:59Z",
"hash": "f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943",
"include_byok_in_limit": false,
"label": "sk-or-v1-0e6...1c96",
"limit": 100,
"limit_remaining": 74.5,
"limit_reset": "monthly",
"name": "My Production Key",
"updated_at": "2025-08-24T15:45:00Z",
"usage": 25.5,
"usage_daily": 25.5,
"usage_monthly": 25.5,
"usage_weekly": 25.5,
"workspace_id": "0df9e665-d932-5740-b2c7-b52af166bc11"
} |
\ No newline at end of file
diff --git a/docs/operations/getmodelsrequest.mdx b/docs/operations/getmodelsrequest.mdx
index 3c93e9ac..8b63ea05 100644
--- a/docs/operations/getmodelsrequest.mdx
+++ b/docs/operations/getmodelsrequest.mdx
@@ -11,10 +11,10 @@ title: "GetModelsRequest"
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
| `offset` | *OptionalNullable[int]* | :heavy_minus_sign: | Number of records to skip for pagination. When both offset and limit are omitted, the full list is returned | 0 |
| `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum number of records to return (max 1000). When both offset and limit are omitted, the full list is returned | 500 |
-| `category` | [Optional[operations.GetModelsCategory]](../operations/getmodelscategory.mdx) | :heavy_minus_sign: | Filter models by use case category | programming |
+| `category` | [Optional[operations.GetModelsCategory]](../operations/getmodelscategory) | :heavy_minus_sign: | Filter models by use case category | programming |
| `supported_parameters` | *Optional[str]* | :heavy_minus_sign: | Filter models by supported parameter (comma-separated) | temperature |
| `output_modalities` | *Optional[str]* | :heavy_minus_sign: | Filter models by output modality. Accepts a comma-separated list of modalities (text, image, audio, embeddings) or "all" to include all models. Defaults to "text". | text |
-| `sort` | [Optional[operations.GetModelsSort]](../operations/getmodelssort.mdx) | :heavy_minus_sign: | Sort the returned models server-side. Prefer this over fetching the full list and sorting client-side. Options: pricing-low-to-high, pricing-high-to-low (average prompt/completion price), context-high-to-low (context length), throughput-high-to-low, latency-low-to-high (recent median performance), most-popular, top-weekly (tokens processed in the last week), newest (creation date), intelligence-high-to-low, coding-high-to-low, agentic-high-to-low (Artificial Analysis indices), design-arena-elo-high-to-low (best Design Arena ELO across arenas). Models without a score for the chosen benchmark are placed last. When omitted, the existing default ordering is preserved. | newest |
+| `sort` | [Optional[operations.GetModelsSort]](../operations/getmodelssort) | :heavy_minus_sign: | Sort the returned models server-side. Prefer this over fetching the full list and sorting client-side. Options: pricing-low-to-high, pricing-high-to-low (average prompt/completion price), context-high-to-low (context length), throughput-high-to-low, latency-low-to-high (recent median performance), most-popular, top-weekly (tokens processed in the last week), newest (creation date), intelligence-high-to-low, coding-high-to-low, agentic-high-to-low (Artificial Analysis indices), design-arena-elo-high-to-low (best Design Arena ELO across arenas). Models without a score for the chosen benchmark are placed last. When omitted, the existing default ordering is preserved. | newest |
| `q` | *Optional[str]* | :heavy_minus_sign: | Free-text search by model name or slug. | gpt-4 |
| `input_modalities` | *Optional[str]* | :heavy_minus_sign: | Filter models by input modality. Comma-separated list of: text, image, audio, file. | text,image |
| `context` | *Optional[int]* | :heavy_minus_sign: | Minimum context length (tokens). Models with smaller context are excluded. | 128000 |
@@ -23,9 +23,9 @@ title: "GetModelsRequest"
| `arch` | *Optional[str]* | :heavy_minus_sign: | Filter models by architecture/model family (e.g. GPT, Claude, Gemini, Llama). | GPT |
| `model_authors` | *Optional[str]* | :heavy_minus_sign: | Filter models by the organization that created the model. Comma-separated list of author slugs. | openai,anthropic |
| `providers` | *Optional[str]* | :heavy_minus_sign: | Filter models by hosting provider. Comma-separated list of provider names. | OpenAI,Anthropic |
-| `distillable` | [Optional[operations.Distillable]](../operations/distillable.mdx) | :heavy_minus_sign: | Filter by distillation capability. "true" returns only distillable models, "false" excludes them. | true |
-| `zdr` | [Optional[operations.Zdr]](../operations/zdr.mdx) | :heavy_minus_sign: | When set to "true", return only models with zero data retention endpoints. | true |
-| `region` | [Optional[operations.Region]](../operations/region.mdx) | :heavy_minus_sign: | Filter to models with endpoints in the given data region. Currently only "eu" is supported. | eu |
+| `distillable` | [Optional[operations.Distillable]](../operations/distillable) | :heavy_minus_sign: | Filter by distillation capability. "true" returns only distillable models, "false" excludes them. | true |
+| `zdr` | [Optional[operations.Zdr]](../operations/zdr) | :heavy_minus_sign: | When set to "true", return only models with zero data retention endpoints. | true |
+| `region` | [Optional[operations.Region]](../operations/region) | :heavy_minus_sign: | Filter to models with endpoints in the given data region. Currently only "eu" is supported. | eu |
| `min_output_price` | *OptionalNullable[float]* | :heavy_minus_sign: | Minimum completion (output) price in $/M tokens. | 0 |
| `max_output_price` | *OptionalNullable[float]* | :heavy_minus_sign: | Maximum completion (output) price in $/M tokens. | 10 |
| `min_age_days` | *OptionalNullable[int]* | :heavy_minus_sign: | Minimum model age in days since its creation date. | 0 |
diff --git a/docs/operations/getmodelsresponse.mdx b/docs/operations/getmodelsresponse.mdx
index c7353f31..474ede41 100644
--- a/docs/operations/getmodelsresponse.mdx
+++ b/docs/operations/getmodelsresponse.mdx
@@ -6,4 +6,4 @@ title: "GetModelsResponse"
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `result` | [components.ModelsListResponse](../components/modelslistresponse.mdx) | :heavy_check_mark: | N/A | \{
"data": [
\{
"architecture": \{
"input_modalities": [
"text"
],
"instruct_type": "chatml",
"modality": "text-\u003etext",
"output_modalities": [
"text"
],
"tokenizer": "GPT"
},
"canonical_slug": "openai/gpt-4",
"context_length": 8192,
"created": 1692901234,
"default_parameters": null,
"description": "GPT-4 is a large multimodal model that can solve difficult problems with greater accuracy.",
"expiration_date": null,
"id": "openai/gpt-4",
"knowledge_cutoff": null,
"links": \{
"details": "/api/v1/models/openai/gpt-4/endpoints"
},
"name": "GPT-4",
"per_request_limits": null,
"pricing": \{
"completion": "0.00006",
"image": "0",
"prompt": "0.00003",
"request": "0"
},
"supported_parameters": [
"temperature",
"top_p",
"max_tokens",
"frequency_penalty",
"presence_penalty"
],
"supported_voices": null,
"top_provider": \{
"context_length": 8192,
"is_moderated": true,
"max_completion_tokens": 4096
}
}
],
"links": \{
"next": "/api/v1/models?offset=500\u0026limit=500"
},
"total_count": 150
} |
\ No newline at end of file
+| `result` | [components.ModelsListResponse](../components/modelslistresponse) | :heavy_check_mark: | N/A | \{
"data": [
\{
"architecture": \{
"input_modalities": [
"text"
],
"instruct_type": "chatml",
"modality": "text-\u003etext",
"output_modalities": [
"text"
],
"tokenizer": "GPT"
},
"canonical_slug": "openai/gpt-4",
"context_length": 8192,
"created": 1692901234,
"default_parameters": null,
"description": "GPT-4 is a large multimodal model that can solve difficult problems with greater accuracy.",
"expiration_date": null,
"id": "openai/gpt-4",
"knowledge_cutoff": null,
"links": \{
"details": "/api/v1/models/openai/gpt-4/endpoints"
},
"name": "GPT-4",
"per_request_limits": null,
"pricing": \{
"completion": "0.00006",
"image": "0",
"prompt": "0.00003",
"request": "0"
},
"supported_parameters": [
"temperature",
"top_p",
"max_tokens",
"frequency_penalty",
"presence_penalty"
],
"supported_voices": null,
"top_provider": \{
"context_length": 8192,
"is_moderated": true,
"max_completion_tokens": 4096
}
}
],
"links": \{
"next": "/api/v1/models?offset=500\u0026limit=500"
},
"total_count": 150
} |
\ No newline at end of file
diff --git a/docs/operations/getrankingsdailyrequest.mdx b/docs/operations/getrankingsdailyrequest.mdx
index 04784a9f..8038aaa5 100644
--- a/docs/operations/getrankingsdailyrequest.mdx
+++ b/docs/operations/getrankingsdailyrequest.mdx
@@ -11,8 +11,8 @@ title: "GetRankingsDailyRequest"
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
| `start_date` | *Optional[str]* | :heavy_minus_sign: | Start of the date window in YYYY-MM-DD (UTC), inclusive. Defaults to 30 days before `end_date`. The dataset begins at 2025-01-01; earlier values are clamped forward to that floor and the resolved value is echoed in `meta.start_date`. | 2026-04-12 |
| `end_date` | *Optional[str]* | :heavy_minus_sign: | End of the date window in YYYY-MM-DD (UTC), inclusive. Defaults to the most recent completed UTC day. Must be on or after 2025-01-01; earlier values are rejected with a 400. | 2026-05-11 |
-| `period` | [Optional[operations.Period]](../operations/period.mdx) | :heavy_minus_sign: | Time grain of each row. `day` (default) returns the per-UTC-day series; `week` buckets by ISO week start; `month` buckets by month start. With `category` or `language_type` only `week` (default) and `month` are available — `day` is rejected with a 400 because those datasets are aggregated weekly. For those sampled datasets `period=month` buckets each week by its week-start month, so totals are approximate at month boundaries. | day |
-| `modality` | [Optional[operations.Modality]](../operations/modality.mdx) | :heavy_minus_sign: | Restrict to models for a modality surface: `text` / `image_output` match output modality, `image` / `audio` match input modality, and `tool_calling` keeps only rows that recorded at least one tool call. Exact dataset — cannot be combined with `category` or `language_type`. | text |
-| `context_bucket` | [Optional[operations.ContextBucket]](../operations/contextbucket.mdx) | :heavy_minus_sign: | Restrict to requests whose context length falls in this bucket (`1K`, `10K`, `100K`, `1M`, or `10M`). Exact dataset — cannot be combined with `category` or `language_type`. | 100K |
-| `category` | [Optional[operations.GetRankingsDailyCategory]](../operations/getrankingsdailycategory.mdx) | :heavy_minus_sign: | Restrict to a use-case category (e.g. `programming`, `roleplay`). Sourced from a sampled, upsampled dataset, so `total_tokens` is an estimate and is aggregated weekly (the trailing weekly bucket may include traffic past `end_date`). Cannot be combined with `modality`, `context_bucket`, or `language_type`. | programming |
-| `language_type` | [Optional[operations.LanguageType]](../operations/languagetype.mdx) | :heavy_minus_sign: | Restrict to natural-language or programming-language tagged activity. Sourced from a sampled, upsampled dataset, so `total_tokens` is an estimate and is aggregated weekly (the trailing weekly bucket may include traffic past `end_date`). Cannot be combined with `modality`, `context_bucket`, or `category`. | natural |
\ No newline at end of file
+| `period` | [Optional[operations.Period]](../operations/period) | :heavy_minus_sign: | Time grain of each row. `day` (default) returns the per-UTC-day series; `week` buckets by ISO week start; `month` buckets by month start. With `category` or `language_type` only `week` (default) and `month` are available — `day` is rejected with a 400 because those datasets are aggregated weekly. For those sampled datasets `period=month` buckets each week by its week-start month, so totals are approximate at month boundaries. | day |
+| `modality` | [Optional[operations.Modality]](../operations/modality) | :heavy_minus_sign: | Restrict to models for a modality surface: `text` / `image_output` match output modality, `image` / `audio` match input modality, and `tool_calling` keeps only rows that recorded at least one tool call. Exact dataset — cannot be combined with `category` or `language_type`. | text |
+| `context_bucket` | [Optional[operations.ContextBucket]](../operations/contextbucket) | :heavy_minus_sign: | Restrict to requests whose context length falls in this bucket (`1K`, `10K`, `100K`, `1M`, or `10M`). Exact dataset — cannot be combined with `category` or `language_type`. | 100K |
+| `category` | [Optional[operations.GetRankingsDailyCategory]](../operations/getrankingsdailycategory) | :heavy_minus_sign: | Restrict to a use-case category (e.g. `programming`, `roleplay`). Sourced from a sampled, upsampled dataset, so `total_tokens` is an estimate and is aggregated weekly (the trailing weekly bucket may include traffic past `end_date`). Cannot be combined with `modality`, `context_bucket`, or `language_type`. | programming |
+| `language_type` | [Optional[operations.LanguageType]](../operations/languagetype) | :heavy_minus_sign: | Restrict to natural-language or programming-language tagged activity. Sourced from a sampled, upsampled dataset, so `total_tokens` is an estimate and is aggregated weekly (the trailing weekly bucket may include traffic past `end_date`). Cannot be combined with `modality`, `context_bucket`, or `category`. | natural |
\ No newline at end of file
diff --git a/docs/operations/gettaskclassificationsrequest.mdx b/docs/operations/gettaskclassificationsrequest.mdx
index acb6b483..7f9c6f91 100644
--- a/docs/operations/gettaskclassificationsrequest.mdx
+++ b/docs/operations/gettaskclassificationsrequest.mdx
@@ -9,4 +9,4 @@ title: "GetTaskClassificationsRequest"
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `window` | [Optional[operations.Window]](../operations/window.mdx) | :heavy_minus_sign: | Trailing time window for the classification data. Currently only `7d` (trailing 7 days) is supported. | 7d |
\ No newline at end of file
+| `window` | [Optional[operations.Window]](../operations/window) | :heavy_minus_sign: | Trailing time window for the classification data. Currently only `7d` (trailing 7 days) is supported. | 7d |
\ No newline at end of file
diff --git a/docs/operations/granularity.mdx b/docs/operations/granularity.mdx
index 8aa00fc1..9c70632c 100644
--- a/docs/operations/granularity.mdx
+++ b/docs/operations/granularity.mdx
@@ -7,4 +7,4 @@ title: "Granularity"
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
| `display_label` | *str* | :heavy_check_mark: | Human-readable label | Day |
-| `name` | [operations.GranularityName](../operations/granularityname.mdx) | :heavy_check_mark: | Granularity identifier | day |
\ No newline at end of file
+| `name` | [operations.GranularityName](../operations/granularityname) | :heavy_check_mark: | Granularity identifier | day |
\ No newline at end of file
diff --git a/docs/operations/input.mdx b/docs/operations/input.mdx
index deecee21..9ad09a20 100644
--- a/docs/operations/input.mdx
+++ b/docs/operations/input.mdx
@@ -6,4 +6,4 @@ title: "Input"
| Field | Type | Required | Description |
| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- |
-| `content` | List[[operations.Content](../operations/content.mdx)] | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `content` | List[[operations.Content](../operations/content)] | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/operations/listbyokkeysrequest.mdx b/docs/operations/listbyokkeysrequest.mdx
index 178868c3..ac42d252 100644
--- a/docs/operations/listbyokkeysrequest.mdx
+++ b/docs/operations/listbyokkeysrequest.mdx
@@ -12,4 +12,4 @@ title: "ListBYOKKeysRequest"
| `offset` | *OptionalNullable[int]* | :heavy_minus_sign: | Number of records to skip for pagination | 0 |
| `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum number of records to return (max 100) | 50 |
| `workspace_id` | *Optional[str]* | :heavy_minus_sign: | Optional workspace ID to filter by. Defaults to the authenticated entity's default workspace. | 550e8400-e29b-41d4-a716-446655440000 |
-| `provider` | [Optional[operations.Provider]](../operations/provider.mdx) | :heavy_minus_sign: | Optional provider slug to filter by (e.g. `openai`, `anthropic`, `amazon-bedrock`). | openai |
\ No newline at end of file
+| `provider` | [Optional[operations.Provider]](../operations/provider) | :heavy_minus_sign: | Optional provider slug to filter by (e.g. `openai`, `anthropic`, `amazon-bedrock`). | openai |
\ No newline at end of file
diff --git a/docs/operations/listbyokkeysresponse.mdx b/docs/operations/listbyokkeysresponse.mdx
index 213ea97a..7f7557e5 100644
--- a/docs/operations/listbyokkeysresponse.mdx
+++ b/docs/operations/listbyokkeysresponse.mdx
@@ -6,4 +6,4 @@ title: "ListBYOKKeysResponse"
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `result` | [components.ListBYOKKeysResponse](../components/listbyokkeysresponse.mdx) | :heavy_check_mark: | N/A | \{
"data": [
\{
"allowed_api_key_hashes": null,
"allowed_models": null,
"allowed_user_ids": null,
"created_at": "2025-08-24T10:30:00Z",
"disabled": false,
"id": "11111111-2222-3333-4444-555555555555",
"is_fallback": false,
"label": "sk-...AbCd",
"name": "Production OpenAI Key",
"provider": "openai",
"sort_order": 0,
"workspace_id": "550e8400-e29b-41d4-a716-446655440000"
}
],
"total_count": 1
} |
\ No newline at end of file
+| `result` | [components.ListBYOKKeysResponse](../components/listbyokkeysresponse) | :heavy_check_mark: | N/A | \{
"data": [
\{
"allowed_api_key_hashes": null,
"allowed_models": null,
"allowed_user_ids": null,
"created_at": "2025-08-24T10:30:00Z",
"disabled": false,
"id": "11111111-2222-3333-4444-555555555555",
"is_fallback": false,
"label": "sk-...AbCd",
"name": "Production OpenAI Key",
"provider": "openai",
"sort_order": 0,
"workspace_id": "550e8400-e29b-41d4-a716-446655440000"
}
],
"total_count": 1
} |
\ No newline at end of file
diff --git a/docs/operations/listembeddingsmodelsresponse.mdx b/docs/operations/listembeddingsmodelsresponse.mdx
index 053af0a8..37b331d2 100644
--- a/docs/operations/listembeddingsmodelsresponse.mdx
+++ b/docs/operations/listembeddingsmodelsresponse.mdx
@@ -6,4 +6,4 @@ title: "ListEmbeddingsModelsResponse"
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `result` | [components.ModelsListResponse](../components/modelslistresponse.mdx) | :heavy_check_mark: | N/A | \{
"data": [
\{
"architecture": \{
"input_modalities": [
"text"
],
"instruct_type": "chatml",
"modality": "text-\u003etext",
"output_modalities": [
"text"
],
"tokenizer": "GPT"
},
"canonical_slug": "openai/gpt-4",
"context_length": 8192,
"created": 1692901234,
"default_parameters": null,
"description": "GPT-4 is a large multimodal model that can solve difficult problems with greater accuracy.",
"expiration_date": null,
"id": "openai/gpt-4",
"knowledge_cutoff": null,
"links": \{
"details": "/api/v1/models/openai/gpt-4/endpoints"
},
"name": "GPT-4",
"per_request_limits": null,
"pricing": \{
"completion": "0.00006",
"image": "0",
"prompt": "0.00003",
"request": "0"
},
"supported_parameters": [
"temperature",
"top_p",
"max_tokens",
"frequency_penalty",
"presence_penalty"
],
"supported_voices": null,
"top_provider": \{
"context_length": 8192,
"is_moderated": true,
"max_completion_tokens": 4096
}
}
],
"links": \{
"next": "/api/v1/models?offset=500\u0026limit=500"
},
"total_count": 150
} |
\ No newline at end of file
+| `result` | [components.ModelsListResponse](../components/modelslistresponse) | :heavy_check_mark: | N/A | \{
"data": [
\{
"architecture": \{
"input_modalities": [
"text"
],
"instruct_type": "chatml",
"modality": "text-\u003etext",
"output_modalities": [
"text"
],
"tokenizer": "GPT"
},
"canonical_slug": "openai/gpt-4",
"context_length": 8192,
"created": 1692901234,
"default_parameters": null,
"description": "GPT-4 is a large multimodal model that can solve difficult problems with greater accuracy.",
"expiration_date": null,
"id": "openai/gpt-4",
"knowledge_cutoff": null,
"links": \{
"details": "/api/v1/models/openai/gpt-4/endpoints"
},
"name": "GPT-4",
"per_request_limits": null,
"pricing": \{
"completion": "0.00006",
"image": "0",
"prompt": "0.00003",
"request": "0"
},
"supported_parameters": [
"temperature",
"top_p",
"max_tokens",
"frequency_penalty",
"presence_penalty"
],
"supported_voices": null,
"top_provider": \{
"context_length": 8192,
"is_moderated": true,
"max_completion_tokens": 4096
}
}
],
"links": \{
"next": "/api/v1/models?offset=500\u0026limit=500"
},
"total_count": 150
} |
\ No newline at end of file
diff --git a/docs/operations/listendpointsresponse.mdx b/docs/operations/listendpointsresponse.mdx
index f5f6478e..270f8b77 100644
--- a/docs/operations/listendpointsresponse.mdx
+++ b/docs/operations/listendpointsresponse.mdx
@@ -9,4 +9,4 @@ Returns a list of endpoints
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `data` | [components.ListEndpointsResponse](../components/listendpointsresponse.mdx) | :heavy_check_mark: | List of available endpoints for a model | \{
"architecture": \{
"input_modalities": [
"text"
],
"instruct_type": "chatml",
"modality": "text-\u003etext",
"output_modalities": [
"text"
],
"tokenizer": "GPT"
},
"created": 1692901234,
"description": "GPT-4 is a large multimodal model that can solve difficult problems with greater accuracy.",
"endpoints": [
\{
"context_length": 8192,
"latency_last_30m": \{
"p50": 0.25,
"p75": 0.35,
"p90": 0.48,
"p99": 0.85
},
"max_completion_tokens": 4096,
"max_prompt_tokens": 8192,
"model_id": "openai/gpt-4",
"model_name": "GPT-4",
"name": "OpenAI: GPT-4",
"pricing": \{
"completion": "0.00006",
"image": "0",
"prompt": "0.00003",
"request": "0"
},
"provider_name": "OpenAI",
"quantization": "fp16",
"status": 0,
"supported_parameters": [
"temperature",
"top_p",
"max_tokens",
"frequency_penalty",
"presence_penalty"
],
"supports_implicit_caching": true,
"tag": "openai",
"throughput_last_30m": \{
"p50": 45.2,
"p75": 38.5,
"p90": 28.3,
"p99": 15.1
},
"uptime_last_1d": 99.8,
"uptime_last_30m": 99.5,
"uptime_last_5m": 100
}
],
"id": "openai/gpt-4",
"name": "GPT-4"
} |
\ No newline at end of file
+| `data` | [components.ListEndpointsResponse](../components/listendpointsresponse) | :heavy_check_mark: | List of available endpoints for a model | \{
"architecture": \{
"input_modalities": [
"text"
],
"instruct_type": "chatml",
"modality": "text-\u003etext",
"output_modalities": [
"text"
],
"tokenizer": "GPT"
},
"created": 1692901234,
"description": "GPT-4 is a large multimodal model that can solve difficult problems with greater accuracy.",
"endpoints": [
\{
"context_length": 8192,
"latency_last_30m": \{
"p50": 0.25,
"p75": 0.35,
"p90": 0.48,
"p99": 0.85
},
"max_completion_tokens": 4096,
"max_prompt_tokens": 8192,
"model_id": "openai/gpt-4",
"model_name": "GPT-4",
"name": "OpenAI: GPT-4",
"pricing": \{
"completion": "0.00006",
"image": "0",
"prompt": "0.00003",
"request": "0"
},
"provider_name": "OpenAI",
"quantization": "fp16",
"status": 0,
"supported_parameters": [
"temperature",
"top_p",
"max_tokens",
"frequency_penalty",
"presence_penalty"
],
"supports_implicit_caching": true,
"tag": "openai",
"throughput_last_30m": \{
"p50": 45.2,
"p75": 38.5,
"p90": 28.3,
"p99": 15.1
},
"uptime_last_1d": 99.8,
"uptime_last_30m": 99.5,
"uptime_last_5m": 100
}
],
"id": "openai/gpt-4",
"name": "GPT-4"
} |
\ No newline at end of file
diff --git a/docs/operations/listendpointszdrresponse.mdx b/docs/operations/listendpointszdrresponse.mdx
index 31012e2c..71c9fcab 100644
--- a/docs/operations/listendpointszdrresponse.mdx
+++ b/docs/operations/listendpointszdrresponse.mdx
@@ -9,4 +9,4 @@ Returns a list of endpoints
| Field | Type | Required | Description |
| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
-| `data` | List[[components.PublicEndpoint](../components/publicendpoint.mdx)] | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `data` | List[[components.PublicEndpoint](../components/publicendpoint)] | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/operations/listfilesrequest.mdx b/docs/operations/listfilesrequest.mdx
index df4338da..7ec3bb4c 100644
--- a/docs/operations/listfilesrequest.mdx
+++ b/docs/operations/listfilesrequest.mdx
@@ -12,8 +12,8 @@ title: "ListFilesRequest"
| `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum number of files to return (1–1000). | 100 |
| `cursor` | *Optional[str]* | :heavy_minus_sign: | Opaque pagination cursor from a previous response. | eyJjdXJzb3IiOiJvcl9maWxlXzAxMUNOaGE4aUNKY1Uxd1hOUjZxNFY4dyJ9 |
| `workspace_id` | *Optional[str]* | :heavy_minus_sign: | Workspace to scope the request to. Defaults to the caller’s default workspace. | a103d8b6-42f0-4e50-9a3c-bf41e2c3c1a7 |
-| `provider` | [Optional[components.FileProvider]](../components/fileprovider.mdx) | :heavy_minus_sign: | Store or read this file on the named provider using your own API key for it. Omit to use OpenRouter storage. | openai |
+| `provider` | [Optional[components.FileProvider]](../components/fileprovider) | :heavy_minus_sign: | Store or read this file on the named provider using your own API key for it. Omit to use OpenRouter storage. | openai |
| `after` | *Optional[str]* | :heavy_minus_sign: | OpenAI-style forward cursor: the id to list after. | or_file_011CNha8iCJcU1wXNR6q4V8w |
| `after_id` | *Optional[str]* | :heavy_minus_sign: | Anthropic-style forward cursor: the id to list after. | or_file_011CNha8iCJcU1wXNR6q4V8w |
| `before_id` | *Optional[str]* | :heavy_minus_sign: | Anthropic-style reverse cursor. Not supported by OpenRouter storage. | or_file_011CNha8iCJcU1wXNR6q4V8w |
-| `order` | [Optional[operations.Order]](../operations/order.mdx) | :heavy_minus_sign: | Sort direction. Only `asc` is supported by OpenRouter storage. | asc |
\ No newline at end of file
+| `order` | [Optional[operations.Order]](../operations/order) | :heavy_minus_sign: | Sort direction. Only `asc` is supported by OpenRouter storage. | asc |
\ No newline at end of file
diff --git a/docs/operations/listfilesresponse.mdx b/docs/operations/listfilesresponse.mdx
index bc29d45a..5e28949c 100644
--- a/docs/operations/listfilesresponse.mdx
+++ b/docs/operations/listfilesresponse.mdx
@@ -6,4 +6,4 @@ title: "ListFilesResponse"
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ |
-| `result` | [components.FileListResponse](../components/filelistresponse.mdx) | :heavy_check_mark: | N/A | \{
"_shape": "openrouter",
"cursor": null,
"data": [],
"first_id": null,
"has_more": false,
"last_id": null
} |
\ No newline at end of file
+| `result` | [components.FileListResponse](../components/filelistresponse) | :heavy_check_mark: | N/A | \{
"_shape": "openrouter",
"cursor": null,
"data": [],
"first_id": null,
"has_more": false,
"last_id": null
} |
\ No newline at end of file
diff --git a/docs/operations/listguardrailkeyassignmentsresponse.mdx b/docs/operations/listguardrailkeyassignmentsresponse.mdx
index 86847586..ccbd4bb6 100644
--- a/docs/operations/listguardrailkeyassignmentsresponse.mdx
+++ b/docs/operations/listguardrailkeyassignmentsresponse.mdx
@@ -6,4 +6,4 @@ title: "ListGuardrailKeyAssignmentsResponse"
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `result` | [components.ListKeyAssignmentsResponse](../components/listkeyassignmentsresponse.mdx) | :heavy_check_mark: | N/A | \{
"data": [
\{
"assigned_by": "user_abc123",
"created_at": "2025-08-24T10:30:00Z",
"guardrail_id": "550e8400-e29b-41d4-a716-446655440001",
"id": "550e8400-e29b-41d4-a716-446655440000",
"key_hash": "c56454edb818d6b14bc0d61c46025f1450b0f4012d12304ab40aacb519fcbc93",
"key_label": "prod-key",
"key_name": "Production Key"
}
],
"total_count": 1
} |
\ No newline at end of file
+| `result` | [components.ListKeyAssignmentsResponse](../components/listkeyassignmentsresponse) | :heavy_check_mark: | N/A | \{
"data": [
\{
"assigned_by": "user_abc123",
"created_at": "2025-08-24T10:30:00Z",
"guardrail_id": "550e8400-e29b-41d4-a716-446655440001",
"id": "550e8400-e29b-41d4-a716-446655440000",
"key_hash": "c56454edb818d6b14bc0d61c46025f1450b0f4012d12304ab40aacb519fcbc93",
"key_label": "prod-key",
"key_name": "Production Key"
}
],
"total_count": 1
} |
\ No newline at end of file
diff --git a/docs/operations/listguardrailmemberassignmentsresponse.mdx b/docs/operations/listguardrailmemberassignmentsresponse.mdx
index 3c19a6f1..4ac05b2e 100644
--- a/docs/operations/listguardrailmemberassignmentsresponse.mdx
+++ b/docs/operations/listguardrailmemberassignmentsresponse.mdx
@@ -6,4 +6,4 @@ title: "ListGuardrailMemberAssignmentsResponse"
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `result` | [components.ListMemberAssignmentsResponse](../components/listmemberassignmentsresponse.mdx) | :heavy_check_mark: | N/A | \{
"data": [
\{
"assigned_by": "user_abc123",
"created_at": "2025-08-24T10:30:00Z",
"guardrail_id": "550e8400-e29b-41d4-a716-446655440001",
"id": "550e8400-e29b-41d4-a716-446655440000",
"organization_id": "org_xyz789",
"user_id": "user_abc123"
}
],
"total_count": 1
} |
\ No newline at end of file
+| `result` | [components.ListMemberAssignmentsResponse](../components/listmemberassignmentsresponse) | :heavy_check_mark: | N/A | \{
"data": [
\{
"assigned_by": "user_abc123",
"created_at": "2025-08-24T10:30:00Z",
"guardrail_id": "550e8400-e29b-41d4-a716-446655440001",
"id": "550e8400-e29b-41d4-a716-446655440000",
"organization_id": "org_xyz789",
"user_id": "user_abc123"
}
],
"total_count": 1
} |
\ No newline at end of file
diff --git a/docs/operations/listguardrailsresponse.mdx b/docs/operations/listguardrailsresponse.mdx
index f676cd9a..b10c5d24 100644
--- a/docs/operations/listguardrailsresponse.mdx
+++ b/docs/operations/listguardrailsresponse.mdx
@@ -6,4 +6,4 @@ title: "ListGuardrailsResponse"
| Field | Type | Required | Description | Example |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `result` | [components.ListGuardrailsResponse](../components/listguardrailsresponse.mdx) | :heavy_check_mark: | N/A | \{
"data": [
\{
"allowed_models": null,
"allowed_providers": [
"openai",
"anthropic",
"google"
],
"content_filter_builtins": [
\{
"action": "redact",
"label": "[EMAIL]",
"slug": "email"
}
],
"content_filters": null,
"created_at": "2025-08-24T10:30:00Z",
"description": "Guardrail for production environment",
"enforce_zdr": null,
"enforce_zdr_anthropic": true,
"enforce_zdr_google": false,
"enforce_zdr_openai": true,
"enforce_zdr_other": false,
"enforce_zdr_xai": false,
"id": "550e8400-e29b-41d4-a716-446655440000",
"ignored_models": null,
"ignored_providers": null,
"include_byok_in_budgets": false,
"limit_usd": 100,
"name": "Production Guardrail",
"reset_interval": "monthly",
"updated_at": "2025-08-24T15:45:00Z",
"workspace_id": "0df9e665-d932-5740-b2c7-b52af166bc11"
}
],
"total_count": 1
} |
\ No newline at end of file
+| `result` | [components.ListGuardrailsResponse](../components/listguardrailsresponse) | :heavy_check_mark: | N/A | \{
"data": [
\{
"allowed_models": null,
"allowed_providers": [
"openai",
"anthropic",
"google"
],
"content_filter_builtins": [
\{
"action": "redact",
"label": "[EMAIL]",
"slug": "email"
}
],
"content_filters": null,
"created_at": "2025-08-24T10:30:00Z",
"description": "Guardrail for production environment",
"enforce_zdr": null,
"enforce_zdr_anthropic": true,
"enforce_zdr_google": false,
"enforce_zdr_openai": true,
"enforce_zdr_other": false,
"enforce_zdr_xai": false,
"id": "550e8400-e29b-41d4-a716-446655440000",
"ignored_models": null,
"ignored_providers": null,
"include_byok_in_budgets": false,
"limit_usd": 100,
"name": "Production Guardrail",
"reset_interval": "monthly",
"updated_at": "2025-08-24T15:45:00Z",
"workspace_id": "0df9e665-d932-5740-b2c7-b52af166bc11"
}
],
"total_count": 1
} |
\ No newline at end of file
diff --git a/docs/operations/listkeyassignmentsresponse.mdx b/docs/operations/listkeyassignmentsresponse.mdx
index b26f687d..c355a678 100644
--- a/docs/operations/listkeyassignmentsresponse.mdx
+++ b/docs/operations/listkeyassignmentsresponse.mdx
@@ -6,4 +6,4 @@ title: "ListKeyAssignmentsResponse"
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `result` | [components.ListKeyAssignmentsResponse](../components/listkeyassignmentsresponse.mdx) | :heavy_check_mark: | N/A | \{
"data": [
\{
"assigned_by": "user_abc123",
"created_at": "2025-08-24T10:30:00Z",
"guardrail_id": "550e8400-e29b-41d4-a716-446655440001",
"id": "550e8400-e29b-41d4-a716-446655440000",
"key_hash": "c56454edb818d6b14bc0d61c46025f1450b0f4012d12304ab40aacb519fcbc93",
"key_label": "prod-key",
"key_name": "Production Key"
}
],
"total_count": 1
} |
\ No newline at end of file
+| `result` | [components.ListKeyAssignmentsResponse](../components/listkeyassignmentsresponse) | :heavy_check_mark: | N/A | \{
"data": [
\{
"assigned_by": "user_abc123",
"created_at": "2025-08-24T10:30:00Z",
"guardrail_id": "550e8400-e29b-41d4-a716-446655440001",
"id": "550e8400-e29b-41d4-a716-446655440000",
"key_hash": "c56454edb818d6b14bc0d61c46025f1450b0f4012d12304ab40aacb519fcbc93",
"key_label": "prod-key",
"key_name": "Production Key"
}
],
"total_count": 1
} |
\ No newline at end of file
diff --git a/docs/operations/listmemberassignmentsresponse.mdx b/docs/operations/listmemberassignmentsresponse.mdx
index 0206ec09..e2b987b9 100644
--- a/docs/operations/listmemberassignmentsresponse.mdx
+++ b/docs/operations/listmemberassignmentsresponse.mdx
@@ -6,4 +6,4 @@ title: "ListMemberAssignmentsResponse"
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `result` | [components.ListMemberAssignmentsResponse](../components/listmemberassignmentsresponse.mdx) | :heavy_check_mark: | N/A | \{
"data": [
\{
"assigned_by": "user_abc123",
"created_at": "2025-08-24T10:30:00Z",
"guardrail_id": "550e8400-e29b-41d4-a716-446655440001",
"id": "550e8400-e29b-41d4-a716-446655440000",
"organization_id": "org_xyz789",
"user_id": "user_abc123"
}
],
"total_count": 1
} |
\ No newline at end of file
+| `result` | [components.ListMemberAssignmentsResponse](../components/listmemberassignmentsresponse) | :heavy_check_mark: | N/A | \{
"data": [
\{
"assigned_by": "user_abc123",
"created_at": "2025-08-24T10:30:00Z",
"guardrail_id": "550e8400-e29b-41d4-a716-446655440001",
"id": "550e8400-e29b-41d4-a716-446655440000",
"organization_id": "org_xyz789",
"user_id": "user_abc123"
}
],
"total_count": 1
} |
\ No newline at end of file
diff --git a/docs/operations/listmodelsuserresponse.mdx b/docs/operations/listmodelsuserresponse.mdx
index 380f686c..faede21a 100644
--- a/docs/operations/listmodelsuserresponse.mdx
+++ b/docs/operations/listmodelsuserresponse.mdx
@@ -6,4 +6,4 @@ title: "ListModelsUserResponse"
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `result` | [components.ModelsListResponse](../components/modelslistresponse.mdx) | :heavy_check_mark: | N/A | \{
"data": [
\{
"architecture": \{
"input_modalities": [
"text"
],
"instruct_type": "chatml",
"modality": "text-\u003etext",
"output_modalities": [
"text"
],
"tokenizer": "GPT"
},
"canonical_slug": "openai/gpt-4",
"context_length": 8192,
"created": 1692901234,
"default_parameters": null,
"description": "GPT-4 is a large multimodal model that can solve difficult problems with greater accuracy.",
"expiration_date": null,
"id": "openai/gpt-4",
"knowledge_cutoff": null,
"links": \{
"details": "/api/v1/models/openai/gpt-4/endpoints"
},
"name": "GPT-4",
"per_request_limits": null,
"pricing": \{
"completion": "0.00006",
"image": "0",
"prompt": "0.00003",
"request": "0"
},
"supported_parameters": [
"temperature",
"top_p",
"max_tokens",
"frequency_penalty",
"presence_penalty"
],
"supported_voices": null,
"top_provider": \{
"context_length": 8192,
"is_moderated": true,
"max_completion_tokens": 4096
}
}
],
"links": \{
"next": "/api/v1/models?offset=500\u0026limit=500"
},
"total_count": 150
} |
\ No newline at end of file
+| `result` | [components.ModelsListResponse](../components/modelslistresponse) | :heavy_check_mark: | N/A | \{
"data": [
\{
"architecture": \{
"input_modalities": [
"text"
],
"instruct_type": "chatml",
"modality": "text-\u003etext",
"output_modalities": [
"text"
],
"tokenizer": "GPT"
},
"canonical_slug": "openai/gpt-4",
"context_length": 8192,
"created": 1692901234,
"default_parameters": null,
"description": "GPT-4 is a large multimodal model that can solve difficult problems with greater accuracy.",
"expiration_date": null,
"id": "openai/gpt-4",
"knowledge_cutoff": null,
"links": \{
"details": "/api/v1/models/openai/gpt-4/endpoints"
},
"name": "GPT-4",
"per_request_limits": null,
"pricing": \{
"completion": "0.00006",
"image": "0",
"prompt": "0.00003",
"request": "0"
},
"supported_parameters": [
"temperature",
"top_p",
"max_tokens",
"frequency_penalty",
"presence_penalty"
],
"supported_voices": null,
"top_provider": \{
"context_length": 8192,
"is_moderated": true,
"max_completion_tokens": 4096
}
}
],
"links": \{
"next": "/api/v1/models?offset=500\u0026limit=500"
},
"total_count": 150
} |
\ No newline at end of file
diff --git a/docs/operations/listobservabilitydestinationsresponse.mdx b/docs/operations/listobservabilitydestinationsresponse.mdx
index da49e5fe..1ac2dc78 100644
--- a/docs/operations/listobservabilitydestinationsresponse.mdx
+++ b/docs/operations/listobservabilitydestinationsresponse.mdx
@@ -6,4 +6,4 @@ title: "ListObservabilityDestinationsResponse"
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `result` | [components.ListObservabilityDestinationsResponse](../components/listobservabilitydestinationsresponse.mdx) | :heavy_check_mark: | N/A | \{
"data": [
\{
"api_key_hashes": null,
"config": \{
"baseUrl": "https://us.cloud.langfuse.com",
"publicKey": "pk-l...EfGh",
"secretKey": "sk-l...AbCd"
},
"created_at": "2025-08-24T10:30:00Z",
"enabled": true,
"filter_rules": null,
"id": "99999999-aaaa-bbbb-cccc-dddddddddddd",
"name": "Production Langfuse",
"privacy_mode": false,
"sampling_rate": 1,
"type": "langfuse",
"updated_at": "2025-08-24T15:45:00Z",
"workspace_id": "550e8400-e29b-41d4-a716-446655440000"
}
],
"total_count": 1
} |
\ No newline at end of file
+| `result` | [components.ListObservabilityDestinationsResponse](../components/listobservabilitydestinationsresponse) | :heavy_check_mark: | N/A | \{
"data": [
\{
"api_key_hashes": null,
"config": \{
"baseUrl": "https://us.cloud.langfuse.com",
"publicKey": "pk-l...EfGh",
"secretKey": "sk-l...AbCd"
},
"created_at": "2025-08-24T10:30:00Z",
"enabled": true,
"filter_rules": null,
"id": "99999999-aaaa-bbbb-cccc-dddddddddddd",
"name": "Production Langfuse",
"privacy_mode": false,
"sampling_rate": 1,
"type": "langfuse",
"updated_at": "2025-08-24T15:45:00Z",
"workspace_id": "550e8400-e29b-41d4-a716-446655440000"
}
],
"total_count": 1
} |
\ No newline at end of file
diff --git a/docs/operations/listorganizationmembersdata.mdx b/docs/operations/listorganizationmembersdata.mdx
index 2469c6ae..04fc60f2 100644
--- a/docs/operations/listorganizationmembersdata.mdx
+++ b/docs/operations/listorganizationmembersdata.mdx
@@ -10,4 +10,4 @@ title: "ListOrganizationMembersData"
| `first_name` | *Nullable[str]* | :heavy_check_mark: | First name of the member | Jane |
| `id` | *str* | :heavy_check_mark: | User ID of the organization member | user_2dHFtVWx2n56w6HkM0000000000 |
| `last_name` | *Nullable[str]* | :heavy_check_mark: | Last name of the member | Doe |
-| `role` | [operations.Role](../operations/role.mdx) | :heavy_check_mark: | Role of the member in the organization | org:member |
\ No newline at end of file
+| `role` | [operations.Role](../operations/role) | :heavy_check_mark: | Role of the member in the organization | org:member |
\ No newline at end of file
diff --git a/docs/operations/listorganizationmembersresponse.mdx b/docs/operations/listorganizationmembersresponse.mdx
index 5de55209..938a649e 100644
--- a/docs/operations/listorganizationmembersresponse.mdx
+++ b/docs/operations/listorganizationmembersresponse.mdx
@@ -6,4 +6,4 @@ title: "ListOrganizationMembersResponse"
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ |
-| `result` | [operations.ListOrganizationMembersResponseBody](../operations/listorganizationmembersresponsebody.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `result` | [operations.ListOrganizationMembersResponseBody](../operations/listorganizationmembersresponsebody) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/operations/listorganizationmembersresponsebody.mdx b/docs/operations/listorganizationmembersresponsebody.mdx
index 56cd9c55..d4613881 100644
--- a/docs/operations/listorganizationmembersresponsebody.mdx
+++ b/docs/operations/listorganizationmembersresponsebody.mdx
@@ -9,5 +9,5 @@ List of organization members
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
-| `data` | List[[operations.ListOrganizationMembersData](../operations/listorganizationmembersdata.mdx)] | :heavy_check_mark: | List of organization members | |
+| `data` | List[[operations.ListOrganizationMembersData](../operations/listorganizationmembersdata)] | :heavy_check_mark: | List of organization members | |
| `total_count` | *int* | :heavy_check_mark: | Total number of members in the organization | 25 |
\ No newline at end of file
diff --git a/docs/operations/listpresetsresponse.mdx b/docs/operations/listpresetsresponse.mdx
index 0bd7386a..08f8c07a 100644
--- a/docs/operations/listpresetsresponse.mdx
+++ b/docs/operations/listpresetsresponse.mdx
@@ -6,4 +6,4 @@ title: "ListPresetsResponse"
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `result` | [components.ListPresetsResponse](../components/listpresetsresponse.mdx) | :heavy_check_mark: | N/A | \{
"data": [
\{
"created_at": "2026-04-20T10:00:00Z",
"creator_user_id": "user_2dHFtVWx2n56w6HkM0000000000",
"description": null,
"designated_version_id": "550e8400-e29b-41d4-a716-446655440000",
"id": "650e8400-e29b-41d4-a716-446655440001",
"name": "my-preset",
"slug": "my-preset",
"status": "active",
"status_updated_at": null,
"updated_at": "2026-04-20T10:00:00Z",
"workspace_id": "750e8400-e29b-41d4-a716-446655440002"
}
],
"total_count": 1
} |
\ No newline at end of file
+| `result` | [components.ListPresetsResponse](../components/listpresetsresponse) | :heavy_check_mark: | N/A | \{
"data": [
\{
"created_at": "2026-04-20T10:00:00Z",
"creator_user_id": "user_2dHFtVWx2n56w6HkM0000000000",
"description": null,
"designated_version_id": "550e8400-e29b-41d4-a716-446655440000",
"id": "650e8400-e29b-41d4-a716-446655440001",
"name": "my-preset",
"slug": "my-preset",
"status": "active",
"status_updated_at": null,
"updated_at": "2026-04-20T10:00:00Z",
"workspace_id": "750e8400-e29b-41d4-a716-446655440002"
}
],
"total_count": 1
} |
\ No newline at end of file
diff --git a/docs/operations/listpresetversionsresponse.mdx b/docs/operations/listpresetversionsresponse.mdx
index 794d77eb..6d32e25a 100644
--- a/docs/operations/listpresetversionsresponse.mdx
+++ b/docs/operations/listpresetversionsresponse.mdx
@@ -6,4 +6,4 @@ title: "ListPresetVersionsResponse"
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `result` | [components.ListPresetVersionsResponse](../components/listpresetversionsresponse.mdx) | :heavy_check_mark: | N/A | \{
"data": [
\{
"config": \{
"model": "openai/gpt-4o",
"temperature": 0.7
},
"created_at": "2026-04-20T10:00:00Z",
"creator_id": "user_2dHFtVWx2n56w6HkM0000000000",
"id": "550e8400-e29b-41d4-a716-446655440000",
"preset_id": "650e8400-e29b-41d4-a716-446655440001",
"system_prompt": "You are a helpful assistant.",
"updated_at": "2026-04-20T10:00:00Z",
"version": 1
}
],
"total_count": 1
} |
\ No newline at end of file
+| `result` | [components.ListPresetVersionsResponse](../components/listpresetversionsresponse) | :heavy_check_mark: | N/A | \{
"data": [
\{
"config": \{
"model": "openai/gpt-4o",
"temperature": 0.7
},
"created_at": "2026-04-20T10:00:00Z",
"creator_id": "user_2dHFtVWx2n56w6HkM0000000000",
"id": "550e8400-e29b-41d4-a716-446655440000",
"preset_id": "650e8400-e29b-41d4-a716-446655440001",
"system_prompt": "You are a helpful assistant.",
"updated_at": "2026-04-20T10:00:00Z",
"version": 1
}
],
"total_count": 1
} |
\ No newline at end of file
diff --git a/docs/operations/listprovidersdata.mdx b/docs/operations/listprovidersdata.mdx
index 10580e98..f171ca22 100644
--- a/docs/operations/listprovidersdata.mdx
+++ b/docs/operations/listprovidersdata.mdx
@@ -6,8 +6,8 @@ title: "ListProvidersData"
| Field | Type | Required | Description | Example |
| -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- |
-| `datacenters` | List[[operations.Datacenter](../operations/datacenter.mdx)] | :heavy_minus_sign: | ISO 3166-1 Alpha-2 country codes of the provider datacenter locations | [
"US",
"IE"
] |
-| `headquarters` | [OptionalNullable[operations.Headquarters]](../operations/headquarters.mdx) | :heavy_minus_sign: | ISO 3166-1 Alpha-2 country code of the provider headquarters | US |
+| `datacenters` | List[[operations.Datacenter](../operations/datacenter)] | :heavy_minus_sign: | ISO 3166-1 Alpha-2 country codes of the provider datacenter locations | [
"US",
"IE"
] |
+| `headquarters` | [OptionalNullable[operations.Headquarters]](../operations/headquarters) | :heavy_minus_sign: | ISO 3166-1 Alpha-2 country code of the provider headquarters | US |
| `name` | *str* | :heavy_check_mark: | Display name of the provider | OpenAI |
| `privacy_policy_url` | *Nullable[str]* | :heavy_check_mark: | URL to the provider's privacy policy | https://openai.com/privacy |
| `slug` | *str* | :heavy_check_mark: | URL-friendly identifier for the provider | openai |
diff --git a/docs/operations/listprovidersresponse.mdx b/docs/operations/listprovidersresponse.mdx
index 81b20bf4..d809d6db 100644
--- a/docs/operations/listprovidersresponse.mdx
+++ b/docs/operations/listprovidersresponse.mdx
@@ -9,4 +9,4 @@ Returns a list of providers
| Field | Type | Required | Description |
| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ |
-| `data` | List[[operations.ListProvidersData](../operations/listprovidersdata.mdx)] | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `data` | List[[operations.ListProvidersData](../operations/listprovidersdata)] | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/operations/listresponse.mdx b/docs/operations/listresponse.mdx
index ffadcfc3..e783921e 100644
--- a/docs/operations/listresponse.mdx
+++ b/docs/operations/listresponse.mdx
@@ -9,4 +9,4 @@ List of API keys
| Field | Type | Required | Description |
| ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ |
-| `data` | List[[operations.ListData](../operations/listdata.mdx)] | :heavy_check_mark: | List of API keys |
\ No newline at end of file
+| `data` | List[[operations.ListData](../operations/listdata)] | :heavy_check_mark: | List of API keys |
\ No newline at end of file
diff --git a/docs/operations/listworkspacemembersresponse.mdx b/docs/operations/listworkspacemembersresponse.mdx
index 94558019..71e93c86 100644
--- a/docs/operations/listworkspacemembersresponse.mdx
+++ b/docs/operations/listworkspacemembersresponse.mdx
@@ -6,4 +6,4 @@ title: "ListWorkspaceMembersResponse"
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `result` | [components.ListWorkspaceMembersResponse](../components/listworkspacemembersresponse.mdx) | :heavy_check_mark: | N/A | \{
"data": [
\{
"created_at": "2025-08-24T10:30:00Z",
"id": "660e8400-e29b-41d4-a716-446655440000",
"role": "member",
"user_id": "user_abc123",
"workspace_id": "550e8400-e29b-41d4-a716-446655440000"
}
],
"total_count": 1
} |
\ No newline at end of file
+| `result` | [components.ListWorkspaceMembersResponse](../components/listworkspacemembersresponse) | :heavy_check_mark: | N/A | \{
"data": [
\{
"created_at": "2025-08-24T10:30:00Z",
"id": "660e8400-e29b-41d4-a716-446655440000",
"role": "member",
"user_id": "user_abc123",
"workspace_id": "550e8400-e29b-41d4-a716-446655440000"
}
],
"total_count": 1
} |
\ No newline at end of file
diff --git a/docs/operations/listworkspacesresponse.mdx b/docs/operations/listworkspacesresponse.mdx
index 4ae632d5..3a766a7d 100644
--- a/docs/operations/listworkspacesresponse.mdx
+++ b/docs/operations/listworkspacesresponse.mdx
@@ -6,4 +6,4 @@ title: "ListWorkspacesResponse"
| Field | Type | Required | Description | Example |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `result` | [components.ListWorkspacesResponse](../components/listworkspacesresponse.mdx) | :heavy_check_mark: | N/A | \{
"data": [
\{
"created_at": "2025-08-24T10:30:00Z",
"created_by": "user_abc123",
"default_guardrail_id": "595d5849-7e86-51fd-a7c0-705c34e4afff",
"default_image_model": "openai/dall-e-3",
"default_provider_sort": "price",
"default_text_model": "openai/gpt-4o",
"description": "Production environment workspace",
"id": "550e8400-e29b-41d4-a716-446655440000",
"io_logging_api_key_ids": null,
"io_logging_sampling_rate": 1,
"is_data_discount_logging_enabled": true,
"is_observability_broadcast_enabled": false,
"is_observability_io_logging_enabled": false,
"name": "Production",
"slug": "production",
"updated_at": "2025-08-24T15:45:00Z"
}
],
"total_count": 1
} |
\ No newline at end of file
+| `result` | [components.ListWorkspacesResponse](../components/listworkspacesresponse) | :heavy_check_mark: | N/A | \{
"data": [
\{
"created_at": "2025-08-24T10:30:00Z",
"created_by": "user_abc123",
"default_guardrail_id": "595d5849-7e86-51fd-a7c0-705c34e4afff",
"default_image_model": "openai/dall-e-3",
"default_provider_sort": "price",
"default_text_model": "openai/gpt-4o",
"description": "Production environment workspace",
"id": "550e8400-e29b-41d4-a716-446655440000",
"io_logging_api_key_ids": null,
"io_logging_sampling_rate": 1,
"is_data_discount_logging_enabled": true,
"is_observability_broadcast_enabled": false,
"is_observability_io_logging_enabled": false,
"name": "Production",
"slug": "production",
"updated_at": "2025-08-24T15:45:00Z"
}
],
"total_count": 1
} |
\ No newline at end of file
diff --git a/docs/operations/metric.mdx b/docs/operations/metric.mdx
index a1b3a3e1..029c3166 100644
--- a/docs/operations/metric.mdx
+++ b/docs/operations/metric.mdx
@@ -6,7 +6,7 @@ title: "Metric"
| Field | Type | Required | Description | Example |
| ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
-| `display_format` | [operations.DisplayFormat](../operations/displayformat.mdx) | :heavy_check_mark: | How this metric value should be formatted for display (e.g. percent → multiply by 100 and append %, currency → prefix with $) | number |
+| `display_format` | [operations.DisplayFormat](../operations/displayformat) | :heavy_check_mark: | How this metric value should be formatted for display (e.g. percent → multiply by 100 and append %, currency → prefix with $) | number |
| `display_label` | *str* | :heavy_check_mark: | Human-readable label | Request Count |
| `is_rate` | *bool* | :heavy_check_mark: | Whether this metric is a rate/ratio (averaged, not summed) | |
| `name` | *str* | :heavy_check_mark: | Metric identifier used in query requests | request_count |
\ No newline at end of file
diff --git a/docs/operations/operator.mdx b/docs/operations/operator.mdx
index f14d7d1a..3fe2d8f8 100644
--- a/docs/operations/operator.mdx
+++ b/docs/operations/operator.mdx
@@ -6,5 +6,5 @@ title: "Operator"
| Field | Type | Required | Description | Example |
| -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- |
-| `name` | [operations.OperatorName](../operations/operatorname.mdx) | :heavy_check_mark: | Operator identifier used in filter definitions | eq |
-| `value_type` | [operations.ValueType](../operations/valuetype.mdx) | :heavy_check_mark: | Whether the operator expects a single value or an array | |
\ No newline at end of file
+| `name` | [operations.OperatorName](../operations/operatorname) | :heavy_check_mark: | Operator identifier used in filter definitions | eq |
+| `value_type` | [operations.ValueType](../operations/valuetype) | :heavy_check_mark: | Whether the operator expects a single value or an array | |
\ No newline at end of file
diff --git a/docs/operations/orderby.mdx b/docs/operations/orderby.mdx
index d2239ff9..0f8c9935 100644
--- a/docs/operations/orderby.mdx
+++ b/docs/operations/orderby.mdx
@@ -6,5 +6,5 @@ title: "OrderBy"
| Field | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `direction` | [operations.Direction](../operations/direction.mdx) | :heavy_check_mark: | N/A | |
+| `direction` | [operations.Direction](../operations/direction) | :heavy_check_mark: | N/A | |
| `field` | *str* | :heavy_check_mark: | Field to order by: a metric included in `metrics` (or "request_count", which may be ordered by without being requested), a requested dimension, or "date". | request_count |
\ No newline at end of file
diff --git a/docs/operations/queryanalyticsdata2.mdx b/docs/operations/queryanalyticsdata2.mdx
index 669a0894..ffee2491 100644
--- a/docs/operations/queryanalyticsdata2.mdx
+++ b/docs/operations/queryanalyticsdata2.mdx
@@ -7,6 +7,6 @@ title: "QueryAnalyticsData2"
| Field | Type | Required | Description |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `cached_at` | *Optional[float]* | :heavy_minus_sign: | N/A |
-| `data` | List[[operations.QueryAnalyticsData1](../operations/queryanalyticsdata1.mdx)] | :heavy_check_mark: | N/A |
-| `metadata` | [operations.Metadata](../operations/metadata.mdx) | :heavy_check_mark: | N/A |
+| `data` | List[[operations.QueryAnalyticsData1](../operations/queryanalyticsdata1)] | :heavy_check_mark: | N/A |
+| `metadata` | [operations.Metadata](../operations/metadata) | :heavy_check_mark: | N/A |
| `warnings` | List[*str*] | :heavy_minus_sign: | Warnings about filter resolution issues (e.g. unresolvable api_key_id hashes). The query still runs normally; these inform the caller that some filter values could not be resolved. |
\ No newline at end of file
diff --git a/docs/operations/queryanalyticsrequest.mdx b/docs/operations/queryanalyticsrequest.mdx
index 5b3c7c98..c5d8b47f 100644
--- a/docs/operations/queryanalyticsrequest.mdx
+++ b/docs/operations/queryanalyticsrequest.mdx
@@ -9,4 +9,4 @@ title: "QueryAnalyticsRequest"
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
|
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
|
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
|
-| `request_body` | [operations.QueryAnalyticsRequestBody](../operations/queryanalyticsrequestbody.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `request_body` | [operations.QueryAnalyticsRequestBody](../operations/queryanalyticsrequestbody) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/operations/queryanalyticsrequestbody.mdx b/docs/operations/queryanalyticsrequestbody.mdx
index ceec61fa..9424cb55 100644
--- a/docs/operations/queryanalyticsrequestbody.mdx
+++ b/docs/operations/queryanalyticsrequestbody.mdx
@@ -6,13 +6,13 @@ title: "QueryAnalyticsRequestBody"
| Field | Type | Required | Description | Example |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `classifier_dimensions` | [Optional[operations.ClassifierDimensions]](../operations/classifierdimensions.mdx) | :heavy_minus_sign: | Group results by custom classifier tags, breaking down metrics by the specified dimension values. Requires an active classifier on the workspace. | |
-| `classifier_filters` | [Optional[operations.ClassifierFilters]](../operations/classifierfilters.mdx) | :heavy_minus_sign: | Filter results to generations with specific classifier tag values. Can be combined with classifier_dimensions (must use the same classifier_id) or used independently with standard dimensions. | |
+| `classifier_dimensions` | [Optional[operations.ClassifierDimensions]](../operations/classifierdimensions) | :heavy_minus_sign: | Group results by custom classifier tags, breaking down metrics by the specified dimension values. Requires an active classifier on the workspace. | |
+| `classifier_filters` | [Optional[operations.ClassifierFilters]](../operations/classifierfilters) | :heavy_minus_sign: | Filter results to generations with specific classifier tag values. Can be combined with classifier_dimensions (must use the same classifier_id) or used independently with standard dimensions. | |
| `dimensions` | List[*str*] | :heavy_minus_sign: | N/A | |
-| `filters` | List[[operations.Filter](../operations/filter_.mdx)] | :heavy_minus_sign: | N/A | |
+| `filters` | List[[operations.Filter](../operations/filter_)] | :heavy_minus_sign: | N/A | |
| `granularity` | *Optional[str]* | :heavy_minus_sign: | Time granularity | day |
| `group_limit` | *Optional[int]* | :heavy_minus_sign: | Maximum rows per distinct combination of dimensions. When omitted on time-series queries (granularity + dimensions), auto-computed to avoid truncating time windows. Explicit values override the default and may truncate time buckets if set lower than the number of buckets in the range. Ignored when no dimensions are specified. | 100 |
| `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum total rows returned. Defaults to 1000. On time-series queries with dimensions and no explicit group_limit, the server may raise this to accommodate the expected number of unique time-bucket/dimension combinations. | |
| `metrics` | List[*str*] | :heavy_check_mark: | N/A | |
-| `order_by` | [Optional[operations.OrderBy]](../operations/orderby.mdx) | :heavy_minus_sign: | N/A | |
-| `time_range` | [Optional[operations.TimeRange]](../operations/timerange.mdx) | :heavy_minus_sign: | N/A | |
\ No newline at end of file
+| `order_by` | [Optional[operations.OrderBy]](../operations/orderby) | :heavy_minus_sign: | N/A | |
+| `time_range` | [Optional[operations.TimeRange]](../operations/timerange) | :heavy_minus_sign: | N/A | |
\ No newline at end of file
diff --git a/docs/operations/queryanalyticsresponse.mdx b/docs/operations/queryanalyticsresponse.mdx
index 6c45e217..6eb867dc 100644
--- a/docs/operations/queryanalyticsresponse.mdx
+++ b/docs/operations/queryanalyticsresponse.mdx
@@ -9,4 +9,4 @@ Analytics query results
| Field | Type | Required | Description |
| ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- |
-| `data` | [operations.QueryAnalyticsData2](../operations/queryanalyticsdata2.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `data` | [operations.QueryAnalyticsData2](../operations/queryanalyticsdata2) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/operations/result.mdx b/docs/operations/result.mdx
index 510072b9..8188cb6e 100644
--- a/docs/operations/result.mdx
+++ b/docs/operations/result.mdx
@@ -9,6 +9,6 @@ A single rerank result
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
-| `document` | [operations.DocumentResponse](../operations/documentresponse.mdx) | :heavy_check_mark: | The document object echoing the original input (text and/or image) | |
+| `document` | [operations.DocumentResponse](../operations/documentresponse) | :heavy_check_mark: | The document object echoing the original input (text and/or image) | |
| `index` | *int* | :heavy_check_mark: | Index of the document in the original input list | 0 |
| `relevance_score` | *float* | :heavy_check_mark: | Relevance score of the document to the query | 0.98 |
\ No newline at end of file
diff --git a/docs/operations/sendchatcompletionrequestrequest.mdx b/docs/operations/sendchatcompletionrequestrequest.mdx
index bd3e6d5c..729388b4 100644
--- a/docs/operations/sendchatcompletionrequestrequest.mdx
+++ b/docs/operations/sendchatcompletionrequestrequest.mdx
@@ -9,5 +9,5 @@ title: "SendChatCompletionRequestRequest"
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `x_open_router_metadata` | [Optional[components.MetadataLevel]](../components/metadatalevel.mdx) | :heavy_minus_sign: | Opt-in to surface routing metadata on the response under `openrouter_metadata`. Defaults to `disabled`. The legacy header `X-OpenRouter-Experimental-Metadata` is also accepted for backward compatibility. | enabled |
-| `chat_request` | [components.ChatRequest](../components/chatrequest.mdx) | :heavy_check_mark: | N/A | \{
"max_tokens": 150,
"messages": [
\{
"content": "You are a helpful assistant.",
"role": "system"
},
\{
"content": "What is the capital of France?",
"role": "user"
}
],
"model": "openai/gpt-4",
"temperature": 0.7
} |
\ No newline at end of file
+| `x_open_router_metadata` | [Optional[components.MetadataLevel]](../components/metadatalevel) | :heavy_minus_sign: | Opt-in to surface routing metadata on the response under `openrouter_metadata`. Defaults to `disabled`. The legacy header `X-OpenRouter-Experimental-Metadata` is also accepted for backward compatibility. | enabled |
+| `chat_request` | [components.ChatRequest](../components/chatrequest) | :heavy_check_mark: | N/A | \{
"max_tokens": 150,
"messages": [
\{
"content": "You are a helpful assistant.",
"role": "system"
},
\{
"content": "What is the capital of France?",
"role": "user"
}
],
"model": "openai/gpt-4",
"temperature": 0.7
} |
\ No newline at end of file
diff --git a/docs/operations/submitgenerationfeedbackrequest.mdx b/docs/operations/submitgenerationfeedbackrequest.mdx
index 18f5cc3e..c564e616 100644
--- a/docs/operations/submitgenerationfeedbackrequest.mdx
+++ b/docs/operations/submitgenerationfeedbackrequest.mdx
@@ -9,4 +9,4 @@ title: "SubmitGenerationFeedbackRequest"
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `submit_generation_feedback_request` | [components.SubmitGenerationFeedbackRequest](../components/submitgenerationfeedbackrequest.mdx) | :heavy_check_mark: | N/A | \{
"category": "incorrect_response",
"comment": "The model repeated the same paragraph three times.",
"generation_id": "gen-3bhGkxlo4XFrqiabUM7NDtwDzWwG"
} |
\ No newline at end of file
+| `submit_generation_feedback_request` | [components.SubmitGenerationFeedbackRequest](../components/submitgenerationfeedbackrequest) | :heavy_check_mark: | N/A | \{
"category": "incorrect_response",
"comment": "The model repeated the same paragraph three times.",
"generation_id": "gen-3bhGkxlo4XFrqiabUM7NDtwDzWwG"
} |
\ No newline at end of file
diff --git a/docs/operations/updatebyokkeyrequest.mdx b/docs/operations/updatebyokkeyrequest.mdx
index 546e001d..4b9c1fd3 100644
--- a/docs/operations/updatebyokkeyrequest.mdx
+++ b/docs/operations/updatebyokkeyrequest.mdx
@@ -10,4 +10,4 @@ title: "UpdateBYOKKeyRequest"
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
| `id` | *str* | :heavy_check_mark: | The BYOK credential ID (UUID). | 11111111-2222-3333-4444-555555555555 |
-| `update_byok_key_request` | [components.UpdateBYOKKeyRequest](../components/updatebyokkeyrequest.mdx) | :heavy_check_mark: | N/A | \{
"disabled": false,
"name": "Updated OpenAI Key"
} |
\ No newline at end of file
+| `update_byok_key_request` | [components.UpdateBYOKKeyRequest](../components/updatebyokkeyrequest) | :heavy_check_mark: | N/A | \{
"disabled": false,
"name": "Updated OpenAI Key"
} |
\ No newline at end of file
diff --git a/docs/operations/updateguardrailrequest.mdx b/docs/operations/updateguardrailrequest.mdx
index b89a6072..297aa89e 100644
--- a/docs/operations/updateguardrailrequest.mdx
+++ b/docs/operations/updateguardrailrequest.mdx
@@ -10,4 +10,4 @@ title: "UpdateGuardrailRequest"
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
| `id` | *str* | :heavy_check_mark: | The unique identifier of the guardrail to update | 550e8400-e29b-41d4-a716-446655440000 |
-| `update_guardrail_request` | [components.UpdateGuardrailRequest](../components/updateguardrailrequest.mdx) | :heavy_check_mark: | N/A | \{
"description": "Updated description",
"limit_usd": 75,
"name": "Updated Guardrail Name",
"reset_interval": "weekly"
} |
\ No newline at end of file
+| `update_guardrail_request` | [components.UpdateGuardrailRequest](../components/updateguardrailrequest) | :heavy_check_mark: | N/A | \{
"description": "Updated description",
"limit_usd": 75,
"name": "Updated Guardrail Name",
"reset_interval": "weekly"
} |
\ No newline at end of file
diff --git a/docs/operations/updatekeysrequest.mdx b/docs/operations/updatekeysrequest.mdx
index e6d3d7f0..ff32889a 100644
--- a/docs/operations/updatekeysrequest.mdx
+++ b/docs/operations/updatekeysrequest.mdx
@@ -10,4 +10,4 @@ title: "UpdateKeysRequest"
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
| `hash` | *str* | :heavy_check_mark: | The hash identifier of the API key to update | f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943 |
-| `request_body` | [operations.UpdateKeysRequestBody](../operations/updatekeysrequestbody.mdx) | :heavy_check_mark: | N/A | \{
"disabled": false,
"include_byok_in_limit": true,
"limit": 75,
"limit_reset": "daily",
"name": "Updated API Key Name"
} |
\ No newline at end of file
+| `request_body` | [operations.UpdateKeysRequestBody](../operations/updatekeysrequestbody) | :heavy_check_mark: | N/A | \{
"disabled": false,
"include_byok_in_limit": true,
"limit": 75,
"limit_reset": "daily",
"name": "Updated API Key Name"
} |
\ No newline at end of file
diff --git a/docs/operations/updatekeysrequestbody.mdx b/docs/operations/updatekeysrequestbody.mdx
index b293f36e..6f9b8e8c 100644
--- a/docs/operations/updatekeysrequestbody.mdx
+++ b/docs/operations/updatekeysrequestbody.mdx
@@ -9,5 +9,5 @@ title: "UpdateKeysRequestBody"
| `disabled` | *Optional[bool]* | :heavy_minus_sign: | Whether to disable the API key | false |
| `include_byok_in_limit` | *Optional[bool]* | :heavy_minus_sign: | Whether to include BYOK usage in the limit | true |
| `limit` | *OptionalNullable[float]* | :heavy_minus_sign: | New spending limit for the API key in USD | 75 |
-| `limit_reset` | [OptionalNullable[operations.UpdateKeysLimitReset]](../operations/updatekeyslimitreset.mdx) | :heavy_minus_sign: | New limit reset type for the API key (daily, weekly, monthly, or null for no reset). Resets happen automatically at midnight UTC, and weeks are Monday through Sunday. | daily |
+| `limit_reset` | [OptionalNullable[operations.UpdateKeysLimitReset]](../operations/updatekeyslimitreset) | :heavy_minus_sign: | New limit reset type for the API key (daily, weekly, monthly, or null for no reset). Resets happen automatically at midnight UTC, and weeks are Monday through Sunday. | daily |
| `name` | *Optional[str]* | :heavy_minus_sign: | New name for the API key | Updated API Key Name |
\ No newline at end of file
diff --git a/docs/operations/updatekeysresponse.mdx b/docs/operations/updatekeysresponse.mdx
index 942a8bf9..9ec14836 100644
--- a/docs/operations/updatekeysresponse.mdx
+++ b/docs/operations/updatekeysresponse.mdx
@@ -9,4 +9,4 @@ API key updated successfully
| Field | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `data` | [operations.UpdateKeysData](../operations/updatekeysdata.mdx) | :heavy_check_mark: | The updated API key information | \{
"byok_usage": 17.38,
"byok_usage_daily": 17.38,
"byok_usage_monthly": 17.38,
"byok_usage_weekly": 17.38,
"created_at": "2025-08-24T10:30:00Z",
"creator_user_id": "user_2dHFtVWx2n56w6HkM0000000000",
"disabled": false,
"expires_at": "2027-12-31T23:59:59Z",
"hash": "f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943",
"include_byok_in_limit": false,
"label": "sk-or-v1-0e6...1c96",
"limit": 100,
"limit_remaining": 74.5,
"limit_reset": "monthly",
"name": "My Production Key",
"updated_at": "2025-08-24T15:45:00Z",
"usage": 25.5,
"usage_daily": 25.5,
"usage_monthly": 25.5,
"usage_weekly": 25.5,
"workspace_id": "0df9e665-d932-5740-b2c7-b52af166bc11"
} |
\ No newline at end of file
+| `data` | [operations.UpdateKeysData](../operations/updatekeysdata) | :heavy_check_mark: | The updated API key information | \{
"byok_usage": 17.38,
"byok_usage_daily": 17.38,
"byok_usage_monthly": 17.38,
"byok_usage_weekly": 17.38,
"created_at": "2025-08-24T10:30:00Z",
"creator_user_id": "user_2dHFtVWx2n56w6HkM0000000000",
"disabled": false,
"expires_at": "2027-12-31T23:59:59Z",
"hash": "f01d52606dc8f0a8303a7b5cc3fa07109c2e346cec7c0a16b40de462992ce943",
"include_byok_in_limit": false,
"label": "sk-or-v1-0e6...1c96",
"limit": 100,
"limit_remaining": 74.5,
"limit_reset": "monthly",
"name": "My Production Key",
"updated_at": "2025-08-24T15:45:00Z",
"usage": 25.5,
"usage_daily": 25.5,
"usage_monthly": 25.5,
"usage_weekly": 25.5,
"workspace_id": "0df9e665-d932-5740-b2c7-b52af166bc11"
} |
\ No newline at end of file
diff --git a/docs/operations/updateobservabilitydestinationrequest.mdx b/docs/operations/updateobservabilitydestinationrequest.mdx
index 16926383..7e9bae1b 100644
--- a/docs/operations/updateobservabilitydestinationrequest.mdx
+++ b/docs/operations/updateobservabilitydestinationrequest.mdx
@@ -10,4 +10,4 @@ title: "UpdateObservabilityDestinationRequest"
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
| `id` | *str* | :heavy_check_mark: | The destination ID (UUID). | 99999999-aaaa-bbbb-cccc-dddddddddddd |
-| `update_observability_destination_request` | [components.UpdateObservabilityDestinationRequest](../components/updateobservabilitydestinationrequest.mdx) | :heavy_check_mark: | N/A | \{
"enabled": false,
"name": "Updated Langfuse"
} |
\ No newline at end of file
+| `update_observability_destination_request` | [components.UpdateObservabilityDestinationRequest](../components/updateobservabilitydestinationrequest) | :heavy_check_mark: | N/A | \{
"enabled": false,
"name": "Updated Langfuse"
} |
\ No newline at end of file
diff --git a/docs/operations/updateworkspacerequest.mdx b/docs/operations/updateworkspacerequest.mdx
index 086cdf63..df1ee0b0 100644
--- a/docs/operations/updateworkspacerequest.mdx
+++ b/docs/operations/updateworkspacerequest.mdx
@@ -10,4 +10,4 @@ title: "UpdateWorkspaceRequest"
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
| `id` | *str* | :heavy_check_mark: | The workspace ID (UUID) or slug | production |
-| `update_workspace_request` | [components.UpdateWorkspaceRequest](../components/updateworkspacerequest.mdx) | :heavy_check_mark: | N/A | \{
"name": "Updated Workspace",
"slug": "updated-workspace"
} |
\ No newline at end of file
+| `update_workspace_request` | [components.UpdateWorkspaceRequest](../components/updateworkspacerequest) | :heavy_check_mark: | N/A | \{
"name": "Updated Workspace",
"slug": "updated-workspace"
} |
\ No newline at end of file
diff --git a/docs/operations/uploadfilerequest.mdx b/docs/operations/uploadfilerequest.mdx
index 16d9fbce..2c3885b3 100644
--- a/docs/operations/uploadfilerequest.mdx
+++ b/docs/operations/uploadfilerequest.mdx
@@ -10,5 +10,5 @@ title: "UploadFileRequest"
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
| `workspace_id` | *Optional[str]* | :heavy_minus_sign: | Workspace to scope the request to. Defaults to the caller’s default workspace. | a103d8b6-42f0-4e50-9a3c-bf41e2c3c1a7 |
-| `provider` | [Optional[components.FileProvider]](../components/fileprovider.mdx) | :heavy_minus_sign: | Store or read this file on the named provider using your own API key for it. Omit to use OpenRouter storage. | openai |
-| `request_body` | [operations.UploadFileRequestBody](../operations/uploadfilerequestbody.mdx) | :heavy_check_mark: | N/A | |
\ No newline at end of file
+| `provider` | [Optional[components.FileProvider]](../components/fileprovider) | :heavy_minus_sign: | Store or read this file on the named provider using your own API key for it. Omit to use OpenRouter storage. | openai |
+| `request_body` | [operations.UploadFileRequestBody](../operations/uploadfilerequestbody) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/docs/operations/uploadfilerequestbody.mdx b/docs/operations/uploadfilerequestbody.mdx
index e91f2d37..bb39ac3f 100644
--- a/docs/operations/uploadfilerequestbody.mdx
+++ b/docs/operations/uploadfilerequestbody.mdx
@@ -6,4 +6,4 @@ title: "UploadFileRequestBody"
| Field | Type | Required | Description |
| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ |
-| `file` | [operations.UploadFileFile](../operations/uploadfilefile.mdx) | :heavy_check_mark: | N/A |
\ No newline at end of file
+| `file` | [operations.UploadFileFile](../operations/uploadfilefile) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/docs/operations/upsertworkspacebudgetrequest.mdx b/docs/operations/upsertworkspacebudgetrequest.mdx
index 47fed589..1bbbad8e 100644
--- a/docs/operations/upsertworkspacebudgetrequest.mdx
+++ b/docs/operations/upsertworkspacebudgetrequest.mdx
@@ -10,5 +10,5 @@ title: "UpsertWorkspaceBudgetRequest"
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
| `id` | *str* | :heavy_check_mark: | The workspace ID (UUID) or slug | production |
-| `interval` | [components.WorkspaceBudgetInterval](../components/workspacebudgetinterval.mdx) | :heavy_check_mark: | Budget reset interval. Use "lifetime" for a one-time budget that never resets. | monthly |
-| `upsert_workspace_budget_request` | [components.UpsertWorkspaceBudgetRequest](../components/upsertworkspacebudgetrequest.mdx) | :heavy_check_mark: | N/A | \{
"limit_usd": 100
} |
\ No newline at end of file
+| `interval` | [components.WorkspaceBudgetInterval](../components/workspacebudgetinterval) | :heavy_check_mark: | Budget reset interval. Use "lifetime" for a one-time budget that never resets. | monthly |
+| `upsert_workspace_budget_request` | [components.UpsertWorkspaceBudgetRequest](../components/upsertworkspacebudgetrequest) | :heavy_check_mark: | N/A | \{
"limit_usd": 100
} |
\ No newline at end of file
diff --git a/docs/sdks/analytics/README.mdx b/docs/sdks/analytics/README.mdx
index 4e5df616..f593b87b 100644
--- a/docs/sdks/analytics/README.mdx
+++ b/docs/sdks/analytics/README.mdx
@@ -46,11 +46,11 @@ with OpenRouter(
| `date_` | *Optional[str]* | :heavy_minus_sign: | Filter by a single UTC date in the last 30 days (YYYY-MM-DD format). | 2025-08-24 |
| `api_key_hash` | *Optional[str]* | :heavy_minus_sign: | Filter by API key hash (SHA-256 hex string, as returned by the keys API). | abc123def456... |
| `user_id` | *Optional[str]* | :heavy_minus_sign: | Filter by org member user ID. Only applicable for organization accounts. | user_abc123 |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[components.ActivityResponse](../../components/activityresponse.mdx)**
+**[components.ActivityResponse](../../components/activityresponse)**
### Errors
diff --git a/docs/sdks/apikeys/README.mdx b/docs/sdks/apikeys/README.mdx
index c8541c5c..95713ef3 100644
--- a/docs/sdks/apikeys/README.mdx
+++ b/docs/sdks/apikeys/README.mdx
@@ -48,11 +48,11 @@ with OpenRouter(
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
|
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
|
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
|
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
### Response
-**[operations.GetCurrentKeyResponse](../../operations/getcurrentkeyresponse.mdx)**
+**[operations.GetCurrentKeyResponse](../../operations/getcurrentkeyresponse)**
### Errors
@@ -97,11 +97,11 @@ with OpenRouter(
| `include_disabled` | *Optional[bool]* | :heavy_minus_sign: | Whether to include disabled API keys in the response | false |
| `offset` | *OptionalNullable[int]* | :heavy_minus_sign: | Number of API keys to skip for pagination | 0 |
| `workspace_id` | *Optional[str]* | :heavy_minus_sign: | Filter API keys by workspace ID. By default, keys in the default workspace are returned. | 0df9e665-d932-5740-b2c7-b52af166bc11 |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[operations.ListResponse](../../operations/listresponse.mdx)**
+**[operations.ListResponse](../../operations/listresponse)**
### Errors
@@ -151,13 +151,13 @@ with OpenRouter(
| `expires_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Optional ISO 8601 UTC timestamp when the API key should expire. Must be UTC, other timezones will be rejected | 2027-12-31T23:59:59Z |
| `include_byok_in_limit` | *Optional[bool]* | :heavy_minus_sign: | Whether to include BYOK usage in the limit | true |
| `limit` | *OptionalNullable[float]* | :heavy_minus_sign: | Optional spending limit for the API key in USD | 50 |
-| `limit_reset` | [OptionalNullable[operations.CreateKeysLimitReset]](../../operations/createkeyslimitreset.mdx) | :heavy_minus_sign: | Type of limit reset for the API key (daily, weekly, monthly, or null for no reset). Resets happen automatically at midnight UTC, and weeks are Monday through Sunday. | monthly |
+| `limit_reset` | [OptionalNullable[operations.CreateKeysLimitReset]](../../operations/createkeyslimitreset) | :heavy_minus_sign: | Type of limit reset for the API key (daily, weekly, monthly, or null for no reset). Resets happen automatically at midnight UTC, and weeks are Monday through Sunday. | monthly |
| `workspace_id` | *Optional[str]* | :heavy_minus_sign: | The workspace to create the API key in. Defaults to the default workspace if not provided. | 0df9e665-d932-5740-b2c7-b52af166bc11 |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[operations.CreateKeysResponse](../../operations/createkeysresponse.mdx)**
+**[operations.CreateKeysResponse](../../operations/createkeysresponse)**
### Errors
@@ -203,11 +203,11 @@ with OpenRouter(
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[operations.DeleteKeysResponse](../../operations/deletekeysresponse.mdx)**
+**[operations.DeleteKeysResponse](../../operations/deletekeysresponse)**
### Errors
@@ -252,11 +252,11 @@ with OpenRouter(
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[operations.GetKeyResponse](../../operations/getkeyresponse.mdx)**
+**[operations.GetKeyResponse](../../operations/getkeyresponse)**
### Errors
@@ -304,13 +304,13 @@ with OpenRouter(
| `disabled` | *Optional[bool]* | :heavy_minus_sign: | Whether to disable the API key | false |
| `include_byok_in_limit` | *Optional[bool]* | :heavy_minus_sign: | Whether to include BYOK usage in the limit | true |
| `limit` | *OptionalNullable[float]* | :heavy_minus_sign: | New spending limit for the API key in USD | 75 |
-| `limit_reset` | [OptionalNullable[operations.UpdateKeysLimitReset]](../../operations/updatekeyslimitreset.mdx) | :heavy_minus_sign: | New limit reset type for the API key (daily, weekly, monthly, or null for no reset). Resets happen automatically at midnight UTC, and weeks are Monday through Sunday. | daily |
+| `limit_reset` | [OptionalNullable[operations.UpdateKeysLimitReset]](../../operations/updatekeyslimitreset) | :heavy_minus_sign: | New limit reset type for the API key (daily, weekly, monthly, or null for no reset). Resets happen automatically at midnight UTC, and weeks are Monday through Sunday. | daily |
| `name` | *Optional[str]* | :heavy_minus_sign: | New name for the API key | Updated API Key Name |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[operations.UpdateKeysResponse](../../operations/updatekeysresponse.mdx)**
+**[operations.UpdateKeysResponse](../../operations/updatekeysresponse)**
### Errors
diff --git a/docs/sdks/benchmarks/README.mdx b/docs/sdks/benchmarks/README.mdx
index da27ed83..7cbeebbc 100644
--- a/docs/sdks/benchmarks/README.mdx
+++ b/docs/sdks/benchmarks/README.mdx
@@ -43,16 +43,16 @@ with OpenRouter(
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `source` | [Optional[operations.Source]](../../operations/source.mdx) | :heavy_minus_sign: | Benchmark source to query. Determines the shape of the returned items. When omitted, returns results from all sources. | artificial-analysis |
-| `task_type` | [Optional[operations.TaskType]](../../operations/tasktype.mdx) | :heavy_minus_sign: | Filter results by task type. For Artificial Analysis, maps to the corresponding index. For Design Arena, maps to the matching category. | coding |
-| `arena` | [Optional[operations.Arena]](../../operations/arena.mdx) | :heavy_minus_sign: | Design Arena only: arena to query. Defaults to `models` when source is `design-arena`. | models |
+| `source` | [Optional[operations.Source]](../../operations/source) | :heavy_minus_sign: | Benchmark source to query. Determines the shape of the returned items. When omitted, returns results from all sources. | artificial-analysis |
+| `task_type` | [Optional[operations.TaskType]](../../operations/tasktype) | :heavy_minus_sign: | Filter results by task type. For Artificial Analysis, maps to the corresponding index. For Design Arena, maps to the matching category. | coding |
+| `arena` | [Optional[operations.Arena]](../../operations/arena) | :heavy_minus_sign: | Design Arena only: arena to query. Defaults to `models` when source is `design-arena`. | models |
| `category` | *Optional[str]* | :heavy_minus_sign: | Design Arena only: category within the arena (e.g. `codecategories`, `uicomponent`, `gamedev`, `3d`, `dataviz`, `image`, `video`, `svg`). When omitted, returns all categories. | codecategories |
| `max_results` | *Optional[int]* | :heavy_minus_sign: | Maximum number of items to return. When omitted, all matching results are returned. | 50 |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[components.UnifiedBenchmarksResponse](../../components/unifiedbenchmarksresponse.mdx)**
+**[components.UnifiedBenchmarksResponse](../../components/unifiedbenchmarksresponse)**
### Errors
diff --git a/docs/sdks/betaanalytics/README.mdx b/docs/sdks/betaanalytics/README.mdx
index 6e4b06ff..c142c916 100644
--- a/docs/sdks/betaanalytics/README.mdx
+++ b/docs/sdks/betaanalytics/README.mdx
@@ -44,11 +44,11 @@ with OpenRouter(
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
|
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
|
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
|
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
### Response
-**[operations.GetAnalyticsMetaResponse](../../operations/getanalyticsmetaresponse.mdx)**
+**[operations.GetAnalyticsMetaResponse](../../operations/getanalyticsmetaresponse)**
### Errors
@@ -100,20 +100,20 @@ with OpenRouter(
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `classifier_dimensions` | [Optional[operations.ClassifierDimensions]](../../operations/classifierdimensions.mdx) | :heavy_minus_sign: | Group results by custom classifier tags, breaking down metrics by the specified dimension values. Requires an active classifier on the workspace. | |
-| `classifier_filters` | [Optional[operations.ClassifierFilters]](../../operations/classifierfilters.mdx) | :heavy_minus_sign: | Filter results to generations with specific classifier tag values. Can be combined with classifier_dimensions (must use the same classifier_id) or used independently with standard dimensions. | |
+| `classifier_dimensions` | [Optional[operations.ClassifierDimensions]](../../operations/classifierdimensions) | :heavy_minus_sign: | Group results by custom classifier tags, breaking down metrics by the specified dimension values. Requires an active classifier on the workspace. | |
+| `classifier_filters` | [Optional[operations.ClassifierFilters]](../../operations/classifierfilters) | :heavy_minus_sign: | Filter results to generations with specific classifier tag values. Can be combined with classifier_dimensions (must use the same classifier_id) or used independently with standard dimensions. | |
| `dimensions` | List[*str*] | :heavy_minus_sign: | N/A | |
-| `filters` | List[[operations.Filter](../../operations/filter_.mdx)] | :heavy_minus_sign: | N/A | |
+| `filters` | List[[operations.Filter](../../operations/filter_)] | :heavy_minus_sign: | N/A | |
| `granularity` | *Optional[str]* | :heavy_minus_sign: | Time granularity | day |
| `group_limit` | *Optional[int]* | :heavy_minus_sign: | Maximum rows per distinct combination of dimensions. When omitted on time-series queries (granularity + dimensions), auto-computed to avoid truncating time windows. Explicit values override the default and may truncate time buckets if set lower than the number of buckets in the range. Ignored when no dimensions are specified. | 100 |
| `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum total rows returned. Defaults to 1000. On time-series queries with dimensions and no explicit group_limit, the server may raise this to accommodate the expected number of unique time-bucket/dimension combinations. | |
-| `order_by` | [Optional[operations.OrderBy]](../../operations/orderby.mdx) | :heavy_minus_sign: | N/A | |
-| `time_range` | [Optional[operations.TimeRange]](../../operations/timerange.mdx) | :heavy_minus_sign: | N/A | |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `order_by` | [Optional[operations.OrderBy]](../../operations/orderby) | :heavy_minus_sign: | N/A | |
+| `time_range` | [Optional[operations.TimeRange]](../../operations/timerange) | :heavy_minus_sign: | N/A | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[operations.QueryAnalyticsResponse](../../operations/queryanalyticsresponse.mdx)**
+**[operations.QueryAnalyticsResponse](../../operations/queryanalyticsresponse)**
### Errors
diff --git a/docs/sdks/betaresponses/README.mdx b/docs/sdks/betaresponses/README.mdx
index 3b452fc5..13aa3918 100644
--- a/docs/sdks/betaresponses/README.mdx
+++ b/docs/sdks/betaresponses/README.mdx
@@ -67,50 +67,50 @@ with OpenRouter(
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `x_open_router_metadata` | [Optional[components.MetadataLevel]](../../components/metadatalevel.mdx) | :heavy_minus_sign: | Opt-in to surface routing metadata on the response under `openrouter_metadata`. Defaults to `disabled`. The legacy header `X-OpenRouter-Experimental-Metadata` is also accepted for backward compatibility. | enabled |
+| `x_open_router_metadata` | [Optional[components.MetadataLevel]](../../components/metadatalevel) | :heavy_minus_sign: | Opt-in to surface routing metadata on the response under `openrouter_metadata`. Defaults to `disabled`. The legacy header `X-OpenRouter-Experimental-Metadata` is also accepted for backward compatibility. | enabled |
| `background` | *OptionalNullable[bool]* | :heavy_minus_sign: | N/A | |
-| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../../components/anthropiccachecontroldirective.mdx) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
-| `debug` | [Optional[components.ChatDebugOptions]](../../components/chatdebugoptions.mdx) | :heavy_minus_sign: | Debug options for inspecting request transformations (streaming only) | \{
"echo_upstream_body": true
} |
+| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../../components/anthropiccachecontroldirective) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
+| `debug` | [Optional[components.ChatDebugOptions]](../../components/chatdebugoptions) | :heavy_minus_sign: | Debug options for inspecting request transformations (streaming only) | \{
"echo_upstream_body": true
} |
| `frequency_penalty` | *OptionalNullable[float]* | :heavy_minus_sign: | N/A | |
-| `image_config` | Dict[str, [components.ImageConfig](../../components/imageconfig.mdx)] | :heavy_minus_sign: | Provider-specific image configuration options. Keys and values vary by model/provider. See https://openrouter.ai/docs/guides/overview/multimodal/image-generation for more details. | \{
"aspect_ratio": "16:9",
"quality": "high"
} |
-| `include` | List[[components.ResponseIncludesEnum](../../components/responseincludesenum.mdx)] | :heavy_minus_sign: | N/A | |
-| `input` | [Optional[components.InputsUnion]](../../components/inputsunion.mdx) | :heavy_minus_sign: | Input for a response request - can be a string or array of items | [
\{
"content": "What is the weather today?",
"role": "user"
}
] |
+| `image_config` | Dict[str, [components.ImageConfig](../../components/imageconfig)] | :heavy_minus_sign: | Provider-specific image configuration options. Keys and values vary by model/provider. See https://openrouter.ai/docs/guides/overview/multimodal/image-generation for more details. | \{
"aspect_ratio": "16:9",
"quality": "high"
} |
+| `include` | List[[components.ResponseIncludesEnum](../../components/responseincludesenum)] | :heavy_minus_sign: | N/A | |
+| `input` | [Optional[components.InputsUnion]](../../components/inputsunion) | :heavy_minus_sign: | Input for a response request - can be a string or array of items | [
\{
"content": "What is the weather today?",
"role": "user"
}
] |
| `instructions` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
| `max_output_tokens` | *OptionalNullable[int]* | :heavy_minus_sign: | N/A | |
| `max_tool_calls` | *OptionalNullable[int]* | :heavy_minus_sign: | Maximum number of server-tool (e.g. `openrouter:web_search`) agent steps the model may take during a request. Defaults to 30, which is also the maximum. Ignored when `stop_server_tools_when` is set. | 30 |
| `metadata` | Dict[str, *str*] | :heavy_minus_sign: | Metadata key-value pairs for the request. Keys must be ≤64 characters and cannot contain brackets. Values must be ≤512 characters. Maximum 16 pairs allowed. | \{
"session_id": "abc-def-ghi",
"user_id": "123"
} |
-| `modalities` | List[[components.OutputModalityEnum](../../components/outputmodalityenum.mdx)] | :heavy_minus_sign: | Output modalities for the response. Supported values are "text" and "image". | [
"text",
"image"
] |
+| `modalities` | List[[components.OutputModalityEnum](../../components/outputmodalityenum)] | :heavy_minus_sign: | Output modalities for the response. Supported values are "text" and "image". | [
"text",
"image"
] |
| `model` | *Optional[str]* | :heavy_minus_sign: | N/A | |
| `models` | List[*str*] | :heavy_minus_sign: | N/A | |
| `parallel_tool_calls` | *OptionalNullable[bool]* | :heavy_minus_sign: | N/A | |
-| `plugins` | List[[components.ResponsesRequestPlugin](../../components/responsesrequestplugin.mdx)] | :heavy_minus_sign: | Plugins you want to enable for this request, including their settings. | |
+| `plugins` | List[[components.ResponsesRequestPlugin](../../components/responsesrequestplugin)] | :heavy_minus_sign: | Plugins you want to enable for this request, including their settings. | |
| `presence_penalty` | *OptionalNullable[float]* | :heavy_minus_sign: | N/A | |
| `previous_response_id` | *Optional[Any]* | :heavy_minus_sign: | Not supported. The Responses API is stateless: no responses are stored, so a previous response cannot be referenced. Requests with a non-null value are rejected with a 400 error. Send the full conversation history in `input` instead. | |
-| `prompt` | [OptionalNullable[components.StoredPromptTemplate]](../../components/storedprompttemplate.mdx) | :heavy_minus_sign: | N/A | \{
"id": "prompt-abc123",
"variables": \{
"name": "John"
}
} |
+| `prompt` | [OptionalNullable[components.StoredPromptTemplate]](../../components/storedprompttemplate) | :heavy_minus_sign: | N/A | \{
"id": "prompt-abc123",
"variables": \{
"name": "John"
}
} |
| `prompt_cache_key` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
-| `prompt_cache_options` | [OptionalNullable[components.PromptCacheOptions]](../../components/promptcacheoptions.mdx) | :heavy_minus_sign: | Request-level prompt-cache controls. `mode: "explicit"` disables OpenAI-managed breakpoints so only blocks marked with `prompt_cache_breakpoint` are cached. Only supported by OpenAI GPT-5.6 and newer. | \{
"mode": "explicit",
"ttl": "30m"
} |
-| `provider` | [OptionalNullable[components.ProviderPreferences]](../../components/providerpreferences.mdx) | :heavy_minus_sign: | When multiple model providers are available, optionally indicate your routing preference. | \{
"allow_fallbacks": true
} |
-| `reasoning` | [OptionalNullable[components.ReasoningConfig]](../../components/reasoningconfig.mdx) | :heavy_minus_sign: | Configuration for reasoning mode in the response | \{
"enabled": true,
"summary": "auto"
} |
+| `prompt_cache_options` | [OptionalNullable[components.PromptCacheOptions]](../../components/promptcacheoptions) | :heavy_minus_sign: | Request-level prompt-cache controls. `mode: "explicit"` disables OpenAI-managed breakpoints so only blocks marked with `prompt_cache_breakpoint` are cached. Only supported by OpenAI GPT-5.6 and newer. | \{
"mode": "explicit",
"ttl": "30m"
} |
+| `provider` | [OptionalNullable[components.ProviderPreferences]](../../components/providerpreferences) | :heavy_minus_sign: | When multiple model providers are available, optionally indicate your routing preference. | \{
"allow_fallbacks": true
} |
+| `reasoning` | [OptionalNullable[components.ReasoningConfig]](../../components/reasoningconfig) | :heavy_minus_sign: | Configuration for reasoning mode in the response | \{
"enabled": true,
"summary": "auto"
} |
| `safety_identifier` | *OptionalNullable[str]* | :heavy_minus_sign: | Recommended per-end-user identifier for abuse isolation. Use a stable ID, hash, or pseudonym. When a provider requires a user identity, OpenRouter folds it into the hashed identity sent upstream and never forwards it raw. If omitted, requests use an account-level identity, so provider policy blocks can affect the whole account. | user-123 |
-| `service_tier` | [OptionalNullable[components.ResponsesRequestServiceTier]](../../components/responsesrequestservicetier.mdx) | :heavy_minus_sign: | N/A | |
+| `service_tier` | [OptionalNullable[components.ResponsesRequestServiceTier]](../../components/responsesrequestservicetier) | :heavy_minus_sign: | N/A | |
| `session_id` | *Optional[str]* | :heavy_minus_sign: | A unique identifier for grouping related requests (e.g., a conversation or agent workflow). When provided, OpenRouter uses it as the sticky routing key, routing all requests in the session to the same provider to maximize prompt cache hits. Also used for observability grouping. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 256 characters. | |
-| `stop_server_tools_when` | List[[components.StopServerToolsWhenCondition](../../components/stopservertoolswhencondition.mdx)] | :heavy_minus_sign: | Stop conditions for the server-tool agent loop. Any condition firing halts the loop (OR logic). When set, this overrides `max_tool_calls`. When a condition fires while the model is still emitting tool calls, the pending tool calls are executed and one final turn is made with tool calls disabled so the response ends with a natural-language answer instead of an unfinished tool call. | [
\{
"step_count": 5,
"type": "step_count_is"
},
\{
"max_cost_in_dollars": 0.5,
"type": "max_cost"
}
] |
+| `stop_server_tools_when` | List[[components.StopServerToolsWhenCondition](../../components/stopservertoolswhencondition)] | :heavy_minus_sign: | Stop conditions for the server-tool agent loop. Any condition firing halts the loop (OR logic). When set, this overrides `max_tool_calls`. When a condition fires while the model is still emitting tool calls, the pending tool calls are executed and one final turn is made with tool calls disabled so the response ends with a natural-language answer instead of an unfinished tool call. | [
\{
"step_count": 5,
"type": "step_count_is"
},
\{
"max_cost_in_dollars": 0.5,
"type": "max_cost"
}
] |
| `stream` | *Optional[bool]* | :heavy_minus_sign: | N/A | |
| `temperature` | *OptionalNullable[float]* | :heavy_minus_sign: | N/A | |
-| `text` | [Optional[components.TextExtendedConfig]](../../components/textextendedconfig.mdx) | :heavy_minus_sign: | Text output configuration including format and verbosity | \{
"format": \{
"type": "text"
}
} |
-| `tool_choice` | [Optional[components.OpenAIResponsesToolChoiceUnion]](../../components/openairesponsestoolchoiceunion.mdx) | :heavy_minus_sign: | N/A | auto |
-| `tools` | List[[components.ResponsesRequestToolUnion](../../components/responsesrequesttoolunion.mdx)] | :heavy_minus_sign: | N/A | |
+| `text` | [Optional[components.TextExtendedConfig]](../../components/textextendedconfig) | :heavy_minus_sign: | Text output configuration including format and verbosity | \{
"format": \{
"type": "text"
}
} |
+| `tool_choice` | [Optional[components.OpenAIResponsesToolChoiceUnion]](../../components/openairesponsestoolchoiceunion) | :heavy_minus_sign: | N/A | auto |
+| `tools` | List[[components.ResponsesRequestToolUnion](../../components/responsesrequesttoolunion)] | :heavy_minus_sign: | N/A | |
| `top_k` | *Optional[int]* | :heavy_minus_sign: | N/A | |
| `top_logprobs` | *OptionalNullable[int]* | :heavy_minus_sign: | N/A | |
| `top_p` | *OptionalNullable[float]* | :heavy_minus_sign: | N/A | |
-| `trace` | [Optional[components.TraceConfig]](../../components/traceconfig.mdx) | :heavy_minus_sign: | Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations. | \{
"trace_id": "trace-abc123",
"trace_name": "my-app-trace"
} |
-| `truncation` | [OptionalNullable[components.OpenAIResponsesTruncation]](../../components/openairesponsestruncation.mdx) | :heavy_minus_sign: | N/A | auto |
+| `trace` | [Optional[components.TraceConfig]](../../components/traceconfig) | :heavy_minus_sign: | Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations. | \{
"trace_id": "trace-abc123",
"trace_name": "my-app-trace"
} |
+| `truncation` | [OptionalNullable[components.OpenAIResponsesTruncation]](../../components/openairesponsestruncation) | :heavy_minus_sign: | N/A | auto |
| `user` | *Optional[str]* | :heavy_minus_sign: | A unique identifier representing your end-user, which helps distinguish between different users of your app. This allows your app to identify specific users in case of abuse reports, preventing your entire app from being affected by the actions of individual users. Maximum of 256 characters. | |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[operations.CreateResponsesResponse](../../operations/createresponsesresponse.mdx)**
+**[operations.CreateResponsesResponse](../../operations/createresponsesresponse)**
### Errors
diff --git a/docs/sdks/byok/README.mdx b/docs/sdks/byok/README.mdx
index 4cc46421..98af4455 100644
--- a/docs/sdks/byok/README.mdx
+++ b/docs/sdks/byok/README.mdx
@@ -52,12 +52,12 @@ with OpenRouter(
| `offset` | *OptionalNullable[int]* | :heavy_minus_sign: | Number of records to skip for pagination | 0 |
| `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum number of records to return (max 100) | 50 |
| `workspace_id` | *Optional[str]* | :heavy_minus_sign: | Optional workspace ID to filter by. Defaults to the authenticated entity's default workspace. | 550e8400-e29b-41d4-a716-446655440000 |
-| `provider` | [Optional[operations.Provider]](../../operations/provider.mdx) | :heavy_minus_sign: | Optional provider slug to filter by (e.g. `openai`, `anthropic`, `amazon-bedrock`). | openai |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `provider` | [Optional[operations.Provider]](../../operations/provider) | :heavy_minus_sign: | Optional provider slug to filter by (e.g. `openai`, `anthropic`, `amazon-bedrock`). | openai |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[operations.ListBYOKKeysResponse](../../operations/listbyokkeysresponse.mdx)**
+**[operations.ListBYOKKeysResponse](../../operations/listbyokkeysresponse)**
### Errors
@@ -98,7 +98,7 @@ with OpenRouter(
| Parameter | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| `key` | *str* | :heavy_check_mark: | The raw provider API key or credential. This value is encrypted at rest and never returned in API responses. | sk-proj-abc123... |
-| `provider` | [components.BYOKProviderSlug](../../components/byokproviderslug.mdx) | :heavy_check_mark: | The upstream provider this credential authenticates against, as a lowercase slug (e.g. `openai`, `anthropic`, `amazon-bedrock`). | openai |
+| `provider` | [components.BYOKProviderSlug](../../components/byokproviderslug) | :heavy_check_mark: | The upstream provider this credential authenticates against, as a lowercase slug (e.g. `openai`, `anthropic`, `amazon-bedrock`). | openai |
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
@@ -108,11 +108,11 @@ with OpenRouter(
| `is_fallback` | *Optional[bool]* | :heavy_minus_sign: | Whether this credential is treated as a fallback — used only after non-fallback keys for the same provider have been tried. | false |
| `name` | *OptionalNullable[str]* | :heavy_minus_sign: | Optional human-readable name for the credential. | Production OpenAI Key |
| `workspace_id` | *Optional[str]* | :heavy_minus_sign: | Optional workspace ID. Defaults to the authenticated entity's default workspace. | 550e8400-e29b-41d4-a716-446655440000 |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[components.CreateBYOKKeyResponse](../../components/createbyokkeyresponse.mdx)**
+**[components.CreateBYOKKeyResponse](../../components/createbyokkeyresponse)**
### Errors
@@ -157,11 +157,11 @@ with OpenRouter(
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[components.DeleteBYOKKeyResponse](../../components/deletebyokkeyresponse.mdx)**
+**[components.DeleteBYOKKeyResponse](../../components/deletebyokkeyresponse)**
### Errors
@@ -205,11 +205,11 @@ with OpenRouter(
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[components.GetBYOKKeyResponse](../../components/getbyokkeyresponse.mdx)**
+**[components.GetBYOKKeyResponse](../../components/getbyokkeyresponse)**
### Errors
@@ -259,11 +259,11 @@ with OpenRouter(
| `is_fallback` | *Optional[bool]* | :heavy_minus_sign: | Whether this credential is treated as a fallback — used only after non-fallback keys for the same provider have been tried. | false |
| `key` | *Optional[str]* | :heavy_minus_sign: | A new raw provider API key to rotate the credential in-place. The previous key material is overwritten and the masked label is regenerated. Encrypted at rest and never returned in API responses. | sk-proj-newkey456... |
| `name` | *OptionalNullable[str]* | :heavy_minus_sign: | Optional human-readable name for the credential. | Updated OpenAI Key |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[components.UpdateBYOKKeyResponse](../../components/updatebyokkeyresponse.mdx)**
+**[components.UpdateBYOKKeyResponse](../../components/updatebyokkeyresponse)**
### Errors
diff --git a/docs/sdks/chat/README.mdx b/docs/sdks/chat/README.mdx
index 1e24705c..abee668d 100644
--- a/docs/sdks/chat/README.mdx
+++ b/docs/sdks/chat/README.mdx
@@ -79,56 +79,56 @@ with OpenRouter(
| Parameter | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `messages` | List[[components.ChatMessages](../../components/chatmessages.mdx)] | :heavy_check_mark: | List of messages for the conversation | [
\{
"content": "Hello!",
"role": "user"
}
] |
+| `messages` | List[[components.ChatMessages](../../components/chatmessages)] | :heavy_check_mark: | List of messages for the conversation | [
\{
"content": "Hello!",
"role": "user"
}
] |
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `x_open_router_metadata` | [Optional[components.MetadataLevel]](../../components/metadatalevel.mdx) | :heavy_minus_sign: | Opt-in to surface routing metadata on the response under `openrouter_metadata`. Defaults to `disabled`. The legacy header `X-OpenRouter-Experimental-Metadata` is also accepted for backward compatibility. | enabled |
-| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../../components/anthropiccachecontroldirective.mdx) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
-| `debug` | [Optional[components.ChatDebugOptions]](../../components/chatdebugoptions.mdx) | :heavy_minus_sign: | Debug options for inspecting request transformations (streaming only) | \{
"echo_upstream_body": true
} |
+| `x_open_router_metadata` | [Optional[components.MetadataLevel]](../../components/metadatalevel) | :heavy_minus_sign: | Opt-in to surface routing metadata on the response under `openrouter_metadata`. Defaults to `disabled`. The legacy header `X-OpenRouter-Experimental-Metadata` is also accepted for backward compatibility. | enabled |
+| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../../components/anthropiccachecontroldirective) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
+| `debug` | [Optional[components.ChatDebugOptions]](../../components/chatdebugoptions) | :heavy_minus_sign: | Debug options for inspecting request transformations (streaming only) | \{
"echo_upstream_body": true
} |
| `frequency_penalty` | *OptionalNullable[float]* | :heavy_minus_sign: | Frequency penalty (-2.0 to 2.0) | 0 |
-| `image_config` | Dict[str, [components.ImageConfig](../../components/imageconfig.mdx)] | :heavy_minus_sign: | Provider-specific image configuration options. Keys and values vary by model/provider. See https://openrouter.ai/docs/guides/overview/multimodal/image-generation for more details. | \{
"aspect_ratio": "16:9",
"quality": "high"
} |
+| `image_config` | Dict[str, [components.ImageConfig](../../components/imageconfig)] | :heavy_minus_sign: | Provider-specific image configuration options. Keys and values vary by model/provider. See https://openrouter.ai/docs/guides/overview/multimodal/image-generation for more details. | \{
"aspect_ratio": "16:9",
"quality": "high"
} |
| `logit_bias` | Dict[str, *float*] | :heavy_minus_sign: | Token logit bias adjustments | \{
"50256": -100
} |
| `logprobs` | *OptionalNullable[bool]* | :heavy_minus_sign: | Return log probabilities | false |
| `max_completion_tokens` | *OptionalNullable[int]* | :heavy_minus_sign: | Maximum tokens in completion | 100 |
| `max_tokens` | *OptionalNullable[int]* | :heavy_minus_sign: | Maximum tokens (deprecated, use max_completion_tokens). Note: some providers enforce a minimum of 16. | 100 |
| `metadata` | Dict[str, *str*] | :heavy_minus_sign: | Key-value pairs for additional object information (max 16 pairs, 64 char keys, 512 char values) | \{
"session_id": "session-456",
"user_id": "user-123"
} |
| `min_p` | *OptionalNullable[float]* | :heavy_minus_sign: | Minimum probability threshold relative to the most likely token. Tokens with probability below min_p * (probability of top token) are filtered out. Not all providers support this parameter. | 0.1 |
-| `modalities` | List[[components.Modality](../../components/modality.mdx)] | :heavy_minus_sign: | Output modalities for the response. Supported values are "text", "image", and "audio". | [
"text",
"image"
] |
+| `modalities` | List[[components.Modality](../../components/modality)] | :heavy_minus_sign: | Output modalities for the response. Supported values are "text", "image", and "audio". | [
"text",
"image"
] |
| `model` | *Optional[str]* | :heavy_minus_sign: | Model to use for completion | openai/gpt-4 |
| `models` | List[*str*] | :heavy_minus_sign: | Models to use for completion | [
"openai/gpt-4",
"openai/gpt-4o"
] |
| `parallel_tool_calls` | *OptionalNullable[bool]* | :heavy_minus_sign: | Whether to enable parallel function calling during tool use. When true, the model may generate multiple tool calls in a single response. | true |
-| `plugins` | List[[components.ChatRequestPlugin](../../components/chatrequestplugin.mdx)] | :heavy_minus_sign: | Plugins you want to enable for this request, including their settings. | |
-| `prediction` | [OptionalNullable[components.Prediction]](../../components/prediction.mdx) | :heavy_minus_sign: | Static predicted output content. Supported models can use this to reduce latency when much of the response is known in advance. | \{
"content": "Expected response",
"type": "content"
} |
+| `plugins` | List[[components.ChatRequestPlugin](../../components/chatrequestplugin)] | :heavy_minus_sign: | Plugins you want to enable for this request, including their settings. | |
+| `prediction` | [OptionalNullable[components.Prediction]](../../components/prediction) | :heavy_minus_sign: | Static predicted output content. Supported models can use this to reduce latency when much of the response is known in advance. | \{
"content": "Expected response",
"type": "content"
} |
| `presence_penalty` | *OptionalNullable[float]* | :heavy_minus_sign: | Presence penalty (-2.0 to 2.0) | 0 |
| `prompt_cache_key` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
-| `prompt_cache_options` | [OptionalNullable[components.PromptCacheOptions]](../../components/promptcacheoptions.mdx) | :heavy_minus_sign: | Request-level prompt-cache controls. `mode: "explicit"` disables OpenAI-managed breakpoints so only blocks marked with `prompt_cache_breakpoint` are cached. Only supported by OpenAI GPT-5.6 and newer. | \{
"mode": "explicit",
"ttl": "30m"
} |
-| `provider` | [OptionalNullable[components.ProviderPreferences]](../../components/providerpreferences.mdx) | :heavy_minus_sign: | When multiple model providers are available, optionally indicate your routing preference. | \{
"allow_fallbacks": true
} |
-| `reasoning` | [Optional[components.ChatRequestReasoning]](../../components/chatrequestreasoning.mdx) | :heavy_minus_sign: | Configuration options for reasoning models | \{
"effort": "medium",
"summary": "concise"
} |
-| `reasoning_effort` | [OptionalNullable[components.ChatRequestReasoningEffort]](../../components/chatrequestreasoningeffort.mdx) | :heavy_minus_sign: | Shorthand for setting reasoning effort. Equivalent to setting reasoning.effort. Cannot be used simultaneously with reasoning.effort if they differ. | medium |
+| `prompt_cache_options` | [OptionalNullable[components.PromptCacheOptions]](../../components/promptcacheoptions) | :heavy_minus_sign: | Request-level prompt-cache controls. `mode: "explicit"` disables OpenAI-managed breakpoints so only blocks marked with `prompt_cache_breakpoint` are cached. Only supported by OpenAI GPT-5.6 and newer. | \{
"mode": "explicit",
"ttl": "30m"
} |
+| `provider` | [OptionalNullable[components.ProviderPreferences]](../../components/providerpreferences) | :heavy_minus_sign: | When multiple model providers are available, optionally indicate your routing preference. | \{
"allow_fallbacks": true
} |
+| `reasoning` | [Optional[components.ChatRequestReasoning]](../../components/chatrequestreasoning) | :heavy_minus_sign: | Configuration options for reasoning models | \{
"effort": "medium",
"summary": "concise"
} |
+| `reasoning_effort` | [OptionalNullable[components.ChatRequestReasoningEffort]](../../components/chatrequestreasoningeffort) | :heavy_minus_sign: | Shorthand for setting reasoning effort. Equivalent to setting reasoning.effort. Cannot be used simultaneously with reasoning.effort if they differ. | medium |
| `repetition_penalty` | *OptionalNullable[float]* | :heavy_minus_sign: | Penalizes tokens based on how much they have already appeared in the text. A value of 1.0 means no penalty. Values above 1.0 penalize repeated tokens more strongly. Not all providers support this parameter. | 1 |
-| `response_format` | [Optional[components.ResponseFormat]](../../components/responseformat.mdx) | :heavy_minus_sign: | Response format configuration | \{
"type": "json_object"
} |
+| `response_format` | [Optional[components.ResponseFormat]](../../components/responseformat) | :heavy_minus_sign: | Response format configuration | \{
"type": "json_object"
} |
| `seed` | *OptionalNullable[int]* | :heavy_minus_sign: | Random seed for deterministic outputs | 42 |
-| `service_tier` | [OptionalNullable[components.ChatRequestServiceTier]](../../components/chatrequestservicetier.mdx) | :heavy_minus_sign: | The service tier to use for processing this request. | auto |
+| `service_tier` | [OptionalNullable[components.ChatRequestServiceTier]](../../components/chatrequestservicetier) | :heavy_minus_sign: | The service tier to use for processing this request. | auto |
| `session_id` | *Optional[str]* | :heavy_minus_sign: | A unique identifier for grouping related requests (e.g., a conversation or agent workflow). When provided, OpenRouter uses it as the sticky routing key, routing all requests in the session to the same provider to maximize prompt cache hits. Also used for observability grouping. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 256 characters. | |
-| `stop` | [OptionalNullable[components.Stop]](../../components/stop.mdx) | :heavy_minus_sign: | Stop sequences (up to 4) | [
"\n"
] |
-| `stop_server_tools_when` | List[[components.StopServerToolsWhenCondition](../../components/stopservertoolswhencondition.mdx)] | :heavy_minus_sign: | Stop conditions for the server-tool agent loop. Any condition firing halts the loop (OR logic). When set, this overrides `max_tool_calls`. When a condition fires while the model is still emitting tool calls, the pending tool calls are executed and one final turn is made with tool calls disabled so the response ends with a natural-language answer instead of an unfinished tool call. | [
\{
"step_count": 5,
"type": "step_count_is"
},
\{
"max_cost_in_dollars": 0.5,
"type": "max_cost"
}
] |
+| `stop` | [OptionalNullable[components.Stop]](../../components/stop) | :heavy_minus_sign: | Stop sequences (up to 4) | [
"\n"
] |
+| `stop_server_tools_when` | List[[components.StopServerToolsWhenCondition](../../components/stopservertoolswhencondition)] | :heavy_minus_sign: | Stop conditions for the server-tool agent loop. Any condition firing halts the loop (OR logic). When set, this overrides `max_tool_calls`. When a condition fires while the model is still emitting tool calls, the pending tool calls are executed and one final turn is made with tool calls disabled so the response ends with a natural-language answer instead of an unfinished tool call. | [
\{
"step_count": 5,
"type": "step_count_is"
},
\{
"max_cost_in_dollars": 0.5,
"type": "max_cost"
}
] |
| `stream` | *Optional[bool]* | :heavy_minus_sign: | Enable streaming response | false |
-| `stream_options` | [OptionalNullable[components.ChatStreamOptions]](../../components/chatstreamoptions.mdx) | :heavy_minus_sign: | Streaming configuration options | \{
"include_usage": true
} |
+| `stream_options` | [OptionalNullable[components.ChatStreamOptions]](../../components/chatstreamoptions) | :heavy_minus_sign: | Streaming configuration options | \{
"include_usage": true
} |
| `temperature` | *OptionalNullable[float]* | :heavy_minus_sign: | Sampling temperature (0-2) | 0.7 |
-| `tool_choice` | [Optional[components.ChatToolChoice]](../../components/chattoolchoice.mdx) | :heavy_minus_sign: | Tool choice configuration | auto |
-| `tools` | List[[components.ChatFunctionTool](../../components/chatfunctiontool.mdx)] | :heavy_minus_sign: | Available tools for function calling | [
\{
"function": \{
"description": "Get weather",
"name": "get_weather"
},
"type": "function"
}
] |
+| `tool_choice` | [Optional[components.ChatToolChoice]](../../components/chattoolchoice) | :heavy_minus_sign: | Tool choice configuration | auto |
+| `tools` | List[[components.ChatFunctionTool](../../components/chatfunctiontool)] | :heavy_minus_sign: | Available tools for function calling | [
\{
"function": \{
"description": "Get weather",
"name": "get_weather"
},
"type": "function"
}
] |
| `top_a` | *OptionalNullable[float]* | :heavy_minus_sign: | Consider only tokens with "sufficiently high" probabilities based on the probability of the most likely token. Not all providers support this parameter. | 0 |
| `top_k` | *OptionalNullable[int]* | :heavy_minus_sign: | Limits the model to choose from the top K most likely tokens at each step. A value of 1 means the model will always pick the most likely next token. Not all providers support this parameter. | 40 |
| `top_logprobs` | *OptionalNullable[int]* | :heavy_minus_sign: | Number of top log probabilities to return (0-20) | 5 |
| `top_p` | *OptionalNullable[float]* | :heavy_minus_sign: | Nucleus sampling parameter (0-1) | 1 |
-| `trace` | [Optional[components.TraceConfig]](../../components/traceconfig.mdx) | :heavy_minus_sign: | Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations. | \{
"trace_id": "trace-abc123",
"trace_name": "my-app-trace"
} |
+| `trace` | [Optional[components.TraceConfig]](../../components/traceconfig) | :heavy_minus_sign: | Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations. | \{
"trace_id": "trace-abc123",
"trace_name": "my-app-trace"
} |
| `user` | *Optional[str]* | :heavy_minus_sign: | Per-end-user identifier for abuse isolation. Use a stable ID, hash, or pseudonym. When a provider requires a user identity, OpenRouter folds it into the hashed identity sent upstream and never forwards it raw. If omitted, requests use an account-level identity, so provider policy blocks can affect the whole account. | user-123 |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[operations.SendChatCompletionRequestResponse](../../operations/sendchatcompletionrequestresponse.mdx)**
+**[operations.SendChatCompletionRequestResponse](../../operations/sendchatcompletionrequestresponse)**
### Errors
diff --git a/docs/sdks/classifications/README.mdx b/docs/sdks/classifications/README.mdx
index bed5f74e..4c380ba7 100644
--- a/docs/sdks/classifications/README.mdx
+++ b/docs/sdks/classifications/README.mdx
@@ -61,12 +61,12 @@ with OpenRouter(
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `window` | [Optional[operations.Window]](../../operations/window.mdx) | :heavy_minus_sign: | Trailing time window for the classification data. Currently only `7d` (trailing 7 days) is supported. | 7d |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `window` | [Optional[operations.Window]](../../operations/window) | :heavy_minus_sign: | Trailing time window for the classification data. Currently only `7d` (trailing 7 days) is supported. | 7d |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[components.TaskClassificationResponse](../../components/taskclassificationresponse.mdx)**
+**[components.TaskClassificationResponse](../../components/taskclassificationresponse)**
### Errors
diff --git a/docs/sdks/credits/README.mdx b/docs/sdks/credits/README.mdx
index 414ae283..55cd8b9f 100644
--- a/docs/sdks/credits/README.mdx
+++ b/docs/sdks/credits/README.mdx
@@ -43,11 +43,11 @@ with OpenRouter(
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
|
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
|
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
|
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
### Response
-**[operations.GetCreditsResponse](../../operations/getcreditsresponse.mdx)**
+**[operations.GetCreditsResponse](../../operations/getcreditsresponse)**
### Errors
diff --git a/docs/sdks/datasets/README.mdx b/docs/sdks/datasets/README.mdx
index fe3a93c6..bbb242e1 100644
--- a/docs/sdks/datasets/README.mdx
+++ b/docs/sdks/datasets/README.mdx
@@ -68,18 +68,18 @@ with OpenRouter(
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `category` | [Optional[operations.GetAppRankingsCategory]](../../operations/getapprankingscategory.mdx) | :heavy_minus_sign: | Marketplace category group to filter by (e.g. `coding`). Only apps tagged with a subcategory inside this group are returned. Mutually combinable with `subcategory` — when both are supplied the `subcategory` must belong to the `category` group. | coding |
-| `subcategory` | [Optional[operations.Subcategory]](../../operations/subcategory.mdx) | :heavy_minus_sign: | Marketplace subcategory to filter by (e.g. `cli-agent`). Takes precedence over `category` for the actual filter; when `category` is also supplied the pair must be consistent. | cli-agent |
-| `sort` | [Optional[operations.GetAppRankingsSort]](../../operations/getapprankingssort.mdx) | :heavy_minus_sign: | `popular` ranks apps by total token volume inside the date window. `trending` ranks apps by absolute excess token growth: window volume minus the average volume of the three equal-length periods immediately preceding the window. Apps with no excess growth are omitted from `trending` results. | popular |
+| `category` | [Optional[operations.GetAppRankingsCategory]](../../operations/getapprankingscategory) | :heavy_minus_sign: | Marketplace category group to filter by (e.g. `coding`). Only apps tagged with a subcategory inside this group are returned. Mutually combinable with `subcategory` — when both are supplied the `subcategory` must belong to the `category` group. | coding |
+| `subcategory` | [Optional[operations.Subcategory]](../../operations/subcategory) | :heavy_minus_sign: | Marketplace subcategory to filter by (e.g. `cli-agent`). Takes precedence over `category` for the actual filter; when `category` is also supplied the pair must be consistent. | cli-agent |
+| `sort` | [Optional[operations.GetAppRankingsSort]](../../operations/getapprankingssort) | :heavy_minus_sign: | `popular` ranks apps by total token volume inside the date window. `trending` ranks apps by absolute excess token growth: window volume minus the average volume of the three equal-length periods immediately preceding the window. Apps with no excess growth are omitted from `trending` results. | popular |
| `start_date` | *Optional[str]* | :heavy_minus_sign: | Start of the date window in YYYY-MM-DD (UTC), inclusive. Defaults to 30 days before `end_date`. The dataset begins at 2025-01-01; earlier values are clamped forward to that floor and the resolved value is echoed in `meta.start_date`. | 2026-04-12 |
| `end_date` | *Optional[str]* | :heavy_minus_sign: | End of the date window in YYYY-MM-DD (UTC), inclusive. Defaults to the most recent completed UTC day. Must be on or after 2025-01-01; earlier values are rejected with a 400. | 2026-05-11 |
| `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum number of apps to return (1-100). Defaults to 50. | 50 |
| `offset` | *OptionalNullable[int]* | :heavy_minus_sign: | Number of ranked apps to skip before the first returned row (0-100). Defaults to 0. `rank` stays absolute, so the first row of `offset=50` is `rank: 51`. | 0 |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[operations.GetAppRankingsResponse](../../operations/getapprankingsresponse.mdx)**
+**[operations.GetAppRankingsResponse](../../operations/getapprankingsresponse)**
### Errors
@@ -150,16 +150,16 @@ with OpenRouter(
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
| `start_date` | *Optional[str]* | :heavy_minus_sign: | Start of the date window in YYYY-MM-DD (UTC), inclusive. Defaults to 30 days before `end_date`. The dataset begins at 2025-01-01; earlier values are clamped forward to that floor and the resolved value is echoed in `meta.start_date`. | 2026-04-12 |
| `end_date` | *Optional[str]* | :heavy_minus_sign: | End of the date window in YYYY-MM-DD (UTC), inclusive. Defaults to the most recent completed UTC day. Must be on or after 2025-01-01; earlier values are rejected with a 400. | 2026-05-11 |
-| `period` | [Optional[operations.Period]](../../operations/period.mdx) | :heavy_minus_sign: | Time grain of each row. `day` (default) returns the per-UTC-day series; `week` buckets by ISO week start; `month` buckets by month start. With `category` or `language_type` only `week` (default) and `month` are available — `day` is rejected with a 400 because those datasets are aggregated weekly. For those sampled datasets `period=month` buckets each week by its week-start month, so totals are approximate at month boundaries. | day |
-| `modality` | [Optional[operations.Modality]](../../operations/modality.mdx) | :heavy_minus_sign: | Restrict to models for a modality surface: `text` / `image_output` match output modality, `image` / `audio` match input modality, and `tool_calling` keeps only rows that recorded at least one tool call. Exact dataset — cannot be combined with `category` or `language_type`. | text |
-| `context_bucket` | [Optional[operations.ContextBucket]](../../operations/contextbucket.mdx) | :heavy_minus_sign: | Restrict to requests whose context length falls in this bucket (`1K`, `10K`, `100K`, `1M`, or `10M`). Exact dataset — cannot be combined with `category` or `language_type`. | 100K |
-| `category` | [Optional[operations.GetRankingsDailyCategory]](../../operations/getrankingsdailycategory.mdx) | :heavy_minus_sign: | Restrict to a use-case category (e.g. `programming`, `roleplay`). Sourced from a sampled, upsampled dataset, so `total_tokens` is an estimate and is aggregated weekly (the trailing weekly bucket may include traffic past `end_date`). Cannot be combined with `modality`, `context_bucket`, or `language_type`. | programming |
-| `language_type` | [Optional[operations.LanguageType]](../../operations/languagetype.mdx) | :heavy_minus_sign: | Restrict to natural-language or programming-language tagged activity. Sourced from a sampled, upsampled dataset, so `total_tokens` is an estimate and is aggregated weekly (the trailing weekly bucket may include traffic past `end_date`). Cannot be combined with `modality`, `context_bucket`, or `category`. | natural |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `period` | [Optional[operations.Period]](../../operations/period) | :heavy_minus_sign: | Time grain of each row. `day` (default) returns the per-UTC-day series; `week` buckets by ISO week start; `month` buckets by month start. With `category` or `language_type` only `week` (default) and `month` are available — `day` is rejected with a 400 because those datasets are aggregated weekly. For those sampled datasets `period=month` buckets each week by its week-start month, so totals are approximate at month boundaries. | day |
+| `modality` | [Optional[operations.Modality]](../../operations/modality) | :heavy_minus_sign: | Restrict to models for a modality surface: `text` / `image_output` match output modality, `image` / `audio` match input modality, and `tool_calling` keeps only rows that recorded at least one tool call. Exact dataset — cannot be combined with `category` or `language_type`. | text |
+| `context_bucket` | [Optional[operations.ContextBucket]](../../operations/contextbucket) | :heavy_minus_sign: | Restrict to requests whose context length falls in this bucket (`1K`, `10K`, `100K`, `1M`, or `10M`). Exact dataset — cannot be combined with `category` or `language_type`. | 100K |
+| `category` | [Optional[operations.GetRankingsDailyCategory]](../../operations/getrankingsdailycategory) | :heavy_minus_sign: | Restrict to a use-case category (e.g. `programming`, `roleplay`). Sourced from a sampled, upsampled dataset, so `total_tokens` is an estimate and is aggregated weekly (the trailing weekly bucket may include traffic past `end_date`). Cannot be combined with `modality`, `context_bucket`, or `language_type`. | programming |
+| `language_type` | [Optional[operations.LanguageType]](../../operations/languagetype) | :heavy_minus_sign: | Restrict to natural-language or programming-language tagged activity. Sourced from a sampled, upsampled dataset, so `total_tokens` is an estimate and is aggregated weekly (the trailing weekly bucket may include traffic past `end_date`). Cannot be combined with `modality`, `context_bucket`, or `category`. | natural |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[components.RankingsDailyResponse](../../components/rankingsdailyresponse.mdx)**
+**[components.RankingsDailyResponse](../../components/rankingsdailyresponse)**
### Errors
diff --git a/docs/sdks/embeddings/README.mdx b/docs/sdks/embeddings/README.mdx
index 23ecba4f..a40be99a 100644
--- a/docs/sdks/embeddings/README.mdx
+++ b/docs/sdks/embeddings/README.mdx
@@ -41,21 +41,21 @@ with OpenRouter(
| Parameter | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `input` | [operations.InputUnion](../../operations/inputunion.mdx) | :heavy_check_mark: | Text, token, or multimodal input(s) to embed | The quick brown fox jumps over the lazy dog |
+| `input` | [operations.InputUnion](../../operations/inputunion) | :heavy_check_mark: | Text, token, or multimodal input(s) to embed | The quick brown fox jumps over the lazy dog |
| `model` | *str* | :heavy_check_mark: | The model to use for embeddings | openai/text-embedding-3-small |
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
| `dimensions` | *Optional[int]* | :heavy_minus_sign: | The number of dimensions for the output embeddings | 1536 |
-| `encoding_format` | [Optional[operations.EncodingFormat]](../../operations/encodingformat.mdx) | :heavy_minus_sign: | The format of the output embeddings | float |
+| `encoding_format` | [Optional[operations.EncodingFormat]](../../operations/encodingformat) | :heavy_minus_sign: | The format of the output embeddings | float |
| `input_type` | *Optional[str]* | :heavy_minus_sign: | The type of input (e.g. search_query, search_document) | search_query |
-| `provider` | [OptionalNullable[components.ProviderPreferences]](../../components/providerpreferences.mdx) | :heavy_minus_sign: | N/A | \{
"allow_fallbacks": true
} |
+| `provider` | [OptionalNullable[components.ProviderPreferences]](../../components/providerpreferences) | :heavy_minus_sign: | N/A | \{
"allow_fallbacks": true
} |
| `user` | *Optional[str]* | :heavy_minus_sign: | A unique identifier for the end-user | user-1234 |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[operations.CreateEmbeddingsResponse](../../operations/createembeddingsresponse.mdx)**
+**[operations.CreateEmbeddingsResponse](../../operations/createembeddingsresponse)**
### Errors
@@ -109,11 +109,11 @@ with OpenRouter(
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
| `offset` | *OptionalNullable[int]* | :heavy_minus_sign: | Number of records to skip for pagination. When both offset and limit are omitted, the full list is returned | 0 |
| `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum number of records to return (max 1000). When both offset and limit are omitted, the full list is returned | 500 |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[operations.ListEmbeddingsModelsResponse](../../operations/listembeddingsmodelsresponse.mdx)**
+**[operations.ListEmbeddingsModelsResponse](../../operations/listembeddingsmodelsresponse)**
### Errors
diff --git a/docs/sdks/endpoints/README.mdx b/docs/sdks/endpoints/README.mdx
index f8cebc20..fdfbe6c5 100644
--- a/docs/sdks/endpoints/README.mdx
+++ b/docs/sdks/endpoints/README.mdx
@@ -44,11 +44,11 @@ with OpenRouter(
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
|
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
|
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
|
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
### Response
-**[operations.ListEndpointsZdrResponse](../../operations/listendpointszdrresponse.mdx)**
+**[operations.ListEndpointsZdrResponse](../../operations/listendpointszdrresponse)**
### Errors
@@ -92,11 +92,11 @@ with OpenRouter(
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[operations.ListEndpointsResponse](../../operations/listendpointsresponse.mdx)**
+**[operations.ListEndpointsResponse](../../operations/listendpointsresponse)**
### Errors
diff --git a/docs/sdks/files/README.mdx b/docs/sdks/files/README.mdx
index d953a363..bd20cd80 100644
--- a/docs/sdks/files/README.mdx
+++ b/docs/sdks/files/README.mdx
@@ -52,16 +52,16 @@ with OpenRouter(
| `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum number of files to return (1–1000). | 100 |
| `cursor` | *Optional[str]* | :heavy_minus_sign: | Opaque pagination cursor from a previous response. | eyJjdXJzb3IiOiJvcl9maWxlXzAxMUNOaGE4aUNKY1Uxd1hOUjZxNFY4dyJ9 |
| `workspace_id` | *Optional[str]* | :heavy_minus_sign: | Workspace to scope the request to. Defaults to the caller’s default workspace. | a103d8b6-42f0-4e50-9a3c-bf41e2c3c1a7 |
-| `provider` | [Optional[components.FileProvider]](../../components/fileprovider.mdx) | :heavy_minus_sign: | Store or read this file on the named provider using your own API key for it. Omit to use OpenRouter storage. | openai |
+| `provider` | [Optional[components.FileProvider]](../../components/fileprovider) | :heavy_minus_sign: | Store or read this file on the named provider using your own API key for it. Omit to use OpenRouter storage. | openai |
| `after` | *Optional[str]* | :heavy_minus_sign: | OpenAI-style forward cursor: the id to list after. | or_file_011CNha8iCJcU1wXNR6q4V8w |
| `after_id` | *Optional[str]* | :heavy_minus_sign: | Anthropic-style forward cursor: the id to list after. | or_file_011CNha8iCJcU1wXNR6q4V8w |
| `before_id` | *Optional[str]* | :heavy_minus_sign: | Anthropic-style reverse cursor. Not supported by OpenRouter storage. | or_file_011CNha8iCJcU1wXNR6q4V8w |
-| `order` | [Optional[operations.Order]](../../operations/order.mdx) | :heavy_minus_sign: | Sort direction. Only `asc` is supported by OpenRouter storage. | asc |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `order` | [Optional[operations.Order]](../../operations/order) | :heavy_minus_sign: | Sort direction. Only `asc` is supported by OpenRouter storage. | asc |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[operations.ListFilesResponse](../../operations/listfilesresponse.mdx)**
+**[operations.ListFilesResponse](../../operations/listfilesresponse)**
### Errors
@@ -108,17 +108,17 @@ with OpenRouter(
| Parameter | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `file` | [operations.UploadFileFile](../../operations/uploadfilefile.mdx) | :heavy_check_mark: | N/A | |
+| `file` | [operations.UploadFileFile](../../operations/uploadfilefile) | :heavy_check_mark: | N/A | |
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
| `workspace_id` | *Optional[str]* | :heavy_minus_sign: | Workspace to scope the request to. Defaults to the caller’s default workspace. | a103d8b6-42f0-4e50-9a3c-bf41e2c3c1a7 |
-| `provider` | [Optional[components.FileProvider]](../../components/fileprovider.mdx) | :heavy_minus_sign: | Store or read this file on the named provider using your own API key for it. Omit to use OpenRouter storage. | openai |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `provider` | [Optional[components.FileProvider]](../../components/fileprovider) | :heavy_minus_sign: | Store or read this file on the named provider using your own API key for it. Omit to use OpenRouter storage. | openai |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[components.FileResponse](../../components/fileresponse.mdx)**
+**[components.FileResponse](../../components/fileresponse)**
### Errors
@@ -168,12 +168,12 @@ with OpenRouter(
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
| `workspace_id` | *Optional[str]* | :heavy_minus_sign: | Workspace to scope the request to. Defaults to the caller’s default workspace. | a103d8b6-42f0-4e50-9a3c-bf41e2c3c1a7 |
-| `provider` | [Optional[components.FileProvider]](../../components/fileprovider.mdx) | :heavy_minus_sign: | Store or read this file on the named provider using your own API key for it. Omit to use OpenRouter storage. | openai |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `provider` | [Optional[components.FileProvider]](../../components/fileprovider) | :heavy_minus_sign: | Store or read this file on the named provider using your own API key for it. Omit to use OpenRouter storage. | openai |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[components.FileDeleteResponse](../../components/filedeleteresponse.mdx)**
+**[components.FileDeleteResponse](../../components/filedeleteresponse)**
### Errors
@@ -222,12 +222,12 @@ with OpenRouter(
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
| `workspace_id` | *Optional[str]* | :heavy_minus_sign: | Workspace to scope the request to. Defaults to the caller’s default workspace. | a103d8b6-42f0-4e50-9a3c-bf41e2c3c1a7 |
-| `provider` | [Optional[components.FileProvider]](../../components/fileprovider.mdx) | :heavy_minus_sign: | Store or read this file on the named provider using your own API key for it. Omit to use OpenRouter storage. | openai |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `provider` | [Optional[components.FileProvider]](../../components/fileprovider) | :heavy_minus_sign: | Store or read this file on the named provider using your own API key for it. Omit to use OpenRouter storage. | openai |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[components.FileResponse](../../components/fileresponse.mdx)**
+**[components.FileResponse](../../components/fileresponse)**
### Errors
@@ -276,12 +276,12 @@ with OpenRouter(
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
| `workspace_id` | *Optional[str]* | :heavy_minus_sign: | Workspace to scope the request to. Defaults to the caller’s default workspace. | a103d8b6-42f0-4e50-9a3c-bf41e2c3c1a7 |
-| `provider` | [Optional[components.FileProvider]](../../components/fileprovider.mdx) | :heavy_minus_sign: | Store or read this file on the named provider using your own API key for it. Omit to use OpenRouter storage. | openai |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `provider` | [Optional[components.FileProvider]](../../components/fileprovider) | :heavy_minus_sign: | Store or read this file on the named provider using your own API key for it. Omit to use OpenRouter storage. | openai |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[httpx.Response](../../models/.mdx)**
+**[httpx.Response](../../models/)**
### Errors
diff --git a/docs/sdks/generations/README.mdx b/docs/sdks/generations/README.mdx
index f262b349..e1115354 100644
--- a/docs/sdks/generations/README.mdx
+++ b/docs/sdks/generations/README.mdx
@@ -46,11 +46,11 @@ with OpenRouter(
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[components.GenerationResponse](../../components/generationresponse.mdx)**
+**[components.GenerationResponse](../../components/generationresponse)**
### Errors
@@ -99,11 +99,11 @@ with OpenRouter(
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[components.GenerationContentResponse](../../components/generationcontentresponse.mdx)**
+**[components.GenerationContentResponse](../../components/generationcontentresponse)**
### Errors
@@ -148,17 +148,17 @@ with OpenRouter(
| Parameter | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `category` | [components.Category](../../components/category.mdx) | :heavy_check_mark: | The category of feedback being reported | incorrect_response |
+| `category` | [components.Category](../../components/category) | :heavy_check_mark: | The category of feedback being reported | incorrect_response |
| `generation_id` | *str* | :heavy_check_mark: | The generation to submit feedback on | gen-3bhGkxlo4XFrqiabUM7NDtwDzWwG |
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
| `comment` | *Optional[str]* | :heavy_minus_sign: | An optional free-text comment describing the feedback | The model repeated the same paragraph three times. |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[components.SubmitGenerationFeedbackResponse](../../components/submitgenerationfeedbackresponse.mdx)**
+**[components.SubmitGenerationFeedbackResponse](../../components/submitgenerationfeedbackresponse)**
### Errors
diff --git a/docs/sdks/guardrails/README.mdx b/docs/sdks/guardrails/README.mdx
index 9f05abe7..e8ebcd55 100644
--- a/docs/sdks/guardrails/README.mdx
+++ b/docs/sdks/guardrails/README.mdx
@@ -60,11 +60,11 @@ with OpenRouter(
| `offset` | *OptionalNullable[int]* | :heavy_minus_sign: | Number of records to skip for pagination | 0 |
| `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum number of records to return (max 100) | 50 |
| `workspace_id` | *Optional[str]* | :heavy_minus_sign: | Filter guardrails by workspace ID. By default, guardrails in the default workspace are returned. | 0df9e665-d932-5740-b2c7-b52af166bc11 |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[operations.ListGuardrailsResponse](../../operations/listguardrailsresponse.mdx)**
+**[operations.ListGuardrailsResponse](../../operations/listguardrailsresponse)**
### Errors
@@ -114,8 +114,8 @@ with OpenRouter(
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
| `allowed_models` | List[*str*] | :heavy_minus_sign: | Array of model identifiers (slug or canonical_slug accepted) | [
"openai/gpt-5.2",
"anthropic/claude-4.5-opus-20251124",
"deepseek/deepseek-r1-0528:free"
] |
| `allowed_providers` | List[*str*] | :heavy_minus_sign: | List of allowed provider IDs | [
"openai",
"anthropic",
"deepseek"
] |
-| `content_filter_builtins` | List[[components.ContentFilterBuiltinEntryInput](../../components/contentfilterbuiltinentryinput.mdx)] | :heavy_minus_sign: | Builtin content filters to apply. Every builtin slug supports "block", "redact", and the detect-only "flag" action. | [
\{
"action": "block",
"slug": "regex-prompt-injection"
}
] |
-| `content_filters` | List[[components.ContentFilterEntry](../../components/contentfilterentry.mdx)] | :heavy_minus_sign: | Custom regex content filters to apply to request messages | [
\{
"action": "redact",
"label": "[API_KEY]",
"pattern": "\\b(sk-[a-zA-Z0-9]\{48})\\b"
}
] |
+| `content_filter_builtins` | List[[components.ContentFilterBuiltinEntryInput](../../components/contentfilterbuiltinentryinput)] | :heavy_minus_sign: | Builtin content filters to apply. Every builtin slug supports "block", "redact", and the detect-only "flag" action. | [
\{
"action": "block",
"slug": "regex-prompt-injection"
}
] |
+| `content_filters` | List[[components.ContentFilterEntry](../../components/contentfilterentry)] | :heavy_minus_sign: | Custom regex content filters to apply to request messages | [
\{
"action": "redact",
"label": "[API_KEY]",
"pattern": "\\b(sk-[a-zA-Z0-9]\{48})\\b"
}
] |
| `description` | *OptionalNullable[str]* | :heavy_minus_sign: | Description of the guardrail | A guardrail for limiting API usage |
| `enable_free_model_publication` | *OptionalNullable[bool]* | :heavy_minus_sign: | Whether this guardrail allows free endpoints that publish prompts. | false |
| `enable_free_model_training` | *OptionalNullable[bool]* | :heavy_minus_sign: | Whether this guardrail allows free endpoints that train on request data. | true |
@@ -130,13 +130,13 @@ with OpenRouter(
| `ignored_providers` | List[*str*] | :heavy_minus_sign: | List of provider IDs to exclude from routing | [
"azure"
] |
| `include_byok_in_budgets` | *Optional[bool]* | :heavy_minus_sign: | Whether BYOK (bring-your-own-key) inference spend counts toward this guardrail's limit_usd, in addition to OpenRouter credit spend. Defaults to false. | false |
| `limit_usd` | *OptionalNullable[float]* | :heavy_minus_sign: | Spending limit in USD | 50 |
-| `reset_interval` | [OptionalNullable[components.GuardrailInterval]](../../components/guardrailinterval.mdx) | :heavy_minus_sign: | Interval at which the limit resets (daily, weekly, monthly) | monthly |
+| `reset_interval` | [OptionalNullable[components.GuardrailInterval]](../../components/guardrailinterval) | :heavy_minus_sign: | Interval at which the limit resets (daily, weekly, monthly) | monthly |
| `workspace_id` | *Optional[str]* | :heavy_minus_sign: | The workspace to create the guardrail in. Defaults to the default workspace if not provided. | 0df9e665-d932-5740-b2c7-b52af166bc11 |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[components.CreateGuardrailResponse](../../components/createguardrailresponse.mdx)**
+**[components.CreateGuardrailResponse](../../components/createguardrailresponse)**
### Errors
@@ -181,11 +181,11 @@ with OpenRouter(
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[components.DeleteGuardrailResponse](../../components/deleteguardrailresponse.mdx)**
+**[components.DeleteGuardrailResponse](../../components/deleteguardrailresponse)**
### Errors
@@ -229,11 +229,11 @@ with OpenRouter(
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[components.GetGuardrailResponse](../../components/getguardrailresponse.mdx)**
+**[components.GetGuardrailResponse](../../components/getguardrailresponse)**
### Errors
@@ -279,8 +279,8 @@ with OpenRouter(
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
| `allowed_models` | List[*str*] | :heavy_minus_sign: | Array of model identifiers (slug or canonical_slug accepted) | [
"openai/gpt-5.2"
] |
| `allowed_providers` | List[*str*] | :heavy_minus_sign: | New list of allowed provider IDs | [
"openai",
"anthropic",
"deepseek"
] |
-| `content_filter_builtins` | List[[components.ContentFilterBuiltinEntryInput](../../components/contentfilterbuiltinentryinput.mdx)] | :heavy_minus_sign: | Builtin content filters to apply. Set to null to remove. Every builtin slug supports "block", "redact", and the detect-only "flag" action. | [
\{
"action": "block",
"slug": "regex-prompt-injection"
}
] |
-| `content_filters` | List[[components.ContentFilterEntry](../../components/contentfilterentry.mdx)] | :heavy_minus_sign: | Custom regex content filters to apply. Set to null to remove. | null |
+| `content_filter_builtins` | List[[components.ContentFilterBuiltinEntryInput](../../components/contentfilterbuiltinentryinput)] | :heavy_minus_sign: | Builtin content filters to apply. Set to null to remove. Every builtin slug supports "block", "redact", and the detect-only "flag" action. | [
\{
"action": "block",
"slug": "regex-prompt-injection"
}
] |
+| `content_filters` | List[[components.ContentFilterEntry](../../components/contentfilterentry)] | :heavy_minus_sign: | Custom regex content filters to apply. Set to null to remove. | null |
| `description` | *OptionalNullable[str]* | :heavy_minus_sign: | New description for the guardrail | Updated description |
| `enable_free_model_publication` | *OptionalNullable[bool]* | :heavy_minus_sign: | Whether this guardrail allows free endpoints that publish prompts. | false |
| `enable_free_model_training` | *OptionalNullable[bool]* | :heavy_minus_sign: | Whether this guardrail allows free endpoints that train on request data. | true |
@@ -296,12 +296,12 @@ with OpenRouter(
| `include_byok_in_budgets` | *Optional[bool]* | :heavy_minus_sign: | Whether BYOK (bring-your-own-key) inference spend counts toward this guardrail's limit_usd, in addition to OpenRouter credit spend. Omit to leave unchanged. | true |
| `limit_usd` | *OptionalNullable[float]* | :heavy_minus_sign: | New spending limit in USD | 75 |
| `name` | *Optional[str]* | :heavy_minus_sign: | New name for the guardrail | Updated Guardrail Name |
-| `reset_interval` | [OptionalNullable[components.GuardrailInterval]](../../components/guardrailinterval.mdx) | :heavy_minus_sign: | Interval at which the limit resets (daily, weekly, monthly) | monthly |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `reset_interval` | [OptionalNullable[components.GuardrailInterval]](../../components/guardrailinterval) | :heavy_minus_sign: | Interval at which the limit resets (daily, weekly, monthly) | monthly |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[components.UpdateGuardrailResponse](../../components/updateguardrailresponse.mdx)**
+**[components.UpdateGuardrailResponse](../../components/updateguardrailresponse)**
### Errors
@@ -350,11 +350,11 @@ with OpenRouter(
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
| `offset` | *OptionalNullable[int]* | :heavy_minus_sign: | Number of records to skip for pagination | 0 |
| `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum number of records to return (max 100) | 50 |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[operations.ListGuardrailKeyAssignmentsResponse](../../operations/listguardrailkeyassignmentsresponse.mdx)**
+**[operations.ListGuardrailKeyAssignmentsResponse](../../operations/listguardrailkeyassignmentsresponse)**
### Errors
@@ -401,11 +401,11 @@ with OpenRouter(
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[components.BulkAssignKeysResponse](../../components/bulkassignkeysresponse.mdx)**
+**[components.BulkAssignKeysResponse](../../components/bulkassignkeysresponse)**
### Errors
@@ -453,11 +453,11 @@ with OpenRouter(
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[components.BulkUnassignKeysResponse](../../components/bulkunassignkeysresponse.mdx)**
+**[components.BulkUnassignKeysResponse](../../components/bulkunassignkeysresponse)**
### Errors
@@ -506,11 +506,11 @@ with OpenRouter(
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
| `offset` | *OptionalNullable[int]* | :heavy_minus_sign: | Number of records to skip for pagination | 0 |
| `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum number of records to return (max 100) | 50 |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[operations.ListGuardrailMemberAssignmentsResponse](../../operations/listguardrailmemberassignmentsresponse.mdx)**
+**[operations.ListGuardrailMemberAssignmentsResponse](../../operations/listguardrailmemberassignmentsresponse)**
### Errors
@@ -558,11 +558,11 @@ with OpenRouter(
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[components.BulkAssignMembersResponse](../../components/bulkassignmembersresponse.mdx)**
+**[components.BulkAssignMembersResponse](../../components/bulkassignmembersresponse)**
### Errors
@@ -611,11 +611,11 @@ with OpenRouter(
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[components.BulkUnassignMembersResponse](../../components/bulkunassignmembersresponse.mdx)**
+**[components.BulkUnassignMembersResponse](../../components/bulkunassignmembersresponse)**
### Errors
@@ -663,11 +663,11 @@ with OpenRouter(
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
| `offset` | *OptionalNullable[int]* | :heavy_minus_sign: | Number of records to skip for pagination | 0 |
| `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum number of records to return (max 100) | 50 |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[operations.ListKeyAssignmentsResponse](../../operations/listkeyassignmentsresponse.mdx)**
+**[operations.ListKeyAssignmentsResponse](../../operations/listkeyassignmentsresponse)**
### Errors
@@ -713,11 +713,11 @@ with OpenRouter(
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
| `offset` | *OptionalNullable[int]* | :heavy_minus_sign: | Number of records to skip for pagination | 0 |
| `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum number of records to return (max 100) | 50 |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[operations.ListMemberAssignmentsResponse](../../operations/listmemberassignmentsresponse.mdx)**
+**[operations.ListMemberAssignmentsResponse](../../operations/listmemberassignmentsresponse)**
### Errors
diff --git a/docs/sdks/images/README.mdx b/docs/sdks/images/README.mdx
index 4b350854..9510d9d0 100644
--- a/docs/sdks/images/README.mdx
+++ b/docs/sdks/images/README.mdx
@@ -49,23 +49,23 @@ with OpenRouter(
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `aspect_ratio` | [Optional[components.ImageGenerationRequestAspectRatio]](../../components/imagegenerationrequestaspectratio.mdx) | :heavy_minus_sign: | Normalized aspect ratio of the generated image. Providers clamp to their supported subset. | 16:9 |
-| `background` | [Optional[components.ImageGenerationRequestBackground]](../../components/imagegenerationrequestbackground.mdx) | :heavy_minus_sign: | Background treatment. `transparent` requires an output_format that supports alpha (png or webp). | auto |
-| `input_references` | List[[components.ContentPartImage](../../components/contentpartimage.mdx)] | :heavy_minus_sign: | Reference images to guide image-to-image generation, as base64 data URLs or HTTP(S) URLs. | |
+| `aspect_ratio` | [Optional[components.ImageGenerationRequestAspectRatio]](../../components/imagegenerationrequestaspectratio) | :heavy_minus_sign: | Normalized aspect ratio of the generated image. Providers clamp to their supported subset. | 16:9 |
+| `background` | [Optional[components.ImageGenerationRequestBackground]](../../components/imagegenerationrequestbackground) | :heavy_minus_sign: | Background treatment. `transparent` requires an output_format that supports alpha (png or webp). | auto |
+| `input_references` | List[[components.ContentPartImage](../../components/contentpartimage)] | :heavy_minus_sign: | Reference images to guide image-to-image generation, as base64 data URLs or HTTP(S) URLs. | |
| `n` | *Optional[int]* | :heavy_minus_sign: | Number of images to generate (1-10). Providers that only support single-image generation reject n > 1. | 1 |
| `output_compression` | *Optional[int]* | :heavy_minus_sign: | Compression level (0-100) for webp/jpeg output. Ignored for png and by providers without a compression knob. | 100 |
-| `output_format` | [Optional[components.ImageGenerationRequestOutputFormat]](../../components/imagegenerationrequestoutputformat.mdx) | :heavy_minus_sign: | Encoding of the returned image bytes. Most models produce raster formats (png, jpeg, webp). SVG is supported by vectorization models (e.g. Quiver) — the SVG markup is UTF-8 base64-encoded in `b64_json`. | png |
-| `provider` | [Optional[components.ImageGenerationProviderPreferences]](../../components/imagegenerationproviderpreferences.mdx) | :heavy_minus_sign: | Provider routing preferences and provider-specific passthrough configuration. | \{
"allow_fallbacks": false,
"only": [
"google-ai-studio"
]
} |
-| `quality` | [Optional[components.ImageGenerationRequestQuality]](../../components/imagegenerationrequestquality.mdx) | :heavy_minus_sign: | Rendering quality. Providers without a quality knob ignore this. | high |
-| `resolution` | [Optional[components.ImageGenerationRequestResolution]](../../components/imagegenerationrequestresolution.mdx) | :heavy_minus_sign: | Normalized resolution tier of the generated image. Concrete pixel dimensions are derived per-provider. | 2K |
+| `output_format` | [Optional[components.ImageGenerationRequestOutputFormat]](../../components/imagegenerationrequestoutputformat) | :heavy_minus_sign: | Encoding of the returned image bytes. Most models produce raster formats (png, jpeg, webp). SVG is supported by vectorization models (e.g. Quiver) — the SVG markup is UTF-8 base64-encoded in `b64_json`. | png |
+| `provider` | [Optional[components.ImageGenerationProviderPreferences]](../../components/imagegenerationproviderpreferences) | :heavy_minus_sign: | Provider routing preferences and provider-specific passthrough configuration. | \{
"allow_fallbacks": false,
"only": [
"google-ai-studio"
]
} |
+| `quality` | [Optional[components.ImageGenerationRequestQuality]](../../components/imagegenerationrequestquality) | :heavy_minus_sign: | Rendering quality. Providers without a quality knob ignore this. | high |
+| `resolution` | [Optional[components.ImageGenerationRequestResolution]](../../components/imagegenerationrequestresolution) | :heavy_minus_sign: | Normalized resolution tier of the generated image. Concrete pixel dimensions are derived per-provider. | 2K |
| `seed` | *Optional[int]* | :heavy_minus_sign: | If specified, the generation will sample deterministically, such that repeated requests with the same seed and parameters should return the same result. Determinism is not guaranteed for all providers. | |
| `size` | *Optional[str]* | :heavy_minus_sign: | Optional. A convenience shorthand for output dimensions — pass a tier ("2K", "4K") or explicit pixels ("2048x2048") and we normalize it to the right dimensions for the chosen provider. A tier size is equivalent to setting `resolution` and combines with `aspect_ratio`. An explicit pixel size is authoritative: a mismatched `resolution` or `aspect_ratio` alongside it is rejected with a 400. | 2K |
| `stream` | *Optional[bool]* | :heavy_minus_sign: | If true, partial images are streamed as SSE events as they become available. Only supported by providers with native streaming (currently OpenAI). Non-streaming providers ignore this flag and return a buffered response. | |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[operations.CreateImagesResponse](../../operations/createimagesresponse.mdx)**
+**[operations.CreateImagesResponse](../../operations/createimagesresponse)**
### Errors
@@ -116,11 +116,11 @@ with OpenRouter(
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
|
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
|
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
|
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
### Response
-**[components.ImageModelsListResponse](../../components/imagemodelslistresponse.mdx)**
+**[components.ImageModelsListResponse](../../components/imagemodelslistresponse)**
### Errors
@@ -163,11 +163,11 @@ with OpenRouter(
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[components.ImageModelEndpointsResponse](../../components/imagemodelendpointsresponse.mdx)**
+**[components.ImageModelEndpointsResponse](../../components/imagemodelendpointsresponse)**
### Errors
diff --git a/docs/sdks/models/README.mdx b/docs/sdks/models/README.mdx
index 58385e63..dd8449ea 100644
--- a/docs/sdks/models/README.mdx
+++ b/docs/sdks/models/README.mdx
@@ -48,11 +48,11 @@ with OpenRouter(
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[components.ModelResponse](../../components/modelresponse.mdx)**
+**[components.ModelResponse](../../components/modelresponse)**
### Errors
@@ -99,10 +99,10 @@ with OpenRouter(
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
| `offset` | *OptionalNullable[int]* | :heavy_minus_sign: | Number of records to skip for pagination. When both offset and limit are omitted, the full list is returned | 0 |
| `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum number of records to return (max 1000). When both offset and limit are omitted, the full list is returned | 500 |
-| `category` | [Optional[operations.GetModelsCategory]](../../operations/getmodelscategory.mdx) | :heavy_minus_sign: | Filter models by use case category | programming |
+| `category` | [Optional[operations.GetModelsCategory]](../../operations/getmodelscategory) | :heavy_minus_sign: | Filter models by use case category | programming |
| `supported_parameters` | *Optional[str]* | :heavy_minus_sign: | Filter models by supported parameter (comma-separated) | temperature |
| `output_modalities` | *Optional[str]* | :heavy_minus_sign: | Filter models by output modality. Accepts a comma-separated list of modalities (text, image, audio, embeddings) or "all" to include all models. Defaults to "text". | text |
-| `sort` | [Optional[operations.GetModelsSort]](../../operations/getmodelssort.mdx) | :heavy_minus_sign: | Sort the returned models server-side. Prefer this over fetching the full list and sorting client-side. Options: pricing-low-to-high, pricing-high-to-low (average prompt/completion price), context-high-to-low (context length), throughput-high-to-low, latency-low-to-high (recent median performance), most-popular, top-weekly (tokens processed in the last week), newest (creation date), intelligence-high-to-low, coding-high-to-low, agentic-high-to-low (Artificial Analysis indices), design-arena-elo-high-to-low (best Design Arena ELO across arenas). Models without a score for the chosen benchmark are placed last. When omitted, the existing default ordering is preserved. | newest |
+| `sort` | [Optional[operations.GetModelsSort]](../../operations/getmodelssort) | :heavy_minus_sign: | Sort the returned models server-side. Prefer this over fetching the full list and sorting client-side. Options: pricing-low-to-high, pricing-high-to-low (average prompt/completion price), context-high-to-low (context length), throughput-high-to-low, latency-low-to-high (recent median performance), most-popular, top-weekly (tokens processed in the last week), newest (creation date), intelligence-high-to-low, coding-high-to-low, agentic-high-to-low (Artificial Analysis indices), design-arena-elo-high-to-low (best Design Arena ELO across arenas). Models without a score for the chosen benchmark are placed last. When omitted, the existing default ordering is preserved. | newest |
| `q` | *Optional[str]* | :heavy_minus_sign: | Free-text search by model name or slug. | gpt-4 |
| `input_modalities` | *Optional[str]* | :heavy_minus_sign: | Filter models by input modality. Comma-separated list of: text, image, audio, file. | text,image |
| `context` | *Optional[int]* | :heavy_minus_sign: | Minimum context length (tokens). Models with smaller context are excluded. | 128000 |
@@ -111,9 +111,9 @@ with OpenRouter(
| `arch` | *Optional[str]* | :heavy_minus_sign: | Filter models by architecture/model family (e.g. GPT, Claude, Gemini, Llama). | GPT |
| `model_authors` | *Optional[str]* | :heavy_minus_sign: | Filter models by the organization that created the model. Comma-separated list of author slugs. | openai,anthropic |
| `providers` | *Optional[str]* | :heavy_minus_sign: | Filter models by hosting provider. Comma-separated list of provider names. | OpenAI,Anthropic |
-| `distillable` | [Optional[operations.Distillable]](../../operations/distillable.mdx) | :heavy_minus_sign: | Filter by distillation capability. "true" returns only distillable models, "false" excludes them. | true |
-| `zdr` | [Optional[operations.Zdr]](../../operations/zdr.mdx) | :heavy_minus_sign: | When set to "true", return only models with zero data retention endpoints. | true |
-| `region` | [Optional[operations.Region]](../../operations/region.mdx) | :heavy_minus_sign: | Filter to models with endpoints in the given data region. Currently only "eu" is supported. | eu |
+| `distillable` | [Optional[operations.Distillable]](../../operations/distillable) | :heavy_minus_sign: | Filter by distillation capability. "true" returns only distillable models, "false" excludes them. | true |
+| `zdr` | [Optional[operations.Zdr]](../../operations/zdr) | :heavy_minus_sign: | When set to "true", return only models with zero data retention endpoints. | true |
+| `region` | [Optional[operations.Region]](../../operations/region) | :heavy_minus_sign: | Filter to models with endpoints in the given data region. Currently only "eu" is supported. | eu |
| `min_output_price` | *OptionalNullable[float]* | :heavy_minus_sign: | Minimum completion (output) price in $/M tokens. | 0 |
| `max_output_price` | *OptionalNullable[float]* | :heavy_minus_sign: | Maximum completion (output) price in $/M tokens. | 10 |
| `min_age_days` | *OptionalNullable[int]* | :heavy_minus_sign: | Minimum model age in days since its creation date. | 0 |
@@ -126,11 +126,11 @@ with OpenRouter(
| `max_agentic_index` | *OptionalNullable[float]* | :heavy_minus_sign: | Maximum Artificial Analysis agentic index. | 100 |
| `min_tool_success_rate` | *OptionalNullable[float]* | :heavy_minus_sign: | Minimum tool-calling success rate, as a fraction in [0, 1] (e.g. 0.9 = 90% of requests finishing with a tool_calls finish reason). | 0.9 |
| `max_tool_success_rate` | *OptionalNullable[float]* | :heavy_minus_sign: | Maximum tool-calling success rate, as a fraction in [0, 1]. | 1 |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[operations.GetModelsResponse](../../operations/getmodelsresponse.mdx)**
+**[operations.GetModelsResponse](../../operations/getmodelsresponse)**
### Errors
@@ -174,11 +174,11 @@ with OpenRouter(
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
| `output_modalities` | *Optional[str]* | :heavy_minus_sign: | Filter models by output modality. Accepts a comma-separated list of modalities (text, image, audio, embeddings) or "all" to include all models. Defaults to "text". | text |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[components.ModelsCountResponse](../../components/modelscountresponse.mdx)**
+**[components.ModelsCountResponse](../../components/modelscountresponse)**
### Errors
@@ -221,17 +221,17 @@ with OpenRouter(
| Parameter | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `security` | [operations.ListModelsUserSecurity](../../operations/listmodelsusersecurity.mdx) | :heavy_check_mark: | N/A | |
+| `security` | [operations.ListModelsUserSecurity](../../operations/listmodelsusersecurity) | :heavy_check_mark: | N/A | |
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
| `offset` | *OptionalNullable[int]* | :heavy_minus_sign: | Number of records to skip for pagination. When both offset and limit are omitted, the full list is returned | 0 |
| `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum number of records to return (max 1000). When both offset and limit are omitted, the full list is returned | 500 |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[operations.ListModelsUserResponse](../../operations/listmodelsuserresponse.mdx)**
+**[operations.ListModelsUserResponse](../../operations/listmodelsuserresponse)**
### Errors
diff --git a/docs/sdks/oauth/README.mdx b/docs/sdks/oauth/README.mdx
index c8f7dfd9..8f763576 100644
--- a/docs/sdks/oauth/README.mdx
+++ b/docs/sdks/oauth/README.mdx
@@ -45,13 +45,13 @@ with OpenRouter(
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `code_challenge_method` | [OptionalNullable[operations.ExchangeAuthCodeForAPIKeyCodeChallengeMethod]](../../operations/exchangeauthcodeforapikeycodechallengemethod.mdx) | :heavy_minus_sign: | The method used to generate the code challenge | S256 |
+| `code_challenge_method` | [OptionalNullable[operations.ExchangeAuthCodeForAPIKeyCodeChallengeMethod]](../../operations/exchangeauthcodeforapikeycodechallengemethod) | :heavy_minus_sign: | The method used to generate the code challenge | S256 |
| `code_verifier` | *Optional[str]* | :heavy_minus_sign: | The code verifier if code_challenge was used in the authorization request | dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[operations.ExchangeAuthCodeForAPIKeyResponse](../../operations/exchangeauthcodeforapikeyresponse.mdx)**
+**[operations.ExchangeAuthCodeForAPIKeyResponse](../../operations/exchangeauthcodeforapikeyresponse)**
### Errors
@@ -96,17 +96,17 @@ with OpenRouter(
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
| `code_challenge` | *Optional[str]* | :heavy_minus_sign: | PKCE code challenge for enhanced security | E9Melhoa2OwvFrEMTJguCHaoeK1t8URWbuGJSstw-cM |
-| `code_challenge_method` | [Optional[operations.CreateAuthKeysCodeCodeChallengeMethod]](../../operations/createauthkeyscodecodechallengemethod.mdx) | :heavy_minus_sign: | The method used to generate the code challenge | S256 |
+| `code_challenge_method` | [Optional[operations.CreateAuthKeysCodeCodeChallengeMethod]](../../operations/createauthkeyscodecodechallengemethod) | :heavy_minus_sign: | The method used to generate the code challenge | S256 |
| `expires_at` | [date](https://docs.python.org/3/library/datetime.html#date-objects) | :heavy_minus_sign: | Optional expiration time for the API key to be created | 2027-12-31T23:59:59Z |
| `key_label` | *Optional[str]* | :heavy_minus_sign: | Optional custom label for the API key. Defaults to the app name if not provided. | My Custom Key |
| `limit` | *Optional[float]* | :heavy_minus_sign: | Credit limit for the API key to be created | 100 |
-| `usage_limit_type` | [Optional[operations.UsageLimitType]](../../operations/usagelimittype.mdx) | :heavy_minus_sign: | Optional credit limit reset interval. When set, the credit limit resets on this interval. | monthly |
+| `usage_limit_type` | [Optional[operations.UsageLimitType]](../../operations/usagelimittype) | :heavy_minus_sign: | Optional credit limit reset interval. When set, the credit limit resets on this interval. | monthly |
| `workspace_id` | *Optional[str]* | :heavy_minus_sign: | Optional workspace ID to associate the API key with | |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[operations.CreateAuthKeysCodeResponse](../../operations/createauthkeyscoderesponse.mdx)**
+**[operations.CreateAuthKeysCodeResponse](../../operations/createauthkeyscoderesponse)**
### Errors
diff --git a/docs/sdks/observability/README.mdx b/docs/sdks/observability/README.mdx
index 3a4d24cc..3ddf7f3d 100644
--- a/docs/sdks/observability/README.mdx
+++ b/docs/sdks/observability/README.mdx
@@ -52,11 +52,11 @@ with OpenRouter(
| `offset` | *OptionalNullable[int]* | :heavy_minus_sign: | Number of records to skip for pagination | 0 |
| `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum number of records to return (max 100) | 50 |
| `workspace_id` | *Optional[str]* | :heavy_minus_sign: | Optional workspace ID to filter by. Defaults to the authenticated entity's default workspace. | 550e8400-e29b-41d4-a716-446655440000 |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[operations.ListObservabilityDestinationsResponse](../../operations/listobservabilitydestinationsresponse.mdx)**
+**[operations.ListObservabilityDestinationsResponse](../../operations/listobservabilitydestinationsresponse)**
### Errors
@@ -102,21 +102,21 @@ with OpenRouter(
| --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `config` | Dict[str, *Any*] | :heavy_check_mark: | Provider-specific configuration. The shape depends on `type` and is validated server-side. | \{
"baseUrl": "https://us.cloud.langfuse.com",
"publicKey": "pk-l...EfGh",
"secretKey": "sk-l...AbCd"
} |
| `name` | *str* | :heavy_check_mark: | Human-readable name for the destination. | Production Langfuse |
-| `type` | [components.CreateObservabilityDestinationRequestType](../../components/createobservabilitydestinationrequesttype.mdx) | :heavy_check_mark: | The destination type. Only stable destination types are accepted. | langfuse |
+| `type` | [components.CreateObservabilityDestinationRequestType](../../components/createobservabilitydestinationrequesttype) | :heavy_check_mark: | The destination type. Only stable destination types are accepted. | langfuse |
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
| `api_key_hashes` | List[*str*] | :heavy_minus_sign: | Optional allowlist of OpenRouter API key hashes whose traffic is forwarded. `null` or omitted means all keys. Must contain at least one hash if provided. | null |
| `enabled` | *Optional[bool]* | :heavy_minus_sign: | Whether this destination should be enabled immediately. | true |
-| `filter_rules` | [OptionalNullable[components.ObservabilityFilterRulesConfigNullable]](../../components/observabilityfilterrulesconfignullable.mdx) | :heavy_minus_sign: | Optional structured filter rules controlling which events are forwarded. | null |
+| `filter_rules` | [OptionalNullable[components.ObservabilityFilterRulesConfigNullable]](../../components/observabilityfilterrulesconfignullable) | :heavy_minus_sign: | Optional structured filter rules controlling which events are forwarded. | null |
| `privacy_mode` | *Optional[bool]* | :heavy_minus_sign: | When true, request/response bodies are not forwarded — only metadata. | false |
| `sampling_rate` | *Optional[float]* | :heavy_minus_sign: | Sampling rate between 0.0001 and 1 (1 = 100%). | 1 |
| `workspace_id` | *Optional[str]* | :heavy_minus_sign: | Optional workspace ID. Defaults to the authenticated entity's default workspace. | 550e8400-e29b-41d4-a716-446655440000 |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[components.CreateObservabilityDestinationResponse](../../components/createobservabilitydestinationresponse.mdx)**
+**[components.CreateObservabilityDestinationResponse](../../components/createobservabilitydestinationresponse)**
### Errors
@@ -162,11 +162,11 @@ with OpenRouter(
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[components.DeleteObservabilityDestinationResponse](../../components/deleteobservabilitydestinationresponse.mdx)**
+**[components.DeleteObservabilityDestinationResponse](../../components/deleteobservabilitydestinationresponse)**
### Errors
@@ -210,11 +210,11 @@ with OpenRouter(
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[components.GetObservabilityDestinationResponse](../../components/getobservabilitydestinationresponse.mdx)**
+**[components.GetObservabilityDestinationResponse](../../components/getobservabilitydestinationresponse)**
### Errors
@@ -261,15 +261,15 @@ with OpenRouter(
| `api_key_hashes` | List[*str*] | :heavy_minus_sign: | Optional allowlist of OpenRouter API key hashes. `null` clears the filter (all keys). Omitting leaves the current value. Must contain at least one hash if provided. | null |
| `config` | Dict[str, *Any*] | :heavy_minus_sign: | Provider-specific configuration fields to update. Masked values are ignored; unset fields keep their current value. | \{
"baseUrl": "https://us.cloud.langfuse.com",
"publicKey": "pk-l...EfGh",
"secretKey": "sk-l...AbCd"
} |
| `enabled` | *Optional[bool]* | :heavy_minus_sign: | Whether the destination is enabled. | true |
-| `filter_rules` | [OptionalNullable[components.ObservabilityFilterRulesConfigNullable]](../../components/observabilityfilterrulesconfignullable.mdx) | :heavy_minus_sign: | N/A | null |
+| `filter_rules` | [OptionalNullable[components.ObservabilityFilterRulesConfigNullable]](../../components/observabilityfilterrulesconfignullable) | :heavy_minus_sign: | N/A | null |
| `name` | *Optional[str]* | :heavy_minus_sign: | Human-readable name for the destination. | Production Langfuse |
| `privacy_mode` | *Optional[bool]* | :heavy_minus_sign: | When true, request/response bodies are not forwarded — only metadata. | false |
| `sampling_rate` | *Optional[float]* | :heavy_minus_sign: | Sampling rate between 0.0001 and 1 (1 = 100%). | 1 |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[components.UpdateObservabilityDestinationResponse](../../components/updateobservabilitydestinationresponse.mdx)**
+**[components.UpdateObservabilityDestinationResponse](../../components/updateobservabilitydestinationresponse)**
### Errors
diff --git a/docs/sdks/organization/README.mdx b/docs/sdks/organization/README.mdx
index e45eea9a..7bf5fdc7 100644
--- a/docs/sdks/organization/README.mdx
+++ b/docs/sdks/organization/README.mdx
@@ -47,11 +47,11 @@ with OpenRouter(
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
| `offset` | *OptionalNullable[int]* | :heavy_minus_sign: | Number of records to skip for pagination | 0 |
| `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum number of records to return (max 100) | 50 |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[operations.ListOrganizationMembersResponse](../../operations/listorganizationmembersresponse.mdx)**
+**[operations.ListOrganizationMembersResponse](../../operations/listorganizationmembersresponse)**
### Errors
diff --git a/docs/sdks/presets/README.mdx b/docs/sdks/presets/README.mdx
index 1189ddfa..f5ea7ed5 100644
--- a/docs/sdks/presets/README.mdx
+++ b/docs/sdks/presets/README.mdx
@@ -53,11 +53,11 @@ with OpenRouter(
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
| `offset` | *OptionalNullable[int]* | :heavy_minus_sign: | Number of records to skip for pagination | 0 |
| `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum number of records to return (max 100) | 50 |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[operations.ListPresetsResponse](../../operations/listpresetsresponse.mdx)**
+**[operations.ListPresetsResponse](../../operations/listpresetsresponse)**
### Errors
@@ -101,11 +101,11 @@ with OpenRouter(
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[components.GetPresetResponse](../../components/getpresetresponse.mdx)**
+**[components.GetPresetResponse](../../components/getpresetresponse)**
### Errors
@@ -156,55 +156,55 @@ with OpenRouter(
| Parameter | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `slug` | *str* | :heavy_check_mark: | URL-safe slug identifying the preset. Created if it does not exist. | my-preset |
-| `messages` | List[[components.ChatMessages](../../components/chatmessages.mdx)] | :heavy_check_mark: | List of messages for the conversation | [
\{
"content": "Hello!",
"role": "user"
}
] |
+| `messages` | List[[components.ChatMessages](../../components/chatmessages)] | :heavy_check_mark: | List of messages for the conversation | [
\{
"content": "Hello!",
"role": "user"
}
] |
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../../components/anthropiccachecontroldirective.mdx) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
-| `debug` | [Optional[components.ChatDebugOptions]](../../components/chatdebugoptions.mdx) | :heavy_minus_sign: | Debug options for inspecting request transformations (streaming only) | \{
"echo_upstream_body": true
} |
+| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../../components/anthropiccachecontroldirective) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
+| `debug` | [Optional[components.ChatDebugOptions]](../../components/chatdebugoptions) | :heavy_minus_sign: | Debug options for inspecting request transformations (streaming only) | \{
"echo_upstream_body": true
} |
| `frequency_penalty` | *OptionalNullable[float]* | :heavy_minus_sign: | Frequency penalty (-2.0 to 2.0) | 0 |
-| `image_config` | Dict[str, [components.ImageConfig](../../components/imageconfig.mdx)] | :heavy_minus_sign: | Provider-specific image configuration options. Keys and values vary by model/provider. See https://openrouter.ai/docs/guides/overview/multimodal/image-generation for more details. | \{
"aspect_ratio": "16:9",
"quality": "high"
} |
+| `image_config` | Dict[str, [components.ImageConfig](../../components/imageconfig)] | :heavy_minus_sign: | Provider-specific image configuration options. Keys and values vary by model/provider. See https://openrouter.ai/docs/guides/overview/multimodal/image-generation for more details. | \{
"aspect_ratio": "16:9",
"quality": "high"
} |
| `logit_bias` | Dict[str, *float*] | :heavy_minus_sign: | Token logit bias adjustments | \{
"50256": -100
} |
| `logprobs` | *OptionalNullable[bool]* | :heavy_minus_sign: | Return log probabilities | false |
| `max_completion_tokens` | *OptionalNullable[int]* | :heavy_minus_sign: | Maximum tokens in completion | 100 |
| `max_tokens` | *OptionalNullable[int]* | :heavy_minus_sign: | Maximum tokens (deprecated, use max_completion_tokens). Note: some providers enforce a minimum of 16. | 100 |
| `metadata` | Dict[str, *str*] | :heavy_minus_sign: | Key-value pairs for additional object information (max 16 pairs, 64 char keys, 512 char values) | \{
"session_id": "session-456",
"user_id": "user-123"
} |
| `min_p` | *OptionalNullable[float]* | :heavy_minus_sign: | Minimum probability threshold relative to the most likely token. Tokens with probability below min_p * (probability of top token) are filtered out. Not all providers support this parameter. | 0.1 |
-| `modalities` | List[[components.Modality](../../components/modality.mdx)] | :heavy_minus_sign: | Output modalities for the response. Supported values are "text", "image", and "audio". | [
"text",
"image"
] |
+| `modalities` | List[[components.Modality](../../components/modality)] | :heavy_minus_sign: | Output modalities for the response. Supported values are "text", "image", and "audio". | [
"text",
"image"
] |
| `model` | *Optional[str]* | :heavy_minus_sign: | Model to use for completion | openai/gpt-4 |
| `models` | List[*str*] | :heavy_minus_sign: | Models to use for completion | [
"openai/gpt-4",
"openai/gpt-4o"
] |
| `parallel_tool_calls` | *OptionalNullable[bool]* | :heavy_minus_sign: | Whether to enable parallel function calling during tool use. When true, the model may generate multiple tool calls in a single response. | true |
-| `plugins` | List[[components.ChatRequestPlugin](../../components/chatrequestplugin.mdx)] | :heavy_minus_sign: | Plugins you want to enable for this request, including their settings. | |
-| `prediction` | [OptionalNullable[components.Prediction]](../../components/prediction.mdx) | :heavy_minus_sign: | Static predicted output content. Supported models can use this to reduce latency when much of the response is known in advance. | \{
"content": "Expected response",
"type": "content"
} |
+| `plugins` | List[[components.ChatRequestPlugin](../../components/chatrequestplugin)] | :heavy_minus_sign: | Plugins you want to enable for this request, including their settings. | |
+| `prediction` | [OptionalNullable[components.Prediction]](../../components/prediction) | :heavy_minus_sign: | Static predicted output content. Supported models can use this to reduce latency when much of the response is known in advance. | \{
"content": "Expected response",
"type": "content"
} |
| `presence_penalty` | *OptionalNullable[float]* | :heavy_minus_sign: | Presence penalty (-2.0 to 2.0) | 0 |
| `prompt_cache_key` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
-| `prompt_cache_options` | [OptionalNullable[components.PromptCacheOptions]](../../components/promptcacheoptions.mdx) | :heavy_minus_sign: | Request-level prompt-cache controls. `mode: "explicit"` disables OpenAI-managed breakpoints so only blocks marked with `prompt_cache_breakpoint` are cached. Only supported by OpenAI GPT-5.6 and newer. | \{
"mode": "explicit",
"ttl": "30m"
} |
-| `provider` | [OptionalNullable[components.ProviderPreferences]](../../components/providerpreferences.mdx) | :heavy_minus_sign: | When multiple model providers are available, optionally indicate your routing preference. | \{
"allow_fallbacks": true
} |
-| `reasoning` | [Optional[components.ChatRequestReasoning]](../../components/chatrequestreasoning.mdx) | :heavy_minus_sign: | Configuration options for reasoning models | \{
"effort": "medium",
"summary": "concise"
} |
-| `reasoning_effort` | [OptionalNullable[components.ChatRequestReasoningEffort]](../../components/chatrequestreasoningeffort.mdx) | :heavy_minus_sign: | Shorthand for setting reasoning effort. Equivalent to setting reasoning.effort. Cannot be used simultaneously with reasoning.effort if they differ. | medium |
+| `prompt_cache_options` | [OptionalNullable[components.PromptCacheOptions]](../../components/promptcacheoptions) | :heavy_minus_sign: | Request-level prompt-cache controls. `mode: "explicit"` disables OpenAI-managed breakpoints so only blocks marked with `prompt_cache_breakpoint` are cached. Only supported by OpenAI GPT-5.6 and newer. | \{
"mode": "explicit",
"ttl": "30m"
} |
+| `provider` | [OptionalNullable[components.ProviderPreferences]](../../components/providerpreferences) | :heavy_minus_sign: | When multiple model providers are available, optionally indicate your routing preference. | \{
"allow_fallbacks": true
} |
+| `reasoning` | [Optional[components.ChatRequestReasoning]](../../components/chatrequestreasoning) | :heavy_minus_sign: | Configuration options for reasoning models | \{
"effort": "medium",
"summary": "concise"
} |
+| `reasoning_effort` | [OptionalNullable[components.ChatRequestReasoningEffort]](../../components/chatrequestreasoningeffort) | :heavy_minus_sign: | Shorthand for setting reasoning effort. Equivalent to setting reasoning.effort. Cannot be used simultaneously with reasoning.effort if they differ. | medium |
| `repetition_penalty` | *OptionalNullable[float]* | :heavy_minus_sign: | Penalizes tokens based on how much they have already appeared in the text. A value of 1.0 means no penalty. Values above 1.0 penalize repeated tokens more strongly. Not all providers support this parameter. | 1 |
-| `response_format` | [Optional[components.ResponseFormat]](../../components/responseformat.mdx) | :heavy_minus_sign: | Response format configuration | \{
"type": "json_object"
} |
+| `response_format` | [Optional[components.ResponseFormat]](../../components/responseformat) | :heavy_minus_sign: | Response format configuration | \{
"type": "json_object"
} |
| `seed` | *OptionalNullable[int]* | :heavy_minus_sign: | Random seed for deterministic outputs | 42 |
-| `service_tier` | [OptionalNullable[components.ChatRequestServiceTier]](../../components/chatrequestservicetier.mdx) | :heavy_minus_sign: | The service tier to use for processing this request. | auto |
+| `service_tier` | [OptionalNullable[components.ChatRequestServiceTier]](../../components/chatrequestservicetier) | :heavy_minus_sign: | The service tier to use for processing this request. | auto |
| `session_id` | *Optional[str]* | :heavy_minus_sign: | A unique identifier for grouping related requests (e.g., a conversation or agent workflow). When provided, OpenRouter uses it as the sticky routing key, routing all requests in the session to the same provider to maximize prompt cache hits. Also used for observability grouping. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 256 characters. | |
-| `stop` | [OptionalNullable[components.Stop]](../../components/stop.mdx) | :heavy_minus_sign: | Stop sequences (up to 4) | [
"\n"
] |
-| `stop_server_tools_when` | List[[components.StopServerToolsWhenCondition](../../components/stopservertoolswhencondition.mdx)] | :heavy_minus_sign: | Stop conditions for the server-tool agent loop. Any condition firing halts the loop (OR logic). When set, this overrides `max_tool_calls`. When a condition fires while the model is still emitting tool calls, the pending tool calls are executed and one final turn is made with tool calls disabled so the response ends with a natural-language answer instead of an unfinished tool call. | [
\{
"step_count": 5,
"type": "step_count_is"
},
\{
"max_cost_in_dollars": 0.5,
"type": "max_cost"
}
] |
+| `stop` | [OptionalNullable[components.Stop]](../../components/stop) | :heavy_minus_sign: | Stop sequences (up to 4) | [
"\n"
] |
+| `stop_server_tools_when` | List[[components.StopServerToolsWhenCondition](../../components/stopservertoolswhencondition)] | :heavy_minus_sign: | Stop conditions for the server-tool agent loop. Any condition firing halts the loop (OR logic). When set, this overrides `max_tool_calls`. When a condition fires while the model is still emitting tool calls, the pending tool calls are executed and one final turn is made with tool calls disabled so the response ends with a natural-language answer instead of an unfinished tool call. | [
\{
"step_count": 5,
"type": "step_count_is"
},
\{
"max_cost_in_dollars": 0.5,
"type": "max_cost"
}
] |
| `stream` | *Optional[bool]* | :heavy_minus_sign: | Enable streaming response | false |
-| `stream_options` | [OptionalNullable[components.ChatStreamOptions]](../../components/chatstreamoptions.mdx) | :heavy_minus_sign: | Streaming configuration options | \{
"include_usage": true
} |
+| `stream_options` | [OptionalNullable[components.ChatStreamOptions]](../../components/chatstreamoptions) | :heavy_minus_sign: | Streaming configuration options | \{
"include_usage": true
} |
| `temperature` | *OptionalNullable[float]* | :heavy_minus_sign: | Sampling temperature (0-2) | 0.7 |
-| `tool_choice` | [Optional[components.ChatToolChoice]](../../components/chattoolchoice.mdx) | :heavy_minus_sign: | Tool choice configuration | auto |
-| `tools` | List[[components.ChatFunctionTool](../../components/chatfunctiontool.mdx)] | :heavy_minus_sign: | Available tools for function calling | [
\{
"function": \{
"description": "Get weather",
"name": "get_weather"
},
"type": "function"
}
] |
+| `tool_choice` | [Optional[components.ChatToolChoice]](../../components/chattoolchoice) | :heavy_minus_sign: | Tool choice configuration | auto |
+| `tools` | List[[components.ChatFunctionTool](../../components/chatfunctiontool)] | :heavy_minus_sign: | Available tools for function calling | [
\{
"function": \{
"description": "Get weather",
"name": "get_weather"
},
"type": "function"
}
] |
| `top_a` | *OptionalNullable[float]* | :heavy_minus_sign: | Consider only tokens with "sufficiently high" probabilities based on the probability of the most likely token. Not all providers support this parameter. | 0 |
| `top_k` | *OptionalNullable[int]* | :heavy_minus_sign: | Limits the model to choose from the top K most likely tokens at each step. A value of 1 means the model will always pick the most likely next token. Not all providers support this parameter. | 40 |
| `top_logprobs` | *OptionalNullable[int]* | :heavy_minus_sign: | Number of top log probabilities to return (0-20) | 5 |
| `top_p` | *OptionalNullable[float]* | :heavy_minus_sign: | Nucleus sampling parameter (0-1) | 1 |
-| `trace` | [Optional[components.TraceConfig]](../../components/traceconfig.mdx) | :heavy_minus_sign: | Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations. | \{
"trace_id": "trace-abc123",
"trace_name": "my-app-trace"
} |
+| `trace` | [Optional[components.TraceConfig]](../../components/traceconfig) | :heavy_minus_sign: | Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations. | \{
"trace_id": "trace-abc123",
"trace_name": "my-app-trace"
} |
| `user` | *Optional[str]* | :heavy_minus_sign: | Per-end-user identifier for abuse isolation. Use a stable ID, hash, or pseudonym. When a provider requires a user identity, OpenRouter folds it into the hashed identity sent upstream and never forwards it raw. If omitted, requests use an account-level identity, so provider policy blocks can affect the whole account. | user-123 |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[components.CreatePresetFromInferenceResponse](../../components/createpresetfrominferenceresponse.mdx)**
+**[components.CreatePresetFromInferenceResponse](../../components/createpresetfrominferenceresponse)**
### Errors
@@ -253,40 +253,40 @@ with OpenRouter(
| Parameter | Type | Required | Description | Example |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `slug` | *str* | :heavy_check_mark: | URL-safe slug identifying the preset. Created if it does not exist. | my-preset |
-| `messages` | List[[components.MessagesMessageParam](../../components/messagesmessageparam.mdx)] | :heavy_check_mark: | N/A | |
+| `messages` | List[[components.MessagesMessageParam](../../components/messagesmessageparam)] | :heavy_check_mark: | N/A | |
| `model` | *str* | :heavy_check_mark: | N/A | |
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../../components/anthropiccachecontroldirective.mdx) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
-| `context_management` | [OptionalNullable[components.ContextManagement]](../../components/contextmanagement.mdx) | :heavy_minus_sign: | N/A | |
-| `fallbacks` | List[[components.MessagesFallbackParam](../../components/messagesfallbackparam.mdx)] | :heavy_minus_sign: | Fallback models to try if the primary model fails or refuses, in order. Handled by OpenRouter multi-model routing rather than Anthropic server-side fallbacks; cannot be combined with `models`. Each entry accepts only `model`. Maximum of 3 entries. | [
\{
"model": "claude-opus-4-8"
}
] |
+| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../../components/anthropiccachecontroldirective) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
+| `context_management` | [OptionalNullable[components.ContextManagement]](../../components/contextmanagement) | :heavy_minus_sign: | N/A | |
+| `fallbacks` | List[[components.MessagesFallbackParam](../../components/messagesfallbackparam)] | :heavy_minus_sign: | Fallback models to try if the primary model fails or refuses, in order. Handled by OpenRouter multi-model routing rather than Anthropic server-side fallbacks; cannot be combined with `models`. Each entry accepts only `model`. Maximum of 3 entries. | [
\{
"model": "claude-opus-4-8"
}
] |
| `max_tokens` | *Optional[int]* | :heavy_minus_sign: | N/A | |
-| `metadata` | [Optional[components.MessagesRequestMetadata]](../../components/messagesrequestmetadata.mdx) | :heavy_minus_sign: | N/A | |
+| `metadata` | [Optional[components.MessagesRequestMetadata]](../../components/messagesrequestmetadata) | :heavy_minus_sign: | N/A | |
| `models` | List[*str*] | :heavy_minus_sign: | N/A | |
-| `output_config` | [Optional[components.MessagesOutputConfig]](../../components/messagesoutputconfig.mdx) | :heavy_minus_sign: | Configuration for controlling output behavior. Supports the effort parameter and structured output format. | \{
"effort": "medium"
} |
-| `plugins` | List[[components.MessagesRequestPlugin](../../components/messagesrequestplugin.mdx)] | :heavy_minus_sign: | Plugins you want to enable for this request, including their settings. | |
-| `provider` | [OptionalNullable[components.ProviderPreferences]](../../components/providerpreferences.mdx) | :heavy_minus_sign: | When multiple model providers are available, optionally indicate your routing preference. | \{
"allow_fallbacks": true
} |
+| `output_config` | [Optional[components.MessagesOutputConfig]](../../components/messagesoutputconfig) | :heavy_minus_sign: | Configuration for controlling output behavior. Supports the effort parameter and structured output format. | \{
"effort": "medium"
} |
+| `plugins` | List[[components.MessagesRequestPlugin](../../components/messagesrequestplugin)] | :heavy_minus_sign: | Plugins you want to enable for this request, including their settings. | |
+| `provider` | [OptionalNullable[components.ProviderPreferences]](../../components/providerpreferences) | :heavy_minus_sign: | When multiple model providers are available, optionally indicate your routing preference. | \{
"allow_fallbacks": true
} |
| `service_tier` | *Optional[str]* | :heavy_minus_sign: | N/A | |
| `session_id` | *Optional[str]* | :heavy_minus_sign: | A unique identifier for grouping related requests (e.g., a conversation or agent workflow). When provided, OpenRouter uses it as the sticky routing key, routing all requests in the session to the same provider to maximize prompt cache hits. Also used for observability grouping. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 256 characters. | |
-| `speed` | [OptionalNullable[components.Speed]](../../components/speed.mdx) | :heavy_minus_sign: | N/A | fast |
+| `speed` | [OptionalNullable[components.Speed]](../../components/speed) | :heavy_minus_sign: | N/A | fast |
| `stop_sequences` | List[*str*] | :heavy_minus_sign: | N/A | |
-| `stop_server_tools_when` | List[[components.StopServerToolsWhenCondition](../../components/stopservertoolswhencondition.mdx)] | :heavy_minus_sign: | Stop conditions for the server-tool agent loop. Any condition firing halts the loop (OR logic). When set, this overrides `max_tool_calls`. When a condition fires while the model is still emitting tool calls, the pending tool calls are executed and one final turn is made with tool calls disabled so the response ends with a natural-language answer instead of an unfinished tool call. | [
\{
"step_count": 5,
"type": "step_count_is"
},
\{
"max_cost_in_dollars": 0.5,
"type": "max_cost"
}
] |
+| `stop_server_tools_when` | List[[components.StopServerToolsWhenCondition](../../components/stopservertoolswhencondition)] | :heavy_minus_sign: | Stop conditions for the server-tool agent loop. Any condition firing halts the loop (OR logic). When set, this overrides `max_tool_calls`. When a condition fires while the model is still emitting tool calls, the pending tool calls are executed and one final turn is made with tool calls disabled so the response ends with a natural-language answer instead of an unfinished tool call. | [
\{
"step_count": 5,
"type": "step_count_is"
},
\{
"max_cost_in_dollars": 0.5,
"type": "max_cost"
}
] |
| `stream` | *Optional[bool]* | :heavy_minus_sign: | N/A | |
-| `system` | [Optional[components.System]](../../components/system.mdx) | :heavy_minus_sign: | N/A | |
+| `system` | [Optional[components.System]](../../components/system) | :heavy_minus_sign: | N/A | |
| `temperature` | *Optional[float]* | :heavy_minus_sign: | N/A | |
-| `thinking` | [Optional[components.Thinking]](../../components/thinking.mdx) | :heavy_minus_sign: | N/A | |
-| `tool_choice` | [Optional[components.ToolChoice]](../../components/toolchoice.mdx) | :heavy_minus_sign: | N/A | |
-| `tools` | List[[components.MessagesRequestToolUnion](../../components/messagesrequesttoolunion.mdx)] | :heavy_minus_sign: | N/A | |
+| `thinking` | [Optional[components.Thinking]](../../components/thinking) | :heavy_minus_sign: | N/A | |
+| `tool_choice` | [Optional[components.ToolChoice]](../../components/toolchoice) | :heavy_minus_sign: | N/A | |
+| `tools` | List[[components.MessagesRequestToolUnion](../../components/messagesrequesttoolunion)] | :heavy_minus_sign: | N/A | |
| `top_k` | *Optional[int]* | :heavy_minus_sign: | N/A | |
| `top_p` | *Optional[float]* | :heavy_minus_sign: | N/A | |
-| `trace` | [Optional[components.TraceConfig]](../../components/traceconfig.mdx) | :heavy_minus_sign: | Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations. | \{
"trace_id": "trace-abc123",
"trace_name": "my-app-trace"
} |
+| `trace` | [Optional[components.TraceConfig]](../../components/traceconfig) | :heavy_minus_sign: | Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations. | \{
"trace_id": "trace-abc123",
"trace_name": "my-app-trace"
} |
| `user` | *Optional[str]* | :heavy_minus_sign: | A unique identifier representing your end-user, which helps distinguish between different users of your app. This allows your app to identify specific users in case of abuse reports, preventing your entire app from being affected by the actions of individual users. Maximum of 256 characters. | |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[components.CreatePresetFromInferenceResponse](../../components/createpresetfrominferenceresponse.mdx)**
+**[components.CreatePresetFromInferenceResponse](../../components/createpresetfrominferenceresponse)**
### Errors
@@ -334,48 +334,48 @@ with OpenRouter(
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
| `background` | *OptionalNullable[bool]* | :heavy_minus_sign: | N/A | |
-| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../../components/anthropiccachecontroldirective.mdx) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
-| `debug` | [Optional[components.ChatDebugOptions]](../../components/chatdebugoptions.mdx) | :heavy_minus_sign: | Debug options for inspecting request transformations (streaming only) | \{
"echo_upstream_body": true
} |
+| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../../components/anthropiccachecontroldirective) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
+| `debug` | [Optional[components.ChatDebugOptions]](../../components/chatdebugoptions) | :heavy_minus_sign: | Debug options for inspecting request transformations (streaming only) | \{
"echo_upstream_body": true
} |
| `frequency_penalty` | *OptionalNullable[float]* | :heavy_minus_sign: | N/A | |
-| `image_config` | Dict[str, [components.ImageConfig](../../components/imageconfig.mdx)] | :heavy_minus_sign: | Provider-specific image configuration options. Keys and values vary by model/provider. See https://openrouter.ai/docs/guides/overview/multimodal/image-generation for more details. | \{
"aspect_ratio": "16:9",
"quality": "high"
} |
-| `include` | List[[components.ResponseIncludesEnum](../../components/responseincludesenum.mdx)] | :heavy_minus_sign: | N/A | |
-| `input` | [Optional[components.InputsUnion]](../../components/inputsunion.mdx) | :heavy_minus_sign: | Input for a response request - can be a string or array of items | [
\{
"content": "What is the weather today?",
"role": "user"
}
] |
+| `image_config` | Dict[str, [components.ImageConfig](../../components/imageconfig)] | :heavy_minus_sign: | Provider-specific image configuration options. Keys and values vary by model/provider. See https://openrouter.ai/docs/guides/overview/multimodal/image-generation for more details. | \{
"aspect_ratio": "16:9",
"quality": "high"
} |
+| `include` | List[[components.ResponseIncludesEnum](../../components/responseincludesenum)] | :heavy_minus_sign: | N/A | |
+| `input` | [Optional[components.InputsUnion]](../../components/inputsunion) | :heavy_minus_sign: | Input for a response request - can be a string or array of items | [
\{
"content": "What is the weather today?",
"role": "user"
}
] |
| `instructions` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
| `max_output_tokens` | *OptionalNullable[int]* | :heavy_minus_sign: | N/A | |
| `max_tool_calls` | *OptionalNullable[int]* | :heavy_minus_sign: | Maximum number of server-tool (e.g. `openrouter:web_search`) agent steps the model may take during a request. Defaults to 30, which is also the maximum. Ignored when `stop_server_tools_when` is set. | 30 |
| `metadata` | Dict[str, *str*] | :heavy_minus_sign: | Metadata key-value pairs for the request. Keys must be ≤64 characters and cannot contain brackets. Values must be ≤512 characters. Maximum 16 pairs allowed. | \{
"session_id": "abc-def-ghi",
"user_id": "123"
} |
-| `modalities` | List[[components.OutputModalityEnum](../../components/outputmodalityenum.mdx)] | :heavy_minus_sign: | Output modalities for the response. Supported values are "text" and "image". | [
"text",
"image"
] |
+| `modalities` | List[[components.OutputModalityEnum](../../components/outputmodalityenum)] | :heavy_minus_sign: | Output modalities for the response. Supported values are "text" and "image". | [
"text",
"image"
] |
| `model` | *Optional[str]* | :heavy_minus_sign: | N/A | |
| `models` | List[*str*] | :heavy_minus_sign: | N/A | |
| `parallel_tool_calls` | *OptionalNullable[bool]* | :heavy_minus_sign: | N/A | |
-| `plugins` | List[[components.ResponsesRequestPlugin](../../components/responsesrequestplugin.mdx)] | :heavy_minus_sign: | Plugins you want to enable for this request, including their settings. | |
+| `plugins` | List[[components.ResponsesRequestPlugin](../../components/responsesrequestplugin)] | :heavy_minus_sign: | Plugins you want to enable for this request, including their settings. | |
| `presence_penalty` | *OptionalNullable[float]* | :heavy_minus_sign: | N/A | |
| `previous_response_id` | *Optional[Any]* | :heavy_minus_sign: | Not supported. The Responses API is stateless: no responses are stored, so a previous response cannot be referenced. Requests with a non-null value are rejected with a 400 error. Send the full conversation history in `input` instead. | |
-| `prompt` | [OptionalNullable[components.StoredPromptTemplate]](../../components/storedprompttemplate.mdx) | :heavy_minus_sign: | N/A | \{
"id": "prompt-abc123",
"variables": \{
"name": "John"
}
} |
+| `prompt` | [OptionalNullable[components.StoredPromptTemplate]](../../components/storedprompttemplate) | :heavy_minus_sign: | N/A | \{
"id": "prompt-abc123",
"variables": \{
"name": "John"
}
} |
| `prompt_cache_key` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
-| `prompt_cache_options` | [OptionalNullable[components.PromptCacheOptions]](../../components/promptcacheoptions.mdx) | :heavy_minus_sign: | Request-level prompt-cache controls. `mode: "explicit"` disables OpenAI-managed breakpoints so only blocks marked with `prompt_cache_breakpoint` are cached. Only supported by OpenAI GPT-5.6 and newer. | \{
"mode": "explicit",
"ttl": "30m"
} |
-| `provider` | [OptionalNullable[components.ProviderPreferences]](../../components/providerpreferences.mdx) | :heavy_minus_sign: | When multiple model providers are available, optionally indicate your routing preference. | \{
"allow_fallbacks": true
} |
-| `reasoning` | [OptionalNullable[components.ReasoningConfig]](../../components/reasoningconfig.mdx) | :heavy_minus_sign: | Configuration for reasoning mode in the response | \{
"enabled": true,
"summary": "auto"
} |
+| `prompt_cache_options` | [OptionalNullable[components.PromptCacheOptions]](../../components/promptcacheoptions) | :heavy_minus_sign: | Request-level prompt-cache controls. `mode: "explicit"` disables OpenAI-managed breakpoints so only blocks marked with `prompt_cache_breakpoint` are cached. Only supported by OpenAI GPT-5.6 and newer. | \{
"mode": "explicit",
"ttl": "30m"
} |
+| `provider` | [OptionalNullable[components.ProviderPreferences]](../../components/providerpreferences) | :heavy_minus_sign: | When multiple model providers are available, optionally indicate your routing preference. | \{
"allow_fallbacks": true
} |
+| `reasoning` | [OptionalNullable[components.ReasoningConfig]](../../components/reasoningconfig) | :heavy_minus_sign: | Configuration for reasoning mode in the response | \{
"enabled": true,
"summary": "auto"
} |
| `safety_identifier` | *OptionalNullable[str]* | :heavy_minus_sign: | Recommended per-end-user identifier for abuse isolation. Use a stable ID, hash, or pseudonym. When a provider requires a user identity, OpenRouter folds it into the hashed identity sent upstream and never forwards it raw. If omitted, requests use an account-level identity, so provider policy blocks can affect the whole account. | user-123 |
-| `service_tier` | [OptionalNullable[components.ResponsesRequestServiceTier]](../../components/responsesrequestservicetier.mdx) | :heavy_minus_sign: | N/A | |
+| `service_tier` | [OptionalNullable[components.ResponsesRequestServiceTier]](../../components/responsesrequestservicetier) | :heavy_minus_sign: | N/A | |
| `session_id` | *Optional[str]* | :heavy_minus_sign: | A unique identifier for grouping related requests (e.g., a conversation or agent workflow). When provided, OpenRouter uses it as the sticky routing key, routing all requests in the session to the same provider to maximize prompt cache hits. Also used for observability grouping. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 256 characters. | |
-| `stop_server_tools_when` | List[[components.StopServerToolsWhenCondition](../../components/stopservertoolswhencondition.mdx)] | :heavy_minus_sign: | Stop conditions for the server-tool agent loop. Any condition firing halts the loop (OR logic). When set, this overrides `max_tool_calls`. When a condition fires while the model is still emitting tool calls, the pending tool calls are executed and one final turn is made with tool calls disabled so the response ends with a natural-language answer instead of an unfinished tool call. | [
\{
"step_count": 5,
"type": "step_count_is"
},
\{
"max_cost_in_dollars": 0.5,
"type": "max_cost"
}
] |
+| `stop_server_tools_when` | List[[components.StopServerToolsWhenCondition](../../components/stopservertoolswhencondition)] | :heavy_minus_sign: | Stop conditions for the server-tool agent loop. Any condition firing halts the loop (OR logic). When set, this overrides `max_tool_calls`. When a condition fires while the model is still emitting tool calls, the pending tool calls are executed and one final turn is made with tool calls disabled so the response ends with a natural-language answer instead of an unfinished tool call. | [
\{
"step_count": 5,
"type": "step_count_is"
},
\{
"max_cost_in_dollars": 0.5,
"type": "max_cost"
}
] |
| `stream` | *Optional[bool]* | :heavy_minus_sign: | N/A | |
| `temperature` | *OptionalNullable[float]* | :heavy_minus_sign: | N/A | |
-| `text` | [Optional[components.TextExtendedConfig]](../../components/textextendedconfig.mdx) | :heavy_minus_sign: | Text output configuration including format and verbosity | \{
"format": \{
"type": "text"
}
} |
-| `tool_choice` | [Optional[components.OpenAIResponsesToolChoiceUnion]](../../components/openairesponsestoolchoiceunion.mdx) | :heavy_minus_sign: | N/A | auto |
-| `tools` | List[[components.ResponsesRequestToolUnion](../../components/responsesrequesttoolunion.mdx)] | :heavy_minus_sign: | N/A | |
+| `text` | [Optional[components.TextExtendedConfig]](../../components/textextendedconfig) | :heavy_minus_sign: | Text output configuration including format and verbosity | \{
"format": \{
"type": "text"
}
} |
+| `tool_choice` | [Optional[components.OpenAIResponsesToolChoiceUnion]](../../components/openairesponsestoolchoiceunion) | :heavy_minus_sign: | N/A | auto |
+| `tools` | List[[components.ResponsesRequestToolUnion](../../components/responsesrequesttoolunion)] | :heavy_minus_sign: | N/A | |
| `top_k` | *Optional[int]* | :heavy_minus_sign: | N/A | |
| `top_logprobs` | *OptionalNullable[int]* | :heavy_minus_sign: | N/A | |
| `top_p` | *OptionalNullable[float]* | :heavy_minus_sign: | N/A | |
-| `trace` | [Optional[components.TraceConfig]](../../components/traceconfig.mdx) | :heavy_minus_sign: | Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations. | \{
"trace_id": "trace-abc123",
"trace_name": "my-app-trace"
} |
-| `truncation` | [OptionalNullable[components.OpenAIResponsesTruncation]](../../components/openairesponsestruncation.mdx) | :heavy_minus_sign: | N/A | auto |
+| `trace` | [Optional[components.TraceConfig]](../../components/traceconfig) | :heavy_minus_sign: | Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations. | \{
"trace_id": "trace-abc123",
"trace_name": "my-app-trace"
} |
+| `truncation` | [OptionalNullable[components.OpenAIResponsesTruncation]](../../components/openairesponsestruncation) | :heavy_minus_sign: | N/A | auto |
| `user` | *Optional[str]* | :heavy_minus_sign: | A unique identifier representing your end-user, which helps distinguish between different users of your app. This allows your app to identify specific users in case of abuse reports, preventing your entire app from being affected by the actions of individual users. Maximum of 256 characters. | |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[components.CreatePresetFromInferenceResponse](../../components/createpresetfrominferenceresponse.mdx)**
+**[components.CreatePresetFromInferenceResponse](../../components/createpresetfrominferenceresponse)**
### Errors
@@ -426,11 +426,11 @@ with OpenRouter(
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
| `offset` | *OptionalNullable[int]* | :heavy_minus_sign: | Number of records to skip for pagination | 0 |
| `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum number of records to return (max 100) | 50 |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[operations.ListPresetVersionsResponse](../../operations/listpresetversionsresponse.mdx)**
+**[operations.ListPresetVersionsResponse](../../operations/listpresetversionsresponse)**
### Errors
@@ -476,11 +476,11 @@ with OpenRouter(
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[components.GetPresetVersionResponse](../../components/getpresetversionresponse.mdx)**
+**[components.GetPresetVersionResponse](../../components/getpresetversionresponse)**
### Errors
diff --git a/docs/sdks/providers/README.mdx b/docs/sdks/providers/README.mdx
index 7571e258..6cf1e4a3 100644
--- a/docs/sdks/providers/README.mdx
+++ b/docs/sdks/providers/README.mdx
@@ -43,11 +43,11 @@ with OpenRouter(
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
|
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
|
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
|
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
### Response
-**[operations.ListProvidersResponse](../../operations/listprovidersresponse.mdx)**
+**[operations.ListProvidersResponse](../../operations/listprovidersresponse)**
### Errors
diff --git a/docs/sdks/rerank/README.mdx b/docs/sdks/rerank/README.mdx
index cd1b341b..b8746b7e 100644
--- a/docs/sdks/rerank/README.mdx
+++ b/docs/sdks/rerank/README.mdx
@@ -43,19 +43,19 @@ with OpenRouter(
| Parameter | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `documents` | List[[operations.Document](../../operations/document.mdx)] | :heavy_check_mark: | The list of documents to rerank. Documents may be plain strings, or structured objects with `text` and/or `image` for multimodal models. | [
"Paris is the capital of France.",
"Berlin is the capital of Germany."
] |
+| `documents` | List[[operations.Document](../../operations/document)] | :heavy_check_mark: | The list of documents to rerank. Documents may be plain strings, or structured objects with `text` and/or `image` for multimodal models. | [
"Paris is the capital of France.",
"Berlin is the capital of Germany."
] |
| `model` | *str* | :heavy_check_mark: | The rerank model to use | cohere/rerank-v3.5 |
| `query` | *str* | :heavy_check_mark: | The search query to rerank documents against | What is the capital of France? |
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `provider` | [OptionalNullable[components.ProviderPreferences]](../../components/providerpreferences.mdx) | :heavy_minus_sign: | N/A | \{
"allow_fallbacks": true
} |
+| `provider` | [OptionalNullable[components.ProviderPreferences]](../../components/providerpreferences) | :heavy_minus_sign: | N/A | \{
"allow_fallbacks": true
} |
| `top_n` | *Optional[int]* | :heavy_minus_sign: | Number of most relevant documents to return | 3 |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[operations.CreateRerankResponse](../../operations/creatererankresponse.mdx)**
+**[operations.CreateRerankResponse](../../operations/creatererankresponse)**
### Errors
diff --git a/docs/sdks/responses/README.mdx b/docs/sdks/responses/README.mdx
index 356232d4..105a3682 100644
--- a/docs/sdks/responses/README.mdx
+++ b/docs/sdks/responses/README.mdx
@@ -67,50 +67,50 @@ with OpenRouter(
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `x_open_router_metadata` | [Optional[components.MetadataLevel]](../../components/metadatalevel.mdx) | :heavy_minus_sign: | Opt-in to surface routing metadata on the response under `openrouter_metadata`. Defaults to `disabled`. The legacy header `X-OpenRouter-Experimental-Metadata` is also accepted for backward compatibility. | enabled |
+| `x_open_router_metadata` | [Optional[components.MetadataLevel]](../../components/metadatalevel) | :heavy_minus_sign: | Opt-in to surface routing metadata on the response under `openrouter_metadata`. Defaults to `disabled`. The legacy header `X-OpenRouter-Experimental-Metadata` is also accepted for backward compatibility. | enabled |
| `background` | *OptionalNullable[bool]* | :heavy_minus_sign: | N/A | |
-| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../../components/anthropiccachecontroldirective.mdx) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
-| `debug` | [Optional[components.ChatDebugOptions]](../../components/chatdebugoptions.mdx) | :heavy_minus_sign: | Debug options for inspecting request transformations (streaming only) | \{
"echo_upstream_body": true
} |
+| `cache_control` | [Optional[components.AnthropicCacheControlDirective]](../../components/anthropiccachecontroldirective) | :heavy_minus_sign: | Enable automatic prompt caching. When set at the top level, the system automatically applies cache breakpoints to the last cacheable block in the request. When set on an individual content block, it marks an explicit cache breakpoint; block-level markers also work on OpenAI models that support explicit prompt caching — OpenRouter converts them to the provider's native format. | \{
"type": "ephemeral"
} |
+| `debug` | [Optional[components.ChatDebugOptions]](../../components/chatdebugoptions) | :heavy_minus_sign: | Debug options for inspecting request transformations (streaming only) | \{
"echo_upstream_body": true
} |
| `frequency_penalty` | *OptionalNullable[float]* | :heavy_minus_sign: | N/A | |
-| `image_config` | Dict[str, [components.ImageConfig](../../components/imageconfig.mdx)] | :heavy_minus_sign: | Provider-specific image configuration options. Keys and values vary by model/provider. See https://openrouter.ai/docs/guides/overview/multimodal/image-generation for more details. | \{
"aspect_ratio": "16:9",
"quality": "high"
} |
-| `include` | List[[components.ResponseIncludesEnum](../../components/responseincludesenum.mdx)] | :heavy_minus_sign: | N/A | |
-| `input` | [Optional[components.InputsUnion]](../../components/inputsunion.mdx) | :heavy_minus_sign: | Input for a response request - can be a string or array of items | [
\{
"content": "What is the weather today?",
"role": "user"
}
] |
+| `image_config` | Dict[str, [components.ImageConfig](../../components/imageconfig)] | :heavy_minus_sign: | Provider-specific image configuration options. Keys and values vary by model/provider. See https://openrouter.ai/docs/guides/overview/multimodal/image-generation for more details. | \{
"aspect_ratio": "16:9",
"quality": "high"
} |
+| `include` | List[[components.ResponseIncludesEnum](../../components/responseincludesenum)] | :heavy_minus_sign: | N/A | |
+| `input` | [Optional[components.InputsUnion]](../../components/inputsunion) | :heavy_minus_sign: | Input for a response request - can be a string or array of items | [
\{
"content": "What is the weather today?",
"role": "user"
}
] |
| `instructions` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
| `max_output_tokens` | *OptionalNullable[int]* | :heavy_minus_sign: | N/A | |
| `max_tool_calls` | *OptionalNullable[int]* | :heavy_minus_sign: | Maximum number of server-tool (e.g. `openrouter:web_search`) agent steps the model may take during a request. Defaults to 30, which is also the maximum. Ignored when `stop_server_tools_when` is set. | 30 |
| `metadata` | Dict[str, *str*] | :heavy_minus_sign: | Metadata key-value pairs for the request. Keys must be ≤64 characters and cannot contain brackets. Values must be ≤512 characters. Maximum 16 pairs allowed. | \{
"session_id": "abc-def-ghi",
"user_id": "123"
} |
-| `modalities` | List[[components.OutputModalityEnum](../../components/outputmodalityenum.mdx)] | :heavy_minus_sign: | Output modalities for the response. Supported values are "text" and "image". | [
"text",
"image"
] |
+| `modalities` | List[[components.OutputModalityEnum](../../components/outputmodalityenum)] | :heavy_minus_sign: | Output modalities for the response. Supported values are "text" and "image". | [
"text",
"image"
] |
| `model` | *Optional[str]* | :heavy_minus_sign: | N/A | |
| `models` | List[*str*] | :heavy_minus_sign: | N/A | |
| `parallel_tool_calls` | *OptionalNullable[bool]* | :heavy_minus_sign: | N/A | |
-| `plugins` | List[[components.ResponsesRequestPlugin](../../components/responsesrequestplugin.mdx)] | :heavy_minus_sign: | Plugins you want to enable for this request, including their settings. | |
+| `plugins` | List[[components.ResponsesRequestPlugin](../../components/responsesrequestplugin)] | :heavy_minus_sign: | Plugins you want to enable for this request, including their settings. | |
| `presence_penalty` | *OptionalNullable[float]* | :heavy_minus_sign: | N/A | |
| `previous_response_id` | *Optional[Any]* | :heavy_minus_sign: | Not supported. The Responses API is stateless: no responses are stored, so a previous response cannot be referenced. Requests with a non-null value are rejected with a 400 error. Send the full conversation history in `input` instead. | |
-| `prompt` | [OptionalNullable[components.StoredPromptTemplate]](../../components/storedprompttemplate.mdx) | :heavy_minus_sign: | N/A | \{
"id": "prompt-abc123",
"variables": \{
"name": "John"
}
} |
+| `prompt` | [OptionalNullable[components.StoredPromptTemplate]](../../components/storedprompttemplate) | :heavy_minus_sign: | N/A | \{
"id": "prompt-abc123",
"variables": \{
"name": "John"
}
} |
| `prompt_cache_key` | *OptionalNullable[str]* | :heavy_minus_sign: | N/A | |
-| `prompt_cache_options` | [OptionalNullable[components.PromptCacheOptions]](../../components/promptcacheoptions.mdx) | :heavy_minus_sign: | Request-level prompt-cache controls. `mode: "explicit"` disables OpenAI-managed breakpoints so only blocks marked with `prompt_cache_breakpoint` are cached. Only supported by OpenAI GPT-5.6 and newer. | \{
"mode": "explicit",
"ttl": "30m"
} |
-| `provider` | [OptionalNullable[components.ProviderPreferences]](../../components/providerpreferences.mdx) | :heavy_minus_sign: | When multiple model providers are available, optionally indicate your routing preference. | \{
"allow_fallbacks": true
} |
-| `reasoning` | [OptionalNullable[components.ReasoningConfig]](../../components/reasoningconfig.mdx) | :heavy_minus_sign: | Configuration for reasoning mode in the response | \{
"enabled": true,
"summary": "auto"
} |
+| `prompt_cache_options` | [OptionalNullable[components.PromptCacheOptions]](../../components/promptcacheoptions) | :heavy_minus_sign: | Request-level prompt-cache controls. `mode: "explicit"` disables OpenAI-managed breakpoints so only blocks marked with `prompt_cache_breakpoint` are cached. Only supported by OpenAI GPT-5.6 and newer. | \{
"mode": "explicit",
"ttl": "30m"
} |
+| `provider` | [OptionalNullable[components.ProviderPreferences]](../../components/providerpreferences) | :heavy_minus_sign: | When multiple model providers are available, optionally indicate your routing preference. | \{
"allow_fallbacks": true
} |
+| `reasoning` | [OptionalNullable[components.ReasoningConfig]](../../components/reasoningconfig) | :heavy_minus_sign: | Configuration for reasoning mode in the response | \{
"enabled": true,
"summary": "auto"
} |
| `safety_identifier` | *OptionalNullable[str]* | :heavy_minus_sign: | Recommended per-end-user identifier for abuse isolation. Use a stable ID, hash, or pseudonym. When a provider requires a user identity, OpenRouter folds it into the hashed identity sent upstream and never forwards it raw. If omitted, requests use an account-level identity, so provider policy blocks can affect the whole account. | user-123 |
-| `service_tier` | [OptionalNullable[components.ResponsesRequestServiceTier]](../../components/responsesrequestservicetier.mdx) | :heavy_minus_sign: | N/A | |
+| `service_tier` | [OptionalNullable[components.ResponsesRequestServiceTier]](../../components/responsesrequestservicetier) | :heavy_minus_sign: | N/A | |
| `session_id` | *Optional[str]* | :heavy_minus_sign: | A unique identifier for grouping related requests (e.g., a conversation or agent workflow). When provided, OpenRouter uses it as the sticky routing key, routing all requests in the session to the same provider to maximize prompt cache hits. Also used for observability grouping. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 256 characters. | |
-| `stop_server_tools_when` | List[[components.StopServerToolsWhenCondition](../../components/stopservertoolswhencondition.mdx)] | :heavy_minus_sign: | Stop conditions for the server-tool agent loop. Any condition firing halts the loop (OR logic). When set, this overrides `max_tool_calls`. When a condition fires while the model is still emitting tool calls, the pending tool calls are executed and one final turn is made with tool calls disabled so the response ends with a natural-language answer instead of an unfinished tool call. | [
\{
"step_count": 5,
"type": "step_count_is"
},
\{
"max_cost_in_dollars": 0.5,
"type": "max_cost"
}
] |
+| `stop_server_tools_when` | List[[components.StopServerToolsWhenCondition](../../components/stopservertoolswhencondition)] | :heavy_minus_sign: | Stop conditions for the server-tool agent loop. Any condition firing halts the loop (OR logic). When set, this overrides `max_tool_calls`. When a condition fires while the model is still emitting tool calls, the pending tool calls are executed and one final turn is made with tool calls disabled so the response ends with a natural-language answer instead of an unfinished tool call. | [
\{
"step_count": 5,
"type": "step_count_is"
},
\{
"max_cost_in_dollars": 0.5,
"type": "max_cost"
}
] |
| `stream` | *Optional[bool]* | :heavy_minus_sign: | N/A | |
| `temperature` | *OptionalNullable[float]* | :heavy_minus_sign: | N/A | |
-| `text` | [Optional[components.TextExtendedConfig]](../../components/textextendedconfig.mdx) | :heavy_minus_sign: | Text output configuration including format and verbosity | \{
"format": \{
"type": "text"
}
} |
-| `tool_choice` | [Optional[components.OpenAIResponsesToolChoiceUnion]](../../components/openairesponsestoolchoiceunion.mdx) | :heavy_minus_sign: | N/A | auto |
-| `tools` | List[[components.ResponsesRequestToolUnion](../../components/responsesrequesttoolunion.mdx)] | :heavy_minus_sign: | N/A | |
+| `text` | [Optional[components.TextExtendedConfig]](../../components/textextendedconfig) | :heavy_minus_sign: | Text output configuration including format and verbosity | \{
"format": \{
"type": "text"
}
} |
+| `tool_choice` | [Optional[components.OpenAIResponsesToolChoiceUnion]](../../components/openairesponsestoolchoiceunion) | :heavy_minus_sign: | N/A | auto |
+| `tools` | List[[components.ResponsesRequestToolUnion](../../components/responsesrequesttoolunion)] | :heavy_minus_sign: | N/A | |
| `top_k` | *Optional[int]* | :heavy_minus_sign: | N/A | |
| `top_logprobs` | *OptionalNullable[int]* | :heavy_minus_sign: | N/A | |
| `top_p` | *OptionalNullable[float]* | :heavy_minus_sign: | N/A | |
-| `trace` | [Optional[components.TraceConfig]](../../components/traceconfig.mdx) | :heavy_minus_sign: | Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations. | \{
"trace_id": "trace-abc123",
"trace_name": "my-app-trace"
} |
-| `truncation` | [OptionalNullable[components.OpenAIResponsesTruncation]](../../components/openairesponsestruncation.mdx) | :heavy_minus_sign: | N/A | auto |
+| `trace` | [Optional[components.TraceConfig]](../../components/traceconfig) | :heavy_minus_sign: | Metadata for observability and tracing. Known keys (trace_id, trace_name, span_name, generation_name, parent_span_id) have special handling. Additional keys are passed through as custom metadata to configured broadcast destinations. | \{
"trace_id": "trace-abc123",
"trace_name": "my-app-trace"
} |
+| `truncation` | [OptionalNullable[components.OpenAIResponsesTruncation]](../../components/openairesponsestruncation) | :heavy_minus_sign: | N/A | auto |
| `user` | *Optional[str]* | :heavy_minus_sign: | A unique identifier representing your end-user, which helps distinguish between different users of your app. This allows your app to identify specific users in case of abuse reports, preventing your entire app from being affected by the actions of individual users. Maximum of 256 characters. | |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[operations.CreateResponsesResponse](../../operations/createresponsesresponse.mdx)**
+**[operations.CreateResponsesResponse](../../operations/createresponsesresponse)**
### Errors
diff --git a/docs/sdks/stt/README.mdx b/docs/sdks/stt/README.mdx
index 003f8599..23405606 100644
--- a/docs/sdks/stt/README.mdx
+++ b/docs/sdks/stt/README.mdx
@@ -44,21 +44,21 @@ with OpenRouter(
| Parameter | Type | Required | Description | Example |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `input_audio` | [components.STTInputAudio](../../components/sttinputaudio.mdx) | :heavy_check_mark: | Base64-encoded audio to transcribe | \{
"data": "UklGRiQA...",
"format": "wav"
} |
+| `input_audio` | [components.STTInputAudio](../../components/sttinputaudio) | :heavy_check_mark: | Base64-encoded audio to transcribe | \{
"data": "UklGRiQA...",
"format": "wav"
} |
| `model` | *str* | :heavy_check_mark: | STT model identifier | openai/whisper-large-v3 |
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
| `language` | *Optional[str]* | :heavy_minus_sign: | ISO-639-1 language code (e.g., "en", "ja"). Auto-detected if omitted. | en |
-| `provider` | [Optional[components.STTRequestProvider]](../../components/sttrequestprovider.mdx) | :heavy_minus_sign: | Provider-specific passthrough configuration | |
-| `response_format` | [Optional[components.STTRequestResponseFormat]](../../components/sttrequestresponseformat.mdx) | :heavy_minus_sign: | Output format. "json" (default) returns \{ text, usage }. "verbose_json" additionally returns task, language, duration, and segment-level timestamps; only supported by OpenAI-compatible providers. | json |
+| `provider` | [Optional[components.STTRequestProvider]](../../components/sttrequestprovider) | :heavy_minus_sign: | Provider-specific passthrough configuration | |
+| `response_format` | [Optional[components.STTRequestResponseFormat]](../../components/sttrequestresponseformat) | :heavy_minus_sign: | Output format. "json" (default) returns \{ text, usage }. "verbose_json" additionally returns task, language, duration, and segment-level timestamps; only supported by OpenAI-compatible providers. | json |
| `temperature` | *Optional[float]* | :heavy_minus_sign: | Sampling temperature for transcription | 0 |
-| `timestamp_granularities` | List[[components.STTTimestampGranularity](../../components/stttimestampgranularity.mdx)] | :heavy_minus_sign: | Timestamp detail levels to include when response_format is "verbose_json". "segment" returns segment-level timestamps; "word" additionally returns word-level timestamps in the words array. Ignored unless response_format is "verbose_json". | [
"segment"
] |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `timestamp_granularities` | List[[components.STTTimestampGranularity](../../components/stttimestampgranularity)] | :heavy_minus_sign: | Timestamp detail levels to include when response_format is "verbose_json". "segment" returns segment-level timestamps; "word" additionally returns word-level timestamps in the words array. Ignored unless response_format is "verbose_json". | [
"segment"
] |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[components.STTResponse](../../components/sttresponse.mdx)**
+**[components.STTResponse](../../components/sttresponse)**
### Errors
@@ -108,20 +108,20 @@ with OpenRouter(
| Parameter | Type | Required | Description |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `file` | [operations.CreateAudioTranscriptionsMultipartFile](../../operations/createaudiotranscriptionsmultipartfile.mdx) | :heavy_check_mark: | The audio file to transcribe. The format is derived from the filename extension or the file part content type. Max 25 MB; send larger files as base64 JSON via input_audio. |
+| `file` | [operations.CreateAudioTranscriptionsMultipartFile](../../operations/createaudiotranscriptionsmultipartfile) | :heavy_check_mark: | The audio file to transcribe. The format is derived from the filename extension or the file part content type. Max 25 MB; send larger files as base64 JSON via input_audio. |
| `model` | *str* | :heavy_check_mark: | The model to use for transcription. |
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
|
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
|
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
|
| `language` | *Optional[str]* | :heavy_minus_sign: | The language of the input audio (ISO-639-1). |
-| `response_format` | [Optional[operations.ResponseFormat]](../../operations/responseformat.mdx) | :heavy_minus_sign: | The response format. "json" (default) returns \{ text, usage }; "verbose_json" additionally returns task, language, duration, and segment-level timestamps (OpenAI-compatible providers only). |
+| `response_format` | [Optional[operations.ResponseFormat]](../../operations/responseformat) | :heavy_minus_sign: | The response format. "json" (default) returns \{ text, usage }; "verbose_json" additionally returns task, language, duration, and segment-level timestamps (OpenAI-compatible providers only). |
| `temperature` | *Optional[float]* | :heavy_minus_sign: | The sampling temperature. |
-| `timestamp_granularities` | List[[operations.TimestampGranularities](../../operations/timestampgranularities.mdx)] | :heavy_minus_sign: | Timestamp detail levels to include when response_format is "verbose_json". "word" additionally returns word-level timestamps in the words array. |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
+| `timestamp_granularities` | List[[operations.TimestampGranularities](../../operations/timestampgranularities)] | :heavy_minus_sign: | Timestamp detail levels to include when response_format is "verbose_json". "word" additionally returns word-level timestamps in the words array. |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
### Response
-**[components.STTResponse](../../components/sttresponse.mdx)**
+**[components.STTResponse](../../components/sttresponse)**
### Errors
diff --git a/docs/sdks/tts/README.mdx b/docs/sdks/tts/README.mdx
index f02ae883..9cfaf1e6 100644
--- a/docs/sdks/tts/README.mdx
+++ b/docs/sdks/tts/README.mdx
@@ -46,14 +46,14 @@ with OpenRouter(
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `provider` | [Optional[components.SpeechRequestProvider]](../../components/speechrequestprovider.mdx) | :heavy_minus_sign: | Provider-specific passthrough configuration | |
-| `response_format` | [Optional[components.SpeechRequestResponseFormat]](../../components/speechrequestresponseformat.mdx) | :heavy_minus_sign: | Audio output format | pcm |
+| `provider` | [Optional[components.SpeechRequestProvider]](../../components/speechrequestprovider) | :heavy_minus_sign: | Provider-specific passthrough configuration | |
+| `response_format` | [Optional[components.SpeechRequestResponseFormat]](../../components/speechrequestresponseformat) | :heavy_minus_sign: | Audio output format | pcm |
| `speed` | *Optional[float]* | :heavy_minus_sign: | Playback speed multiplier. Only used by models that support it (e.g. OpenAI TTS). Ignored by other providers. | 1 |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[httpx.Response](../../models/.mdx)**
+**[httpx.Response](../../models/)**
### Errors
diff --git a/docs/sdks/videogeneration/README.mdx b/docs/sdks/videogeneration/README.mdx
index f2777304..57fd7bd6 100644
--- a/docs/sdks/videogeneration/README.mdx
+++ b/docs/sdks/videogeneration/README.mdx
@@ -47,22 +47,22 @@ with OpenRouter(
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `aspect_ratio` | [Optional[components.VideoGenerationRequestAspectRatio]](../../components/videogenerationrequestaspectratio.mdx) | :heavy_minus_sign: | Aspect ratio of the generated video | 16:9 |
+| `aspect_ratio` | [Optional[components.VideoGenerationRequestAspectRatio]](../../components/videogenerationrequestaspectratio) | :heavy_minus_sign: | Aspect ratio of the generated video | 16:9 |
| `callback_url` | *Optional[str]* | :heavy_minus_sign: | URL to receive a webhook notification when the video generation job completes. Overrides the workspace-level default callback URL if set. Must be HTTPS. | https://example.com/webhook |
| `duration` | *Optional[int]* | :heavy_minus_sign: | Duration of the generated video in seconds | 8 |
-| `frame_images` | List[[components.FrameImage](../../components/frameimage.mdx)] | :heavy_minus_sign: | Images to use as the first and/or last frame of the generated video. Each image must specify a frame_type of first_frame or last_frame. | |
+| `frame_images` | List[[components.FrameImage](../../components/frameimage)] | :heavy_minus_sign: | Images to use as the first and/or last frame of the generated video. Each image must specify a frame_type of first_frame or last_frame. | |
| `generate_audio` | *Optional[bool]* | :heavy_minus_sign: | Whether to generate audio alongside the video. Defaults to the endpoint's generate_audio capability flag, false if not set. | true |
-| `input_references` | List[[components.InputReference](../../components/inputreference.mdx)] | :heavy_minus_sign: | Reference assets to guide video generation. Accepts image, audio, and video references. Audio and video references are only honored by providers that support them (currently BytePlus Seedance 2.0); other providers use image references and ignore the rest. | |
+| `input_references` | List[[components.InputReference](../../components/inputreference)] | :heavy_minus_sign: | Reference assets to guide video generation. Accepts image, audio, and video references. Audio and video references are only honored by providers that support them (currently BytePlus Seedance 2.0); other providers use image references and ignore the rest. | |
| `prompt` | *Optional[str]* | :heavy_minus_sign: | Text prompt describing the video to generate. Optional for models that support generating a video from image input alone; required by all other models. | A serene mountain landscape at sunset |
-| `provider` | [Optional[components.VideoGenerationRequestProvider]](../../components/videogenerationrequestprovider.mdx) | :heavy_minus_sign: | Provider-specific passthrough configuration | |
-| `resolution` | [Optional[components.VideoGenerationRequestResolution]](../../components/videogenerationrequestresolution.mdx) | :heavy_minus_sign: | Resolution of the generated video | 720p |
+| `provider` | [Optional[components.VideoGenerationRequestProvider]](../../components/videogenerationrequestprovider) | :heavy_minus_sign: | Provider-specific passthrough configuration | |
+| `resolution` | [Optional[components.VideoGenerationRequestResolution]](../../components/videogenerationrequestresolution) | :heavy_minus_sign: | Resolution of the generated video | 720p |
| `seed` | *Optional[int]* | :heavy_minus_sign: | If specified, the generation will sample deterministically, such that repeated requests with the same seed and parameters should return the same result. Determinism is not guaranteed for all providers. | |
| `size` | *Optional[str]* | :heavy_minus_sign: | Exact pixel dimensions of the generated video in "WIDTHxHEIGHT" format (e.g. "1280x720"). Interchangeable with resolution + aspect_ratio. | 1280x720 |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[components.VideoGenerationResponse](../../components/videogenerationresponse.mdx)**
+**[components.VideoGenerationResponse](../../components/videogenerationresponse)**
### Errors
@@ -109,11 +109,11 @@ with OpenRouter(
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[components.VideoGenerationResponse](../../components/videogenerationresponse.mdx)**
+**[components.VideoGenerationResponse](../../components/videogenerationresponse)**
### Errors
@@ -158,11 +158,11 @@ with OpenRouter(
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
| `index` | *OptionalNullable[int]* | :heavy_minus_sign: | N/A | 0 |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[httpx.Response](../../models/.mdx)**
+**[httpx.Response](../../models/)**
### Errors
@@ -207,11 +207,11 @@ with OpenRouter(
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
|
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
|
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
|
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
### Response
-**[components.VideoModelsListResponse](../../components/videomodelslistresponse.mdx)**
+**[components.VideoModelsListResponse](../../components/videomodelslistresponse)**
### Errors
diff --git a/docs/sdks/workspaces/README.mdx b/docs/sdks/workspaces/README.mdx
index 137da1dc..c898a536 100644
--- a/docs/sdks/workspaces/README.mdx
+++ b/docs/sdks/workspaces/README.mdx
@@ -57,11 +57,11 @@ with OpenRouter(
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
| `offset` | *OptionalNullable[int]* | :heavy_minus_sign: | Number of records to skip for pagination | 0 |
| `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum number of records to return (max 100) | 50 |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[operations.ListWorkspacesResponse](../../operations/listworkspacesresponse.mdx)**
+**[operations.ListWorkspacesResponse](../../operations/listworkspacesresponse)**
### Errors
@@ -114,11 +114,11 @@ with OpenRouter(
| `is_data_discount_logging_enabled` | *Optional[bool]* | :heavy_minus_sign: | Whether data discount logging is enabled | true |
| `is_observability_broadcast_enabled` | *Optional[bool]* | :heavy_minus_sign: | Whether broadcast is enabled | false |
| `is_observability_io_logging_enabled` | *Optional[bool]* | :heavy_minus_sign: | Whether private logging is enabled | false |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[components.CreateWorkspaceResponse](../../components/createworkspaceresponse.mdx)**
+**[components.CreateWorkspaceResponse](../../components/createworkspaceresponse)**
### Errors
@@ -163,11 +163,11 @@ with OpenRouter(
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[components.DeleteWorkspaceResponse](../../components/deleteworkspaceresponse.mdx)**
+**[components.DeleteWorkspaceResponse](../../components/deleteworkspaceresponse)**
### Errors
@@ -213,11 +213,11 @@ with OpenRouter(
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[components.GetWorkspaceResponse](../../components/getworkspaceresponse.mdx)**
+**[components.GetWorkspaceResponse](../../components/getworkspaceresponse)**
### Errors
@@ -272,11 +272,11 @@ with OpenRouter(
| `is_observability_io_logging_enabled` | *Optional[bool]* | :heavy_minus_sign: | Whether private logging is enabled | false |
| `name` | *Optional[str]* | :heavy_minus_sign: | New name for the workspace | Updated Workspace |
| `slug` | *Optional[str]* | :heavy_minus_sign: | New URL-friendly slug (lowercase alphanumeric segments separated by single hyphens, no leading/trailing hyphens) | updated-workspace |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[components.UpdateWorkspaceResponse](../../components/updateworkspaceresponse.mdx)**
+**[components.UpdateWorkspaceResponse](../../components/updateworkspaceresponse)**
### Errors
@@ -322,11 +322,11 @@ with OpenRouter(
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[components.ListWorkspaceBudgetsResponse](../../components/listworkspacebudgetsresponse.mdx)**
+**[components.ListWorkspaceBudgetsResponse](../../components/listworkspacebudgetsresponse)**
### Errors
@@ -367,15 +367,15 @@ with OpenRouter(
| Parameter | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| `id` | *str* | :heavy_check_mark: | The workspace ID (UUID) or slug | production |
-| `interval` | [components.WorkspaceBudgetInterval](../../components/workspacebudgetinterval.mdx) | :heavy_check_mark: | Budget reset interval. Use "lifetime" for a one-time budget that never resets. | monthly |
+| `interval` | [components.WorkspaceBudgetInterval](../../components/workspacebudgetinterval) | :heavy_check_mark: | Budget reset interval. Use "lifetime" for a one-time budget that never resets. | monthly |
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[components.DeleteWorkspaceBudgetResponse](../../components/deleteworkspacebudgetresponse.mdx)**
+**[components.DeleteWorkspaceBudgetResponse](../../components/deleteworkspacebudgetresponse)**
### Errors
@@ -416,16 +416,16 @@ with OpenRouter(
| Parameter | Type | Required | Description | Example |
| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| `id` | *str* | :heavy_check_mark: | The workspace ID (UUID) or slug | production |
-| `interval` | [components.WorkspaceBudgetInterval](../../components/workspacebudgetinterval.mdx) | :heavy_check_mark: | Budget reset interval. Use "lifetime" for a one-time budget that never resets. | monthly |
+| `interval` | [components.WorkspaceBudgetInterval](../../components/workspacebudgetinterval) | :heavy_check_mark: | Budget reset interval. Use "lifetime" for a one-time budget that never resets. | monthly |
| `limit_usd` | *float* | :heavy_check_mark: | Spending limit in USD. Must be greater than 0. | 100 |
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[components.UpsertWorkspaceBudgetResponse](../../components/upsertworkspacebudgetresponse.mdx)**
+**[components.UpsertWorkspaceBudgetResponse](../../components/upsertworkspacebudgetresponse)**
### Errors
@@ -474,11 +474,11 @@ with OpenRouter(
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
| `offset` | *OptionalNullable[int]* | :heavy_minus_sign: | Number of records to skip for pagination | 0 |
| `limit` | *Optional[int]* | :heavy_minus_sign: | Maximum number of records to return (max 100) | 50 |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[operations.ListWorkspaceMembersResponse](../../operations/listworkspacemembersresponse.mdx)**
+**[operations.ListWorkspaceMembersResponse](../../operations/listworkspacemembersresponse)**
### Errors
@@ -527,11 +527,11 @@ with OpenRouter(
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[components.BulkAddWorkspaceMembersResponse](../../components/bulkaddworkspacemembersresponse.mdx)**
+**[components.BulkAddWorkspaceMembersResponse](../../components/bulkaddworkspacemembersresponse)**
### Errors
@@ -581,11 +581,11 @@ with OpenRouter(
| `http_referer` | *Optional[str]* | :heavy_minus_sign: | The app identifier should be your app's URL and is used as the primary identifier for rankings.
This is used to track API usage per application.
| |
| `x_open_router_title` | *Optional[str]* | :heavy_minus_sign: | The app display name allows you to customize how your app appears in OpenRouter's dashboard.
| |
| `x_open_router_categories` | *Optional[str]* | :heavy_minus_sign: | Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
| |
-| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.mdx) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
+| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | |
### Response
-**[components.BulkRemoveWorkspaceMembersResponse](../../components/bulkremoveworkspacemembersresponse.mdx)**
+**[components.BulkRemoveWorkspaceMembersResponse](../../components/bulkremoveworkspacemembersresponse)**
### Errors
diff --git a/scripts/fix-docs-links.sh b/scripts/fix-docs-links.sh
new file mode 100755
index 00000000..f5e0546a
--- /dev/null
+++ b/scripts/fix-docs-links.sh
@@ -0,0 +1,53 @@
+#!/usr/bin/env bash
+# Strip the `.mdx` extension from cross-references in the docs Speakeasy emits
+# under docs/.
+#
+# Mintlify serves every page at an extensionless path, so a generated link like
+# `[operations.Foo](../../models/operations/foo.mdx)` 404s while
+# `[operations.Foo](../../models/operations/foo)` resolves. Speakeasy emits the
+# extension, so rewrite it after every `speakeasy run`.
+#
+# Idempotent: no offending links -> no file changes. Pass --check to report
+# offending files and exit non-zero without editing (for CI).
+#
+# Requires: bash, grep, sed. No network, no toolchain.
+set -euo pipefail
+
+ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
+cd "$ROOT"
+
+DOCS_DIR="docs"
+# Markdown link whose target ends in `.mdx`, with an optional `#anchor`.
+LINK_PATTERN='\]\([^)]*\.mdx(#[^)]*)?\)'
+
+if [[ ! -d "$DOCS_DIR" ]]; then
+ echo "missing $DOCS_DIR/" >&2
+ exit 1
+fi
+
+did_request_check=false
+if [[ "${1:-}" == "--check" ]]; then
+ did_request_check=true
+elif [[ $# -gt 0 ]]; then
+ echo "usage: $0 [--check]" >&2
+ exit 2
+fi
+
+files=()
+while IFS= read -r file; do
+ files+=("$file")
+done < <(grep -rlE "$LINK_PATTERN" "$DOCS_DIR" --include='*.mdx' | sort)
+
+if ((${#files[@]} == 0)); then
+ echo "no .mdx link extensions in $DOCS_DIR/"
+ exit 0
+fi
+
+if [[ "$did_request_check" == true ]]; then
+ echo "found .mdx link extensions in ${#files[@]} file(s) — run scripts/fix-docs-links.sh" >&2
+ printf '%s\n' "${files[@]}" >&2
+ exit 1
+fi
+
+sed -i -E 's/\]\(([^)]*)\.mdx(#[^)]*)?\)/](\1\2)/g' "${files[@]}"
+echo "stripped .mdx link extensions in ${#files[@]} file(s)"