> ## Documentation Index
> Fetch the complete documentation index at: https://openrouter.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Get a batch

> Returns a batch with its status and request counts. Batches in a terminal status include `results`. Failed batches report the reason in `error.message`. See the [Batch API Quickstart](https://openrouter.ai/docs/batch-quickstart).



## OpenAPI

````yaml /openapi/openapi.yaml get /batches/{id}
openapi: 3.1.0
info:
  contact:
    email: support@openrouter.ai
    name: OpenRouter Support
    url: https://openrouter.ai/docs
  description: OpenAI-compatible API with additional OpenRouter features
  license:
    name: MIT
    url: https://opensource.org/licenses/MIT
  title: OpenRouter API
  version: 1.0.0
servers:
  - description: Production server
    url: https://openrouter.ai/api/v1
    x-speakeasy-server-id: production
security:
  - apiKey: []
tags:
  - description: API key management endpoints
    name: API Keys
  - description: Analytics and usage endpoints
    name: Analytics
  - description: Anthropic Messages endpoints
    name: Anthropic Messages
  - description: BYOK endpoints
    name: BYOK
  - description: >-
      Submit, list, poll, and delete asynchronous batches of inference requests.
      See https://openrouter.ai/docs/batch-quickstart.
    name: Batch
  - description: Benchmarks endpoints
    name: Benchmarks
  - description: Chat completion endpoints
    name: Chat
  - description: Task classification market-share endpoints
    name: Classifications
  - description: Containers endpoints
    name: Containers
  - description: Credit management endpoints
    name: Credits
  - description: >-
      Public OpenRouter usage datasets. Data returned by these endpoints is
      licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/):
      reuse and republish it, including commercially, with attribution to
      OpenRouter.
    name: Datasets
  - description: Text embedding endpoints
    name: Embeddings
  - description: Endpoint information
    name: Endpoints
  - description: Files endpoints
    name: Files
  - description: Generation history endpoints
    name: Generations
  - description: Guardrails endpoints
    name: Guardrails
  - description: Images endpoints
    name: Images
  - description: >-
      Create, inspect, update, provision, suspend and delete OpenRouter interns
      through an API key, and talk to them: the chat route streams
      OpenAI-compatible completions from one intern, pausing as an
      `openrouter.provide_input` tool call when the intern needs your permission
      or an answer. Available to interns programme members; other callers
      receive 404. See https://openrouter.ai/docs/guides/ori/intern-chat.
    name: Interns
  - description: Model information endpoints
    name: Models
  - description: OAuth authentication endpoints
    name: OAuth
  - description: Observability endpoints
    name: Observability
  - description: Organization endpoints
    name: Organization
  - description: Presets endpoints
    name: Presets
  - description: Provider information endpoints
    name: Providers
  - description: Rerank endpoints
    name: Rerank
  - description: OpenAI-compatible Responses API endpoints
    name: Responses
  - description: >-
      Management endpoints for SCIM group-to-workspace mappings, authenticated
      with a management key. These are not the SCIM 2.0 connector endpoints for
      your identity provider. In your identity provider, enter the SCIM endpoint
      URL shown when you enable provisioning under Settings > Members > SCIM
      Mappings. See
      https://openrouter.ai/docs/guides/features/scim-mappings#set-up-provisioning.
    name: SCIM
  - description: Speech-to-text endpoints
    name: STT
    x-displayName: Transcriptions
  - description: >-
      System One endpoints for models such as Jev, compatible with the TypeSafe
      SDKs. See https://openrouter.ai/docs/guides/community/typesafe-sdk.
    name: SystemOne
    x-displayName: System One
  - description: Text-to-speech endpoints
    name: TTS
    x-displayName: Speech
  - description: >-
      Store host-bound secrets for a workspace or for one intern. Scope is
      selected by the API key. Responses return metadata only, never secret
      values. See https://openrouter.ai/docs/guides/ori/vault.
    name: Vault
  - description: Video Generation endpoints
    name: Video Generation
  - description: Workspaces endpoints
    name: Workspaces
  - description: Alpha feature endpoints for Decisions requests
    name: alpha.decisions
externalDocs:
  description: OpenRouter Documentation
  url: https://openrouter.ai/docs
paths:
  /batches/{id}:
    get:
      tags:
        - Batch
      summary: Get a batch
      description: >-
        Returns a batch with its status and request counts. Batches in a
        terminal status include `results`. Failed batches report the reason in
        `error.message`. See the [Batch API
        Quickstart](https://openrouter.ai/docs/batch-quickstart).
      operationId: getBatches
      parameters:
        - description: The batch job id returned from submit.
          in: path
          name: id
          required: true
          schema:
            description: The batch job id returned from submit.
            example: batch_abc123
            minLength: 1
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchObject'
          description: The current batch job status.
        '401':
          content:
            application/json:
              example:
                error:
                  code: 401
                  message: No auth credentials found.
              schema:
                $ref: '#/components/schemas/BatchErrorResponse'
          description: Missing or invalid API key.
        '402':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchPaymentRequiredResponse'
          description: >-
            The finalized batch cost exceeds the available balance; metadata is
            returned with `results: null`. Top up credits and poll again to
            receive the persisted results.
        '404':
          content:
            application/json:
              example:
                error:
                  code: 404
                  message: Batch not found.
              schema:
                $ref: '#/components/schemas/BatchErrorResponse'
          description: No batch exists for the given id.
        '429':
          content:
            application/json:
              example:
                error:
                  code: 429
                  message: Rate limit exceeded.
              schema:
                $ref: '#/components/schemas/BatchErrorResponse'
          description: Batch API rate limit exceeded for the billable entity.
        '500':
          content:
            application/json:
              example:
                error:
                  code: 500
                  message: Internal server error.
              schema:
                $ref: '#/components/schemas/BatchErrorResponse'
          description: Unexpected error in the ingress or upstream batch-api.
        '502':
          content:
            application/json:
              example:
                error:
                  code: 502
                  message: Upstream batch-api is unavailable.
              schema:
                $ref: '#/components/schemas/BatchErrorResponse'
          description: >-
            The batch service is unavailable, or an upstream provider operation
            failed, including batch or file cleanup.
components:
  schemas:
    BatchObject:
      properties:
        completion_window:
          enum:
            - 24h
          type: string
        created_at:
          type: integer
        endpoint:
          type: string
        error:
          properties:
            message:
              type: string
          required:
            - message
          type:
            - object
            - 'null'
        finalized_at:
          type:
            - integer
            - 'null'
        id:
          type: string
        model:
          type: string
        object:
          enum:
            - batch
          type: string
        request_counts:
          properties:
            completed:
              type: integer
            failed:
              type: integer
            total:
              type: integer
          required:
            - total
            - completed
            - failed
          type: object
        results:
          items:
            properties:
              custom_id:
                type: string
              error:
                properties:
                  error_type:
                    $ref: '#/components/schemas/ApiErrorType'
                  message:
                    type: string
                  param:
                    type:
                      - string
                      - 'null'
                  type:
                    type: string
                required:
                  - type
                  - message
                  - param
                type:
                  - object
                  - 'null'
              id:
                type: string
              response:
                properties:
                  body:
                    anyOf:
                      - properties:
                          choices:
                            items:
                              properties:
                                finish_reason:
                                  $ref: '#/components/schemas/FinishReason'
                                index:
                                  type: integer
                                logprobs:
                                  properties:
                                    content:
                                      items:
                                        properties:
                                          bytes:
                                            items:
                                              type: integer
                                            type:
                                              - array
                                              - 'null'
                                          logprob:
                                            format: double
                                            type: number
                                          token:
                                            type: string
                                          top_logprobs:
                                            items:
                                              properties:
                                                bytes:
                                                  items:
                                                    type: integer
                                                  type:
                                                    - array
                                                    - 'null'
                                                logprob:
                                                  format: double
                                                  type: number
                                                token:
                                                  type: string
                                              required:
                                                - token
                                                - bytes
                                                - logprob
                                              type: object
                                            type: array
                                        required:
                                          - token
                                          - bytes
                                          - logprob
                                          - top_logprobs
                                        type: object
                                      type:
                                        - array
                                        - 'null'
                                    refusal:
                                      default: null
                                      items:
                                        properties:
                                          bytes:
                                            items:
                                              type: integer
                                            type:
                                              - array
                                              - 'null'
                                          logprob:
                                            format: double
                                            type: number
                                          token:
                                            type: string
                                          top_logprobs:
                                            items:
                                              properties:
                                                bytes:
                                                  items:
                                                    type: integer
                                                  type:
                                                    - array
                                                    - 'null'
                                                logprob:
                                                  format: double
                                                  type: number
                                                token:
                                                  type: string
                                              required:
                                                - token
                                                - bytes
                                                - logprob
                                              type: object
                                            type: array
                                        required:
                                          - token
                                          - bytes
                                          - logprob
                                          - top_logprobs
                                        type: object
                                      type:
                                        - array
                                        - 'null'
                                  required:
                                    - content
                                  type:
                                    - object
                                    - 'null'
                                message:
                                  properties:
                                    annotations:
                                      items:
                                        oneOf:
                                          - properties:
                                              file:
                                                properties:
                                                  content:
                                                    items:
                                                      oneOf:
                                                        - properties:
                                                            text:
                                                              type: string
                                                            type:
                                                              enum:
                                                                - text
                                                              type: string
                                                          required:
                                                            - type
                                                            - text
                                                          type: object
                                                        - properties:
                                                            image_url:
                                                              properties:
                                                                url:
                                                                  type: string
                                                              required:
                                                                - url
                                                              type: object
                                                            type:
                                                              enum:
                                                                - image_url
                                                              type: string
                                                          required:
                                                            - type
                                                            - image_url
                                                          type: object
                                                    type: array
                                                  hash:
                                                    type: string
                                                  name:
                                                    type: string
                                                required:
                                                  - hash
                                                  - content
                                                type: object
                                              type:
                                                enum:
                                                  - file
                                                type: string
                                            required:
                                              - type
                                              - file
                                            type: object
                                          - properties:
                                              type:
                                                enum:
                                                  - url_citation
                                                type: string
                                              url_citation:
                                                properties:
                                                  content:
                                                    type: string
                                                  end_index:
                                                    type: integer
                                                  start_index:
                                                    type: integer
                                                  title:
                                                    type: string
                                                  url:
                                                    type: string
                                                required:
                                                  - url
                                                  - start_index
                                                  - end_index
                                                  - title
                                                type: object
                                            required:
                                              - type
                                              - url_citation
                                            type: object
                                          - properties:
                                              type:
                                                enum:
                                                  - web_search_citation
                                                type: string
                                              web_search_citation:
                                                properties:
                                                  cited_text:
                                                    type: string
                                                  encrypted_index:
                                                    type: string
                                                  title:
                                                    type:
                                                      - string
                                                      - 'null'
                                                  url:
                                                    type: string
                                                required:
                                                  - url
                                                  - title
                                                type: object
                                            required:
                                              - type
                                              - web_search_citation
                                            type: object
                                      type: array
                                    content:
                                      type:
                                        - string
                                        - 'null'
                                    images:
                                      items:
                                        properties:
                                          image_url:
                                            properties:
                                              url:
                                                minLength: 1
                                                type: string
                                            required:
                                              - url
                                            type: object
                                          type:
                                            enum:
                                              - image_url
                                            type: string
                                        required:
                                          - type
                                          - image_url
                                        type: object
                                      type:
                                        - array
                                        - 'null'
                                    reasoning:
                                      type:
                                        - string
                                        - 'null'
                                    reasoning_details:
                                      items:
                                        anyOf:
                                          - $ref: >-
                                              #/components/schemas/ReasoningDetailSummary
                                          - $ref: >-
                                              #/components/schemas/ReasoningDetailEncrypted
                                          - $ref: '#/components/schemas/ReasoningDetailText'
                                          - $ref: >-
                                              #/components/schemas/ReasoningDetailServerToolCall
                                          - type: 'null'
                                          - type: 'null'
                                      type:
                                        - array
                                        - 'null'
                                    refusal:
                                      type:
                                        - string
                                        - 'null'
                                    role:
                                      enum:
                                        - assistant
                                      type: string
                                    tool_calls:
                                      items:
                                        properties:
                                          function:
                                            properties:
                                              arguments:
                                                type: string
                                              name:
                                                type: string
                                            required:
                                              - name
                                              - arguments
                                            type: object
                                          id:
                                            type: string
                                          index:
                                            type: integer
                                          type:
                                            enum:
                                              - function
                                            type: string
                                        required:
                                          - index
                                          - id
                                          - type
                                          - function
                                        type: object
                                      type: array
                                  required:
                                    - role
                                    - content
                                    - refusal
                                  type: object
                                native_finish_reason:
                                  type:
                                    - string
                                    - 'null'
                              required:
                                - index
                                - message
                                - finish_reason
                                - native_finish_reason
                                - logprobs
                              type: object
                            type: array
                          created:
                            type: integer
                          debug:
                            additionalProperties: {}
                            properties:
                              echo_upstream_body:
                                additionalProperties: {}
                                type: object
                              timings:
                                properties:
                                  epoch_ms:
                                    type: integer
                                  event:
                                    enum:
                                      - adapter_request
                                      - upstream_headers_received
                                      - first_token_received
                                      - upstream_body_ended
                                    type: string
                                  start_ms:
                                    type: integer
                                required:
                                  - start_ms
                                  - event
                                  - epoch_ms
                                type: object
                            type: object
                          id:
                            type: string
                          model:
                            type: string
                          object:
                            enum:
                              - chat.completion
                            type: string
                          openrouter_metadata:
                            $ref: '#/components/schemas/OpenRouterMetadata'
                          provider:
                            type:
                              - string
                              - 'null'
                          service_tier:
                            type:
                              - string
                              - 'null'
                          system_fingerprint:
                            type:
                              - string
                              - 'null'
                          usage:
                            properties:
                              completion_tokens:
                                description: The tokens generated
                                type: integer
                              completion_tokens_details:
                                properties:
                                  audio_tokens:
                                    description: >-
                                      Tokens generated by the model for audio
                                      output.
                                    type:
                                      - integer
                                      - 'null'
                                  image_tokens:
                                    description: >-
                                      Tokens generated by the model for image
                                      output.
                                    type:
                                      - integer
                                      - 'null'
                                  reasoning_tokens:
                                    description: >-
                                      Tokens generated by the model for
                                      reasoning.
                                    type:
                                      - integer
                                      - 'null'
                                type:
                                  - object
                                  - 'null'
                              prompt_tokens:
                                description: >-
                                  Including images, input audio, and tools if
                                  any
                                type: integer
                              prompt_tokens_details:
                                description: Breakdown of tokens used in the prompt.
                                properties:
                                  audio_tokens:
                                    description: Tokens used for input audio.
                                    type:
                                      - integer
                                      - 'null'
                                  cache_write_tokens:
                                    description: >-
                                      Tokens written to cache. Only returned for
                                      models with explicit caching and cache
                                      write pricing.
                                    type:
                                      - integer
                                      - 'null'
                                  cached_tokens:
                                    description: Tokens cached by the endpoint.
                                    type:
                                      - integer
                                      - 'null'
                                  file_tokens:
                                    description: Tokens used for input files/documents.
                                    type:
                                      - integer
                                      - 'null'
                                  video_tokens:
                                    description: Tokens used for input video.
                                    type:
                                      - integer
                                      - 'null'
                                type:
                                  - object
                                  - 'null'
                              server_tool_use:
                                description: >-
                                  Usage for server-side tool execution (e.g.,
                                  web search)
                                properties:
                                  tool_calls_executed:
                                    description: >-
                                      Number of OpenRouter server tool calls
                                      that executed and produced a result.
                                    type:
                                      - integer
                                      - 'null'
                                  tool_calls_requested:
                                    description: >-
                                      Total number of OpenRouter
                                      server-orchestrated tool calls the model
                                      requested, across all tool types.
                                      Provider-native tools (e.g. native web
                                      search) are not counted here.
                                    type:
                                      - integer
                                      - 'null'
                                  web_search_requests:
                                    description: >-
                                      Number of web searches performed by
                                      server-side tools. For server-orchestrated
                                      tool calls a web search is also counted in
                                      tool_calls_requested; provider-native web
                                      search may report web_search_requests
                                      only. Do not sum the two.
                                    type:
                                      - integer
                                      - 'null'
                                type:
                                  - object
                                  - 'null'
                              server_tool_use_details:
                                description: >-
                                  Usage for server-side tool execution (e.g.,
                                  web search)
                                properties:
                                  tool_calls_executed:
                                    description: >-
                                      Number of OpenRouter server tool calls
                                      that executed and produced a result.
                                    type:
                                      - integer
                                      - 'null'
                                  tool_calls_requested:
                                    description: >-
                                      Total number of OpenRouter
                                      server-orchestrated tool calls the model
                                      requested, across all tool types.
                                      Provider-native tools (e.g. native web
                                      search) are not counted here.
                                    type:
                                      - integer
                                      - 'null'
                                  web_search_requests:
                                    description: >-
                                      Number of web searches performed by
                                      server-side tools. For server-orchestrated
                                      tool calls a web search is also counted in
                                      tool_calls_requested; provider-native web
                                      search may report web_search_requests
                                      only. Do not sum the two.
                                    type:
                                      - integer
                                      - 'null'
                                type:
                                  - object
                                  - 'null'
                              total_tokens:
                                description: Sum of the above two fields
                                type: integer
                            required:
                              - prompt_tokens
                              - completion_tokens
                              - total_tokens
                            type: object
                        required:
                          - model
                          - id
                          - created
                          - object
                          - choices
                        type: object
                      - $ref: '#/components/schemas/OpenResponsesResult'
                      - properties:
                          container:
                            $ref: '#/components/schemas/AnthropicContainer'
                          content:
                            items:
                              $ref: '#/components/schemas/ORAnthropicContentBlock'
                            type: array
                          id:
                            type: string
                          input_transformations:
                            items:
                              $ref: >-
                                #/components/schemas/AnthropicInputTransformation
                            type:
                              - array
                              - 'null'
                          model:
                            type: string
                          role:
                            enum:
                              - assistant
                            type: string
                          stop_details:
                            $ref: '#/components/schemas/AnthropicRefusalStopDetails'
                          stop_reason:
                            $ref: '#/components/schemas/ORAnthropicStopReason'
                          stop_sequence:
                            type:
                              - string
                              - 'null'
                          type:
                            enum:
                              - message
                            type: string
                          usage:
                            allOf:
                              - $ref: '#/components/schemas/AnthropicUsage'
                              - properties:
                                  iterations:
                                    items:
                                      $ref: >-
                                        #/components/schemas/AnthropicUsageIteration
                                    type: array
                                  speed:
                                    $ref: '#/components/schemas/AnthropicSpeed'
                                type: object
                            example:
                              cache_creation: null
                              cache_creation_input_tokens: null
                              cache_read_input_tokens: null
                              inference_geo: null
                              input_tokens: 100
                              output_tokens: 50
                              output_tokens_details: null
                              server_tool_use: null
                              service_tier: standard
                        required:
                          - id
                          - type
                          - role
                          - container
                          - content
                          - model
                          - stop_reason
                          - stop_details
                          - stop_sequence
                          - usage
                        type: object
                      - description: Embeddings response containing embedding vectors
                        example:
                          data:
                            - embedding:
                                - 0.0023064255
                                - -0.009327292
                                - 0.015797347
                              index: 0
                              object: embedding
                          model: openai/text-embedding-3-small
                          object: list
                          usage:
                            prompt_tokens: 8
                            total_tokens: 8
                        properties:
                          data:
                            description: List of embedding objects
                            example:
                              - embedding:
                                  - 0.0023064255
                                  - -0.009327292
                                  - 0.015797347
                                index: 0
                                object: embedding
                            items:
                              description: A single embedding object
                              example:
                                embedding:
                                  - 0.0023064255
                                  - -0.009327292
                                  - 0.015797347
                                index: 0
                                object: embedding
                              properties:
                                embedding:
                                  anyOf:
                                    - items:
                                        type: number
                                      type: array
                                    - type: string
                                  description: >-
                                    Embedding vector as an array of floats or a
                                    base64 string
                                  example:
                                    - 0.0023064255
                                    - -0.009327292
                                    - 0.015797347
                                index:
                                  description: Index of the embedding in the input list
                                  example: 0
                                  type: integer
                                object:
                                  enum:
                                    - embedding
                                  type: string
                              required:
                                - object
                                - embedding
                              type: object
                            type: array
                          id:
                            description: Unique identifier for the embeddings response
                            example: embd-1234567890
                            type: string
                          model:
                            description: The model used for embeddings
                            example: openai/text-embedding-3-small
                            type: string
                          object:
                            enum:
                              - list
                            type: string
                          usage:
                            description: Token usage statistics
                            example:
                              prompt_tokens: 8
                              total_tokens: 8
                            properties:
                              cost:
                                description: Cost of the request in credits
                                example: 0.0001
                                format: double
                                type: number
                              cost_details:
                                $ref: '#/components/schemas/CostDetails'
                              is_byok:
                                description: >-
                                  Whether a request was made using a Bring Your
                                  Own Key configuration
                                type: boolean
                              prompt_tokens:
                                description: Number of tokens in the input
                                example: 8
                                type: integer
                              prompt_tokens_details:
                                description: >-
                                  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.
                                properties:
                                  audio_tokens:
                                    description: Number of audio tokens in the input
                                    type: integer
                                  file_tokens:
                                    description: >-
                                      Number of file/document tokens in the
                                      input
                                    type: integer
                                  image_tokens:
                                    description: Number of image tokens in the input
                                    example: 258
                                    type: integer
                                  text_tokens:
                                    description: Number of text tokens in the input
                                    example: 8
                                    type: integer
                                  video_tokens:
                                    description: Number of video tokens in the input
                                    type: integer
                                type: object
                              total_tokens:
                                description: Total number of tokens used
                                example: 8
                                type: integer
                            required:
                              - prompt_tokens
                              - total_tokens
                            type: object
                        required:
                          - object
                          - data
                          - model
                        type: object
                  request_id:
                    type:
                      - string
                      - 'null'
                  status_code:
                    type: integer
                required:
                  - status_code
                  - request_id
                  - body
                type:
                  - object
                  - 'null'
            required:
              - id
              - custom_id
              - response
              - error
            type: object
          type:
            - array
            - 'null'
        status:
          enum:
            - validating
            - in_progress
            - finalizing
            - completed
            - failed
            - expired
            - cancelling
            - cancelled
          type: string
        usage:
          properties:
            cache_creation:
              $ref: '#/components/schemas/AnthropicCacheCreation'
            completion_tokens:
              description: The tokens generated
              type: integer
            completion_tokens_details:
              properties:
                audio_tokens:
                  description: Tokens generated by the model for audio output.
                  type:
                    - integer
                    - 'null'
                image_tokens:
                  description: Tokens generated by the model for image output.
                  type:
                    - integer
                    - 'null'
                reasoning_tokens:
                  description: Tokens generated by the model for reasoning.
                  type:
                    - integer
                    - 'null'
              type:
                - object
                - 'null'
            cost:
              description: Cost of the completion
              format: double
              type:
                - number
                - 'null'
            cost_details:
              $ref: '#/components/schemas/CostDetails'
            is_byok:
              description: >-
                Whether a request was made using a Bring Your Own Key
                configuration
              type: boolean
            iterations:
              items:
                $ref: '#/components/schemas/AnthropicUsageIteration'
              type:
                - array
                - 'null'
            prompt_tokens:
              description: Including images, input audio, and tools if any
              type: integer
            prompt_tokens_details:
              description: Breakdown of tokens used in the prompt.
              properties:
                audio_tokens:
                  description: Tokens used for input audio.
                  type:
                    - integer
                    - 'null'
                cache_write_tokens:
                  description: >-
                    Tokens written to cache. Only returned for models with
                    explicit caching and cache write pricing.
                  type:
                    - integer
                    - 'null'
                cached_tokens:
                  description: Tokens cached by the endpoint.
                  type:
                    - integer
                    - 'null'
                file_tokens:
                  description: Tokens used for input files/documents.
                  type:
                    - integer
                    - 'null'
                video_tokens:
                  description: Tokens used for input video.
                  type:
                    - integer
                    - 'null'
              type:
                - object
                - 'null'
            server_tool_use:
              description: Usage for server-side tool execution (e.g., web search)
              properties:
                tool_calls_executed:
                  description: >-
                    Number of OpenRouter server tool calls that executed and
                    produced a result.
                  type:
                    - integer
                    - 'null'
                tool_calls_requested:
                  description: >-
                    Total number of OpenRouter server-orchestrated tool calls
                    the model requested, across all tool types. Provider-native
                    tools (e.g. native web search) are not counted here.
                  type:
                    - integer
                    - 'null'
                web_search_requests:
                  description: >-
                    Number of web searches performed by server-side tools. For
                    server-orchestrated tool calls a web search is also counted
                    in tool_calls_requested; provider-native web search may
                    report web_search_requests only. Do not sum the two.
                  type:
                    - integer
                    - 'null'
              type:
                - object
                - 'null'
            service_tier:
              description: The service tier used by the upstream provider for this request
              type:
                - string
                - 'null'
            speed:
              $ref: '#/components/schemas/AnthropicSpeed'
            total_tokens:
              description: Sum of the above two fields
              type: integer
          required:
            - prompt_tokens
            - completion_tokens
            - total_tokens
          type:
            - object
            - 'null'
      required:
        - id
        - object
        - endpoint
        - model
        - completion_window
        - status
        - created_at
        - finalized_at
        - request_counts
        - usage
        - results
        - error
      type: object
    BatchErrorResponse:
      example:
        error:
          code: 400
          message: custom_id is required on requests[0].
      properties:
        error:
          properties:
            code:
              type: integer
            message:
              type: string
          required:
            - code
            - message
          type: object
      required:
        - error
      type: object
    BatchPaymentRequiredResponse:
      description: >-
        Batch metadata with results withheld (results: null) plus the standard
        error envelope. Add credits to unlock the already-computed results; the
        batch is not re-run.
      properties:
        completion_window:
          enum:
            - 24h
          type: string
        created_at:
          type: integer
        endpoint:
          type: string
        error:
          properties:
            code:
              type: integer
            message:
              type: string
          required:
            - code
            - message
          type: object
        finalized_at:
          type:
            - integer
            - 'null'
        id:
          type: string
        model:
          type: string
        object:
          enum:
            - batch
          type: string
        request_counts:
          properties:
            completed:
              type: integer
            failed:
              type: integer
            total:
              type: integer
          required:
            - total
            - completed
            - failed
          type: object
        results:
          description: 'Always null: results are withheld until the batch charge is covered.'
          type: 'null'
        status:
          enum:
            - validating
            - in_progress
            - finalizing
            - completed
            - failed
            - expired
            - cancelling
            - cancelled
          type: string
        usage:
          properties:
            cache_creation:
              $ref: '#/components/schemas/AnthropicCacheCreation'
            completion_tokens:
              description: The tokens generated
              type: integer
            completion_tokens_details:
              properties:
                audio_tokens:
                  description: Tokens generated by the model for audio output.
                  type:
                    - integer
                    - 'null'
                image_tokens:
                  description: Tokens generated by the model for image output.
                  type:
                    - integer
                    - 'null'
                reasoning_tokens:
                  description: Tokens generated by the model for reasoning.
                  type:
                    - integer
                    - 'null'
              type:
                - object
                - 'null'
            cost:
              description: Cost of the completion
              format: double
              type:
                - number
                - 'null'
            cost_details:
              $ref: '#/components/schemas/CostDetails'
            is_byok:
              description: >-
                Whether a request was made using a Bring Your Own Key
                configuration
              type: boolean
            iterations:
              items:
                $ref: '#/components/schemas/AnthropicUsageIteration'
              type:
                - array
                - 'null'
            prompt_tokens:
              description: Including images, input audio, and tools if any
              type: integer
            prompt_tokens_details:
              description: Breakdown of tokens used in the prompt.
              properties:
                audio_tokens:
                  description: Tokens used for input audio.
                  type:
                    - integer
                    - 'null'
                cache_write_tokens:
                  description: >-
                    Tokens written to cache. Only returned for models with
                    explicit caching and cache write pricing.
                  type:
                    - integer
                    - 'null'
                cached_tokens:
                  description: Tokens cached by the endpoint.
                  type:
                    - integer
                    - 'null'
                file_tokens:
                  description: Tokens used for input files/documents.
                  type:
                    - integer
                    - 'null'
                video_tokens:
                  description: Tokens used for input video.
                  type:
                    - integer
                    - 'null'
              type:
                - object
                - 'null'
            server_tool_use:
              description: Usage for server-side tool execution (e.g., web search)
              properties:
                tool_calls_executed:
                  description: >-
                    Number of OpenRouter server tool calls that executed and
                    produced a result.
                  type:
                    - integer
                    - 'null'
                tool_calls_requested:
                  description: >-
                    Total number of OpenRouter server-orchestrated tool calls
                    the model requested, across all tool types. Provider-native
                    tools (e.g. native web search) are not counted here.
                  type:
                    - integer
                    - 'null'
                web_search_requests:
                  description: >-
                    Number of web searches performed by server-side tools. For
                    server-orchestrated tool calls a web search is also counted
                    in tool_calls_requested; provider-native web search may
                    report web_search_requests only. Do not sum the two.
                  type:
                    - integer
                    - 'null'
              type:
                - object
                - 'null'
            service_tier:
              description: The service tier used by the upstream provider for this request
              type:
                - string
                - 'null'
            speed:
              $ref: '#/components/schemas/AnthropicSpeed'
            total_tokens:
              description: Sum of the above two fields
              type: integer
          required:
            - prompt_tokens
            - completion_tokens
            - total_tokens
          type:
            - object
            - 'null'
      required:
        - id
        - object
        - endpoint
        - model
        - completion_window
        - status
        - created_at
        - finalized_at
        - request_counts
        - usage
        - results
        - error
      type: object
    ApiErrorType:
      description: Canonical OpenRouter error type, stable across all API formats
      enum:
        - context_length_exceeded
        - max_tokens_exceeded
        - token_limit_exceeded
        - string_too_long
        - authentication
        - permission_denied
        - payment_required
        - rate_limit_exceeded
        - provider_overloaded
        - provider_unavailable
        - invalid_request
        - invalid_prompt
        - not_found
        - precondition_failed
        - payload_too_large
        - unprocessable
        - content_policy_violation
        - refusal
        - invalid_image
        - image_too_large
        - image_too_small
        - unsupported_image_format
        - image_not_found
        - image_download_failed
        - server
        - timeout
        - unmapped
      example: rate_limit_exceeded
      type: string
    FinishReason:
      enum:
        - stop
        - length
        - tool_calls
        - content_filter
        - function_call
      example: stop
      type: string
    ReasoningDetailSummary:
      description: Reasoning detail summary schema
      example:
        summary: >-
          The model analyzed the problem by first identifying key constraints,
          then evaluating possible solutions...
        type: reasoning.summary
      properties:
        format:
          $ref: '#/components/schemas/ReasoningFormat'
        id:
          type:
            - string
            - 'null'
        index:
          type: integer
        summary:
          type: string
        type:
          enum:
            - reasoning.summary
          type: string
      required:
        - type
        - summary
      type: object
    ReasoningDetailEncrypted:
      description: Reasoning detail encrypted schema
      example:
        data: encrypted data
        type: reasoning.encrypted
      properties:
        data:
          type: string
        format:
          $ref: '#/components/schemas/ReasoningFormat'
        id:
          type:
            - string
            - 'null'
        index:
          type: integer
        type:
          enum:
            - reasoning.encrypted
          type: string
      required:
        - type
        - data
      type: object
    ReasoningDetailText:
      description: Reasoning detail text schema
      example:
        signature: signature
        text: >-
          The model analyzed the problem by first identifying key constraints,
          then evaluating possible solutions...
        type: reasoning.text
      properties:
        format:
          $ref: '#/components/schemas/ReasoningFormat'
        id:
          type:
            - string
            - 'null'
        index:
          type: integer
        signature:
          type:
            - string
            - 'null'
        text:
          type:
            - string
            - 'null'
        type:
          enum:
            - reasoning.text
          type: string
      required:
        - type
      type: object
    ReasoningDetailServerToolCall:
      description: >-
        Record of an OpenRouter server-tool invocation (e.g. openrouter:fusion),
        carried in reasoning_details so a prior tool call can be rehydrated into
        a later turn of the same conversation.
      example:
        arguments: '{"prompt":"Compare carbon tax proposals"}'
        result: '{"status":"ok","models":["openai/gpt-4o"]}'
        tool_call_id: call_abc123
        tool_name: openrouter:fusion
        type: reasoning.server_tool_call
      properties:
        arguments:
          type: string
        format:
          $ref: '#/components/schemas/ReasoningFormat'
        id:
          type:
            - string
            - 'null'
        index:
          type: integer
        result:
          type: string
        tool_call_id:
          type:
            - string
            - 'null'
        tool_name:
          type: string
        type:
          enum:
            - reasoning.server_tool_call
          type: string
      required:
        - type
        - tool_name
        - arguments
        - result
      type: object
    OpenRouterMetadata:
      example:
        attempt: 1
        endpoints:
          available:
            - model: openai/gpt-4o
              provider: OpenAI
              selected: true
          total: 1
        generation_time: 2016
        is_byok: false
        region: iad
        requested: openai/gpt-4o
        strategy: direct
        summary: available=1, selected=OpenAI
      properties:
        attempt:
          type: integer
        attempts:
          items:
            $ref: '#/components/schemas/RouterAttempt'
          type: array
        endpoints:
          $ref: '#/components/schemas/EndpointsMetadata'
        generation_time:
          description: >-
            Milliseconds measured for the generation, from dispatching the
            upstream request until its response body ended. Divide the
            completion token count by this for throughput. Absent when no
            upstream request was dispatched.
          example: 2016
          type: integer
        is_byok:
          type: boolean
        params:
          $ref: '#/components/schemas/RouterParams'
        pipeline:
          items:
            $ref: '#/components/schemas/PipelineStage'
          type: array
        region:
          type:
            - string
            - 'null'
        requested:
          type: string
        strategy:
          $ref: '#/components/schemas/RoutingStrategy'
        summary:
          type: string
      required:
        - requested
        - strategy
        - region
        - summary
        - attempt
        - is_byok
        - endpoints
      type: object
    OpenResponsesResult:
      allOf:
        - $ref: '#/components/schemas/BaseResponsesResult'
        - properties:
            error_type:
              $ref: '#/components/schemas/ApiErrorType'
            openrouter_metadata:
              $ref: '#/components/schemas/OpenRouterMetadata'
            output:
              items:
                $ref: '#/components/schemas/OutputItems'
              type: array
            service_tier:
              type:
                - string
                - 'null'
            text:
              $ref: '#/components/schemas/TextExtendedConfig'
            usage:
              $ref: '#/components/schemas/Usage'
          type: object
      description: Complete non-streaming response from the Responses API
      example:
        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
    AnthropicContainer:
      example:
        expires_at: '2026-04-08T00:00:00Z'
        id: ctr_01abc
        skills: null
      properties:
        expires_at:
          type: string
        id:
          type: string
        skills:
          default: null
          items:
            $ref: '#/components/schemas/AnthropicContainerSkill'
          type:
            - array
            - 'null'
      required:
        - id
        - expires_at
      type:
        - object
        - 'null'
    ORAnthropicContentBlock:
      discriminator:
        mapping:
          advisor_tool_result:
            $ref: '#/components/schemas/AnthropicAdvisorToolResult'
          bash_code_execution_tool_result:
            $ref: '#/components/schemas/AnthropicBashCodeExecutionToolResult'
          code_execution_tool_result:
            $ref: '#/components/schemas/AnthropicCodeExecutionToolResult'
          compaction:
            $ref: '#/components/schemas/AnthropicCompactionBlock'
          container_upload:
            $ref: '#/components/schemas/AnthropicContainerUpload'
          openrouter_bash_tool_result:
            $ref: '#/components/schemas/ORAnthropicBashToolResult'
          openrouter_shell_tool_result:
            $ref: '#/components/schemas/ORAnthropicShellToolResult'
          redacted_thinking:
            $ref: '#/components/schemas/AnthropicRedactedThinkingBlock'
          server_tool_use:
            $ref: '#/components/schemas/ORAnthropicServerToolUseBlock'
          text:
            $ref: '#/components/schemas/AnthropicTextBlock'
          text_editor_code_execution_tool_result:
            $ref: '#/components/schemas/AnthropicTextEditorCodeExecutionToolResult'
          thinking:
            $ref: '#/components/schemas/AnthropicThinkingBlock'
          tool_search_tool_result:
            $ref: '#/components/schemas/AnthropicToolSearchToolResult'
          tool_use:
            $ref: '#/components/schemas/AnthropicToolUseBlock'
          web_fetch_tool_result:
            $ref: '#/components/schemas/AnthropicWebFetchToolResult'
          web_search_tool_result:
            $ref: '#/components/schemas/AnthropicWebSearchToolResult'
        propertyName: type
      example:
        citations: null
        text: Hello, world!
        type: text
      oneOf:
        - $ref: '#/components/schemas/AnthropicTextBlock'
        - $ref: '#/components/schemas/AnthropicToolUseBlock'
        - $ref: '#/components/schemas/AnthropicThinkingBlock'
        - $ref: '#/components/schemas/AnthropicRedactedThinkingBlock'
        - $ref: '#/components/schemas/ORAnthropicServerToolUseBlock'
        - $ref: '#/components/schemas/AnthropicWebSearchToolResult'
        - $ref: '#/components/schemas/AnthropicWebFetchToolResult'
        - $ref: '#/components/schemas/AnthropicCodeExecutionToolResult'
        - $ref: '#/components/schemas/AnthropicBashCodeExecutionToolResult'
        - $ref: '#/components/schemas/AnthropicTextEditorCodeExecutionToolResult'
        - $ref: '#/components/schemas/AnthropicToolSearchToolResult'
        - $ref: '#/components/schemas/AnthropicContainerUpload'
        - $ref: '#/components/schemas/AnthropicCompactionBlock'
        - $ref: '#/components/schemas/AnthropicAdvisorToolResult'
        - $ref: '#/components/schemas/ORAnthropicShellToolResult'
        - $ref: '#/components/schemas/ORAnthropicBashToolResult'
    AnthropicInputTransformation:
      additionalProperties: {}
      description: A server-side transformation Anthropic applied to the request input
      example:
        path: messages.1.content.0
        reason: prefix_binding_mismatch
        type: thinking_dropped
      properties:
        path:
          type:
            - string
            - 'null'
        reason:
          type:
            - string
            - 'null'
        type:
          type: string
      required:
        - type
      type: object
    AnthropicRefusalStopDetails:
      description: Structured information about a refusal
      example:
        category: cyber
        explanation: The request was refused due to policy.
        type: refusal
      properties:
        category:
          enum:
            - cyber
            - bio
            - frontier_llm
            - reasoning_extraction
            - general_harms
            - null
          type:
            - string
            - 'null'
        explanation:
          type:
            - string
            - 'null'
        type:
          enum:
            - refusal
          type: string
      required:
        - type
        - category
        - explanation
      type:
        - object
        - 'null'
    ORAnthropicStopReason:
      enum:
        - end_turn
        - max_tokens
        - model_context_window_exceeded
        - stop_sequence
        - tool_use
        - pause_turn
        - refusal
        - compaction
        - null
      example: end_turn
      type:
        - string
        - 'null'
    AnthropicUsage:
      example:
        cache_creation: null
        cache_creation_input_tokens: null
        cache_read_input_tokens: null
        inference_geo: null
        input_tokens: 100
        output_tokens: 50
        output_tokens_details: null
        server_tool_use: null
        service_tier: standard
      properties:
        cache_creation:
          $ref: '#/components/schemas/AnthropicCacheCreation'
        cache_creation_input_tokens:
          type:
            - integer
            - 'null'
        cache_read_input_tokens:
          type:
            - integer
            - 'null'
        inference_geo:
          type:
            - string
            - 'null'
        input_tokens:
          type: integer
        output_tokens:
          type: integer
        output_tokens_details:
          $ref: '#/components/schemas/AnthropicOutputTokensDetails'
        server_tool_use:
          $ref: '#/components/schemas/AnthropicServerToolUsage'
        service_tier:
          $ref: '#/components/schemas/AnthropicServiceTier'
      required:
        - input_tokens
        - output_tokens
        - output_tokens_details
        - cache_creation_input_tokens
        - cache_read_input_tokens
        - cache_creation
        - inference_geo
        - server_tool_use
        - service_tier
      type: object
    AnthropicUsageIteration:
      anyOf:
        - $ref: '#/components/schemas/AnthropicCompactionUsageIteration'
        - $ref: '#/components/schemas/AnthropicMessageUsageIteration'
        - $ref: '#/components/schemas/AnthropicAdvisorMessageUsageIteration'
        - $ref: '#/components/schemas/AnthropicUnknownUsageIteration'
      example:
        cache_creation: null
        cache_creation_input_tokens: 0
        cache_read_input_tokens: 0
        input_tokens: 100
        output_tokens: 50
        type: message
    AnthropicSpeed:
      enum:
        - fast
        - standard
        - null
      example: standard
      type:
        - string
        - 'null'
    CostDetails:
      description: Breakdown of upstream inference costs
      example:
        upstream_inference_completions_cost: 0.0004
        upstream_inference_cost: null
        upstream_inference_prompt_cost: 0.0008
      properties:
        server_tool_cost:
          description: >-
            Metered server-tool execution cost (for example, shell sandbox time)
            billed for this request, in USD. Matches the billed checkpoint and
            settlement amounts exactly. 0 when a metered server tool ran but
            settled at zero dollars; absent when no metered server tool ran.
          format: double
          type:
            - number
            - 'null'
        upstream_inference_completions_cost:
          format: double
          type: number
        upstream_inference_cost:
          format: double
          type:
            - number
            - 'null'
        upstream_inference_prompt_cost:
          format: double
          type: number
      required:
        - upstream_inference_prompt_cost
        - upstream_inference_completions_cost
      type:
        - object
        - 'null'
    AnthropicCacheCreation:
      example:
        ephemeral_1h_input_tokens: 0
        ephemeral_5m_input_tokens: 100
      properties:
        ephemeral_1h_input_tokens:
          type: integer
        ephemeral_5m_input_tokens:
          type: integer
      required:
        - ephemeral_5m_input_tokens
        - ephemeral_1h_input_tokens
      type:
        - object
        - 'null'
    ReasoningFormat:
      enum:
        - unknown
        - openai-responses-v1
        - azure-openai-responses-v1
        - bedrock-openai-responses-v1
        - bedrock-xai-responses-v1
        - xai-responses-v1
        - meta-responses-v1
        - anthropic-claude-v1
        - google-gemini-v1
        - null
      example: unknown
      type:
        - string
        - 'null'
    RouterAttempt:
      example:
        model: openai/gpt-4o
        provider: OpenAI
        status: 200
      properties:
        model:
          type: string
        provider:
          type: string
        status:
          type: integer
      required:
        - provider
        - model
        - status
      type: object
    EndpointsMetadata:
      example:
        available:
          - model: openai/gpt-4o
            provider: OpenAI
            selected: true
        total: 3
      properties:
        available:
          items:
            $ref: '#/components/schemas/EndpointInfo'
          type: array
        total:
          type: integer
      required:
        - total
        - available
      type: object
    RouterParams:
      additionalProperties: {}
      example:
        version_group: anthropic/claude-sonnet-4
      properties:
        quality_floor:
          format: double
          type: number
        throughput_floor:
          format: double
          type: number
        version_group:
          type: string
      type: object
    PipelineStage:
      example:
        data:
          action: redacted
          engines:
            - presidio
          flagged: true
          matched_entity_types:
            - EMAIL
            - PHONE
        name: content-filter
        summary: PII redacted via Presidio (EMAIL, PHONE)
        type: guardrail
      properties:
        cost_usd:
          format: double
          type:
            - number
            - 'null'
        data:
          additionalProperties: {}
          type: object
        guardrail_id:
          type: string
        guardrail_scope:
          type: string
        name:
          type: string
        summary:
          type: string
        type:
          $ref: '#/components/schemas/PipelineStageType'
      required:
        - type
        - name
      type: object
    RoutingStrategy:
      enum:
        - direct
        - auto
        - free
        - latest
        - alias
        - fallback
        - pareto
        - bodybuilder
        - fusion
      example: direct
      type: string
    BaseResponsesResult:
      example:
        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: []
        parallel_tool_calls: true
        presence_penalty: null
        status: completed
        temperature: null
        tool_choice: auto
        tools: []
        top_p: null
      properties:
        background:
          type:
            - boolean
            - 'null'
        completed_at:
          type:
            - integer
            - 'null'
        created_at:
          type: integer
        error:
          $ref: '#/components/schemas/ResponsesErrorField'
        frequency_penalty:
          format: double
          type:
            - number
            - 'null'
        id:
          type: string
        incomplete_details:
          $ref: '#/components/schemas/IncompleteDetails'
        instructions:
          $ref: '#/components/schemas/BaseInputs'
        max_output_tokens:
          type:
            - integer
            - 'null'
        max_tool_calls:
          type:
            - integer
            - 'null'
        metadata:
          $ref: '#/components/schemas/RequestMetadata'
        model:
          type: string
        object:
          enum:
            - response
          type: string
        output:
          items:
            discriminator:
              mapping:
                apply_patch_call:
                  $ref: '#/components/schemas/OutputItemApplyPatchCall'
                code_interpreter_call:
                  $ref: '#/components/schemas/OutputItemCodeInterpreterCall'
                custom_tool_call:
                  $ref: '#/components/schemas/OutputItemCustomToolCall'
                file_search_call:
                  $ref: '#/components/schemas/OutputItemFileSearchCall'
                function_call:
                  $ref: '#/components/schemas/OutputItemFunctionCall'
                image_generation_call:
                  $ref: '#/components/schemas/OutputItemImageGenerationCall'
                message:
                  $ref: '#/components/schemas/OutputMessage'
                reasoning:
                  $ref: '#/components/schemas/OutputItemReasoning'
                web_search_call:
                  $ref: '#/components/schemas/OutputItemWebSearchCall'
              propertyName: type
            oneOf:
              - $ref: '#/components/schemas/OutputMessage'
              - $ref: '#/components/schemas/OutputItemReasoning'
              - $ref: '#/components/schemas/OutputItemFunctionCall'
              - $ref: '#/components/schemas/OutputItemCustomToolCall'
              - $ref: '#/components/schemas/OutputItemWebSearchCall'
              - $ref: '#/components/schemas/OutputItemFileSearchCall'
              - $ref: '#/components/schemas/OutputItemImageGenerationCall'
              - $ref: '#/components/schemas/OutputItemApplyPatchCall'
              - $ref: '#/components/schemas/OutputItemCodeInterpreterCall'
          type: array
        output_text:
          type: string
        parallel_tool_calls:
          type: boolean
        presence_penalty:
          format: double
          type:
            - number
            - 'null'
        previous_response_id:
          type:
            - string
            - 'null'
        prompt:
          $ref: '#/components/schemas/StoredPromptTemplate'
        prompt_cache_key:
          type:
            - string
            - 'null'
        prompt_cache_options:
          $ref: '#/components/schemas/PromptCacheOptions'
        reasoning:
          $ref: '#/components/schemas/BaseReasoningConfig'
        safety_identifier:
          type:
            - string
            - 'null'
        service_tier:
          $ref: '#/components/schemas/ServiceTier'
        status:
          $ref: '#/components/schemas/OpenAIResponsesResponseStatus'
        store:
          type: boolean
        temperature:
          format: double
          type:
            - number
            - 'null'
        text:
          $ref: '#/components/schemas/TextConfig'
        tool_choice:
          $ref: '#/components/schemas/OpenAIResponsesToolChoice'
        tools:
          items:
            oneOf:
              - allOf:
                  - $ref: '#/components/schemas/FunctionTool'
                  - properties:
                      async:
                        description: >-
                          Lets the model keep working after calling this tool
                          instead of waiting for its output. The tool is still
                          executed by the client; return the result in a later
                          request as a `function_call_output` with the original
                          `call_id`. Only honored by providers whose Responses
                          API supports async tools; ignored elsewhere.
                        example: true
                        type: boolean
                      defer_loading:
                        description: >-
                          Withhold this tool from the model until
                          `openrouter:tool_search` finds it. Requires the tool
                          search server tool; at least one tool must remain
                          non-deferred.
                        example: true
                        type: boolean
                    type: object
                description: Function tool definition
                example:
                  description: Get the current weather in a location
                  name: get_weather
                  parameters:
                    properties:
                      location:
                        description: The city and state
                        type: string
                      unit:
                        enum:
                          - celsius
                          - fahrenheit
                        type: string
                    required:
                      - location
                    type: object
                  type: function
              - $ref: '#/components/schemas/Preview_WebSearchServerTool'
              - $ref: '#/components/schemas/Preview_20250311_WebSearchServerTool'
              - $ref: '#/components/schemas/Legacy_WebSearchServerTool'
              - $ref: '#/components/schemas/WebSearchServerTool'
              - $ref: '#/components/schemas/FileSearchServerTool'
              - $ref: '#/components/schemas/ComputerUseServerTool'
              - $ref: '#/components/schemas/CodeInterpreterServerTool'
              - $ref: '#/components/schemas/McpServerTool'
              - $ref: '#/components/schemas/ImageGenerationServerTool'
              - $ref: '#/components/schemas/CodexLocalShellTool'
              - $ref: '#/components/schemas/ShellServerTool'
              - $ref: '#/components/schemas/ApplyPatchServerTool'
              - $ref: '#/components/schemas/CustomTool'
              - $ref: '#/components/schemas/NamespaceTool'
          type: array
        top_logprobs:
          type: integer
        top_p:
          format: double
          type:
            - number
            - 'null'
        truncation:
          $ref: '#/components/schemas/Truncation'
        usage:
          $ref: '#/components/schemas/OpenAIResponsesUsage'
        user:
          type:
            - string
            - 'null'
      required:
        - id
        - object
        - created_at
        - model
        - status
        - completed_at
        - output
        - error
        - incomplete_details
        - temperature
        - top_p
        - presence_penalty
        - frequency_penalty
        - instructions
        - metadata
        - tools
        - tool_choice
        - parallel_tool_calls
      type: object
    OutputItems:
      description: An output item from the response
      discriminator:
        mapping:
          apply_patch_call:
            $ref: '#/components/schemas/OutputApplyPatchCallItem'
          code_interpreter_call:
            $ref: '#/components/schemas/OutputCodeInterpreterCallItem'
          computer_call:
            $ref: '#/components/schemas/OutputComputerCallItem'
          custom_tool_call:
            $ref: '#/components/schemas/OutputCustomToolCallItem'
          file_search_call:
            $ref: '#/components/schemas/OutputFileSearchCallItem'
          function_call:
            $ref: '#/components/schemas/OutputFunctionCallItem'
          image_generation_call:
            $ref: '#/components/schemas/OutputImageGenerationCallItem'
          message:
            $ref: '#/components/schemas/OutputMessageItem'
          openrouter:advisor:
            $ref: '#/components/schemas/OutputAdvisorServerToolItem'
          openrouter:apply_patch:
            $ref: '#/components/schemas/OutputApplyPatchServerToolItem'
          openrouter:bash:
            $ref: '#/components/schemas/OutputBashServerToolItem'
          openrouter:browser_use:
            $ref: '#/components/schemas/OutputBrowserUseServerToolItem'
          openrouter:code_interpreter:
            $ref: '#/components/schemas/OutputCodeInterpreterServerToolItem'
          openrouter:datetime:
            $ref: '#/components/schemas/OutputDatetimeItem'
          openrouter:experimental__search_models:
            $ref: '#/components/schemas/OutputSearchModelsServerToolItem'
          openrouter:file_search:
            $ref: '#/components/schemas/OutputFileSearchServerToolItem'
          openrouter:files:
            $ref: '#/components/schemas/OutputFilesServerToolItem'
          openrouter:fusion:
            $ref: '#/components/schemas/OutputFusionServerToolItem'
          openrouter:image_generation:
            $ref: '#/components/schemas/OutputImageGenerationServerToolItem'
          openrouter:mcp:
            $ref: '#/components/schemas/OutputMcpServerToolItem'
          openrouter:memory:
            $ref: '#/components/schemas/OutputMemoryServerToolItem'
          openrouter:shell:
            $ref: '#/components/schemas/OutputShellServerToolItem'
          openrouter:subagent:
            $ref: '#/components/schemas/OutputSubagentServerToolItem'
          openrouter:text_editor:
            $ref: '#/components/schemas/OutputTextEditorServerToolItem'
          openrouter:tool_search:
            $ref: '#/components/schemas/OutputToolSearchServerToolItem'
          openrouter:web_fetch:
            $ref: '#/components/schemas/OutputWebFetchServerToolItem'
          openrouter:web_search:
            $ref: '#/components/schemas/OutputWebSearchServerToolItem'
          reasoning:
            $ref: '#/components/schemas/OutputReasoningItem'
          shell_call:
            $ref: '#/components/schemas/OutputShellCallItem'
          shell_call_output:
            $ref: '#/components/schemas/OutputShellCallOutputItem'
          web_search_call:
            $ref: '#/components/schemas/OutputWebSearchCallItem'
        propertyName: type
      example:
        content:
          - text: Hello! How can I help you today?
            type: output_text
        id: msg-abc123
        role: assistant
        status: completed
        type: message
      oneOf:
        - $ref: '#/components/schemas/OutputMessageItem'
        - $ref: '#/components/schemas/OutputReasoningItem'
        - $ref: '#/components/schemas/OutputFunctionCallItem'
        - $ref: '#/components/schemas/OutputWebSearchCallItem'
        - $ref: '#/components/schemas/OutputFileSearchCallItem'
        - $ref: '#/components/schemas/OutputImageGenerationCallItem'
        - $ref: '#/components/schemas/OutputCodeInterpreterCallItem'
        - $ref: '#/components/schemas/OutputComputerCallItem'
        - $ref: '#/components/schemas/OutputDatetimeItem'
        - $ref: '#/components/schemas/OutputWebSearchServerToolItem'
        - $ref: '#/components/schemas/OutputCodeInterpreterServerToolItem'
        - $ref: '#/components/schemas/OutputFileSearchServerToolItem'
        - $ref: '#/components/schemas/OutputImageGenerationServerToolItem'
        - $ref: '#/components/schemas/OutputBrowserUseServerToolItem'
        - $ref: '#/components/schemas/OutputBashServerToolItem'
        - $ref: '#/components/schemas/OutputTextEditorServerToolItem'
        - $ref: '#/components/schemas/OutputApplyPatchServerToolItem'
        - $ref: '#/components/schemas/OutputApplyPatchCallItem'
        - $ref: '#/components/schemas/OutputShellCallItem'
        - $ref: '#/components/schemas/OutputShellCallOutputItem'
        - $ref: '#/components/schemas/OutputShellServerToolItem'
        - $ref: '#/components/schemas/OutputWebFetchServerToolItem'
        - $ref: '#/components/schemas/OutputToolSearchServerToolItem'
        - $ref: '#/components/schemas/OutputMemoryServerToolItem'
        - $ref: '#/components/schemas/OutputMcpServerToolItem'
        - $ref: '#/components/schemas/OutputSearchModelsServerToolItem'
        - $ref: '#/components/schemas/OutputFusionServerToolItem'
        - $ref: '#/components/schemas/OutputAdvisorServerToolItem'
        - $ref: '#/components/schemas/OutputSubagentServerToolItem'
        - $ref: '#/components/schemas/OutputFilesServerToolItem'
        - $ref: '#/components/schemas/OutputCustomToolCallItem'
    TextExtendedConfig:
      allOf:
        - $ref: '#/components/schemas/TextConfig'
        - properties:
            verbosity:
              enum:
                - low
                - medium
                - high
                - xhigh
                - max
                - null
              type:
                - string
                - 'null'
          type: object
      description: Text output configuration including format and verbosity
      example:
        format:
          type: text
    Usage:
      anyOf:
        - allOf:
            - $ref: '#/components/schemas/OpenAIResponsesUsage'
            - properties:
                cost:
                  description: Cost of the completion
                  format: double
                  type:
                    - number
                    - 'null'
                cost_details:
                  properties:
                    server_tool_cost:
                      description: >-
                        Metered server-tool execution cost (for example, shell
                        sandbox time) billed for this request, in USD. Matches
                        the billed checkpoint and settlement amounts exactly. 0
                        when a metered server tool ran but settled at zero
                        dollars; absent when no metered server tool ran.
                      format: double
                      type:
                        - number
                        - 'null'
                    upstream_inference_cost:
                      format: double
                      type:
                        - number
                        - 'null'
                    upstream_inference_input_cost:
                      format: double
                      type: number
                    upstream_inference_output_cost:
                      format: double
                      type: number
                  required:
                    - upstream_inference_input_cost
                    - upstream_inference_output_cost
                  type: object
                is_byok:
                  description: >-
                    Whether a request was made using a Bring Your Own Key
                    configuration
                  type: boolean
                server_tool_use_details:
                  $ref: '#/components/schemas/ServerToolUseDetails'
              type: object
        - type: 'null'
      description: Token usage information for the response
      example:
        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
    AnthropicContainerSkill:
      example:
        skill_id: pdf
        type: anthropic
        version: latest
      properties:
        skill_id:
          type: string
        type:
          enum:
            - anthropic
            - custom
          type: string
        version:
          type: string
      required:
        - skill_id
        - type
        - version
      type: object
    AnthropicAdvisorToolResult:
      example:
        content:
          text: Advisor response text
          type: advisor_result
        tool_use_id: srvtoolu_01abc
        type: advisor_tool_result
      properties:
        content:
          additionalProperties: {}
          type: object
        tool_use_id:
          type: string
        type:
          enum:
            - advisor_tool_result
          type: string
      required:
        - type
        - tool_use_id
        - content
      type: object
    AnthropicBashCodeExecutionToolResult:
      example:
        content:
          content: []
          return_code: 0
          stderr: ''
          stdout: Hello
          type: bash_code_execution_result
        tool_use_id: srvtoolu_01abc
        type: bash_code_execution_tool_result
      properties:
        content:
          $ref: '#/components/schemas/AnthropicBashCodeExecutionContent'
        tool_use_id:
          type: string
        type:
          enum:
            - bash_code_execution_tool_result
          type: string
      required:
        - type
        - content
        - tool_use_id
      type: object
    AnthropicCodeExecutionToolResult:
      example:
        content:
          content: []
          return_code: 0
          stderr: ''
          stdout: Hello
          type: code_execution_result
        tool_use_id: srvtoolu_01abc
        type: code_execution_tool_result
      properties:
        content:
          $ref: '#/components/schemas/AnthropicCodeExecutionContent'
        tool_use_id:
          type: string
        type:
          enum:
            - code_execution_tool_result
          type: string
      required:
        - type
        - content
        - tool_use_id
      type: object
    AnthropicCompactionBlock:
      example:
        content: Compacted summary of conversation.
        type: compaction
      properties:
        content:
          type:
            - string
            - 'null'
        encrypted_content:
          type:
            - string
            - 'null'
        type:
          enum:
            - compaction
          type: string
      required:
        - type
        - content
      type: object
    AnthropicContainerUpload:
      example:
        file_id: file_01abc
        type: container_upload
      properties:
        file_id:
          type: string
        type:
          enum:
            - container_upload
          type: string
      required:
        - type
        - file_id
      type: object
    ORAnthropicBashToolResult:
      description: >-
        Output of an `openrouter:bash` call executed in the OpenRouter sandbox
        (`engine: 'openrouter'`)
      example:
        content:
          command: ls
          exitCode: 0
          stderr: ''
          stdout: |
            README.md
        tool_use_id: srvtoolu_01abc
        type: openrouter_bash_tool_result
      properties:
        container_id:
          description: >-
            The canonical container id the command ran under — the
            `{container_id}` for the Container Files API, reusable as a
            `container_reference` in later requests. Present on every
            sandbox-executed call, even when no files changed.
          type: string
        content:
          additionalProperties: {}
          type: object
        files:
          description: >-
            Citations for the files the sandbox command created or modified,
            most-recently-touched first (at most 10). Retrieve them via the
            Container Files API.
          items:
            properties:
              container_id:
                type: string
              end_index:
                type: integer
              file_id:
                type: string
              filename:
                type: string
              start_index:
                type: integer
              type:
                enum:
                  - container_file_citation
                type: string
            required:
              - type
              - container_id
              - file_id
              - filename
              - start_index
              - end_index
            type: object
          type: array
        tool_use_id:
          type: string
        type:
          enum:
            - openrouter_bash_tool_result
          type: string
      required:
        - type
        - tool_use_id
        - content
      type: object
    ORAnthropicShellToolResult:
      description: Output of an `openrouter:shell` call executed in the OpenRouter sandbox
      example:
        content:
          output:
            - outcome:
                exit_code: 0
                type: exit
              stderr: ''
              stdout: |
                README.md
        tool_use_id: srvtoolu_01abc
        type: openrouter_shell_tool_result
      properties:
        container_id:
          description: >-
            The canonical container id the command ran under — the
            `{container_id}` for the Container Files API, reusable as a
            `container_reference` in later requests. Present on every
            sandbox-executed call, even when no files changed.
          type: string
        content:
          additionalProperties: {}
          type: object
        files:
          description: >-
            Citations for the files the sandbox command created or modified,
            most-recently-touched first (at most 10). Retrieve them via the
            Container Files API.
          items:
            properties:
              container_id:
                type: string
              end_index:
                type: integer
              file_id:
                type: string
              filename:
                type: string
              start_index:
                type: integer
              type:
                enum:
                  - container_file_citation
                type: string
            required:
              - type
              - container_id
              - file_id
              - filename
              - start_index
              - end_index
            type: object
          type: array
        tool_use_id:
          type: string
        type:
          enum:
            - openrouter_shell_tool_result
          type: string
      required:
        - type
        - tool_use_id
        - content
      type: object
    AnthropicRedactedThinkingBlock:
      example:
        data: cmVkYWN0ZWQ=
        type: redacted_thinking
      properties:
        data:
          type: string
        type:
          enum:
            - redacted_thinking
          type: string
      required:
        - type
        - data
      type: object
    ORAnthropicServerToolUseBlock:
      example:
        caller:
          type: direct
        id: srvtoolu_01abc
        input: {}
        name: advisor
        type: server_tool_use
      properties:
        caller:
          $ref: '#/components/schemas/ORAnthropicNullableCaller'
        id:
          type: string
        input: {}
        name:
          type: string
        type:
          enum:
            - server_tool_use
          type: string
      required:
        - type
        - id
        - name
      type: object
    AnthropicTextBlock:
      example:
        citations: null
        text: Hello, world!
        type: text
      properties:
        citations:
          items:
            $ref: '#/components/schemas/AnthropicTextCitation'
          type:
            - array
            - 'null'
        text:
          type: string
        type:
          enum:
            - text
          type: string
      required:
        - type
        - text
        - citations
      type: object
    AnthropicTextEditorCodeExecutionToolResult:
      example:
        content:
          content: file content
          file_type: text
          num_lines: 10
          start_line: 1
          total_lines: 10
          type: text_editor_code_execution_view_result
        tool_use_id: srvtoolu_01abc
        type: text_editor_code_execution_tool_result
      properties:
        content:
          $ref: '#/components/schemas/AnthropicTextEditorCodeExecutionContent'
        tool_use_id:
          type: string
        type:
          enum:
            - text_editor_code_execution_tool_result
          type: string
      required:
        - type
        - content
        - tool_use_id
      type: object
    AnthropicThinkingBlock:
      example:
        signature: sig_abc123
        thinking: Let me think about this...
        type: thinking
      properties:
        signature:
          type: string
        thinking:
          type: string
        type:
          enum:
            - thinking
          type: string
      required:
        - type
        - thinking
        - signature
      type: object
    AnthropicToolSearchToolResult:
      example:
        content:
          tool_references:
            - tool_name: my_tool
              type: tool_reference
          type: tool_search_tool_search_result
        tool_use_id: srvtoolu_01abc
        type: tool_search_tool_result
      properties:
        content:
          $ref: '#/components/schemas/AnthropicToolSearchContent'
        tool_use_id:
          type: string
        type:
          enum:
            - tool_search_tool_result
          type: string
      required:
        - type
        - content
        - tool_use_id
      type: object
    AnthropicToolUseBlock:
      example:
        caller:
          type: direct
        id: toolu_01abc
        input:
          location: San Francisco
        name: get_weather
        type: tool_use
      properties:
        caller:
          $ref: '#/components/schemas/AnthropicCaller'
        id:
          type: string
        input: {}
        name:
          type: string
        type:
          enum:
            - tool_use
          type: string
      required:
        - type
        - id
        - caller
        - name
      type: object
    AnthropicWebFetchToolResult:
      example:
        caller:
          type: direct
        content:
          content:
            citations: null
            source:
              data: ''
              media_type: text/plain
              type: text
            title: null
            type: document
          retrieved_at: null
          type: web_fetch_result
          url: https://example.com
        tool_use_id: srvtoolu_01abc
        type: web_fetch_tool_result
      properties:
        caller:
          $ref: '#/components/schemas/AnthropicCaller'
        content:
          $ref: '#/components/schemas/AnthropicWebFetchContent'
        tool_use_id:
          type: string
        type:
          enum:
            - web_fetch_tool_result
          type: string
      required:
        - type
        - caller
        - content
        - tool_use_id
      type: object
    AnthropicWebSearchToolResult:
      example:
        caller:
          type: direct
        content: []
        tool_use_id: srvtoolu_01abc
        type: web_search_tool_result
      properties:
        caller:
          $ref: '#/components/schemas/AnthropicCaller'
        content:
          anyOf:
            - items:
                $ref: '#/components/schemas/AnthropicWebSearchResult'
              type: array
            - $ref: '#/components/schemas/AnthropicWebSearchToolResultError'
        tool_use_id:
          type: string
        type:
          enum:
            - web_search_tool_result
          type: string
      required:
        - type
        - caller
        - tool_use_id
        - content
      type: object
    AnthropicOutputTokensDetails:
      example:
        thinking_tokens: 0
      properties:
        thinking_tokens:
          type: integer
      required:
        - thinking_tokens
      type:
        - object
        - 'null'
    AnthropicServerToolUsage:
      example:
        web_fetch_requests: 0
        web_search_requests: 1
      properties:
        web_fetch_requests:
          type: integer
        web_search_requests:
          type: integer
      required:
        - web_search_requests
        - web_fetch_requests
      type:
        - object
        - 'null'
    AnthropicServiceTier:
      enum:
        - standard
        - priority
        - batch
        - null
      example: standard
      type:
        - string
        - 'null'
    AnthropicCompactionUsageIteration:
      allOf:
        - $ref: '#/components/schemas/AnthropicBaseUsageIteration'
        - properties:
            type:
              enum:
                - compaction
              type: string
          required:
            - type
          type: object
      example:
        cache_creation: null
        cache_creation_input_tokens: 0
        cache_read_input_tokens: 0
        input_tokens: 50
        output_tokens: 25
        type: compaction
    AnthropicMessageUsageIteration:
      allOf:
        - $ref: '#/components/schemas/AnthropicBaseUsageIteration'
        - properties:
            model:
              type: string
            type:
              enum:
                - message
              type: string
          required:
            - type
          type: object
      example:
        cache_creation: null
        cache_creation_input_tokens: 0
        cache_read_input_tokens: 0
        input_tokens: 100
        output_tokens: 50
        type: message
    AnthropicAdvisorMessageUsageIteration:
      allOf:
        - $ref: '#/components/schemas/AnthropicBaseUsageIteration'
        - properties:
            model:
              type: string
            type:
              enum:
                - advisor_message
              type: string
          required:
            - type
            - model
          type: object
      example:
        cache_creation: null
        cache_creation_input_tokens: 0
        cache_read_input_tokens: 0
        input_tokens: 823
        model: claude-opus-4-6
        output_tokens: 1612
        type: advisor_message
    AnthropicUnknownUsageIteration:
      allOf:
        - $ref: '#/components/schemas/AnthropicBaseUsageIteration'
        - properties:
            type:
              type: string
          required:
            - type
          type: object
      example:
        cache_creation: null
        cache_creation_input_tokens: 0
        cache_read_input_tokens: 0
        input_tokens: 100
        output_tokens: 50
        type: unknown
    EndpointInfo:
      example:
        model: openai/gpt-4o
        provider: OpenAI
        selected: true
      properties:
        model:
          type: string
        provider:
          type: string
        selected:
          type: boolean
      required:
        - provider
        - model
        - selected
      type: object
    PipelineStageType:
      description: >-
        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.
      enum:
        - guardrail
        - plugin
        - server_tools
        - response_healing
        - context_compression
      example: guardrail
      type: string
    ResponsesErrorField:
      description: Error information returned from the API
      example:
        code: rate_limit_exceeded
        message: Rate limit exceeded. Please try again later.
      properties:
        code:
          enum:
            - server_error
            - rate_limit_exceeded
            - invalid_prompt
            - vector_store_timeout
            - invalid_image
            - invalid_image_format
            - invalid_base64_image
            - invalid_image_url
            - image_too_large
            - image_too_small
            - image_parse_error
            - image_content_policy_violation
            - invalid_image_mode
            - image_file_too_large
            - unsupported_image_media_type
            - empty_image_file
            - failed_to_download_image
            - image_file_not_found
            - bio_policy
            - cyber_policy
            - misalignment_policy_violation
            - data_residency_mismatch
          type: string
        message:
          type: string
      required:
        - code
        - message
      type:
        - object
        - 'null'
    IncompleteDetails:
      example:
        reason: max_output_tokens
      properties:
        reason:
          enum:
            - max_output_tokens
            - content_filter
          type: string
      type:
        - object
        - 'null'
    BaseInputs:
      anyOf:
        - type: string
        - items:
            anyOf:
              - properties:
                  content:
                    anyOf:
                      - items:
                          discriminator:
                            mapping:
                              input_audio:
                                $ref: '#/components/schemas/InputAudio'
                              input_file:
                                $ref: '#/components/schemas/InputFile'
                              input_image:
                                $ref: '#/components/schemas/InputImage'
                              input_text:
                                $ref: '#/components/schemas/InputText'
                            propertyName: type
                          oneOf:
                            - $ref: '#/components/schemas/InputText'
                            - $ref: '#/components/schemas/InputImage'
                            - $ref: '#/components/schemas/InputFile'
                            - $ref: '#/components/schemas/InputAudio'
                        type: array
                      - type: string
                  phase:
                    anyOf:
                      - enum:
                          - commentary
                        type: string
                      - enum:
                          - final_answer
                        type: string
                      - type: 'null'
                  role:
                    anyOf:
                      - enum:
                          - user
                        type: string
                      - enum:
                          - system
                        type: string
                      - enum:
                          - assistant
                        type: string
                      - enum:
                          - developer
                        type: string
                  type:
                    enum:
                      - message
                    type: string
                required:
                  - role
                  - content
                type: object
              - $ref: '#/components/schemas/OpenAIResponseInputMessageItem'
              - $ref: '#/components/schemas/OpenAIResponseFunctionToolCallOutput'
              - $ref: '#/components/schemas/OpenAIResponseFunctionToolCall'
              - $ref: '#/components/schemas/OutputItemImageGenerationCall'
              - $ref: '#/components/schemas/OutputMessage'
              - $ref: '#/components/schemas/OpenAIResponseCustomToolCall'
              - $ref: '#/components/schemas/OpenAIResponseCustomToolCallOutput'
              - $ref: '#/components/schemas/ApplyPatchCallItem'
              - $ref: '#/components/schemas/ApplyPatchCallOutputItem'
              - $ref: '#/components/schemas/ConfigurationUpdateItem'
          type: array
        - type: 'null'
      example:
        - content: What is the weather today?
          role: user
    RequestMetadata:
      additionalProperties:
        maxLength: 512
        type: string
      description: >-
        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.
      example:
        session_id: abc-def-ghi
        user_id: '123'
      type:
        - object
        - 'null'
    OutputItemApplyPatchCall:
      example:
        call_id: call_abc123
        id: apc_abc123
        operation:
          diff: |-
            @@ function main() {
            +  console.log("hi");
             }
          path: /src/main.ts
          type: update_file
        status: completed
        type: apply_patch_call
      properties:
        call_id:
          type: string
        created_by:
          type: string
        id:
          type: string
        operation:
          discriminator:
            mapping:
              create_file:
                $ref: '#/components/schemas/ApplyPatchCreateFileOperation'
              delete_file:
                $ref: '#/components/schemas/ApplyPatchDeleteFileOperation'
              update_file:
                $ref: '#/components/schemas/ApplyPatchUpdateFileOperation'
            propertyName: type
          oneOf:
            - $ref: '#/components/schemas/ApplyPatchCreateFileOperation'
            - $ref: '#/components/schemas/ApplyPatchUpdateFileOperation'
            - $ref: '#/components/schemas/ApplyPatchDeleteFileOperation'
        status:
          enum:
            - in_progress
            - completed
          type: string
        type:
          enum:
            - apply_patch_call
          type: string
      required:
        - type
        - id
        - call_id
        - operation
        - status
      type: object
    OutputItemCodeInterpreterCall:
      additionalProperties: {}
      example:
        code: print("hello")
        id: ci_abc123
        outputs:
          - logs: |
              hello
            type: logs
        status: completed
        type: code_interpreter_call
      properties:
        code:
          type:
            - string
            - 'null'
        container_id:
          type: string
        id:
          type: string
        outputs:
          items:
            discriminator:
              mapping:
                file:
                  $ref: '#/components/schemas/CodeInterpreterFileOutput'
                image:
                  $ref: '#/components/schemas/CodeInterpreterImageOutput'
                logs:
                  $ref: '#/components/schemas/CodeInterpreterLogsOutput'
              propertyName: type
            oneOf:
              - $ref: '#/components/schemas/CodeInterpreterLogsOutput'
              - $ref: '#/components/schemas/CodeInterpreterImageOutput'
              - $ref: '#/components/schemas/CodeInterpreterFileOutput'
          type:
            - array
            - 'null'
        status:
          enum:
            - in_progress
            - completed
            - incomplete
            - interpreting
            - failed
          type: string
        type:
          enum:
            - code_interpreter_call
          type: string
      required:
        - type
        - id
        - status
      type: object
    OutputItemCustomToolCall:
      example:
        call_id: call-abc123
        id: ctc-abc123
        input: |-
          *** Begin Patch
          *** End Patch
        name: apply_patch
        status: completed
        type: custom_tool_call
      properties:
        async:
          description: >-
            True when the model called a tool declared with `async: true` and
            may continue its turn before the output is returned. Return the
            result in a later request as a `function_call_output` with this
            `call_id`.
          example: true
          type: boolean
        call_id:
          type: string
        id:
          type: string
        input:
          type: string
        name:
          type: string
        namespace:
          description: >-
            Namespace qualifier for tools registered as part of a namespace tool
            group (e.g. an MCP server)
          type: string
        status:
          enum:
            - in_progress
            - completed
            - incomplete
          type: string
        type:
          enum:
            - custom_tool_call
          type: string
      required:
        - type
        - name
        - input
        - call_id
      type: object
    OutputItemFileSearchCall:
      example:
        id: filesearch-abc123
        queries:
          - machine learning algorithms
          - neural networks
        status: completed
        type: file_search_call
      properties:
        id:
          type: string
        queries:
          items:
            type: string
          type: array
        status:
          $ref: '#/components/schemas/WebSearchStatus'
        type:
          enum:
            - file_search_call
          type: string
      required:
        - type
        - id
        - queries
        - status
      type: object
    OutputItemFunctionCall:
      example:
        arguments: '{"location":"San Francisco","unit":"celsius"}'
        call_id: call-abc123
        id: call-abc123
        name: get_weather
        type: function_call
      properties:
        arguments:
          type: string
        async:
          description: >-
            True when the model called a tool declared with `async: true` and
            may continue its turn before the output is returned. Return the
            result in a later request as a `function_call_output` with this
            `call_id`.
          example: true
          type: boolean
        call_id:
          type: string
        id:
          type: string
        name:
          type: string
        namespace:
          description: >-
            Namespace qualifier for tools registered as part of a namespace tool
            group (e.g. an MCP server)
          type: string
        status:
          anyOf:
            - enum:
                - completed
              type: string
            - enum:
                - incomplete
              type: string
            - enum:
                - in_progress
              type: string
        type:
          enum:
            - function_call
          type: string
      required:
        - type
        - name
        - arguments
        - call_id
      type: object
    OutputItemImageGenerationCall:
      example:
        id: imagegen-abc123
        result: >-
          iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==
        status: completed
        type: image_generation_call
      properties:
        id:
          type: string
        result:
          default: null
          type:
            - string
            - 'null'
        status:
          $ref: '#/components/schemas/ImageGenerationStatus'
        type:
          enum:
            - image_generation_call
          type: string
      required:
        - type
        - id
        - status
      type: object
    OutputMessage:
      example:
        content:
          - text: Hello! How can I help you today?
            type: output_text
        id: msg-abc123
        role: assistant
        status: completed
        type: message
      properties:
        content:
          items:
            anyOf:
              - $ref: '#/components/schemas/ResponseOutputText'
              - $ref: '#/components/schemas/OpenAIResponsesRefusalContent'
          type: array
        id:
          type: string
        phase:
          anyOf:
            - enum:
                - commentary
              type: string
            - enum:
                - final_answer
              type: string
            - type: 'null'
          description: >-
            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:
          enum:
            - assistant
          type: string
        status:
          anyOf:
            - enum:
                - completed
              type: string
            - enum:
                - incomplete
              type: string
            - enum:
                - in_progress
              type: string
        type:
          enum:
            - message
          type: string
      required:
        - id
        - role
        - type
        - content
      type: object
    OutputItemReasoning:
      example:
        id: reasoning-abc123
        summary:
          - text: Analyzed the problem using first principles
            type: summary_text
        type: reasoning
      properties:
        content:
          items:
            $ref: '#/components/schemas/ReasoningTextContent'
          type: array
        encrypted_content:
          type:
            - string
            - 'null'
        id:
          type: string
        status:
          anyOf:
            - enum:
                - completed
              type: string
            - enum:
                - incomplete
              type: string
            - enum:
                - in_progress
              type: string
        summary:
          items:
            $ref: '#/components/schemas/ReasoningSummaryText'
          type: array
        type:
          enum:
            - reasoning
          type: string
      required:
        - type
        - id
        - summary
      type: object
    OutputItemWebSearchCall:
      additionalProperties: {}
      example:
        action:
          query: OpenAI API
          type: search
        id: search-abc123
        status: completed
        type: web_search_call
      properties:
        action:
          oneOf:
            - properties:
                queries:
                  items:
                    type: string
                  type: array
                query:
                  type: string
                sources:
                  items:
                    $ref: '#/components/schemas/WebSearchSource'
                  type: array
                type:
                  enum:
                    - search
                  type: string
              required:
                - type
                - query
              type: object
            - properties:
                type:
                  enum:
                    - open_page
                  type: string
                url:
                  type:
                    - string
                    - 'null'
              required:
                - type
              type: object
            - properties:
                pattern:
                  type: string
                type:
                  enum:
                    - find_in_page
                  type: string
                url:
                  type: string
              required:
                - type
                - pattern
                - url
              type: object
        id:
          type: string
        status:
          $ref: '#/components/schemas/WebSearchStatus'
        type:
          enum:
            - web_search_call
          type: string
      required:
        - type
        - id
        - status
      type: object
    StoredPromptTemplate:
      example:
        id: prompt-abc123
        variables:
          name: John
      properties:
        id:
          type: string
        variables:
          additionalProperties:
            anyOf:
              - type: string
              - $ref: '#/components/schemas/InputText'
              - $ref: '#/components/schemas/InputImage'
              - $ref: '#/components/schemas/InputFile'
          type:
            - object
            - 'null'
      required:
        - id
      type:
        - object
        - 'null'
    PromptCacheOptions:
      description: >-
        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.
      example:
        mode: explicit
        ttl: 30m
      properties:
        mode:
          enum:
            - explicit
          type: string
        ttl:
          type:
            - string
            - 'null'
      required:
        - mode
      type:
        - object
        - 'null'
    BaseReasoningConfig:
      example:
        effort: medium
        summary: auto
      properties:
        context:
          $ref: '#/components/schemas/ReasoningContext'
        effort:
          $ref: '#/components/schemas/ReasoningEffort'
        mode:
          $ref: '#/components/schemas/ReasoningMode'
        summary:
          $ref: '#/components/schemas/ReasoningSummaryVerbosity'
      type:
        - object
        - 'null'
    ServiceTier:
      enum:
        - auto
        - default
        - flex
        - priority
        - scale
        - null
      example: default
      type:
        - string
        - 'null'
    OpenAIResponsesResponseStatus:
      enum:
        - completed
        - incomplete
        - in_progress
        - failed
        - cancelled
        - queued
      example: completed
      type: string
    TextConfig:
      description: Text output configuration including format and verbosity
      example:
        format:
          type: text
        verbosity: medium
      properties:
        format:
          $ref: '#/components/schemas/Formats'
        verbosity:
          enum:
            - high
            - low
            - medium
            - null
          type:
            - string
            - 'null'
      type: object
    OpenAIResponsesToolChoice:
      anyOf:
        - enum:
            - auto
          type: string
        - enum:
            - none
          type: string
        - enum:
            - required
          type: string
        - properties:
            name:
              type: string
            type:
              enum:
                - function
              type: string
          required:
            - type
            - name
          type: object
        - properties:
            type:
              anyOf:
                - enum:
                    - web_search_preview_2025_03_11
                  type: string
                - enum:
                    - web_search_preview
                  type: string
          required:
            - type
          type: object
        - $ref: '#/components/schemas/ToolChoiceAllowed'
        - properties:
            type:
              enum:
                - apply_patch
              type: string
          required:
            - type
          type: object
        - properties:
            type:
              enum:
                - shell
              type: string
          required:
            - type
          type: object
      example: auto
    FunctionTool:
      description: Function tool definition
      example:
        description: Get the current weather in a location
        name: get_weather
        parameters:
          properties:
            location:
              description: The city and state
              type: string
            unit:
              enum:
                - celsius
                - fahrenheit
              type: string
          required:
            - location
          type: object
        type: function
      properties:
        description:
          type:
            - string
            - 'null'
        name:
          type: string
        parameters:
          additionalProperties: {}
          type:
            - object
            - 'null'
        strict:
          type:
            - boolean
            - 'null'
        type:
          enum:
            - function
          type: string
      required:
        - type
        - name
        - parameters
      type: object
    Preview_WebSearchServerTool:
      description: Web search preview tool configuration
      example:
        type: web_search_preview
      properties:
        engine:
          $ref: '#/components/schemas/WebSearchEngineEnum'
        filters:
          $ref: '#/components/schemas/WebSearchDomainFilter'
        max_results:
          description: >-
            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.
          example: 5
          type: integer
        max_uses:
          description: >-
            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.
          example: 3
          type: integer
        mode:
          $ref: '#/components/schemas/WebSearchMode'
        search_context_size:
          $ref: '#/components/schemas/SearchContextSizeEnum'
        type:
          enum:
            - web_search_preview
          type: string
        user_location:
          $ref: '#/components/schemas/Preview_WebSearchUserLocation'
        x_search:
          $ref: '#/components/schemas/XSearchOptions'
      required:
        - type
      type: object
    Preview_20250311_WebSearchServerTool:
      description: Web search preview tool configuration (2025-03-11 version)
      example:
        type: web_search_preview_2025_03_11
      properties:
        engine:
          $ref: '#/components/schemas/WebSearchEngineEnum'
        filters:
          $ref: '#/components/schemas/WebSearchDomainFilter'
        max_results:
          description: >-
            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.
          example: 5
          type: integer
        max_uses:
          description: >-
            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.
          example: 3
          type: integer
        mode:
          $ref: '#/components/schemas/WebSearchMode'
        search_context_size:
          $ref: '#/components/schemas/SearchContextSizeEnum'
        type:
          enum:
            - web_search_preview_2025_03_11
          type: string
        user_location:
          $ref: '#/components/schemas/Preview_WebSearchUserLocation'
        x_search:
          $ref: '#/components/schemas/XSearchOptions'
      required:
        - type
      type: object
    Legacy_WebSearchServerTool:
      description: Web search tool configuration
      example:
        engine: auto
        filters:
          allowed_domains:
            - example.com
        type: web_search
      properties:
        engine:
          $ref: '#/components/schemas/WebSearchEngineEnum'
        filters:
          $ref: '#/components/schemas/WebSearchDomainFilter'
        max_results:
          description: >-
            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.
          example: 5
          type: integer
        max_uses:
          description: >-
            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.
          example: 3
          type: integer
        mode:
          $ref: '#/components/schemas/WebSearchMode'
        search_context_size:
          $ref: '#/components/schemas/SearchContextSizeEnum'
        type:
          enum:
            - web_search
          type: string
        user_location:
          $ref: '#/components/schemas/WebSearchUserLocation'
        x_search:
          $ref: '#/components/schemas/XSearchOptions'
      required:
        - type
      type: object
    WebSearchServerTool:
      description: Web search tool configuration (2025-08-26 version)
      example:
        engine: auto
        filters:
          allowed_domains:
            - example.com
        type: web_search_2025_08_26
      properties:
        engine:
          $ref: '#/components/schemas/WebSearchEngineEnum'
        filters:
          $ref: '#/components/schemas/WebSearchDomainFilter'
        max_results:
          description: >-
            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.
          example: 5
          type: integer
        max_uses:
          description: >-
            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.
          example: 3
          type: integer
        mode:
          $ref: '#/components/schemas/WebSearchMode'
        search_context_size:
          $ref: '#/components/schemas/SearchContextSizeEnum'
        type:
          enum:
            - web_search_2025_08_26
          type: string
        user_location:
          $ref: '#/components/schemas/WebSearchUserLocation'
        x_search:
          $ref: '#/components/schemas/XSearchOptions'
      required:
        - type
      type: object
    FileSearchServerTool:
      description: File search tool configuration
      example:
        type: file_search
        vector_store_ids:
          - vs_abc123
      properties:
        filters:
          anyOf:
            - properties:
                key:
                  type: string
                type:
                  enum:
                    - eq
                    - ne
                    - gt
                    - gte
                    - lt
                    - lte
                  type: string
                value:
                  anyOf:
                    - type: string
                    - format: double
                      type: number
                    - type: boolean
                    - items:
                        anyOf:
                          - type: string
                          - format: double
                            type: number
                      type: array
              required:
                - key
                - type
                - value
              type: object
            - $ref: '#/components/schemas/CompoundFilter'
            - type: 'null'
        max_num_results:
          type: integer
        ranking_options:
          properties:
            ranker:
              enum:
                - auto
                - default-2024-11-15
              type: string
            score_threshold:
              format: double
              type: number
          type: object
        type:
          enum:
            - file_search
          type: string
        vector_store_ids:
          items:
            type: string
          type: array
      required:
        - type
        - vector_store_ids
      type: object
    ComputerUseServerTool:
      description: Computer use preview tool configuration
      example:
        display_height: 768
        display_width: 1024
        environment: linux
        type: computer_use_preview
      properties:
        display_height:
          type: integer
        display_width:
          type: integer
        environment:
          enum:
            - windows
            - mac
            - linux
            - ubuntu
            - browser
          type: string
        type:
          enum:
            - computer_use_preview
          type: string
      required:
        - type
        - display_height
        - display_width
        - environment
      type: object
    CodeInterpreterServerTool:
      description: Code interpreter tool configuration
      example:
        container: auto
        type: code_interpreter
      properties:
        container:
          anyOf:
            - type: string
            - properties:
                file_ids:
                  items:
                    type: string
                  type: array
                memory_limit:
                  enum:
                    - 1g
                    - 4g
                    - 16g
                    - 64g
                    - null
                  type:
                    - string
                    - 'null'
                type:
                  enum:
                    - auto
                  type: string
              required:
                - type
              type: object
        type:
          enum:
            - code_interpreter
          type: string
      required:
        - type
        - container
      type: object
    McpServerTool:
      description: MCP (Model Context Protocol) tool configuration
      example:
        server_label: my-server
        server_url: https://example.com/mcp
        type: mcp
      properties:
        allowed_tools:
          anyOf:
            - items:
                type: string
              type: array
            - properties:
                read_only:
                  type: boolean
                tool_names:
                  items:
                    type: string
                  type: array
              type: object
            - type: 'null'
        authorization:
          type: string
        connector_id:
          enum:
            - connector_dropbox
            - connector_gmail
            - connector_googlecalendar
            - connector_googledrive
            - connector_microsoftteams
            - connector_outlookcalendar
            - connector_outlookemail
            - connector_sharepoint
          type: string
        headers:
          additionalProperties:
            type: string
          type:
            - object
            - 'null'
        require_approval:
          anyOf:
            - properties:
                always:
                  properties:
                    tool_names:
                      items:
                        type: string
                      type: array
                  type: object
                never:
                  properties:
                    tool_names:
                      items:
                        type: string
                      type: array
                  type: object
              type: object
            - enum:
                - always
              type: string
            - enum:
                - never
              type: string
            - type: 'null'
        server_description:
          type: string
        server_label:
          type: string
        server_url:
          type: string
        type:
          enum:
            - mcp
          type: string
      required:
        - type
        - server_label
      type: object
    ImageGenerationServerTool:
      description: Image generation tool configuration
      example:
        quality: high
        type: image_generation
      properties:
        background:
          enum:
            - transparent
            - opaque
            - auto
          type: string
        input_fidelity:
          enum:
            - high
            - low
            - null
          type:
            - string
            - 'null'
        input_image_mask:
          properties:
            file_id:
              type: string
            image_url:
              type: string
          type: object
        model:
          type: string
        moderation:
          enum:
            - auto
            - low
          type: string
        output_compression:
          type: integer
        output_format:
          enum:
            - png
            - webp
            - jpeg
          type: string
        partial_images:
          type: integer
        quality:
          enum:
            - low
            - medium
            - high
            - auto
          type: string
        size:
          type: string
        type:
          enum:
            - image_generation
          type: string
      required:
        - type
      type: object
    CodexLocalShellTool:
      description: Local shell tool configuration
      example:
        type: local_shell
      properties:
        type:
          enum:
            - local_shell
          type: string
      required:
        - type
      type: object
    ShellServerTool:
      description: Shell tool configuration
      example:
        type: shell
      properties:
        type:
          enum:
            - shell
          type: string
      required:
        - type
      type: object
    ApplyPatchServerTool:
      description: Apply patch tool configuration
      example:
        type: apply_patch
      properties:
        type:
          enum:
            - apply_patch
          type: string
      required:
        - type
      type: object
    CustomTool:
      description: Custom tool configuration
      example:
        name: my_tool
        type: custom
      properties:
        async:
          description: >-
            Lets the model keep working after calling this tool instead of
            waiting for its output. The tool is still executed by the client;
            return the result in a later request as a `function_call_output`
            with the original `call_id`. Only honored by providers whose
            Responses API supports async tools; ignored elsewhere.
          example: true
          type: boolean
        description:
          type: string
        format:
          anyOf:
            - properties:
                type:
                  enum:
                    - text
                  type: string
              required:
                - type
              type: object
            - properties:
                definition:
                  type: string
                syntax:
                  enum:
                    - lark
                    - regex
                  type: string
                type:
                  enum:
                    - grammar
                  type: string
              required:
                - type
                - definition
                - syntax
              type: object
        name:
          type: string
        type:
          enum:
            - custom
          type: string
      required:
        - type
        - name
      type: object
    NamespaceTool:
      description: Groups function/custom tools under a shared namespace
      example:
        description: Tools for spawning and managing sub-agents.
        name: multi_agent_v1
        tools:
          - name: spawn_agent
            type: function
        type: namespace
      properties:
        description:
          type: string
        name:
          type: string
        tools:
          items:
            anyOf:
              - $ref: '#/components/schemas/NamespaceFunctionTool'
              - $ref: '#/components/schemas/CustomTool'
          type: array
        type:
          enum:
            - namespace
          type: string
      required:
        - type
        - name
        - description
        - tools
      type: object
    Truncation:
      enum:
        - auto
        - disabled
        - null
      example: auto
      type:
        - string
        - 'null'
    OpenAIResponsesUsage:
      example:
        input_tokens: 100
        input_tokens_details:
          cached_tokens: 0
        output_tokens: 50
        output_tokens_details:
          reasoning_tokens: 0
        total_tokens: 150
      properties:
        input_tokens:
          type: integer
        input_tokens_details:
          properties:
            cache_write_tokens:
              type:
                - integer
                - 'null'
            cached_tokens:
              type: integer
          required:
            - cached_tokens
          type: object
        output_tokens:
          type: integer
        output_tokens_details:
          properties:
            reasoning_tokens:
              type: integer
          required:
            - reasoning_tokens
          type: object
        total_tokens:
          type: integer
      required:
        - input_tokens
        - input_tokens_details
        - output_tokens
        - output_tokens_details
        - total_tokens
      type: object
    OutputApplyPatchCallItem:
      description: >-
        A native `apply_patch_call` output item matching OpenAI's Responses API
        shape. Emitted when the client requested the `apply_patch` shorthand.
      example:
        call_id: call_abc123
        id: apc_abc123
        operation:
          diff: |-
            @@ function main() {
            +  console.log("hi");
             }
          path: /src/main.ts
          type: update_file
        status: completed
        type: apply_patch_call
      properties:
        call_id:
          type: string
        id:
          type: string
        operation:
          $ref: '#/components/schemas/ApplyPatchCallOperation'
        status:
          $ref: '#/components/schemas/ApplyPatchCallStatus'
        type:
          enum:
            - apply_patch_call
          type: string
      required:
        - type
        - id
        - call_id
        - status
        - operation
      type: object
    OutputCodeInterpreterCallItem:
      allOf:
        - $ref: '#/components/schemas/CodeInterpreterCallItem'
        - additionalProperties: {}
          properties: {}
          type: object
      description: A code interpreter execution call with outputs
      example:
        code: print("hello")
        container_id: ctr-xyz789
        id: ci-abc123
        outputs:
          - logs: |
              hello
            type: logs
        status: completed
        type: code_interpreter_call
    OutputComputerCallItem:
      example:
        action:
          type: screenshot
        call_id: call-abc123
        id: cu-abc123
        pending_safety_checks: []
        status: completed
        type: computer_call
      properties:
        action: {}
        call_id:
          type: string
        id:
          type: string
        pending_safety_checks:
          items:
            properties:
              code:
                type: string
              id:
                type: string
              message:
                type: string
            required:
              - id
              - code
              - message
            type: object
          type: array
        status:
          enum:
            - completed
            - incomplete
            - in_progress
          type: string
        type:
          enum:
            - computer_call
          type: string
      required:
        - type
        - call_id
        - status
        - pending_safety_checks
      type: object
    OutputCustomToolCallItem:
      description: >-
        A call to a custom (freeform-grammar) tool created by the model —
        distinct from `function_call`. Used for tools like Codex CLI's
        `apply_patch` whose payload is opaque text rather than JSON arguments.
      example:
        call_id: call-abc123
        id: ctc-abc123
        input: |-
          *** Begin Patch
          *** End Patch
        name: apply_patch
        status: completed
        type: custom_tool_call
      properties:
        async:
          description: >-
            True when the model called a tool declared with `async: true` and
            may continue its turn before the output is returned. Return the
            result in a later request as a `function_call_output` with this
            `call_id`.
          example: true
          type: boolean
        call_id:
          type: string
        id:
          type: string
        input:
          type: string
        name:
          type: string
        namespace:
          description: >-
            Namespace qualifier for tools registered as part of a namespace tool
            group (e.g. an MCP server)
          type: string
        status:
          enum:
            - in_progress
            - completed
            - incomplete
          type: string
        type:
          enum:
            - custom_tool_call
          type: string
      required:
        - type
        - name
        - input
        - call_id
      type: object
    OutputFileSearchCallItem:
      allOf:
        - $ref: '#/components/schemas/OutputItemFileSearchCall'
        - properties: {}
          type: object
      example:
        id: fs-abc123
        queries:
          - search term
        results: []
        status: completed
        type: file_search_call
    OutputFunctionCallItem:
      allOf:
        - $ref: '#/components/schemas/OutputItemFunctionCall'
        - properties:
            subagent_id:
              description: >-
                EXPERIMENTAL — subject to change without notice. String id that
                matches the `call_id` of the `openrouter:subagent` server tool
                call that spawned the subagent. Present on every `function_call`
                item the subagent projects; absent on ordinary function calls.
              type: string
            subagent_items:
              description: >-
                EXPERIMENTAL — subject to change without notice. The subagent's
                output items produced on this turn. Treat this as an opaque
                object; you must replay it in the request so that the subagent
                can continue execution of the tool with the same context. If a
                subagent created multiple parallel tool calls, only the first
                tool call will have this field. The other tool calls will only
                have `subagent_id`. Present only if the tool call originates
                from a subagent spawned by the `openrouter:subagent` server
                tool.
              items:
                additionalProperties: {}
                properties:
                  type:
                    type: string
                required:
                  - type
                type: object
              type: array
          type: object
      example:
        arguments: '{"location":"San Francisco"}'
        call_id: call-abc123
        id: fc-abc123
        name: get_weather
        status: completed
        type: function_call
    OutputImageGenerationCallItem:
      allOf:
        - $ref: '#/components/schemas/OutputItemImageGenerationCall'
        - properties:
            prompt:
              description: >-
                The prompt (possibly rewritten) that the image was generated
                from.
              type: string
          type: object
      example:
        id: img-abc123
        result: null
        status: completed
        type: image_generation_call
    OutputMessageItem:
      allOf:
        - $ref: '#/components/schemas/OutputMessage'
        - properties: {}
          type: object
      description: An output message item
      example:
        content:
          - annotations: []
            text: Hello! How can I help you?
            type: output_text
        id: msg-123
        role: assistant
        status: completed
        type: message
    OutputAdvisorServerToolItem:
      description: An openrouter:advisor server tool output item
      example:
        id: st_tmp_abc123
        status: completed
        type: openrouter:advisor
      properties:
        advice:
          description: >-
            The advisor model's response (the advice text returned to the
            executor).
          type: string
        error:
          description: >-
            Error message when the advisor call did not produce advice. Set
            together with `status: 'failed'` on the terminal item.
          type: string
        id:
          type: string
        instance_name:
          description: >-
            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.
          example: openrouter_advisor__1
          type: string
        model:
          description: Slug of the advisor model that was consulted.
          type: string
        prompt:
          description: The prompt the executor sent to the advisor.
          type: string
        status:
          $ref: '#/components/schemas/FailableToolCallStatus'
        type:
          enum:
            - openrouter:advisor
          type: string
      required:
        - status
        - type
      type: object
    OutputApplyPatchServerToolItem:
      description: >-
        An openrouter:apply_patch server tool output item. The turn halts when
        validation succeeds so the client can apply the patch and echo an
        `apply_patch_call_output` on the next turn.
      example:
        call_id: call_abc123
        id: apc_abc123
        operation:
          diff: |-
            @@ function main() {
            +  console.log("hi");
             }
          path: /src/main.ts
          type: update_file
        status: completed
        type: openrouter:apply_patch
      properties:
        call_id:
          type: string
        id:
          type: string
        operation:
          $ref: '#/components/schemas/ApplyPatchCallOperation'
        status:
          $ref: '#/components/schemas/ToolCallStatus'
        type:
          enum:
            - openrouter:apply_patch
          type: string
      required:
        - status
        - type
      type: object
    OutputBashServerToolItem:
      description: An openrouter:bash server tool output item
      example:
        command: ls -la
        exitCode: 0
        id: bash_tmp_abc123
        status: completed
        stdout: |
          total 0
        type: openrouter:bash
      properties:
        arguments:
          description: The raw tool-call arguments string as emitted by the model.
          type:
            - string
            - 'null'
        call_id:
          description: The model-generated tool call id from the originating turn.
          type:
            - string
            - 'null'
        command:
          type: string
        container_id:
          description: >-
            The canonical container id the command ran under — the
            `{container_id}` for the Container Files API, reusable as a
            `container_reference` in later requests. Present on every
            sandbox-executed call, even when no files changed.
          type: string
        error:
          description: >-
            The error message when the sandbox call failed before producing a
            result (for example, the per-user container limit was reached). Set
            together with `status: 'failed'`; absent on a successful call. A
            non-zero `exitCode` is a command failure, not a tool failure.
          type: string
        exitCode:
          type: integer
        files:
          description: >-
            Citations for the files the sandbox command created or modified,
            most-recently-touched first (at most 10). Retrieve them via the
            Container Files API.
          items:
            properties:
              container_id:
                type: string
              end_index:
                type: integer
              file_id:
                type: string
              filename:
                type: string
              start_index:
                type: integer
              type:
                enum:
                  - container_file_citation
                type: string
            required:
              - type
              - container_id
              - file_id
              - filename
              - start_index
              - end_index
            type: object
          type: array
        id:
          type: string
        status:
          $ref: '#/components/schemas/FailableToolCallStatus'
        stderr:
          type: string
        stdout:
          type: string
        type:
          enum:
            - openrouter:bash
          type: string
      required:
        - status
        - type
      type: object
    OutputBrowserUseServerToolItem:
      description: An openrouter:browser_use server tool output item
      example:
        action: screenshot
        id: bu_tmp_abc123
        status: completed
        type: openrouter:browser_use
      properties:
        action:
          type: string
        id:
          type: string
        screenshotB64:
          type: string
        status:
          $ref: '#/components/schemas/ToolCallStatus'
        type:
          enum:
            - openrouter:browser_use
          type: string
      required:
        - status
        - type
      type: object
    OutputCodeInterpreterServerToolItem:
      description: An openrouter:code_interpreter server tool output item
      example:
        code: print("hello")
        id: ci_tmp_abc123
        language: python
        status: completed
        stdout: |
          hello
        type: openrouter:code_interpreter
      properties:
        code:
          type: string
        exitCode:
          type: integer
        id:
          type: string
        language:
          type: string
        status:
          $ref: '#/components/schemas/ToolCallStatus'
        stderr:
          type: string
        stdout:
          type: string
        type:
          enum:
            - openrouter:code_interpreter
          type: string
      required:
        - status
        - type
      type: object
    OutputDatetimeItem:
      description: An openrouter:datetime server tool output item
      example:
        datetime: '2026-03-12T14:30:00.000Z'
        id: dt_tmp_abc123
        status: completed
        timezone: UTC
        type: openrouter:datetime
      properties:
        datetime:
          description: ISO 8601 datetime string
          type: string
        id:
          type: string
        status:
          $ref: '#/components/schemas/ToolCallStatus'
        timezone:
          description: IANA timezone name
          type: string
        type:
          enum:
            - openrouter:datetime
          type: string
      required:
        - status
        - type
        - datetime
        - timezone
      type: object
    OutputSearchModelsServerToolItem:
      description: An openrouter:experimental__search_models server tool output item
      example:
        arguments: '{"query":"Claude Opus"}'
        id: sm_tmp_abc123
        query: Claude Opus
        status: completed
        type: openrouter:experimental__search_models
      properties:
        arguments:
          description: >-
            The JSON arguments submitted to the search tool (e.g.
            {"query":"Claude"})
          type: string
        id:
          type: string
        query:
          type: string
        status:
          $ref: '#/components/schemas/ToolCallStatus'
        type:
          enum:
            - openrouter:experimental__search_models
          type: string
      required:
        - status
        - type
      type: object
    OutputFileSearchServerToolItem:
      description: An openrouter:file_search server tool output item
      example:
        id: fs_tmp_abc123
        queries:
          - search term
        status: completed
        type: openrouter:file_search
      properties:
        id:
          type: string
        queries:
          items:
            type: string
          type: array
        status:
          $ref: '#/components/schemas/ToolCallStatus'
        type:
          enum:
            - openrouter:file_search
          type: string
      required:
        - status
        - type
      type: object
    OutputFilesServerToolItem:
      description: An openrouter:files server tool output item
      example:
        filename: notes.txt
        id: fl_tmp_abc123
        operation: read
        result: '{"id":"file_abc","filename":"notes.txt","content":"hello"}'
        status: completed
        type: openrouter:files
      properties:
        arguments:
          description: The raw tool-call arguments string as emitted by the model.
          type:
            - string
            - 'null'
        call_id:
          description: The model-generated tool call id from the originating turn.
          type:
            - string
            - 'null'
        error:
          description: Error message when the file operation failed.
          type: string
        file_id:
          description: The target file id supplied in the tool-call arguments.
          type: string
        filename:
          description: The target filename supplied in the tool-call arguments.
          type: string
        id:
          type: string
        operation:
          description: The file operation performed (list, read, write, or edit).
          type: string
        result:
          description: JSON-serialized result of the file operation.
          type: string
        status:
          $ref: '#/components/schemas/ToolCallStatus'
        type:
          enum:
            - openrouter:files
          type: string
      required:
        - status
        - type
      type: object
    OutputFusionServerToolItem:
      description: An openrouter:fusion server tool output item
      example:
        id: st_tmp_abc123
        status: completed
        type: openrouter:fusion
      properties:
        analysis:
          $ref: '#/components/schemas/FusionAnalysisResult'
        error:
          description: >-
            Error message when the fusion run did not produce an analysis
            result.
          type: string
        failed_models:
          description: >-
            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.
          items:
            properties:
              error:
                description: Error message describing why the model failed.
                type: string
              model:
                description: Slug of the analysis model that failed.
                type: string
              status_code:
                description: >-
                  HTTP status code from the upstream response, when available
                  (e.g. 402, 429).
                type: integer
            required:
              - model
              - error
            type: object
          type: array
        failure_reason:
          description: >-
            Typed failure reason when the fusion run failed. Possible values
            include: all_panels_failed, insufficient_credits, rate_limited,
            invalid_model, 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. The consumer-cancellation code is
            `cancelled`.
          type: string
        id:
          type: string
        responses:
          description: >-
            Analysis models that produced a response in this fusion run, with
            each model's full panel content.
          items:
            properties:
              content:
                type: string
              model:
                type: string
            required:
              - model
            type: object
          type: array
        sources:
          description: >-
            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.
          items:
            $ref: '#/components/schemas/FusionSource'
          type: array
        status:
          $ref: '#/components/schemas/ToolCallStatus'
        type:
          enum:
            - openrouter:fusion
          type: string
      required:
        - status
        - type
      type: object
    OutputImageGenerationServerToolItem:
      description: An openrouter:image_generation server tool output item
      example:
        id: ig_tmp_abc123
        imageUrl: https://example.com/image.png
        result: https://example.com/image.png
        status: completed
        type: openrouter:image_generation
      properties:
        id:
          type: string
        imageB64:
          type: string
        imageUrl:
          type: string
        prompt:
          description: The prompt (possibly rewritten) that the image was generated from.
          type: string
        result:
          description: >-
            The generated image as a base64-encoded string or URL, matching
            OpenAI image_generation_call format
          type:
            - string
            - 'null'
        revisedPrompt:
          type: string
        status:
          $ref: '#/components/schemas/ToolCallStatus'
        type:
          enum:
            - openrouter:image_generation
          type: string
      required:
        - status
        - type
      type: object
    OutputMcpServerToolItem:
      description: An openrouter:mcp server tool output item
      example:
        id: mcp_tmp_abc123
        serverLabel: my-server
        status: completed
        toolName: get_data
        type: openrouter:mcp
      properties:
        id:
          type: string
        serverLabel:
          type: string
        status:
          $ref: '#/components/schemas/ToolCallStatus'
        toolName:
          type: string
        type:
          enum:
            - openrouter:mcp
          type: string
      required:
        - status
        - type
      type: object
    OutputMemoryServerToolItem:
      description: An openrouter:memory server tool output item
      example:
        action: read
        id: mem_tmp_abc123
        key: user_preference
        status: completed
        type: openrouter:memory
      properties:
        action:
          enum:
            - read
            - write
            - delete
          type: string
        id:
          type: string
        key:
          type: string
        status:
          $ref: '#/components/schemas/ToolCallStatus'
        type:
          enum:
            - openrouter:memory
          type: string
        value: {}
      required:
        - status
        - type
      type: object
    OutputShellServerToolItem:
      description: An openrouter:shell server tool output item
      example:
        action:
          commands:
            - echo hello
          max_output_length: null
          timeout_ms: null
        call_id: call_abc123
        id: st_tmp_abc123
        output:
          - outcome:
              exit_code: 0
              type: exit
            stderr: ''
            stdout: |
              hello
        status: completed
        type: openrouter:shell
      properties:
        action:
          properties:
            commands:
              items:
                type: string
              type: array
            max_output_length:
              type:
                - integer
                - 'null'
            timeout_ms:
              type:
                - integer
                - 'null'
          required:
            - commands
          type: object
        arguments:
          description: The raw tool-call arguments string as emitted by the model.
          type:
            - string
            - 'null'
        call_id:
          description: The model-generated tool call id from the originating turn.
          type:
            - string
            - 'null'
        container_id:
          description: >-
            The canonical container id the command ran under — the
            `{container_id}` for the Container Files API, reusable as a
            `container_reference` in later requests. Present on every
            sandbox-executed call, even when no files changed.
          type: string
        error:
          description: >-
            The error message when the sandbox call failed before producing a
            result (for example, the per-user container limit was reached). Set
            together with `status: 'failed'`; absent on a successful call.
            `output` is omitted when `error` is set.
          type: string
        files:
          description: >-
            Citations for the files the sandbox command created or modified,
            most-recently-touched first (at most 10). Retrieve them via the
            Container Files API.
          items:
            properties:
              container_id:
                type: string
              end_index:
                type: integer
              file_id:
                type: string
              filename:
                type: string
              start_index:
                type: integer
              type:
                enum:
                  - container_file_citation
                type: string
            required:
              - type
              - container_id
              - file_id
              - filename
              - start_index
              - end_index
            type: object
          type: array
        id:
          type: string
        output:
          items:
            $ref: '#/components/schemas/ShellCallOutputContent'
          type: array
        status:
          $ref: '#/components/schemas/FailableToolCallStatus'
        type:
          enum:
            - openrouter:shell
          type: string
      required:
        - status
        - type
      type: object
    OutputSubagentServerToolItem:
      description: An openrouter:subagent server tool output item
      example:
        id: st_tmp_abc123
        status: completed
        type: openrouter:subagent
      properties:
        call_id:
          description: >-
            EXPERIMENTAL — subject to change without notice. The `call_id` of
            the tool call that spawned this subagent. This id will also be
            included as the `subagent_id` on any `function_call` items created
            by the subagent. This must be returned in the request so the
            `function_call` can be matched with the correct subagent. A
            suspended `in_progress` item is announced once and never re-emitted
            or terminally closed — completion arrives as a new item with the
            same `call_id`.
          type: string
        error:
          description: >-
            Error message when the subagent task did not produce an outcome. Set
            together with `status: 'failed'` on the terminal item.
          type: string
        id:
          type: string
        instance_name:
          description: >-
            Provider-safe function name of the specific subagent instance that
            produced this item (e.g. `openrouter_subagent__1`). Present only on
            items from non-default instances — the second and later subagent
            entries in the request `tools` array. The first (default) instance
            omits it, even when multiple subagents are configured. When a
            replayed item echoes this field back, the transcript rehydrates the
            call under that instance's tool. This identity is positional: it is
            derived from the index of the subagent entry in the request `tools`
            array, so keep the order of subagent entries stable across requests
            in a conversation.
          example: openrouter_subagent__1
          type: string
        model:
          description: Slug of the worker model that executed the task.
          type: string
        name:
          description: >-
            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.
          example: summarizer
          type: string
        outcome:
          description: >-
            The worker model's result (the outcome text returned to the
            delegating model).
          type: string
        status:
          $ref: '#/components/schemas/FailableToolCallStatus'
        task_description:
          description: The task description the delegating model sent to the worker.
          type: string
        task_name:
          description: The short task identifier the delegating model supplied.
          type: string
        type:
          enum:
            - openrouter:subagent
          type: string
      required:
        - status
        - type
      type: object
    OutputTextEditorServerToolItem:
      description: An openrouter:text_editor server tool output item
      example:
        command: view
        filePath: /src/main.ts
        id: te_tmp_abc123
        status: completed
        type: openrouter:text_editor
      properties:
        command:
          enum:
            - view
            - create
            - str_replace
            - insert
          type: string
        filePath:
          type: string
        id:
          type: string
        status:
          $ref: '#/components/schemas/ToolCallStatus'
        type:
          enum:
            - openrouter:text_editor
          type: string
      required:
        - status
        - type
      type: object
    OutputToolSearchServerToolItem:
      description: An openrouter:tool_search server tool output item
      example:
        id: ts_tmp_abc123
        query: weather tools
        status: completed
        type: openrouter:tool_search
      properties:
        id:
          type: string
        query:
          type: string
        status:
          $ref: '#/components/schemas/ToolCallStatus'
        type:
          enum:
            - openrouter:tool_search
          type: string
      required:
        - status
        - type
      type: object
    OutputWebFetchServerToolItem:
      description: An openrouter:web_fetch server tool output item
      example:
        httpStatus: 200
        id: wf_tmp_abc123
        status: completed
        title: Example Domain
        type: openrouter:web_fetch
        url: https://example.com
      properties:
        content:
          type: string
        error:
          description: The error message if the fetch failed.
          type: string
        httpStatus:
          description: The HTTP status code returned by the upstream URL fetch.
          type: integer
        id:
          type: string
        status:
          $ref: '#/components/schemas/ToolCallStatus'
        title:
          type: string
        type:
          enum:
            - openrouter:web_fetch
          type: string
        url:
          type: string
      required:
        - status
        - type
      type: object
    OutputWebSearchServerToolItem:
      description: An openrouter:web_search server tool output item
      example:
        action:
          query: latest AI news
          type: search
        id: ws_tmp_abc123
        status: completed
        type: openrouter:web_search
      properties:
        action:
          description: >-
            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.
          properties:
            query:
              type: string
            sources:
              items:
                properties:
                  type:
                    enum:
                      - url
                    type: string
                  url:
                    type: string
                required:
                  - type
                  - url
                type: object
              type: array
            type:
              enum:
                - search
              type: string
          required:
            - type
            - query
          type: object
        id:
          type: string
        status:
          $ref: '#/components/schemas/ToolCallStatus'
        type:
          enum:
            - openrouter:web_search
          type: string
      required:
        - status
        - type
      type: object
    OutputReasoningItem:
      allOf:
        - $ref: '#/components/schemas/OutputItemReasoning'
        - properties:
            content:
              items:
                $ref: '#/components/schemas/ReasoningTextContent'
              type:
                - array
                - 'null'
            format:
              $ref: '#/components/schemas/ReasoningFormat'
            signature:
              description: A signature for the reasoning content, used for verification
              example: EvcBCkgIChABGAIqQKkSDbRuVEQUk9qN1odC098l9SEj...
              type:
                - string
                - 'null'
          type: object
      description: An output item containing reasoning
      example:
        content:
          - text: First, we analyze the problem...
            type: reasoning_text
        format: anthropic-claude-v1
        id: reasoning-123
        signature: EvcBCkgIChABGAIqQKkSDbRuVEQUk9qN1odC098l9SEj...
        status: completed
        summary:
          - text: Analyzed the problem and found the optimal solution.
            type: summary_text
        type: reasoning
    OutputShellCallItem:
      description: >-
        A native `shell_call` output item matching OpenAI's Responses API shape.
        Emitted for the sandbox-backed `shell` tool.
      example:
        action:
          commands:
            - echo hello
          max_output_length: null
          timeout_ms: null
        call_id: call_abc123
        id: shc_abc123
        status: completed
        type: shell_call
      properties:
        action:
          properties:
            commands:
              items:
                type: string
              type: array
            max_output_length:
              type:
                - integer
                - 'null'
            timeout_ms:
              type:
                - integer
                - 'null'
          required:
            - commands
            - max_output_length
            - timeout_ms
          type: object
        arguments:
          description: >-
            The raw tool-call arguments string as emitted by the model. Echo
            back unchanged when replaying history; used verbatim to preserve
            provider prompt-cache prefixes.
          type:
            - string
            - 'null'
        call_id:
          type: string
        id:
          type: string
        status:
          $ref: '#/components/schemas/ShellCallStatus'
        type:
          enum:
            - shell_call
          type: string
      required:
        - type
        - id
        - call_id
        - status
      type: object
    OutputShellCallOutputItem:
      description: >-
        A native `shell_call_output` item matching OpenAI's Responses API shape.
        Carries per-command stdout, stderr, and the exit/timeout outcome. A
        sandbox failure terminates the item as `incomplete` with `error` set.
      example:
        call_id: call_abc123
        id: sho_abc123
        output:
          - outcome:
              exit_code: 0
              type: exit
            stderr: ''
            stdout: |
              hello
        status: completed
        type: shell_call_output
      properties:
        call_id:
          type: string
        container_id:
          description: >-
            The canonical container id the command ran under — the
            `{container_id}` for the Container Files API, reusable as a
            `container_reference` in later requests. Present on every
            sandbox-executed call, even when no files changed.
          type: string
        error:
          description: >-
            The error message when the sandbox call failed before producing a
            result (for example, the per-user container limit was reached). Set
            together with `status: 'incomplete'` and an empty `output`; absent
            on a successful call.
          type: string
        files:
          description: >-
            Citations for the files the sandbox command created or modified,
            most-recently-touched first (at most 10). Retrieve them via the
            Container Files API.
          items:
            properties:
              container_id:
                type: string
              end_index:
                type: integer
              file_id:
                type: string
              filename:
                type: string
              start_index:
                type: integer
              type:
                enum:
                  - container_file_citation
                type: string
            required:
              - type
              - container_id
              - file_id
              - filename
              - start_index
              - end_index
            type: object
          type: array
        id:
          type: string
        max_output_length:
          type:
            - integer
            - 'null'
        output:
          items:
            $ref: '#/components/schemas/ShellCallOutputContent'
          type: array
        status:
          $ref: '#/components/schemas/ShellCallStatus'
        type:
          enum:
            - shell_call_output
          type: string
      required:
        - type
        - id
        - call_id
        - status
        - output
      type: object
    OutputWebSearchCallItem:
      allOf:
        - $ref: '#/components/schemas/OutputItemWebSearchCall'
        - additionalProperties: {}
          properties: {}
          type: object
      example:
        id: ws-abc123
        status: completed
        type: web_search_call
    ServerToolUseDetails:
      description: Usage for server-side tool execution (e.g., web search)
      example:
        tool_calls_executed: 2
        tool_calls_requested: 2
        web_search_requests: 2
      properties:
        tool_calls_executed:
          description: >-
            Number of OpenRouter server tool calls that executed and produced a
            result.
          type:
            - integer
            - 'null'
        tool_calls_requested:
          description: >-
            Total number of OpenRouter server-orchestrated tool calls the model
            requested, across all tool types. Provider-native tools (e.g. native
            web search) are not counted here.
          type:
            - integer
            - 'null'
        web_search_requests:
          description: >-
            Number of web searches performed by server-side tools. For
            server-orchestrated tool calls a web search is also counted in
            tool_calls_requested; provider-native web search may report
            web_search_requests only. Do not sum the two.
          type:
            - integer
            - 'null'
      type:
        - object
        - 'null'
    AnthropicBashCodeExecutionContent:
      discriminator:
        mapping:
          bash_code_execution_result:
            $ref: '#/components/schemas/AnthropicBashCodeExecutionResult'
          bash_code_execution_tool_result_error:
            $ref: '#/components/schemas/AnthropicBashCodeExecutionToolResultError'
        propertyName: type
      example:
        content: []
        return_code: 0
        stderr: ''
        stdout: Hello
        type: bash_code_execution_result
      oneOf:
        - $ref: '#/components/schemas/AnthropicBashCodeExecutionToolResultError'
        - $ref: '#/components/schemas/AnthropicBashCodeExecutionResult'
    AnthropicCodeExecutionContent:
      discriminator:
        mapping:
          code_execution_result:
            $ref: '#/components/schemas/AnthropicCodeExecutionResult'
          code_execution_tool_result_error:
            $ref: '#/components/schemas/AnthropicCodeExecutionToolResultError'
          encrypted_code_execution_result:
            $ref: '#/components/schemas/AnthropicEncryptedCodeExecutionResult'
        propertyName: type
      example:
        content: []
        return_code: 0
        stderr: ''
        stdout: Hello
        type: code_execution_result
      oneOf:
        - $ref: '#/components/schemas/AnthropicCodeExecutionToolResultError'
        - $ref: '#/components/schemas/AnthropicCodeExecutionResult'
        - $ref: '#/components/schemas/AnthropicEncryptedCodeExecutionResult'
    ORAnthropicNullableCaller:
      discriminator:
        mapping:
          code_execution_20250825:
            $ref: '#/components/schemas/AnthropicCodeExecution20250825Caller'
          code_execution_20260120:
            $ref: '#/components/schemas/AnthropicCodeExecution20260120Caller'
          direct:
            $ref: '#/components/schemas/AnthropicDirectCaller'
        propertyName: type
      example:
        type: direct
      oneOf:
        - $ref: '#/components/schemas/AnthropicDirectCaller'
        - $ref: '#/components/schemas/AnthropicCodeExecution20250825Caller'
        - $ref: '#/components/schemas/AnthropicCodeExecution20260120Caller'
        - type: 'null'
    AnthropicTextCitation:
      discriminator:
        mapping:
          char_location:
            $ref: '#/components/schemas/AnthropicCitationCharLocation'
          content_block_location:
            $ref: '#/components/schemas/AnthropicCitationContentBlockLocation'
          page_location:
            $ref: '#/components/schemas/AnthropicCitationPageLocation'
          search_result_location:
            $ref: '#/components/schemas/AnthropicCitationSearchResultLocation'
          web_search_result_location:
            $ref: '#/components/schemas/AnthropicCitationWebSearchResultLocation'
        propertyName: type
      example:
        cited_text: Example text
        document_index: 0
        document_title: null
        end_char_index: 10
        file_id: null
        start_char_index: 0
        type: char_location
      oneOf:
        - $ref: '#/components/schemas/AnthropicCitationCharLocation'
        - $ref: '#/components/schemas/AnthropicCitationPageLocation'
        - $ref: '#/components/schemas/AnthropicCitationContentBlockLocation'
        - $ref: '#/components/schemas/AnthropicCitationWebSearchResultLocation'
        - $ref: '#/components/schemas/AnthropicCitationSearchResultLocation'
    AnthropicTextEditorCodeExecutionContent:
      discriminator:
        mapping:
          text_editor_code_execution_create_result:
            $ref: '#/components/schemas/AnthropicTextEditorCodeExecutionCreateResult'
          text_editor_code_execution_str_replace_result:
            $ref: >-
              #/components/schemas/AnthropicTextEditorCodeExecutionStrReplaceResult
          text_editor_code_execution_tool_result_error:
            $ref: >-
              #/components/schemas/AnthropicTextEditorCodeExecutionToolResultError
          text_editor_code_execution_view_result:
            $ref: '#/components/schemas/AnthropicTextEditorCodeExecutionViewResult'
        propertyName: type
      example:
        content: file content
        file_type: text
        num_lines: 10
        start_line: 1
        total_lines: 10
        type: text_editor_code_execution_view_result
      oneOf:
        - $ref: '#/components/schemas/AnthropicTextEditorCodeExecutionToolResultError'
        - $ref: '#/components/schemas/AnthropicTextEditorCodeExecutionViewResult'
        - $ref: '#/components/schemas/AnthropicTextEditorCodeExecutionCreateResult'
        - $ref: >-
            #/components/schemas/AnthropicTextEditorCodeExecutionStrReplaceResult
    AnthropicToolSearchContent:
      discriminator:
        mapping:
          tool_search_tool_result_error:
            $ref: '#/components/schemas/AnthropicToolSearchResultError'
          tool_search_tool_search_result:
            $ref: '#/components/schemas/AnthropicToolSearchResult'
        propertyName: type
      example:
        tool_references:
          - tool_name: my_tool
            type: tool_reference
        type: tool_search_tool_search_result
      oneOf:
        - $ref: '#/components/schemas/AnthropicToolSearchResultError'
        - $ref: '#/components/schemas/AnthropicToolSearchResult'
    AnthropicCaller:
      discriminator:
        mapping:
          code_execution_20250825:
            $ref: '#/components/schemas/AnthropicCodeExecution20250825Caller'
          code_execution_20260120:
            $ref: '#/components/schemas/AnthropicCodeExecution20260120Caller'
          direct:
            $ref: '#/components/schemas/AnthropicDirectCaller'
        propertyName: type
      example:
        type: direct
      oneOf:
        - $ref: '#/components/schemas/AnthropicDirectCaller'
        - $ref: '#/components/schemas/AnthropicCodeExecution20250825Caller'
        - $ref: '#/components/schemas/AnthropicCodeExecution20260120Caller'
    AnthropicWebFetchContent:
      discriminator:
        mapping:
          web_fetch_result:
            $ref: '#/components/schemas/AnthropicWebFetchBlock'
          web_fetch_tool_result_error:
            $ref: '#/components/schemas/AnthropicWebFetchToolResultError'
        propertyName: type
      example:
        content:
          citations: null
          source:
            data: ''
            media_type: text/plain
            type: text
          title: null
          type: document
        retrieved_at: null
        type: web_fetch_result
        url: https://example.com
      oneOf:
        - $ref: '#/components/schemas/AnthropicWebFetchToolResultError'
        - $ref: '#/components/schemas/AnthropicWebFetchBlock'
    AnthropicWebSearchResult:
      example:
        encrypted_content: enc_content_0
        page_age: null
        title: Example Page
        type: web_search_result
        url: https://example.com
      properties:
        encrypted_content:
          type: string
        page_age:
          type:
            - string
            - 'null'
        title:
          type: string
        type:
          enum:
            - web_search_result
          type: string
        url:
          type: string
      required:
        - type
        - encrypted_content
        - page_age
        - title
        - url
      type: object
    AnthropicWebSearchToolResultError:
      example:
        error_code: unavailable
        type: web_search_tool_result_error
      properties:
        error_code:
          enum:
            - invalid_tool_input
            - unavailable
            - max_uses_exceeded
            - too_many_requests
            - query_too_long
            - request_too_large
          type: string
        type:
          enum:
            - web_search_tool_result_error
          type: string
      required:
        - type
        - error_code
      type: object
    AnthropicBaseUsageIteration:
      example:
        cache_creation: null
        cache_creation_input_tokens: 0
        cache_read_input_tokens: 0
        input_tokens: 100
        output_tokens: 50
      properties:
        cache_creation:
          $ref: '#/components/schemas/AnthropicIterationCacheCreation'
        cache_creation_input_tokens:
          type: integer
        cache_read_input_tokens:
          type: integer
        input_tokens:
          type: integer
        output_tokens:
          type: integer
      type: object
    InputAudio:
      description: Audio input content item
      example:
        input_audio:
          data: SGVsbG8gV29ybGQ=
          format: mp3
        type: input_audio
      properties:
        input_audio:
          properties:
            data:
              type: string
            format:
              enum:
                - mp3
                - wav
              type: string
          required:
            - data
            - format
          type: object
        type:
          enum:
            - input_audio
          type: string
      required:
        - type
        - input_audio
      type: object
    InputFile:
      description: File input content item
      example:
        file_id: file-abc123
        filename: document.pdf
        type: input_file
      properties:
        file_data:
          type: string
        file_id:
          type:
            - string
            - 'null'
        file_url:
          type: string
        filename:
          type: string
        type:
          enum:
            - input_file
          type: string
      required:
        - type
      type: object
    InputImage:
      description: >-
        Image input content item. Provide either an image_url (a URL or a base64
        data URL) or the file_id of an uploaded image.
      example:
        detail: auto
        image_url: https://example.com/image.jpg
        type: input_image
      properties:
        detail:
          enum:
            - auto
            - high
            - low
            - original
          type: string
        file_id:
          type:
            - string
            - 'null'
        image_url:
          type:
            - string
            - 'null'
        type:
          enum:
            - input_image
          type: string
      required:
        - type
        - detail
      type: object
    InputText:
      description: Text input content item
      example:
        text: Hello, how can I help you?
        type: input_text
      properties:
        prompt_cache_breakpoint:
          $ref: '#/components/schemas/PromptCacheBreakpoint'
        text:
          type: string
        type:
          enum:
            - input_text
          type: string
      required:
        - type
        - text
      type: object
    OpenAIResponseInputMessageItem:
      example:
        content:
          - text: Hello, how are you?
            type: input_text
        id: msg-abc123
        role: user
        type: message
      properties:
        content:
          items:
            discriminator:
              mapping:
                input_audio:
                  $ref: '#/components/schemas/InputAudio'
                input_file:
                  $ref: '#/components/schemas/InputFile'
                input_image:
                  $ref: '#/components/schemas/InputImage'
                input_text:
                  $ref: '#/components/schemas/InputText'
              propertyName: type
            oneOf:
              - $ref: '#/components/schemas/InputText'
              - $ref: '#/components/schemas/InputImage'
              - $ref: '#/components/schemas/InputFile'
              - $ref: '#/components/schemas/InputAudio'
          type: array
        id:
          type: string
        role:
          anyOf:
            - enum:
                - user
              type: string
            - enum:
                - system
              type: string
            - enum:
                - developer
              type: string
        type:
          enum:
            - message
          type: string
      required:
        - id
        - role
        - content
      type: object
    OpenAIResponseFunctionToolCallOutput:
      example:
        call_id: call-abc123
        output: '{"temperature":72,"conditions":"sunny"}'
        type: function_call_output
      properties:
        call_id:
          type: string
        id:
          type:
            - string
            - 'null'
        output:
          anyOf:
            - type: string
            - items:
                discriminator:
                  mapping:
                    input_file:
                      $ref: '#/components/schemas/InputFile'
                    input_image:
                      $ref: '#/components/schemas/InputImage'
                    input_text:
                      $ref: '#/components/schemas/InputText'
                  propertyName: type
                oneOf:
                  - $ref: '#/components/schemas/InputText'
                  - $ref: '#/components/schemas/InputImage'
                  - $ref: '#/components/schemas/InputFile'
              type: array
        status:
          anyOf:
            - $ref: '#/components/schemas/ToolCallStatus'
            - type: 'null'
        type:
          enum:
            - function_call_output
          type: string
      required:
        - type
        - call_id
        - output
      type: object
    OpenAIResponseFunctionToolCall:
      example:
        arguments: '{"location":"San Francisco"}'
        call_id: call-abc123
        id: fc-abc123
        name: get_weather
        status: completed
        type: function_call
      properties:
        arguments:
          type: string
        async:
          description: >-
            True when the model called a tool declared with `async: true` and
            may continue its turn before the output is returned. Return the
            result in a later request as a `function_call_output` with this
            `call_id`.
          example: true
          type: boolean
        call_id:
          type: string
        id:
          type: string
        name:
          type: string
        namespace:
          description: >-
            Namespace qualifier for tools registered as part of a namespace tool
            group (e.g. an MCP server)
          type: string
        status:
          $ref: '#/components/schemas/ToolCallStatus'
        subagent_id:
          description: >-
            EXPERIMENTAL — subject to change without notice. String id that
            matches the `call_id` of the `openrouter:subagent` server tool call
            that spawned the subagent. Present on every `function_call` item the
            subagent projects; absent on ordinary function calls.
          type: string
        subagent_items:
          description: >-
            EXPERIMENTAL — subject to change without notice. The subagent's
            output items produced on this turn. Treat this as an opaque object;
            you must replay it in the request so that the subagent can continue
            execution of the tool with the same context. If a subagent created
            multiple parallel tool calls, only the first tool call will have
            this field. The other tool calls will only have `subagent_id`.
            Present only if the tool call originates from a subagent spawned by
            the `openrouter:subagent` server tool.
          items:
            additionalProperties: {}
            properties:
              type:
                type: string
            required:
              - type
            type: object
          type: array
        type:
          enum:
            - function_call
          type: string
      required:
        - type
        - call_id
        - name
        - arguments
      type: object
    OpenAIResponseCustomToolCall:
      example:
        call_id: call-abc123
        id: ctc-abc123
        input: |-
          *** Begin Patch
          *** End Patch
        name: apply_patch
        type: custom_tool_call
      properties:
        async:
          description: >-
            True when the model called a tool declared with `async: true` and
            may continue its turn before the output is returned. Return the
            result in a later request as a `function_call_output` with this
            `call_id`.
          example: true
          type: boolean
        call_id:
          type: string
        id:
          type: string
        input:
          type: string
        name:
          type: string
        namespace:
          description: >-
            Namespace qualifier for tools registered as part of a namespace tool
            group (e.g. an MCP server)
          type: string
        type:
          enum:
            - custom_tool_call
          type: string
      required:
        - type
        - call_id
        - name
        - input
      type: object
    OpenAIResponseCustomToolCallOutput:
      example:
        call_id: call-abc123
        output: patch applied successfully
        type: custom_tool_call_output
      properties:
        call_id:
          type: string
        id:
          type: string
        output:
          anyOf:
            - type: string
            - items:
                discriminator:
                  mapping:
                    input_file:
                      $ref: '#/components/schemas/InputFile'
                    input_image:
                      $ref: '#/components/schemas/InputImage'
                    input_text:
                      $ref: '#/components/schemas/InputText'
                  propertyName: type
                oneOf:
                  - $ref: '#/components/schemas/InputText'
                  - $ref: '#/components/schemas/InputImage'
                  - $ref: '#/components/schemas/InputFile'
              type: array
        type:
          enum:
            - custom_tool_call_output
          type: string
      required:
        - type
        - call_id
        - output
      type: object
    ApplyPatchCallItem:
      description: >-
        A tool call emitted by the model requesting a V4A patch operation. The
        client applies the patch and echoes an `apply_patch_call_output` on the
        next turn.
      example:
        call_id: call_abc123
        id: apc_abc123
        operation:
          diff: |-
            @@ function main() {
            +  console.log("hi");
             }
          path: /src/main.ts
          type: update_file
        status: completed
        type: apply_patch_call
      properties:
        call_id:
          type: string
        id:
          type:
            - string
            - 'null'
        operation:
          $ref: '#/components/schemas/ApplyPatchCallOperation'
        status:
          $ref: '#/components/schemas/ApplyPatchCallStatus'
        type:
          enum:
            - apply_patch_call
          type: string
      required:
        - type
        - call_id
        - status
        - operation
      type: object
    ApplyPatchCallOutputItem:
      description: >-
        The client's echo of an `apply_patch_call` after applying the patch.
        `output` is an optional human-readable log; `status` is `completed` when
        the patch was applied successfully, `failed` otherwise.
      example:
        call_id: call_abc123
        output: Applied patch to /src/main.ts
        status: completed
        type: apply_patch_call_output
      properties:
        call_id:
          type: string
        id:
          type:
            - string
            - 'null'
        output:
          type:
            - string
            - 'null'
        status:
          enum:
            - completed
            - failed
          type: string
        type:
          enum:
            - apply_patch_call_output
          type: string
      required:
        - type
        - call_id
        - status
      type: object
    ConfigurationUpdateItem:
      description: >-
        Changes reasoning effort from this point in the conversation onward
        without invalidating the prompt cache for the preceding items. Place it
        before the user message it should apply to; it stays in effect until
        another configuration update. Two adjacent configuration updates are
        rejected. Only supported by models that accept mid-conversation effort
        changes.
      example:
        reasoning:
          effort: low
        type: configuration_update
      properties:
        id:
          type:
            - string
            - 'null'
        reasoning:
          $ref: '#/components/schemas/ConfigurationUpdateReasoning'
        type:
          enum:
            - configuration_update
          type: string
      required:
        - type
        - reasoning
      type: object
    ApplyPatchCreateFileOperation:
      description: >-
        The `create_file` variant of an `apply_patch_call.operation`. Carries a
        V4A diff describing the new file contents.
      example:
        diff: |
          @@
          +console.log("hi");
        path: /src/main.ts
        type: create_file
      properties:
        diff:
          type: string
        path:
          type: string
        type:
          enum:
            - create_file
          type: string
      required:
        - type
        - path
        - diff
      type: object
    ApplyPatchDeleteFileOperation:
      description: >-
        The `delete_file` variant of an `apply_patch_call.operation`. Identifies
        the file to remove; no diff is required.
      example:
        path: /src/main.ts
        type: delete_file
      properties:
        path:
          type: string
        type:
          enum:
            - delete_file
          type: string
      required:
        - type
        - path
      type: object
    ApplyPatchUpdateFileOperation:
      description: >-
        The `update_file` variant of an `apply_patch_call.operation`. Carries a
        V4A diff describing edits to an existing file.
      example:
        diff: |-
          @@ function main() {
          +  console.log("hi");
           }
        path: /src/main.ts
        type: update_file
      properties:
        diff:
          type: string
        path:
          type: string
        type:
          enum:
            - update_file
          type: string
      required:
        - type
        - path
        - diff
      type: object
    CodeInterpreterFileOutput:
      example:
        download_url: https://example.com/download/file_abc123
        filename: summary.txt
        id: file_abc123
        type: file
      properties:
        download_url:
          description: >-
            Provider-issued download URL for the generated file. Typically
            signed and time-limited (see `expires_at`); fetch promptly rather
            than persisting the URL.
          type: string
        error_code:
          description: >-
            Provider error code when generating or persisting the file failed;
            null or absent on success.
          type:
            - string
            - 'null'
        expires_at:
          description: >-
            When the `download_url` stops working, as an ISO 8601 timestamp.
            After this time the file must be regenerated.
          type: string
        filename:
          type: string
        id:
          type: string
        media_type:
          type: string
        sha256:
          type: string
        size_bytes:
          type: integer
        status:
          description: >-
            Provider-reported readiness of the generated file (e.g. `ready`).
            Values other than `ready` indicate the artifact may not be
            downloadable.
          type: string
        type:
          enum:
            - file
          type: string
      required:
        - type
      type: object
    CodeInterpreterImageOutput:
      example:
        type: image
        url: https://example.com/plot.png
      properties:
        type:
          enum:
            - image
          type: string
        url:
          type: string
      required:
        - type
        - url
      type: object
    CodeInterpreterLogsOutput:
      example:
        logs: |
          hello
        type: logs
      properties:
        logs:
          type: string
        type:
          enum:
            - logs
          type: string
      required:
        - type
        - logs
      type: object
    WebSearchStatus:
      enum:
        - completed
        - searching
        - in_progress
        - failed
      example: completed
      type: string
    ImageGenerationStatus:
      enum:
        - in_progress
        - completed
        - generating
        - failed
      example: completed
      type: string
    ResponseOutputText:
      example:
        annotations:
          - end_index: 42
            start_index: 0
            title: Paris - Wikipedia
            type: url_citation
            url: https://en.wikipedia.org/wiki/Paris
        text: The capital of France is Paris.
        type: output_text
      properties:
        annotations:
          items:
            $ref: '#/components/schemas/OpenAIResponsesAnnotation'
          type: array
        logprobs:
          items:
            properties:
              bytes:
                items:
                  type: integer
                type: array
              logprob:
                format: double
                type: number
              token:
                type: string
              top_logprobs:
                items:
                  properties:
                    bytes:
                      items:
                        type: integer
                      type: array
                    logprob:
                      format: double
                      type: number
                    token:
                      type: string
                  required:
                    - token
                    - bytes
                    - logprob
                  type: object
                type: array
            required:
              - token
              - bytes
              - logprob
              - top_logprobs
            type: object
          type: array
        text:
          type: string
        type:
          enum:
            - output_text
          type: string
      required:
        - type
        - text
      type: object
    OpenAIResponsesRefusalContent:
      example:
        refusal: I'm sorry, I cannot assist with that request
        type: refusal
      properties:
        refusal:
          type: string
        type:
          enum:
            - refusal
          type: string
      required:
        - type
        - refusal
      type: object
    ReasoningTextContent:
      example:
        text: Let me think step by step about this problem...
        type: reasoning_text
      properties:
        text:
          type: string
        type:
          enum:
            - reasoning_text
          type: string
      required:
        - type
        - text
      type: object
    ReasoningSummaryText:
      example:
        text: Analyzed the problem using first principles
        type: summary_text
      properties:
        text:
          type: string
        type:
          enum:
            - summary_text
          type: string
      required:
        - type
        - text
      type: object
    WebSearchSource:
      example:
        type: url
        url: https://example.com/article
      properties:
        type:
          enum:
            - url
          type: string
        url:
          type: string
      required:
        - type
        - url
      type: object
    ReasoningContext:
      description: >-
        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.
      enum:
        - auto
        - all_turns
        - current_turn
        - null
      example: all_turns
      type:
        - string
        - 'null'
    ReasoningEffort:
      enum:
        - max
        - xhigh
        - high
        - medium
        - low
        - minimal
        - none
        - null
      example: medium
      type:
        - string
        - 'null'
    ReasoningMode:
      description: >-
        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.
      enum:
        - standard
        - pro
        - null
      example: standard
      type:
        - string
        - 'null'
    ReasoningSummaryVerbosity:
      enum:
        - auto
        - concise
        - detailed
        - null
      example: auto
      type:
        - string
        - 'null'
    Formats:
      anyOf:
        - $ref: '#/components/schemas/FormatTextConfig'
        - $ref: '#/components/schemas/FormatJsonObjectConfig'
        - $ref: '#/components/schemas/FormatJsonSchemaConfig'
      description: Text response format configuration
      example:
        type: text
    ToolChoiceAllowed:
      description: Constrains the model to a pre-defined set of allowed tools
      example:
        mode: auto
        tools:
          - name: get_weather
            type: function
        type: allowed_tools
      properties:
        mode:
          anyOf:
            - enum:
                - auto
              type: string
            - enum:
                - required
              type: string
        tools:
          items:
            additionalProperties: {}
            type: object
          type: array
        type:
          enum:
            - allowed_tools
          type: string
      required:
        - type
        - mode
        - tools
      type: object
    WebSearchEngineEnum:
      description: >-
        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).
      enum:
        - native
        - exa
        - parallel
        - firecrawl
        - perplexity
        - auto
      example: auto
      type: string
    WebSearchDomainFilter:
      example:
        allowed_domains:
          - example.com
        blocked_domains:
          - spam.com
        excluded_domains:
          - spam.com
      properties:
        allowed_domains:
          items:
            type: string
          type:
            - array
            - 'null'
        blocked_domains:
          items:
            type: string
          type:
            - array
            - 'null'
        excluded_domains:
          items:
            type: string
          type:
            - array
            - 'null'
      type:
        - object
        - 'null'
    WebSearchMode:
      description: >-
        Engine-native search mode. Exa supports instant, fast, auto (default),
        deep-lite, deep, and deep-reasoning. Parallel supports turbo, fast,
        basic (default), and advanced. Modes unsupported by the selected engine
        are ignored.
      enum:
        - instant
        - fast
        - auto
        - deep-lite
        - deep
        - deep-reasoning
        - turbo
        - basic
        - advanced
      example: auto
      type: string
    SearchContextSizeEnum:
      description: Size of the search context for web search tools
      enum:
        - low
        - medium
        - high
      example: medium
      type: string
    Preview_WebSearchUserLocation:
      example:
        city: San Francisco
        country: USA
        region: California
        timezone: America/Los_Angeles
        type: approximate
      properties:
        city:
          type:
            - string
            - 'null'
        country:
          type:
            - string
            - 'null'
        region:
          type:
            - string
            - 'null'
        timezone:
          type:
            - string
            - 'null'
        type:
          enum:
            - approximate
          type: string
      required:
        - type
      type:
        - object
        - 'null'
    XSearchOptions:
      additionalProperties: false
      description: >-
        Enable SpaceXAI X (Twitter) search alongside native web search, with
        optional filters. Only applies to SpaceXAI endpoints with native search;
        omit to search the web only. X search is billed separately by SpaceXAI,
        per post and per user profile fetched.
      example:
        allowed_x_handles:
          - OpenRouterAI
        from_date: '2025-01-01'
      properties:
        allowed_x_handles:
          description: >-
            Only include posts from these X handles (max 20). Cannot be used
            with excluded_x_handles.
          example:
            - OpenRouterAI
          items:
            type: string
          maxItems: 20
          type: array
        enable_image_understanding:
          description: Analyze images attached to matching posts.
          type: boolean
        enable_video_understanding:
          description: Analyze videos attached to matching posts.
          type: boolean
        excluded_x_handles:
          description: >-
            Exclude posts from these X handles (max 20). Cannot be used with
            allowed_x_handles.
          example:
            - spamaccount
          items:
            type: string
          maxItems: 20
          type: array
        from_date:
          description: Start of the post date range (ISO 8601 date, e.g. "2025-01-01").
          example: '2025-01-01'
          format: date
          type: string
        to_date:
          description: End of the post date range (ISO 8601 date, e.g. "2025-12-31").
          example: '2025-12-31'
          format: date
          type: string
      type: object
    WebSearchUserLocation:
      description: User location information for web search
      example:
        city: San Francisco
        country: USA
        region: California
        timezone: America/Los_Angeles
        type: approximate
      properties:
        city:
          type:
            - string
            - 'null'
        country:
          type:
            - string
            - 'null'
        region:
          type:
            - string
            - 'null'
        timezone:
          type:
            - string
            - 'null'
        type:
          enum:
            - approximate
          type: string
      type:
        - object
        - 'null'
    CompoundFilter:
      description: A compound filter that combines multiple comparison or compound filters
      example:
        filters:
          - key: author
            type: eq
            value: Alice
        type: and
      properties:
        filters:
          items:
            additionalProperties: {}
            type: object
          type: array
        type:
          enum:
            - and
            - or
          type: string
      required:
        - type
        - filters
      type: object
    NamespaceFunctionTool:
      description: A function tool grouped inside a namespace tool
      example:
        name: spawn_agent
        type: function
      properties:
        allowed_callers:
          items:
            enum:
              - direct
              - programmatic
            type: string
          type:
            - array
            - 'null'
        async:
          description: >-
            Lets the model keep working after calling this tool instead of
            waiting for its output. The tool is still executed by the client;
            return the result in a later request as a `function_call_output`
            with the original `call_id`. Only honored by providers whose
            Responses API supports async tools; ignored elsewhere.
          example: true
          type: boolean
        defer_loading:
          type: boolean
        description:
          type:
            - string
            - 'null'
        name:
          type: string
        output_schema:
          additionalProperties: {}
          type:
            - object
            - 'null'
        parameters:
          additionalProperties: {}
          type:
            - object
            - 'null'
        strict:
          type:
            - boolean
            - 'null'
        type:
          enum:
            - function
          type: string
      required:
        - type
        - name
      type: object
    ApplyPatchCallOperation:
      description: >-
        The patch operation requested by an `apply_patch_call`. `create_file`
        and `update_file` carry a V4A diff; `delete_file` omits it.
      discriminator:
        mapping:
          create_file:
            $ref: '#/components/schemas/ApplyPatchCreateFileOperation'
          delete_file:
            $ref: '#/components/schemas/ApplyPatchDeleteFileOperation'
          update_file:
            $ref: '#/components/schemas/ApplyPatchUpdateFileOperation'
        propertyName: type
      example:
        diff: |-
          @@ function main() {
          +  console.log("hi");
           }
        path: /src/main.ts
        type: update_file
      oneOf:
        - $ref: '#/components/schemas/ApplyPatchCreateFileOperation'
        - $ref: '#/components/schemas/ApplyPatchUpdateFileOperation'
        - $ref: '#/components/schemas/ApplyPatchDeleteFileOperation'
    ApplyPatchCallStatus:
      description: Lifecycle state of an `apply_patch_call` output item.
      enum:
        - in_progress
        - completed
      example: completed
      type: string
    CodeInterpreterCallItem:
      allOf:
        - $ref: '#/components/schemas/OutputItemCodeInterpreterCall'
        - additionalProperties: {}
          properties: {}
          type: object
      description: A code interpreter execution call with outputs
      example:
        code: print("Hello, World!")
        container_id: container-xyz789
        id: code-abc123
        outputs:
          - logs: Hello, World!
            type: logs
        status: completed
        type: code_interpreter_call
    FailableToolCallStatus:
      enum:
        - in_progress
        - completed
        - incomplete
        - failed
      example: completed
      type: string
    ToolCallStatus:
      enum:
        - in_progress
        - completed
        - incomplete
      example: completed
      type: string
    FusionAnalysisResult:
      description: Structured analysis produced by the fusion analyst model.
      example:
        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
      properties:
        blind_spots:
          items:
            type: string
          type: array
        consensus:
          items:
            type: string
          type: array
        contradictions:
          items:
            properties:
              stances:
                items:
                  properties:
                    model:
                      type: string
                    stance:
                      type: string
                  required:
                    - model
                    - stance
                  type: object
                type: array
              topic:
                type: string
            required:
              - topic
              - stances
            type: object
          type: array
        partial_coverage:
          items:
            properties:
              models:
                items:
                  type: string
                type: array
              point:
                type: string
            required:
              - models
              - point
            type: object
          type: array
        unique_insights:
          items:
            properties:
              insight:
                type: string
              model:
                type: string
            required:
              - model
              - insight
            type: object
          type: array
      required:
        - consensus
        - contradictions
        - partial_coverage
        - unique_insights
        - blind_spots
      type: object
    FusionSource:
      description: A web page retrieved via web search during a fusion run.
      example:
        title: Example article title
        url: https://example.com/article
      properties:
        title:
          description: Title of the retrieved web page.
          type: string
        url:
          description: URL of the web page a panel or the analyst retrieved during the run.
          type: string
      required:
        - url
        - title
      type: object
    ShellCallOutputContent:
      additionalProperties: {}
      description: >-
        Captured stdout and stderr for one command of a shell call, with its
        exit or timeout outcome.
      example:
        outcome:
          exit_code: 0
          type: exit
        stderr: ''
        stdout: |
          total 0
      properties:
        outcome:
          oneOf:
            - additionalProperties: {}
              properties:
                exit_code:
                  type: integer
                type:
                  enum:
                    - exit
                  type: string
              required:
                - type
                - exit_code
              type: object
            - additionalProperties: {}
              properties:
                type:
                  enum:
                    - timeout
                  type: string
              required:
                - type
              type: object
        stderr:
          type: string
        stdout:
          type: string
      required:
        - stdout
        - stderr
        - outcome
      type: object
    ShellCallStatus:
      description: Status of a shell call or its output.
      enum:
        - in_progress
        - completed
        - incomplete
      example: completed
      type: string
    AnthropicBashCodeExecutionResult:
      example:
        content: []
        return_code: 0
        stderr: ''
        stdout: Hello
        type: bash_code_execution_result
      properties:
        content:
          items:
            $ref: '#/components/schemas/AnthropicBashCodeExecutionOutput'
          type: array
        return_code:
          type: integer
        stderr:
          type: string
        stdout:
          type: string
        type:
          enum:
            - bash_code_execution_result
          type: string
      required:
        - content
        - return_code
        - stderr
        - stdout
        - type
      type: object
    AnthropicBashCodeExecutionToolResultError:
      example:
        error_code: unavailable
        type: bash_code_execution_tool_result_error
      properties:
        error_code:
          enum:
            - invalid_tool_input
            - unavailable
            - too_many_requests
            - execution_time_exceeded
            - output_file_too_large
          type: string
        type:
          enum:
            - bash_code_execution_tool_result_error
          type: string
      required:
        - error_code
        - type
      type: object
    AnthropicCodeExecutionResult:
      example:
        content: []
        return_code: 0
        stderr: ''
        stdout: Hello
        type: code_execution_result
      properties:
        content:
          items:
            $ref: '#/components/schemas/AnthropicCodeExecutionOutput'
          type: array
        return_code:
          type: integer
        stderr:
          type: string
        stdout:
          type: string
        type:
          enum:
            - code_execution_result
          type: string
      required:
        - content
        - return_code
        - stderr
        - stdout
        - type
      type: object
    AnthropicCodeExecutionToolResultError:
      example:
        error_code: unavailable
        type: code_execution_tool_result_error
      properties:
        error_code:
          $ref: '#/components/schemas/AnthropicServerToolErrorCode'
        type:
          enum:
            - code_execution_tool_result_error
          type: string
      required:
        - error_code
        - type
      type: object
    AnthropicEncryptedCodeExecutionResult:
      example:
        content: []
        encrypted_stdout: enc_stdout
        return_code: 0
        stderr: ''
        type: encrypted_code_execution_result
      properties:
        content:
          items:
            $ref: '#/components/schemas/AnthropicCodeExecutionOutput'
          type: array
        encrypted_stdout:
          type: string
        return_code:
          type: integer
        stderr:
          type: string
        type:
          enum:
            - encrypted_code_execution_result
          type: string
      required:
        - content
        - encrypted_stdout
        - return_code
        - stderr
        - type
      type: object
    AnthropicCodeExecution20250825Caller:
      example:
        tool_id: toolu_01abc
        type: code_execution_20250825
      properties:
        tool_id:
          type: string
        type:
          enum:
            - code_execution_20250825
          type: string
      required:
        - type
        - tool_id
      type: object
    AnthropicCodeExecution20260120Caller:
      example:
        tool_id: toolu_01abc
        type: code_execution_20260120
      properties:
        tool_id:
          type: string
        type:
          enum:
            - code_execution_20260120
          type: string
      required:
        - type
        - tool_id
      type: object
    AnthropicDirectCaller:
      example:
        type: direct
      properties:
        type:
          enum:
            - direct
          type: string
      required:
        - type
      type: object
    AnthropicCitationCharLocation:
      example:
        cited_text: Example cited text
        document_index: 0
        document_title: null
        end_char_index: 18
        file_id: null
        start_char_index: 0
        type: char_location
      properties:
        cited_text:
          type: string
        document_index:
          type: integer
        document_title:
          type:
            - string
            - 'null'
        end_char_index:
          type: integer
        file_id:
          type:
            - string
            - 'null'
        start_char_index:
          type: integer
        type:
          enum:
            - char_location
          type: string
      required:
        - type
        - cited_text
        - document_index
        - document_title
        - start_char_index
        - end_char_index
        - file_id
      type: object
    AnthropicCitationContentBlockLocation:
      example:
        cited_text: Example cited text
        document_index: 0
        document_title: null
        end_block_index: 1
        file_id: null
        start_block_index: 0
        type: content_block_location
      properties:
        cited_text:
          type: string
        document_index:
          type: integer
        document_title:
          type:
            - string
            - 'null'
        end_block_index:
          type: integer
        file_id:
          type:
            - string
            - 'null'
        start_block_index:
          type: integer
        type:
          enum:
            - content_block_location
          type: string
      required:
        - type
        - cited_text
        - document_index
        - document_title
        - start_block_index
        - end_block_index
        - file_id
      type: object
    AnthropicCitationPageLocation:
      example:
        cited_text: Example cited text
        document_index: 0
        document_title: null
        end_page_number: 2
        file_id: null
        start_page_number: 1
        type: page_location
      properties:
        cited_text:
          type: string
        document_index:
          type: integer
        document_title:
          type:
            - string
            - 'null'
        end_page_number:
          type: integer
        file_id:
          type:
            - string
            - 'null'
        start_page_number:
          type: integer
        type:
          enum:
            - page_location
          type: string
      required:
        - type
        - cited_text
        - document_index
        - document_title
        - start_page_number
        - end_page_number
        - file_id
      type: object
    AnthropicCitationSearchResultLocation:
      example:
        cited_text: Example cited text
        end_block_index: 1
        search_result_index: 0
        source: example_source
        start_block_index: 0
        title: Example Result
        type: search_result_location
      properties:
        cited_text:
          type: string
        end_block_index:
          type: integer
        search_result_index:
          type: integer
        source:
          type: string
        start_block_index:
          type: integer
        title:
          type:
            - string
            - 'null'
        type:
          enum:
            - search_result_location
          type: string
      required:
        - type
        - cited_text
        - search_result_index
        - source
        - title
        - start_block_index
        - end_block_index
      type: object
    AnthropicCitationWebSearchResultLocation:
      example:
        cited_text: Example cited text
        encrypted_index: enc_idx_0
        title: Example Page
        type: web_search_result_location
        url: https://example.com
      properties:
        cited_text:
          type: string
        encrypted_index:
          type: string
        title:
          type:
            - string
            - 'null'
        type:
          enum:
            - web_search_result_location
          type: string
        url:
          type: string
      required:
        - type
        - cited_text
        - encrypted_index
        - title
        - url
      type: object
    AnthropicTextEditorCodeExecutionCreateResult:
      example:
        is_file_update: false
        type: text_editor_code_execution_create_result
      properties:
        is_file_update:
          type: boolean
        type:
          enum:
            - text_editor_code_execution_create_result
          type: string
      required:
        - is_file_update
        - type
      type: object
    AnthropicTextEditorCodeExecutionStrReplaceResult:
      example:
        lines: null
        new_lines: null
        new_start: null
        old_lines: null
        old_start: null
        type: text_editor_code_execution_str_replace_result
      properties:
        lines:
          items:
            type: string
          type:
            - array
            - 'null'
        new_lines:
          type:
            - integer
            - 'null'
        new_start:
          type:
            - integer
            - 'null'
        old_lines:
          type:
            - integer
            - 'null'
        old_start:
          type:
            - integer
            - 'null'
        type:
          enum:
            - text_editor_code_execution_str_replace_result
          type: string
      required:
        - lines
        - new_lines
        - new_start
        - old_lines
        - old_start
        - type
      type: object
    AnthropicTextEditorCodeExecutionToolResultError:
      example:
        error_code: unavailable
        error_message: null
        type: text_editor_code_execution_tool_result_error
      properties:
        error_code:
          enum:
            - invalid_tool_input
            - unavailable
            - too_many_requests
            - execution_time_exceeded
            - file_not_found
          type: string
        error_message:
          type:
            - string
            - 'null'
        type:
          enum:
            - text_editor_code_execution_tool_result_error
          type: string
      required:
        - error_code
        - error_message
        - type
      type: object
    AnthropicTextEditorCodeExecutionViewResult:
      example:
        content: file content
        file_type: text
        num_lines: 10
        start_line: 1
        total_lines: 10
        type: text_editor_code_execution_view_result
      properties:
        content:
          type: string
        file_type:
          enum:
            - text
            - image
            - pdf
          type: string
        num_lines:
          type:
            - integer
            - 'null'
        start_line:
          type:
            - integer
            - 'null'
        total_lines:
          type:
            - integer
            - 'null'
        type:
          enum:
            - text_editor_code_execution_view_result
          type: string
      required:
        - content
        - file_type
        - num_lines
        - start_line
        - total_lines
        - type
      type: object
    AnthropicToolSearchResultError:
      example:
        error_code: unavailable
        error_message: null
        type: tool_search_tool_result_error
      properties:
        error_code:
          $ref: '#/components/schemas/AnthropicServerToolErrorCode'
        error_message:
          type:
            - string
            - 'null'
        type:
          enum:
            - tool_search_tool_result_error
          type: string
      required:
        - error_code
        - error_message
        - type
      type: object
    AnthropicToolSearchResult:
      example:
        tool_references:
          - tool_name: my_tool
            type: tool_reference
        type: tool_search_tool_search_result
      properties:
        tool_references:
          items:
            $ref: '#/components/schemas/AnthropicToolReference'
          type: array
        type:
          enum:
            - tool_search_tool_search_result
          type: string
      required:
        - tool_references
        - type
      type: object
    AnthropicWebFetchBlock:
      example:
        content:
          citations: null
          source:
            data: ''
            media_type: text/plain
            type: text
          title: null
          type: document
        retrieved_at: null
        type: web_fetch_result
        url: https://example.com
      properties:
        content:
          $ref: '#/components/schemas/AnthropicDocumentBlock'
        retrieved_at:
          type:
            - string
            - 'null'
        type:
          enum:
            - web_fetch_result
          type: string
        url:
          type: string
      required:
        - content
        - retrieved_at
        - type
        - url
      type: object
    AnthropicWebFetchToolResultError:
      example:
        error_code: unavailable
        type: web_fetch_tool_result_error
      properties:
        error_code:
          enum:
            - invalid_tool_input
            - url_too_long
            - url_not_allowed
            - url_not_accessible
            - unsupported_content_type
            - too_many_requests
            - max_uses_exceeded
            - unavailable
          type: string
        type:
          enum:
            - web_fetch_tool_result_error
          type: string
      required:
        - type
        - error_code
      type: object
    AnthropicIterationCacheCreation:
      default: null
      example:
        ephemeral_1h_input_tokens: 0
        ephemeral_5m_input_tokens: 0
      properties:
        ephemeral_1h_input_tokens:
          type: integer
        ephemeral_5m_input_tokens:
          type: integer
      type:
        - object
        - 'null'
    PromptCacheBreakpoint:
      description: >-
        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.
      example:
        mode: explicit
      properties:
        mode:
          enum:
            - explicit
          type: string
      required:
        - mode
      type:
        - object
        - 'null'
    ConfigurationUpdateReasoning:
      additionalProperties: false
      description: Reasoning settings applied from this point in the conversation onward
      example:
        effort: low
      properties:
        effort:
          description: Reasoning effort to apply from this point in the conversation onward
          enum:
            - max
            - xhigh
            - high
            - medium
            - low
            - minimal
            - none
          example: low
          type: string
      required:
        - effort
      type: object
    OpenAIResponsesAnnotation:
      anyOf:
        - $ref: '#/components/schemas/FileCitation'
        - $ref: '#/components/schemas/URLCitation'
        - $ref: '#/components/schemas/FilePath'
      example:
        file_id: file-abc123
        filename: research_paper.pdf
        index: 0
        type: file_citation
    FormatTextConfig:
      description: Plain text response format
      example:
        type: text
      properties:
        type:
          enum:
            - text
          type: string
      required:
        - type
      type: object
    FormatJsonObjectConfig:
      description: JSON object response format
      example:
        type: json_object
      properties:
        type:
          enum:
            - json_object
          type: string
      required:
        - type
      type: object
    FormatJsonSchemaConfig:
      description: JSON schema constrained response format
      example:
        description: User information schema
        name: user_info
        schema:
          properties:
            age:
              type: number
            name:
              type: string
          required:
            - name
          type: object
        type: json_schema
      properties:
        description:
          type: string
        name:
          type: string
        schema:
          additionalProperties: {}
          type: object
        strict:
          type:
            - boolean
            - 'null'
        type:
          enum:
            - json_schema
          type: string
      required:
        - type
        - name
        - schema
      type: object
    AnthropicBashCodeExecutionOutput:
      example:
        file_id: file_01abc
        type: bash_code_execution_output
      properties:
        file_id:
          type: string
        type:
          enum:
            - bash_code_execution_output
          type: string
      required:
        - file_id
        - type
      type: object
    AnthropicCodeExecutionOutput:
      example:
        file_id: file_01abc
        type: code_execution_output
      properties:
        file_id:
          type: string
        type:
          enum:
            - code_execution_output
          type: string
      required:
        - file_id
        - type
      type: object
    AnthropicServerToolErrorCode:
      enum:
        - invalid_tool_input
        - unavailable
        - too_many_requests
        - execution_time_exceeded
      example: unavailable
      type: string
    AnthropicToolReference:
      example:
        tool_name: my_tool
        type: tool_reference
      properties:
        tool_name:
          type: string
        type:
          enum:
            - tool_reference
          type: string
      required:
        - tool_name
        - type
      type: object
    AnthropicDocumentBlock:
      example:
        citations: null
        source:
          data: Hello, world!
          media_type: text/plain
          type: text
        title: null
        type: document
      properties:
        citations:
          $ref: '#/components/schemas/AnthropicCitationsConfig'
        source:
          anyOf:
            - $ref: '#/components/schemas/AnthropicBase64PdfSource'
            - $ref: '#/components/schemas/AnthropicPlainTextSource'
        title:
          type:
            - string
            - 'null'
        type:
          enum:
            - document
          type: string
      required:
        - source
        - title
        - type
      type: object
    FileCitation:
      example:
        file_id: file-abc123
        filename: research_paper.pdf
        index: 0
        type: file_citation
      properties:
        file_id:
          type: string
        filename:
          type: string
        index:
          type: integer
        type:
          enum:
            - file_citation
          type: string
      required:
        - type
        - file_id
        - filename
        - index
      type: object
    URLCitation:
      example:
        content: >-
          OpenRouter provides a unified API for accessing LLMs from multiple
          providers.
        end_index: 42
        start_index: 0
        title: OpenRouter Documentation
        type: url_citation
        url: https://openrouter.ai/docs
      properties:
        content:
          type: string
        end_index:
          type: integer
        start_index:
          type: integer
        title:
          type: string
        type:
          enum:
            - url_citation
          type: string
        url:
          type: string
      required:
        - type
        - url
        - title
        - start_index
        - end_index
      type: object
    FilePath:
      example:
        file_id: file-xyz789
        index: 0
        type: file_path
      properties:
        file_id:
          type: string
        index:
          type: integer
        type:
          enum:
            - file_path
          type: string
      required:
        - type
        - file_id
        - index
      type: object
    AnthropicCitationsConfig:
      default: null
      example:
        enabled: true
      properties:
        enabled:
          type: boolean
      required:
        - enabled
      type:
        - object
        - 'null'
    AnthropicBase64PdfSource:
      example:
        data: JVBERi0x...
        media_type: application/pdf
        type: base64
      properties:
        data:
          type: string
        media_type:
          enum:
            - application/pdf
          type: string
        type:
          enum:
            - base64
          type: string
      required:
        - type
        - media_type
        - data
      type: object
    AnthropicPlainTextSource:
      example:
        data: Hello, world!
        media_type: text/plain
        type: text
      properties:
        data:
          type: string
        media_type:
          enum:
            - text/plain
          type: string
        type:
          enum:
            - text
          type: string
      required:
        - type
        - media_type
        - data
      type: object
  securitySchemes:
    apiKey:
      description: API key as bearer token in Authorization header
      scheme: bearer
      type: http

````