Skip to main content
Entries on this page are generated automatically from OpenAPI specification diffs when releases ship. Breaking changes are reviewed by a human before publication. See API Versioning for what counts as a breaking change and how deprecations are announced. Endpoint paths are shown relative to the API base URL (https://openrouter.ai/api/v1).
API KeysBreakingEnd UsersGuardrailsInternsSchemas

Breaking changes

Modified endpoints

New response codes

Modified schemas

API KeysInternsSchemas

Modified endpoints

Modified schemas

InternsSchemas

New endpoints

New schemas

Modified schemas

API KeysBYOKBreakingSchemas

Breaking changes

  • BYOKKey: required declared_region property addedNo action needed
    • No action required for existing consumers. Responses from BYOK endpoints now include declared_region ("global", "europe", "us", or null) indicating the key’s declared data region.
  • GET /keys: required last_used_at property addedNo action needed
    • No action required for existing consumers. API key responses now include last_used_at, an ISO 8601 UTC timestamp of the key’s most recent recorded usage, or null if none has been recorded.
  • POST /keys: required last_used_at property addedNo action needed
  • GET /keys/{hash}: required last_used_at property addedNo action needed
  • PATCH /keys/{hash}: required last_used_at property addedNo action needed

Modified endpoints

New response codes

New schemas

Modified schemas

Schemas

Modified schemas

  • BatchProviderPreferences: description updated; new property allow_fallbacks
BreakingSTTSchemas

Breaking changes

Modified endpoints

Modified schemas

API KeysAnalyticsBreakingGenerationsSchemas

Breaking changes

  • ActivityItem: required cached_tokens property addedNo action needed

Modified endpoints

New response codes

New schemas

Modified schemas

ContainersEnd UsersOrganizationSchemas

New endpoints

Modified endpoints

New schemas

Modified schemas

BYOKBatchBreakingInternsSTTSchemasToolsVault

Breaking changes

New endpoints

Modified endpoints

New response codes

New schemas

Modified schemas

BreakingEndpointsInternsPrivate EndpointsSchemas

Breaking changes

New endpoints

Modified endpoints

New schemas

Modified schemas

Embeddings

New response codes

BYOKBatchBreakingEndpointsInternsSchemasTTS

Breaking changes

New endpoints

Modified endpoints

New schemas

Modified schemas

BYOKInternsSCIMSchemas

New endpoints

Modified endpoints

New schemas

Modified schemas

BreakingInternsSchemas

Breaking changes

New endpoints

New schemas

Modified schemas

  • CustomToolCallItem:
    • new property async
    • new property call_id
    • new property id
    • new property input
    • new property name
    • new property namespace
    • new property status
    • new property type
    • type property_added
    • Used by POST /presets/{slug}/responses, POST /responses
  • FunctionCallItem:
    • new property arguments
    • new property async
    • new property call_id
    • new property id
    • new property name
    • new property namespace
    • new property status
    • new property subagent_id
    • new property subagent_items
    • new property type
    • type property_added
    • Used by POST /presets/{slug}/responses, POST /responses
InternsSchemasWorkspacesalpha.decisions

Modified endpoints

New schemas

Modified schemas

BYOKBreakingInternsSchemas

Breaking changes

Modified endpoints

New response codes

New schemas

Modified schemas

BreakingSystemOnealpha.decisions

Breaking changes

New endpoints

  • POST /systemone: Submit a System One request (TypeSafe SDK compatible alias)

Modified endpoints

  • POST /systemone: x-speakeasy-name-override object_added; description updated; tags property_added
API KeysBYOKBreakingInternsObservabilitySchemas

Breaking changes

  • GET /key: required organization_id property addedNo action needed
  • GET /key: required workspace_id property addedNo action needed
  • CreateInternRequest: required workspace_id property removedNo action needed
  • InternChatAssistantMessage: required content property removedNo action needed
  • DELETE /interns/{internId}: requestBody requestBody property addedAction required
    • Regenerated SDK clients: pass {} when no acknowledgement is needed, or { acknowledge_workspace_loss: true } when deleting the intern also requires acknowledging workspace loss. Raw HTTP clients may continue to omit the body.

Modified endpoints

New response codes

New schemas

Modified schemas

BreakingInternsSchemasalpha.decisions

Breaking changes

Modified endpoints

Modified schemas

BYOKContainersDecisionsInternsModelsPresetsResponsesSchemas

New endpoints

Modified endpoints

New schemas

Modified schemas

API KeysBreakingEmbeddingsRerankSTTSchemasVault

Breaking changes

  • GET /key: required free_model_daily_requests property addedNo action needed
  • GET /key: required allowed_data_regions property addedNo action needed

New endpoints

Modified endpoints

New response codes

New schemas

Modified schemas

EmbeddingsGuardrailsRerankSchemas

Modified endpoints

New response codes

Modified schemas

BYOKVideo Generation

Modified endpoints

New response codes

Modified schemas

BYOKPresets

Modified endpoints

Modified schemas

BreakingWorkspaces

Breaking changes

  • /workspaces/{id}/budgets: endpoint object removedAction required
    • SDK and Terraform callers: rename the path argument from id to workspace_ref (workspaceRef in camelCase clients). The URL value itself is unchanged.
  • /workspaces/{id}/budgets/{interval}: endpoint object removedAction required
    • SDK and Terraform callers: rename the path argument from id to workspace_ref (workspaceRef in camelCase clients). The URL value itself is unchanged.

New endpoints

BYOKBreakingSchemas

Breaking changes

Modified endpoints

Modified schemas

BYOKBreakingSchemas

Breaking changes

Modified endpoints

Modified schemas

Schemas

Modified schemas

BreakingObservability

Breaking changes

Modified endpoints

New schemas

Modified schemas

MCPSCIMSchemas

New endpoints

New schemas

Modified schemas

API KeysBYOKGuardrailsOAuth

New endpoints

Modified endpoints

New response codes

New schemas

Modified schemas

API KeysBreakingEmbeddingsRerankSCIMSTTSchemasTTSVideo Generation

Breaking changes

  • POST /keys: properties external_api_key object removedNo action needed
  • POST /keys: properties external_user object removedNo action needed

Modified endpoints

New response codes

New schemas

Modified schemas

BYOKBreakingModelsSchemas

Breaking changes

Modified endpoints

New schemas

Modified schemas

Schemas

Modified schemas

API KeysAnalyticsOAuth

Modified endpoints

BYOKBreakingContainersModels

Breaking changes

Modified endpoints

New schemas

Modified schemas

Schemas

Modified schemas

BreakingContainersFilesSchemasWorkspaces

Breaking changes

Modified endpoints

Modified schemas

ContainersRerankSTTSchemasTTSVideo Generation

New endpoints

New response codes

New schemas

Modified schemas

API KeysBreakingContainersSchemas

Breaking changes

  • ContainerReferenceEnvironment: maxLength 20 modifiedNo action needed
    • No action required for existing consumers. The maximum container reference length increased from 20 to 40 characters.
  • /containers/{session_id}/files: endpoint object removedAction required
    • Use the corresponding /containers/{container_id}/... endpoint and pass the canonical container_id returned by a bash or shell tool result instead of the original session ID.
  • /containers/{session_id}/files/{file_id}: endpoint object removedAction required
    • Use the corresponding /containers/{container_id}/... endpoint and pass the canonical container_id returned by a bash or shell tool result instead of the original session ID.
  • /containers/{session_id}/files/{file_id}/content: endpoint object removedAction required
    • Use the corresponding /containers/{container_id}/... endpoint and pass the canonical container_id returned by a bash or shell tool result instead of the original session ID.
  • ObservabilityDatadogDestination: default https://api.us5.datadoghq.com modifiedAction required
    • If your Datadog site is US5 and you relied on the omitted URL default, explicitly set url to https://api.us5.datadoghq.com. The new default is the US1 endpoint, https://api.datadoghq.com.
  • GET /keys: required external_user property addedNo action needed
  • POST /keys: required external_user property addedAction required
    • Connect client-secret callers must include a non-empty external_user when creating a key. Management-key callers should continue to omit this Connect-only field.
  • GET /keys/{hash}: required external_user property addedNo action needed
  • PATCH /keys/{hash}: required external_user property addedNo action needed

New endpoints

Modified endpoints

New schemas

Modified schemas

Schemas

New schemas

Modified schemas

BYOKEmbeddings

Modified endpoints

New response codes

Modified schemas

AnalyticsBreakingGuardrailsSchemas

Breaking changes

  • GET /analytics/meta: tags beta.Analytics property removedNo action needed
  • POST /analytics/query: tags beta.Analytics property removedNo action needed
  • $.tags: beta.Analytics object removedNo action needed

Modified endpoints

Modified schemas

BYOKBreakingSchemas

Breaking changes

New capabilities

  • BYOK API: manage credential restrictions (allowed_models, allowed_user_ids, allowed_api_key_hashes) via create/update. See the BYOK guide for examples and validation rules.

New schemas

Modified schemas

BreakingSchemasbeta.Analytics

Breaking changes

  • POST /analytics/query: maxItems 10 modifiedAction required
    • Limit classifier_dimensions.dimension_names to at most two entries. Split requests that previously queried three or more classifier dimensions.

Modified endpoints

Modified schemas

BreakingPresetsSchemasWorkspaces

Breaking changes

Modified endpoints

New schemas

Modified schemas

DatasetsSchemas

Modified endpoints

Modified schemas

Anthropic MessagesBreakingGenerationsSchemasWorkspaces

Breaking changes

  • MessagesErrorDetail: schema object removedNo action needed
  • MessagesErrorResponse: schema object removedNo action needed

Modified endpoints

New schemas

Modified schemas

DatasetsModelsWorkspaces

New endpoints

Modified endpoints

New schemas

Modified schemas

BYOKBenchmarksBreakingGenerationsSchemas

Breaking changes

  • UnifiedBenchmarksResponse: discriminator discriminator object removedNo action needed
  • GenerationContentData: required error property addedNo action needed

Modified endpoints

  • GET /benchmarks:
    • description updated
    • new parameter benchmark_type
    • new parameter include_run_config
    • new parameter search_engine
    • new parameter search_surface
    • parameter task_type updated
  • GET /generation/content: description updated; response schema updated
  • GET /byok: parameter provider updated

New schemas

Modified schemas

BreakingPresetsSchemas

Breaking changes

Modified endpoints

New schemas

Modified schemas

Schemas

Modified schemas

Schemas

Modified schemas

BYOKBreakingObservabilitySchemas

Breaking changes

Modified endpoints

New response codes

New schemas

Modified schemas

FilesSchemas

Modified endpoints

Modified schemas

SchemasWorkspacesbeta.Analytics

Modified endpoints

New response codes

New schemas

Modified schemas

AnalyticsBreakingEndpointsbeta.Analytics

Breaking changes

  • GenerationResponse: required workspace_id property addedNo action needed
    • No action required for existing consumers. Generation responses now include workspace_id, the ID of the workspace the generation belongs to.
    • Used by GET /generation

Modified endpoints

New schemas

Modified schemas

Guardrails

Modified endpoints

Modified schemas

BYOKBreakingSCIMSchemas

Breaking changes

  • SpeechRequest: required voice property removedNo action needed
    • No action required for existing consumers. voice is now optional; requests that send it are unaffected.
    • Used by POST /audio/speech

New endpoints

Modified endpoints

New schemas

Modified schemas

BenchmarksBreakingFilesSchemasWorkspaces

Breaking changes

  • FileMetadata: schema object removedNo action needed
  • FileDeleteResponse: discriminator discriminator object addedAction required
    • HTTP clients: no change. Requests without a vendor SDK still get the OpenRouter shape (_shape: "openrouter") with the same fields as before. Typed SDK clients: this response type is now a union discriminated by _shape. In the TypeScript SDK, the field is named shape, so check shape === "openrouter" before reading OpenRouter fields such as id and type.
    • Used by DELETE /files/{file_id}
  • FileDeleteResponse: properties id object removedNo action needed
  • FileDeleteResponse: properties type object removedNo action needed
  • FileDeleteResponse: required id property removedNo action needed
  • FileDeleteResponse: required type property removedNo action needed
  • FileListResponse: discriminator discriminator object addedAction required
    • HTTP clients: no change. Requests without a vendor SDK still get the OpenRouter shape (_shape: "openrouter") with the same fields as before. Typed SDK clients: this response type is now a union discriminated by _shape. In the TypeScript SDK, the field is named shape, so check shape === "openrouter" before reading OpenRouter fields such as cursor.
    • Used by GET /files
  • FileListResponse: properties cursor object removedNo action needed
  • FileListResponse: properties data object removedNo action needed
  • FileListResponse: properties first_id object removedNo action needed
  • FileListResponse: properties has_more object removedNo action needed
  • FileListResponse: properties last_id object removedNo action needed
  • FileListResponse: required cursor property removedNo action needed
  • FileListResponse: required data property removedNo action needed
  • FileListResponse: required first_id property removedNo action needed
  • FileListResponse: required has_more property removedNo action needed
  • FileListResponse: required last_id property removedNo action needed

Modified endpoints

New response codes

New schemas

Modified schemas

BreakingFilesResponsesSchemas

Breaking changes

  • FusionCallAnalysisInProgressEvent: required analyst_model property addedNo action needed
    • No action required for existing consumers. analyst_model replaces judge_model in this streaming event; judge_model is retained as a deprecated alias that always carries the same value.
    • Used by POST /responses
  • $.tags: responses object removedNo action needed
    • No action required. The responses OpenAPI tag was renamed to Responses for consistent Title Case across the API Reference. This is a documentation-grouping change only: POST /api/v1/responses and its schemas are unchanged, SDK namespaces are unchanged (client.responses.send() in TypeScript and Python, Sdk.Responses.Send() in Go), and endpoint documentation URLs are unchanged.

Modified endpoints

Modified schemas

EmbeddingsSchemas
BYOKBreakingResponsesSchemas

Breaking changes

  • POST /responses: tags beta.responses property removedNo action needed
    • Migration: no action for HTTP clients. The Responses API is now GA. beta.responses was an OpenAPI grouping tag and SDK namespace, never a URL. POST /api/v1/responses and its request and response schemas are unchanged, so raw HTTP callers and OpenAI-compatible clients (including the OpenAI Agents SDK) need no changes. The endpoint now appears under Responses instead of Beta responses in the API Reference.
    • Migration for SDK users: optional until sunset. The canonical namespace is now responses, with client.responses.send() (TypeScript, Python) and client.Responses.Send() (Go). The beta.responses namespace, and TypeScript’s betaResponsesSend standalone function, keep working as deprecated aliases; their removal will be announced here with a sunset date before it ships.
  • $.tags: beta.responses object removedNo action needed
    • Same change as above at the specification level: the beta.responses tag definition is gone from $.tags.

Modified endpoints

Modified schemas

Schemas

Modified schemas

Schemas

New schemas

Modified schemas

  • ImageStreamingResponse: new union variant added
DatasetsImagesModelsSTT

Modified endpoints

  • POST /audio/transcriptions: description updated; request body now accepts multipart/form-data
  • GET /datasets/rankings-daily:
    • description updated
    • new parameter category
    • new parameter context_bucket
    • new parameter language_type
    • new parameter modality
    • new parameter period
  • GET /models:
    • new parameter max_age_days
    • new parameter max_agentic_index
    • new parameter max_coding_index
    • new parameter max_intelligence_index
    • new parameter max_output_price
    • new parameter max_tool_success_rate
    • new parameter min_age_days
    • new parameter min_agentic_index
    • new parameter min_coding_index
    • new parameter min_intelligence_index
    • new parameter min_output_price
    • new parameter min_tool_success_rate
    • description updated
    • parameter sort updated

New response codes

New schemas

Modified schemas

Workspaces

New endpoints

New schemas