> ## Documentation Index
> Fetch the complete documentation index at: https://oma-codex-339-workspace-permissions.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Retrieve Message Batch results

> Retrieve Message Batch results through the OMA API.

<Info>Use `?beta=true` with `anthropic-beta: message-batches-2024-09-24` for the beta request and response shapes shown here.</Info>


## OpenAPI

````yaml /openapi/oma.en.json get /v1/messages/batches/{message_batch_id}/results
openapi: 3.1.0
info:
  title: OMA API Reference
  version: 1.0.0
  description: Open Managed Agents application API reference.
servers:
  - url: http://localhost:38080
    description: Local OMA server
security:
  - omaApiKey: []
  - omaBearer: []
paths:
  /v1/messages/batches/{message_batch_id}/results:
    get:
      summary: Retrieve Message Batch results
      description: >-
        Streams the results of a Message Batch as a `.jsonl` file.


        Each line in the file is a JSON object containing the result of a single
        request in the Message Batch. Results are not guaranteed to be in the
        same order as requests. Use the `custom_id` field to match results to
        requests.


        Learn more about the Message Batches API in our user guide
      operationId: beta_message_batches_results
      parameters:
        - name: beta
          in: query
          required: true
          description: Selects the beta API contract for this endpoint. Must be `true`.
          schema:
            type: boolean
            enum:
              - true
        - name: message_batch_id
          in: path
          required: true
          schema:
            type: string
            description: ID of the Message Batch.
            title: Message Batch Id
          description: ID of the Message Batch.
        - name: anthropic-beta
          in: header
          required: true
          schema:
            type: string
            items:
              type: string
            description: >-
              Optional header to specify the beta version(s) you want to use.


              To use multiple betas, use a comma separated list like
              `beta1,beta2` or specify the header multiple times for each beta.
            title: Anthropic-Beta
            x-stainless-override-schema:
              x-stainless-param: betas
              x-stainless-extend-default: true
              type: array
              description: Optional header to specify the beta version(s) you want to use.
              items:
                $ref: '#/components/schemas/AnthropicBeta'
            x-default: message-batches-2024-09-24
          description: >-
            Optional header to specify the beta version(s) you want to use.


            To use multiple betas, use a comma separated list like `beta1,beta2`
            or specify the header multiple times for each beta.
        - name: anthropic-version
          in: header
          required: false
          schema:
            type: string
            description: |-
              The version of the OMA API you want to use.

              Read more about versioning and our version history here.
            title: Anthropic-Version
          description: |-
            The version of the OMA API you want to use.

            Read more about versioning and our version history here.
      responses:
        '200':
          description: Successful Response
          content:
            application/x-jsonl:
              schema:
                $ref: '#/components/schemas/BetaMessageBatchIndividualResponse'
        4XX:
          description: |-
            Error response.

            See our errors documentation for more details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BetaErrorResponse'
components:
  schemas:
    BetaMessageBatchIndividualResponse:
      description: >-
        This is a single line in the response `.jsonl` file and does not
        represent the response as a whole.
      properties:
        custom_id:
          description: >-
            Developer-provided ID created for each request in a Message Batch.
            Useful for matching results to requests, as results may be given out
            of request order.


            Must be unique for each request within the Message Batch.
          examples:
            - my-custom-id-1
          title: Custom Id
          type: string
        result:
          description: >-
            Processing result for this request.


            Contains a Message output if processing was successful, an error
            response if processing failed, or the reason why processing was not
            attempted, such as cancellation or expiration.
          discriminator:
            mapping:
              canceled:
                $ref: '#/components/schemas/BetaCanceledResult'
              errored:
                $ref: '#/components/schemas/BetaErroredResult'
              expired:
                $ref: '#/components/schemas/BetaExpiredResult'
              succeeded:
                $ref: '#/components/schemas/BetaSucceededResult'
            propertyName: type
          oneOf:
            - $ref: '#/components/schemas/BetaSucceededResult'
            - $ref: '#/components/schemas/BetaErroredResult'
            - $ref: '#/components/schemas/BetaCanceledResult'
            - $ref: '#/components/schemas/BetaExpiredResult'
          title: Result
      required:
        - custom_id
        - result
      title: MessageBatchIndividualResponse
      type: object
    BetaErrorResponse:
      properties:
        error:
          discriminator:
            mapping:
              api_error:
                $ref: '#/components/schemas/BetaAPIError'
              authentication_error:
                $ref: '#/components/schemas/BetaAuthenticationError'
              billing_error:
                $ref: '#/components/schemas/BetaBillingError'
              invalid_request_error:
                $ref: '#/components/schemas/BetaInvalidRequestError'
              not_found_error:
                $ref: '#/components/schemas/BetaNotFoundError'
              overloaded_error:
                $ref: '#/components/schemas/BetaOverloadedError'
              permission_error:
                $ref: '#/components/schemas/BetaPermissionError'
              rate_limit_error:
                $ref: '#/components/schemas/BetaRateLimitError'
              timeout_error:
                $ref: '#/components/schemas/BetaGatewayTimeoutError'
            propertyName: type
          oneOf:
            - $ref: '#/components/schemas/BetaInvalidRequestError'
            - $ref: '#/components/schemas/BetaAuthenticationError'
            - $ref: '#/components/schemas/BetaBillingError'
            - $ref: '#/components/schemas/BetaPermissionError'
            - $ref: '#/components/schemas/BetaNotFoundError'
            - $ref: '#/components/schemas/BetaRateLimitError'
            - $ref: '#/components/schemas/BetaGatewayTimeoutError'
            - $ref: '#/components/schemas/BetaAPIError'
            - $ref: '#/components/schemas/BetaOverloadedError'
          title: Error
        request_id:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          title: Request Id
        type:
          const: error
          default: error
          title: Type
          type: string
      required:
        - error
        - request_id
        - type
      title: ErrorResponse
      type: object
    BetaCanceledResult:
      properties:
        type:
          const: canceled
          default: canceled
          title: Type
          type: string
      required:
        - type
      title: CanceledResult
      type: object
    BetaErroredResult:
      properties:
        error:
          $ref: '#/components/schemas/BetaErrorResponse'
        type:
          const: errored
          default: errored
          title: Type
          type: string
      required:
        - error
        - type
      title: ErroredResult
      type: object
    BetaExpiredResult:
      properties:
        type:
          const: expired
          default: expired
          title: Type
          type: string
      required:
        - type
      title: ExpiredResult
      type: object
    BetaSucceededResult:
      properties:
        message:
          $ref: '#/components/schemas/BetaMessage'
        type:
          const: succeeded
          default: succeeded
          title: Type
          type: string
      required:
        - message
        - type
      title: SucceededResult
      type: object
    BetaAPIError:
      properties:
        message:
          default: Internal server error
          title: Message
          type: string
        type:
          const: api_error
          default: api_error
          title: Type
          type: string
      required:
        - message
        - type
      title: APIError
      type: object
    BetaAuthenticationError:
      properties:
        message:
          default: Authentication error
          title: Message
          type: string
        type:
          const: authentication_error
          default: authentication_error
          title: Type
          type: string
      required:
        - message
        - type
      title: AuthenticationError
      type: object
    BetaBillingError:
      properties:
        message:
          default: Billing error
          title: Message
          type: string
        type:
          const: billing_error
          default: billing_error
          title: Type
          type: string
      required:
        - message
        - type
      title: BillingError
      type: object
    BetaInvalidRequestError:
      properties:
        message:
          default: Invalid request
          title: Message
          type: string
        type:
          const: invalid_request_error
          default: invalid_request_error
          title: Type
          type: string
      required:
        - message
        - type
      title: InvalidRequestError
      type: object
    BetaNotFoundError:
      properties:
        message:
          default: Not found
          title: Message
          type: string
        type:
          const: not_found_error
          default: not_found_error
          title: Type
          type: string
      required:
        - message
        - type
      title: NotFoundError
      type: object
    BetaOverloadedError:
      properties:
        message:
          default: Overloaded
          title: Message
          type: string
        type:
          const: overloaded_error
          default: overloaded_error
          title: Type
          type: string
      required:
        - message
        - type
      title: OverloadedError
      type: object
    BetaPermissionError:
      properties:
        message:
          default: Permission denied
          title: Message
          type: string
        type:
          const: permission_error
          default: permission_error
          title: Type
          type: string
      required:
        - message
        - type
      title: PermissionError
      type: object
    BetaRateLimitError:
      properties:
        message:
          default: Rate limited
          title: Message
          type: string
        type:
          const: rate_limit_error
          default: rate_limit_error
          title: Type
          type: string
      required:
        - message
        - type
      title: RateLimitError
      type: object
    BetaGatewayTimeoutError:
      properties:
        message:
          default: Request timeout
          title: Message
          type: string
        type:
          const: timeout_error
          default: timeout_error
          title: Type
          type: string
      required:
        - message
        - type
      title: GatewayTimeoutError
      type: object
    BetaMessage:
      examples:
        - content:
            - citations: null
              text: Hi! I am your AI assistant.
              type: text
          id: msg_013Zva2CMHLNnXjNJJKqJ2EF
          model: claude-opus-4-6
          role: assistant
          stop_details: null
          stop_reason: end_turn
          stop_sequence: null
          type: message
          usage:
            input_tokens: 2095
            output_tokens: 503
      properties:
        id:
          description: |-
            Unique object identifier.

            The format and length of IDs may change over time.
          examples:
            - msg_013Zva2CMHLNnXjNJJKqJ2EF
          title: Id
          type: string
        type:
          const: message
          default: message
          description: |-
            Object type.

            For Messages, this is always `"message"`.
          title: Type
          type: string
        role:
          const: assistant
          default: assistant
          description: |-
            Conversational role of the generated message.

            This will always be `"assistant"`.
          title: Role
          type: string
        content:
          description: >-
            Content generated by the model.


            This is an array of content blocks, each of which has a `type` that
            determines its shape.


            Example:


            ```json

            [{"type": "text", "text": "Hi, I'm the model."}]

            ```


            If the request input `messages` ended with an `assistant` turn, then
            the response `content` will continue directly from that last turn.
            You can use this to constrain the model's output.


            For example, if the input `messages` were:

            ```json

            [
              {"role": "user", "content": "What's the Greek name for Sun? (A) Sol (B) Helios (C) Sun"},
              {"role": "assistant", "content": "The best answer is ("}
            ]

            ```


            Then the response `content` might be:


            ```json

            [{"type": "text", "text": "B)"}]

            ```
          examples:
            - - citations: null
                text: Hi! I am your AI assistant.
                type: text
          items:
            $ref: '#/components/schemas/BetaContentBlock'
          title: Content
          type: array
        model:
          $ref: '#/components/schemas/Model'
        stop_reason:
          anyOf:
            - $ref: '#/components/schemas/BetaStopReason'
            - type: 'null'
          description: >-
            The reason that we stopped.


            This may be one the following values:

            * `"end_turn"`: the model reached a natural stopping point

            * `"max_tokens"`: we exceeded the requested `max_tokens` or the
            model's maximum

            * `"stop_sequence"`: one of your provided custom `stop_sequences`
            was generated

            * `"tool_use"`: the model invoked one or more tools

            * `"pause_turn"`: we paused a long-running turn. You may provide the
            response back as-is in a subsequent request to let the model
            continue.

            * `"refusal"`: when streaming classifiers intervene to handle
            potential policy violations

            * `"model_context_window_exceeded"`: we exceeded the model's context
            window


            In non-streaming mode this value is always non-null. In streaming
            mode, it is null in the `message_start` event and non-null
            otherwise.
          title: Stop Reason
        stop_sequence:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: >-
            Which custom stop sequence was generated, if any.


            This value will be a non-null string if one of your custom stop
            sequences was generated.
          title: Stop Sequence
        stop_details:
          anyOf:
            - $ref: '#/components/schemas/BetaRefusalStopDetails'
            - type: 'null'
          default: null
          description: >-
            Structured information about why model output stopped.


            This is `null` when the `stop_reason` has no additional detail to
            report.
        usage:
          $ref: '#/components/schemas/BetaUsage'
          description: >-
            Billing and rate-limit usage.


            OMA's API bills and rate-limits by token counts, as tokens represent
            the underlying cost to our systems.


            Under the hood, the API transforms requests into a format suitable
            for the model. The model's output then goes through a parsing stage
            before becoming an API response. As a result, the token counts in
            `usage` will not match one-to-one with the exact visible content of
            an API request or response.


            For example, `output_tokens` will be non-zero, even for an empty
            string response from the model.


            Total input tokens in a request is the summation of `input_tokens`,
            `cache_creation_input_tokens`, and `cache_read_input_tokens`.
          examples:
            - input_tokens: 2095
              output_tokens: 503
        diagnostics:
          anyOf:
            - $ref: '#/components/schemas/BetaDiagnostics'
            - type: 'null'
          default: null
          description: >-
            Request-level diagnostics. Present only when `diagnostics` was
            supplied on the request; `null` when no prompt-cache divergence was
            detected.
        context_management:
          anyOf:
            - $ref: '#/components/schemas/BetaResponseContextManagement'
            - type: 'null'
          default: null
          description: >-
            Context management response.


            Information about context management strategies applied during the
            request.
        container:
          anyOf:
            - $ref: '#/components/schemas/BetaContainer'
            - type: 'null'
          default: null
          description: >-
            Information about the container used in this request.


            This will be non-null if a container tool (e.g. code execution) was
            used.
      required:
        - id
        - type
        - role
        - content
        - model
        - stop_reason
        - stop_sequence
        - stop_details
        - usage
        - diagnostics
        - context_management
        - container
      title: Message
      type: object
      x-stainless-python-custom-imports:
        - from .beta_content_block import BetaContentBlock as BetaContentBlock
    BetaContentBlock:
      discriminator:
        mapping:
          advisor_tool_result:
            $ref: '#/components/schemas/BetaResponseAdvisorToolResultBlock'
          bash_code_execution_tool_result:
            $ref: '#/components/schemas/BetaResponseBashCodeExecutionToolResultBlock'
          code_execution_tool_result:
            $ref: '#/components/schemas/BetaResponseCodeExecutionToolResultBlock'
          compaction:
            $ref: '#/components/schemas/BetaResponseCompactionBlock'
          container_upload:
            $ref: '#/components/schemas/BetaResponseContainerUploadBlock'
          fallback:
            $ref: '#/components/schemas/BetaResponseFallbackBlock'
          mcp_tool_result:
            $ref: '#/components/schemas/BetaResponseMCPToolResultBlock'
          mcp_tool_use:
            $ref: '#/components/schemas/BetaResponseMCPToolUseBlock'
          redacted_thinking:
            $ref: '#/components/schemas/BetaResponseRedactedThinkingBlock'
          server_tool_use:
            $ref: '#/components/schemas/BetaResponseServerToolUseBlock'
          text:
            $ref: '#/components/schemas/BetaResponseTextBlock'
          text_editor_code_execution_tool_result:
            $ref: >-
              #/components/schemas/BetaResponseTextEditorCodeExecutionToolResultBlock
          thinking:
            $ref: '#/components/schemas/BetaResponseThinkingBlock'
          tool_search_tool_result:
            $ref: '#/components/schemas/BetaResponseToolSearchToolResultBlock'
          tool_use:
            $ref: '#/components/schemas/BetaResponseToolUseBlock'
          web_fetch_tool_result:
            $ref: '#/components/schemas/BetaResponseWebFetchToolResultBlock'
          web_search_tool_result:
            $ref: '#/components/schemas/BetaResponseWebSearchToolResultBlock'
        propertyName: type
      oneOf:
        - $ref: '#/components/schemas/BetaResponseTextBlock'
        - $ref: '#/components/schemas/BetaResponseThinkingBlock'
        - $ref: '#/components/schemas/BetaResponseRedactedThinkingBlock'
        - $ref: '#/components/schemas/BetaResponseToolUseBlock'
        - $ref: '#/components/schemas/BetaResponseServerToolUseBlock'
        - $ref: '#/components/schemas/BetaResponseWebSearchToolResultBlock'
        - $ref: '#/components/schemas/BetaResponseWebFetchToolResultBlock'
        - $ref: '#/components/schemas/BetaResponseAdvisorToolResultBlock'
        - $ref: '#/components/schemas/BetaResponseCodeExecutionToolResultBlock'
        - $ref: '#/components/schemas/BetaResponseBashCodeExecutionToolResultBlock'
        - $ref: >-
            #/components/schemas/BetaResponseTextEditorCodeExecutionToolResultBlock
        - $ref: '#/components/schemas/BetaResponseToolSearchToolResultBlock'
        - $ref: '#/components/schemas/BetaResponseMCPToolUseBlock'
        - $ref: '#/components/schemas/BetaResponseMCPToolResultBlock'
        - $ref: '#/components/schemas/BetaResponseContainerUploadBlock'
        - $ref: '#/components/schemas/BetaResponseCompactionBlock'
        - $ref: '#/components/schemas/BetaResponseFallbackBlock'
    Model:
      title: Model
      description: |-
        The model that will complete your prompt.

        See models for additional details and options.
      anyOf:
        - type: string
        - const: claude-sonnet-5
          description: High-performance model for coding and agents
          x-stainless-nominal: false
        - const: claude-fable-5
          description: >-
            Next generation of intelligence for the hardest knowledge work and
            coding problems
          x-stainless-nominal: false
        - const: claude-mythos-5
          description: Most capable model for cybersecurity and biology research
          x-stainless-nominal: false
        - const: claude-opus-5
          description: Powerful intelligence for long-running agents and coding
          x-stainless-nominal: false
        - const: claude-opus-4-8
          description: Powerful intelligence for long-running agents and coding
          x-stainless-nominal: false
        - const: claude-opus-4-7
          description: Powerful intelligence for long-running agents and coding
          x-stainless-nominal: false
        - const: claude-mythos-preview
          description: New class of intelligence, strongest in coding and cybersecurity
          x-stainless-nominal: false
          deprecated: true
          x-stainless-deprecation-message: >-
            Reaches end of life on June 30, 2026. Please migrate to
            `claude-mythos-5`.
        - const: claude-opus-4-6
          description: Powerful intelligence for long-running agents and coding
          x-stainless-nominal: false
        - const: claude-sonnet-4-6
          description: Best combination of speed and intelligence
          x-stainless-nominal: false
        - const: claude-haiku-4-5
          description: Fastest model with near-frontier intelligence
          x-stainless-nominal: false
        - const: claude-haiku-4-5-20251001
          description: Fastest model with near-frontier intelligence
          x-stainless-nominal: false
        - const: claude-opus-4-5
          description: Powerful intelligence for long-running agents and coding
          x-stainless-nominal: false
        - const: claude-opus-4-5-20251101
          description: Powerful intelligence for long-running agents and coding
          x-stainless-nominal: false
        - const: claude-sonnet-4-5
          description: High-performance model for agents and coding
          x-stainless-nominal: false
        - const: claude-sonnet-4-5-20250929
          description: High-performance model for agents and coding
          x-stainless-nominal: false
    BetaStopReason:
      enum:
        - end_turn
        - max_tokens
        - stop_sequence
        - tool_use
        - pause_turn
        - compaction
        - refusal
        - model_context_window_exceeded
      type: string
    BetaRefusalStopDetails:
      description: Structured information about a refusal.
      properties:
        category:
          anyOf:
            - $ref: '#/components/schemas/BetaRefusalCategory'
            - type: 'null'
          default: null
          description: |-
            The policy category that triggered the refusal.

            `null` when the refusal doesn't map to a named category.
        explanation:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: >-
            Human-readable explanation of the refusal.


            This text is not guaranteed to be stable. `null` when no explanation
            is available for the category.
          examples:
            - >-
              This request was declined because it conflicts with the usage
              policy.
          title: Explanation
        fallback_credit_token:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: >-
            Opaque code that refunds the cache-miss cost when retrying this
            refused

            request on the fallback model. Pass it as `fallback_credit_token` on
            the

            retry request. Expires 5 minutes after the refusal.


            The retry is sent either with the same request body (`system`,
            `messages`,

            `tools`, and other render-shaping fields), or with the same body
            plus one

            appended `assistant` message whose content is the partial text (with
            any

            trailing whitespace stripped from the final text block) and paired

            server-tool blocks from this refusal — which also authorizes that

            appended turn as an assistant-prefill continuation on models that
            otherwise

            disallow prefill. A token minted mid-server-tool-loop whose partial
            content

            was continuable may only be redeemed the second way — if a same-body
            retry

            is rejected with a 400 saying the token must be redeemed by
            continuing the

            partial response, retry the second way instead. Either way: same
            workspace,

            same platform; a mismatch is a 400. Resending a token for an
            already-warm

            prefix is permitted but yields no additional credit.


            `null` when the refused model isn't eligible for a fallback credit.
          examples:
            - QW50aHJvcGljL0NsYXVkZQ==
          title: Fallback Credit Token
        fallback_has_prefill_claim:
          anyOf:
            - type: boolean
            - type: 'null'
          default: null
          description: >-
            Whether the accompanying `fallback_credit_token` may be redeemed
            with the

            appended-assistant retry form. Only set when `fallback_credit_token`
            is

            present.


            `true`: retry by resending the same request body plus one appended

            `assistant` message whose content is this response's `content` with
            any

            trailing whitespace stripped from the final text block and unpaired

            `tool_use` blocks omitted (the same appended-turn shape described on

            `fallback_credit_token`), with the token attached. `false`: retry by

            resending the original request body unchanged, with the token
            attached —

            the appended-assistant form is not available for this refusal (no

            continuable partial content, or the request uses `output_format` or
            a

            `tool_choice` that forces tool use). One exception: when the request
            used

            `output_format` or a forced `tool_choice` and the refusal arrived
            after

            server tools (including MCP connector tools) had already executed,
            the

            token may not be redeemable by either retry form; if the exact-body
            retry

            is then rejected with a 400 saying the token must be redeemed by

            continuing the partial response, discard the token and retry without
            it.


            Advisory: if an appended-assistant retry is rejected with a 400
            despite

            `true`, fall back to resending the original request body with the
            token.
          title: Fallback Has Prefill Claim
        recommended_model:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: >-
            The server's suggested retry target for this refusal. Populated when
            a fallback attempt could not be made (the fallback model's rate
            limit was exhausted, or it was overloaded); names the fallback model
            the caller can retry directly. Null otherwise.
          examples:
            - claude-sonnet-4-6
          title: Recommended Model
        type:
          const: refusal
          default: refusal
          title: Type
          type: string
      required:
        - category
        - explanation
        - fallback_credit_token
        - fallback_has_prefill_claim
        - recommended_model
        - type
      title: RefusalStopDetails
      type: object
    BetaUsage:
      properties:
        cache_creation:
          anyOf:
            - $ref: '#/components/schemas/BetaCacheCreation'
            - type: 'null'
          default: null
          description: Breakdown of cached tokens by TTL
        cache_creation_input_tokens:
          anyOf:
            - minimum: 0
              type: integer
            - type: 'null'
          default: null
          description: The number of input tokens used to create the cache entry.
          examples:
            - 2051
          title: Cache Creation Input Tokens
        cache_read_input_tokens:
          anyOf:
            - minimum: 0
              type: integer
            - type: 'null'
          default: null
          description: The number of input tokens read from the cache.
          examples:
            - 2051
          title: Cache Read Input Tokens
        fallback_credit:
          anyOf:
            - $ref: '#/components/schemas/BetaFallbackCreditUsage'
            - type: 'null'
          default: null
          description: >-
            Outcome of the `fallback_credit_token` presented on this request.


            Present on every response to a non-batch request that carried a

            `fallback_credit_token`, in either redemption mode; absent otherwise
            (batch

            items accept and ignore the token and carry no outcome object).
        inference_geo:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: >-
            The geographic region where inference was performed for this
            request.
          examples:
            - global
          title: Inference Geo
        input_tokens:
          description: The number of input tokens which were used.
          examples:
            - 2095
          minimum: 0
          title: Input Tokens
          type: integer
        iterations:
          $ref: '#/components/schemas/BetaIterationsUsage'
        output_tokens:
          description: The number of output tokens which were used.
          examples:
            - 503
          minimum: 0
          title: Output Tokens
          type: integer
        output_tokens_details:
          anyOf:
            - $ref: '#/components/schemas/BetaOutputTokensDetails'
            - type: 'null'
          default: null
          description: >-
            Breakdown of output tokens by category.


            `output_tokens` remains the inclusive, authoritative total used for
            billing.

            This object provides a read-only decomposition for observability —
            for example,

            how many of the billed output tokens were spent on internal
            reasoning that may

            have been summarized before being returned to you.
        server_tool_use:
          anyOf:
            - $ref: '#/components/schemas/BetaServerToolUsage'
            - type: 'null'
          default: null
          description: The number of server tool requests.
        service_tier:
          anyOf:
            - enum:
                - standard
                - priority
                - batch
              type: string
            - type: 'null'
          default: null
          description: If the request used the priority, standard, or batch tier.
          title: Service Tier
        speed:
          anyOf:
            - $ref: '#/components/schemas/BetaSpeed'
            - type: 'null'
          default: null
          description: The inference speed mode used for this request.
      required:
        - cache_creation
        - cache_creation_input_tokens
        - cache_read_input_tokens
        - fallback_credit
        - inference_geo
        - input_tokens
        - iterations
        - output_tokens
        - output_tokens_details
        - server_tool_use
        - service_tier
        - speed
      title: Usage
      type: object
    BetaDiagnostics:
      description: |-
        Response envelope for request-level diagnostics. Present (possibly
        null) whenever the caller supplied `diagnostics` on the request.
      properties:
        cache_miss_reason:
          anyOf:
            - discriminator:
                mapping:
                  messages_changed:
                    $ref: '#/components/schemas/BetaCacheMissMessagesChanged'
                  model_changed:
                    $ref: '#/components/schemas/BetaCacheMissModelChanged'
                  previous_message_not_found:
                    $ref: '#/components/schemas/BetaCacheMissPreviousMessageNotFound'
                  system_changed:
                    $ref: '#/components/schemas/BetaCacheMissSystemChanged'
                  tools_changed:
                    $ref: '#/components/schemas/BetaCacheMissToolsChanged'
                  unavailable:
                    $ref: '#/components/schemas/BetaCacheMissUnavailable'
                propertyName: type
              oneOf:
                - $ref: '#/components/schemas/BetaCacheMissModelChanged'
                - $ref: '#/components/schemas/BetaCacheMissSystemChanged'
                - $ref: '#/components/schemas/BetaCacheMissToolsChanged'
                - $ref: '#/components/schemas/BetaCacheMissMessagesChanged'
                - $ref: '#/components/schemas/BetaCacheMissPreviousMessageNotFound'
                - $ref: '#/components/schemas/BetaCacheMissUnavailable'
            - type: 'null'
          default: null
          description: >-
            Explains why the prompt cache could not fully reuse the prefix from
            the request identified by `diagnostics.previous_message_id`. `null`
            means diagnosis is still pending — the response was serialized
            before the background comparison completed.
          title: Cache Miss Reason
      required:
        - cache_miss_reason
      title: Diagnostics
      type: object
    BetaResponseContextManagement:
      properties:
        applied_edits:
          description: List of context management edits that were applied.
          items:
            discriminator:
              mapping:
                clear_thinking_20251015:
                  $ref: '#/components/schemas/BetaResponseClearThinking20251015Edit'
                clear_tool_uses_20250919:
                  $ref: '#/components/schemas/BetaResponseClearToolUses20250919Edit'
              propertyName: type
            oneOf:
              - $ref: '#/components/schemas/BetaResponseClearToolUses20250919Edit'
              - $ref: '#/components/schemas/BetaResponseClearThinking20251015Edit'
          title: Applied Edits
          type: array
      required:
        - applied_edits
      title: ResponseContextManagement
      type: object
    BetaContainer:
      description: >-
        Information about the container used in the request (for the code
        execution tool)
      properties:
        expires_at:
          description: The time at which the container will expire.
          format: date-time
          title: Expires At
          type: string
        id:
          description: Identifier for the container used in this request
          examples:
            - container_011CpZohnwH4vuy7gazohgSP
          title: Id
          type: string
        skills:
          anyOf:
            - items:
                $ref: '#/components/schemas/BetaSkill'
              type: array
            - type: 'null'
          default: null
          description: Skills loaded in the container
          title: Skills
      required:
        - expires_at
        - id
        - skills
      title: Container
      type: object
    BetaResponseAdvisorToolResultBlock:
      properties:
        content:
          anyOf:
            - $ref: '#/components/schemas/BetaResponseAdvisorToolResultError'
            - $ref: '#/components/schemas/BetaResponseAdvisorResultBlock'
            - $ref: '#/components/schemas/BetaResponseAdvisorRedactedResultBlock'
          title: Content
        tool_use_id:
          pattern: ^srvtoolu_[a-zA-Z0-9_]+$
          title: Tool Use Id
          type: string
        type:
          const: advisor_tool_result
          default: advisor_tool_result
          title: Type
          type: string
      required:
        - content
        - tool_use_id
        - type
      title: ResponseAdvisorToolResultBlock
      type: object
    BetaResponseBashCodeExecutionToolResultBlock:
      properties:
        content:
          anyOf:
            - $ref: >-
                #/components/schemas/BetaResponseBashCodeExecutionToolResultError
            - $ref: '#/components/schemas/BetaResponseBashCodeExecutionResultBlock'
          title: Content
        tool_use_id:
          pattern: ^srvtoolu_[a-zA-Z0-9_]+$
          title: Tool Use Id
          type: string
        type:
          const: bash_code_execution_tool_result
          default: bash_code_execution_tool_result
          title: Type
          type: string
      required:
        - content
        - tool_use_id
        - type
      title: ResponseBashCodeExecutionToolResultBlock
      type: object
    BetaResponseCodeExecutionToolResultBlock:
      properties:
        content:
          anyOf:
            - $ref: '#/components/schemas/BetaResponseCodeExecutionToolResultError'
            - $ref: '#/components/schemas/BetaResponseCodeExecutionResultBlock'
            - $ref: >-
                #/components/schemas/BetaResponseEncryptedCodeExecutionResultBlock
          title: Content
        tool_use_id:
          pattern: ^srvtoolu_[a-zA-Z0-9_]+$
          title: Tool Use Id
          type: string
        type:
          const: code_execution_tool_result
          default: code_execution_tool_result
          title: Type
          type: string
      required:
        - content
        - tool_use_id
        - type
      title: ResponseCodeExecutionToolResultBlock
      type: object
    BetaResponseCompactionBlock:
      description: >-
        A compaction block returned when autocompact is triggered.


        When content is None, it indicates the compaction failed to produce a
        valid

        summary (e.g., malformed output from the model). Clients may round-trip

        compaction blocks with null content; the server treats them as no-ops.
      properties:
        content:
          anyOf:
            - type: string
            - type: 'null'
          description: Summary of compacted content, or null if compaction failed
          title: Content
        encrypted_content:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Opaque metadata from prior compaction, to be round-tripped verbatim
          title: Encrypted Content
        type:
          const: compaction
          default: compaction
          title: Type
          type: string
      required:
        - content
        - encrypted_content
        - type
      title: ResponseCompactionBlock
      type: object
    BetaResponseContainerUploadBlock:
      description: Response model for a file uploaded to the container.
      properties:
        file_id:
          title: File Id
          type: string
        type:
          const: container_upload
          default: container_upload
          title: Type
          type: string
      required:
        - file_id
        - type
      title: ResponseContainerUploadBlock
      type: object
    BetaResponseFallbackBlock:
      description: >-
        Marks the point in `content` where one model's output gives way to the
        next.


        One block appears per hop where a preceding model actually ran this turn
        and

        declined. A turn where no preceding model ran and declined has no such

        boundary and carries no block — the signal for whether a fallback model

        served the response is the presence of a `fallback_message` entry in

        `usage.iterations`, not this block.


        The block is treated like a server-tool content block for streaming: it

        arrives via the standard `content_block_start` / `content_block_stop`

        pair and carries no deltas.
      properties:
        from:
          $ref: '#/components/schemas/BetaResponseFallbackHopInfo'
          description: >-
            The model whose output ends at this point — the model that declined
            at this hop. When the declining hop is the requested model, its
            `model` echoes the top-level `model` string the caller sent (alias
            or canonical); when the declining hop is a fallback model, its
            `model` is that model's canonical id.
        to:
          $ref: '#/components/schemas/BetaResponseFallbackHopInfo'
          description: >-
            The fallback model producing the content that follows this block.
            Its `model` is always the canonical id.
        trigger:
          $ref: '#/components/schemas/BetaFallbackRefusalTrigger'
          description: What caused the `from` model to hand over at this hop.
        type:
          const: fallback
          default: fallback
          title: Type
          type: string
      required:
        - from
        - to
        - trigger
        - type
      title: ResponseFallbackBlock
      type: object
    BetaResponseMCPToolResultBlock:
      properties:
        content:
          anyOf:
            - type: string
            - items:
                $ref: '#/components/schemas/BetaResponseTextBlock'
                title: beta_mcp_tool_result_block_content_item
              type: array
              title: beta_mcp_tool_result_block_content
          title: Content
        is_error:
          default: false
          title: Is Error
          type: boolean
        tool_use_id:
          pattern: ^[a-zA-Z0-9_-]+$
          title: Tool Use Id
          type: string
        type:
          const: mcp_tool_result
          default: mcp_tool_result
          title: Type
          type: string
      required:
        - content
        - is_error
        - tool_use_id
        - type
      title: ResponseMCPToolResultBlock
      type: object
    BetaResponseMCPToolUseBlock:
      properties:
        id:
          pattern: ^[a-zA-Z0-9_-]+$
          title: Id
          type: string
        input:
          additionalProperties: true
          title: Input
          type: object
        name:
          description: The name of the MCP tool
          title: Name
          type: string
        server_name:
          description: The name of the MCP server
          title: Server Name
          type: string
        type:
          const: mcp_tool_use
          default: mcp_tool_use
          title: Type
          type: string
      required:
        - id
        - input
        - name
        - server_name
        - type
      title: ResponseMCPToolUseBlock
      type: object
    BetaResponseRedactedThinkingBlock:
      properties:
        data:
          description: >-
            The contents of this redacted thinking block, returned when portions
            of the model's thinking were safety-redacted. This field is opaque
            and encrypted, with no readable content.


            Pass `redacted_thinking` blocks back to the API unchanged when
            continuing a multi-turn conversation.


            See extended thinking for details.
          title: Data
          type: string
        type:
          const: redacted_thinking
          default: redacted_thinking
          title: Type
          type: string
      required:
        - data
        - type
      title: ResponseRedactedThinkingBlock
      type: object
    BetaResponseServerToolUseBlock:
      properties:
        caller:
          discriminator:
            mapping:
              code_execution_20250825:
                $ref: '#/components/schemas/BetaServerToolCaller'
              code_execution_20260120:
                $ref: '#/components/schemas/BetaServerToolCaller_20260120'
              direct:
                $ref: '#/components/schemas/BetaDirectCaller'
            propertyName: type
          oneOf:
            - $ref: '#/components/schemas/BetaDirectCaller'
            - $ref: '#/components/schemas/BetaServerToolCaller'
            - $ref: '#/components/schemas/BetaServerToolCaller_20260120'
          title: Caller
        id:
          pattern: ^srvtoolu_[a-zA-Z0-9_]+$
          title: Id
          type: string
        input:
          additionalProperties: true
          title: Input
          type: object
        name:
          enum:
            - advisor
            - web_search
            - web_fetch
            - code_execution
            - bash_code_execution
            - text_editor_code_execution
            - tool_search_tool_regex
            - tool_search_tool_bm25
          title: Name
          type: string
        type:
          const: server_tool_use
          default: server_tool_use
          title: Type
          type: string
      required:
        - id
        - input
        - name
        - type
      title: ResponseServerToolUseBlock
      type: object
    BetaResponseTextBlock:
      properties:
        citations:
          anyOf:
            - items:
                discriminator:
                  mapping:
                    char_location:
                      $ref: '#/components/schemas/BetaResponseCharLocationCitation'
                    content_block_location:
                      $ref: >-
                        #/components/schemas/BetaResponseContentBlockLocationCitation
                    page_location:
                      $ref: '#/components/schemas/BetaResponsePageLocationCitation'
                    search_result_location:
                      $ref: >-
                        #/components/schemas/BetaResponseSearchResultLocationCitation
                    web_search_result_location:
                      $ref: >-
                        #/components/schemas/BetaResponseWebSearchResultLocationCitation
                  propertyName: type
                oneOf:
                  - $ref: '#/components/schemas/BetaResponseCharLocationCitation'
                  - $ref: '#/components/schemas/BetaResponsePageLocationCitation'
                  - $ref: >-
                      #/components/schemas/BetaResponseContentBlockLocationCitation
                  - $ref: >-
                      #/components/schemas/BetaResponseWebSearchResultLocationCitation
                  - $ref: >-
                      #/components/schemas/BetaResponseSearchResultLocationCitation
              type: array
            - type: 'null'
          default: null
          description: >-
            Citations supporting the text block.


            The type of citation returned will depend on the type of document
            being cited. Citing a PDF results in `page_location`, plain text
            results in `char_location`, and content document results in
            `content_block_location`.
          title: Citations
        text:
          maxLength: 5000000
          minLength: 0
          title: Text
          type: string
        type:
          const: text
          default: text
          title: Type
          type: string
      required:
        - citations
        - text
        - type
      title: ResponseTextBlock
      type: object
    BetaResponseTextEditorCodeExecutionToolResultBlock:
      properties:
        content:
          anyOf:
            - $ref: >-
                #/components/schemas/BetaResponseTextEditorCodeExecutionToolResultError
            - $ref: >-
                #/components/schemas/BetaResponseTextEditorCodeExecutionViewResultBlock
            - $ref: >-
                #/components/schemas/BetaResponseTextEditorCodeExecutionCreateResultBlock
            - $ref: >-
                #/components/schemas/BetaResponseTextEditorCodeExecutionStrReplaceResultBlock
          title: Content
        tool_use_id:
          pattern: ^srvtoolu_[a-zA-Z0-9_]+$
          title: Tool Use Id
          type: string
        type:
          const: text_editor_code_execution_tool_result
          default: text_editor_code_execution_tool_result
          title: Type
          type: string
      required:
        - content
        - tool_use_id
        - type
      title: ResponseTextEditorCodeExecutionToolResultBlock
      type: object
    BetaResponseThinkingBlock:
      properties:
        signature:
          description: >-
            A value used to verify that this thinking block was generated by the
            model when it is passed back to the API.


            This is an opaque field and should not be interpreted or parsed.
            When passing thinking blocks back to the API (required when using
            tools with extended thinking), pass them back exactly as received,
            with this field intact.


            See extended thinking for details.
          title: Signature
          type: string
        thinking:
          description: The text of the model's thinking process for this block.
          title: Thinking
          type: string
        type:
          const: thinking
          default: thinking
          title: Type
          type: string
      required:
        - signature
        - thinking
        - type
      title: ResponseThinkingBlock
      type: object
    BetaResponseToolSearchToolResultBlock:
      properties:
        content:
          anyOf:
            - $ref: '#/components/schemas/BetaResponseToolSearchToolResultError'
            - $ref: '#/components/schemas/BetaResponseToolSearchToolSearchResultBlock'
          title: Content
        tool_use_id:
          pattern: ^srvtoolu_[a-zA-Z0-9_]+$
          title: Tool Use Id
          type: string
        type:
          const: tool_search_tool_result
          default: tool_search_tool_result
          title: Type
          type: string
      required:
        - content
        - tool_use_id
        - type
      title: ResponseToolSearchToolResultBlock
      type: object
    BetaResponseToolUseBlock:
      properties:
        caller:
          discriminator:
            mapping:
              code_execution_20250825:
                $ref: '#/components/schemas/BetaServerToolCaller'
              code_execution_20260120:
                $ref: '#/components/schemas/BetaServerToolCaller_20260120'
              direct:
                $ref: '#/components/schemas/BetaDirectCaller'
            propertyName: type
          oneOf:
            - $ref: '#/components/schemas/BetaDirectCaller'
            - $ref: '#/components/schemas/BetaServerToolCaller'
            - $ref: '#/components/schemas/BetaServerToolCaller_20260120'
          title: Caller
        id:
          pattern: ^[a-zA-Z0-9_-]+$
          title: Id
          type: string
        input:
          additionalProperties: true
          title: Input
          type: object
        name:
          minLength: 1
          title: Name
          type: string
        type:
          const: tool_use
          default: tool_use
          title: Type
          type: string
      required:
        - id
        - input
        - name
        - type
      title: ResponseToolUseBlock
      type: object
    BetaResponseWebFetchToolResultBlock:
      properties:
        caller:
          discriminator:
            mapping:
              code_execution_20250825:
                $ref: '#/components/schemas/BetaServerToolCaller'
              code_execution_20260120:
                $ref: '#/components/schemas/BetaServerToolCaller_20260120'
              direct:
                $ref: '#/components/schemas/BetaDirectCaller'
            propertyName: type
          oneOf:
            - $ref: '#/components/schemas/BetaDirectCaller'
            - $ref: '#/components/schemas/BetaServerToolCaller'
            - $ref: '#/components/schemas/BetaServerToolCaller_20260120'
          title: Caller
        content:
          anyOf:
            - $ref: '#/components/schemas/BetaResponseWebFetchToolResultError'
            - $ref: '#/components/schemas/BetaResponseWebFetchResultBlock'
          title: Content
        tool_use_id:
          pattern: ^srvtoolu_[a-zA-Z0-9_]+$
          title: Tool Use Id
          type: string
        type:
          const: web_fetch_tool_result
          default: web_fetch_tool_result
          title: Type
          type: string
      required:
        - content
        - tool_use_id
        - type
      title: ResponseWebFetchToolResultBlock
      type: object
    BetaResponseWebSearchToolResultBlock:
      properties:
        caller:
          discriminator:
            mapping:
              code_execution_20250825:
                $ref: '#/components/schemas/BetaServerToolCaller'
              code_execution_20260120:
                $ref: '#/components/schemas/BetaServerToolCaller_20260120'
              direct:
                $ref: '#/components/schemas/BetaDirectCaller'
            propertyName: type
          oneOf:
            - $ref: '#/components/schemas/BetaDirectCaller'
            - $ref: '#/components/schemas/BetaServerToolCaller'
            - $ref: '#/components/schemas/BetaServerToolCaller_20260120'
          title: Caller
        content:
          anyOf:
            - $ref: '#/components/schemas/BetaResponseWebSearchToolResultError'
            - items:
                $ref: '#/components/schemas/BetaResponseWebSearchResultBlock'
              type: array
          title: Content
        tool_use_id:
          pattern: ^srvtoolu_[a-zA-Z0-9_]+$
          title: Tool Use Id
          type: string
        type:
          const: web_search_tool_result
          default: web_search_tool_result
          title: Type
          type: string
      required:
        - content
        - tool_use_id
        - type
      title: ResponseWebSearchToolResultBlock
      type: object
    BetaRefusalCategory:
      description: The policy category that triggered a refusal.
      enum:
        - cyber
        - bio
        - frontier_llm
        - reasoning_extraction
        - general_harms
      title: RefusalCategory
      type: string
      x-enum-descriptions:
        - >-
          The request could enable cyber harm, such as malware or exploit
          development. Benign cybersecurity work can also trigger this category.
        - >-
          The request could enable biological harm, such as dangerous lab
          methods. Beneficial life sciences work can also trigger this category.
        - >-
          The request was classified as assisting the development of competing
          AI models. Benign machine learning work can also trigger this
          category.
        - >-
          The request asks the model to reproduce its internal reasoning in the
          response text. To get reasoning in a structured form instead, use
          adaptive thinking.
        - >-
          The request could be related to an area that was determined as
          harmful. Benign work might sometimes trigger this category.
    BetaCacheCreation:
      properties:
        ephemeral_1h_input_tokens:
          default: 0
          description: The number of input tokens used to create the 1 hour cache entry.
          minimum: 0
          title: Ephemeral 1H Input Tokens
          type: integer
        ephemeral_5m_input_tokens:
          default: 0
          description: The number of input tokens used to create the 5 minute cache entry.
          minimum: 0
          title: Ephemeral 5M Input Tokens
          type: integer
      required:
        - ephemeral_1h_input_tokens
        - ephemeral_5m_input_tokens
      title: CacheCreation
      type: object
    BetaFallbackCreditUsage:
      description: Outcome of the ``fallback_credit_token`` presented on this request.
      properties:
        status:
          description: >-
            Whether the fallback-credit reprice was applied to this response's
            billing.


            A union discriminated on `type`. `redeemed`: the retry is billed as
            if

            the conversation had been on the retry model all along — including
            when the

            resulting shift is zero because there was nothing to move.
            `not_applied`:

            no reprice was applied; the arm's `reason` says why.
          discriminator:
            mapping:
              not_applied:
                $ref: '#/components/schemas/BetaFallbackCreditNotApplied'
              redeemed:
                $ref: '#/components/schemas/BetaFallbackCreditRedeemed'
            propertyName: type
          oneOf:
            - $ref: '#/components/schemas/BetaFallbackCreditRedeemed'
            - $ref: '#/components/schemas/BetaFallbackCreditNotApplied'
          title: Status
      required:
        - status
      title: FallbackCreditUsage
      type: object
    BetaIterationsUsage:
      anyOf:
        - items:
            discriminator:
              mapping:
                advisor_message:
                  $ref: '#/components/schemas/BetaAdvisorMessageIterationUsage'
                compaction:
                  $ref: '#/components/schemas/BetaCompactionIterationUsage'
                fallback_message:
                  $ref: '#/components/schemas/BetaFallbackMessageIterationUsage'
                message:
                  $ref: '#/components/schemas/BetaMessageIterationUsage'
              propertyName: type
            oneOf:
              - $ref: '#/components/schemas/BetaMessageIterationUsage'
              - $ref: '#/components/schemas/BetaCompactionIterationUsage'
              - $ref: '#/components/schemas/BetaAdvisorMessageIterationUsage'
              - $ref: '#/components/schemas/BetaFallbackMessageIterationUsage'
            x-stainless-naming:
              java:
                type_name: BetaIterationsUsageItems
              csharp:
                type_name: BetaIterationsUsageItems
          type: array
        - type: 'null'
      default: null
      description: >-
        Per-iteration token usage breakdown.


        Each entry represents one sampling iteration, with its own input/output
        token counts and cache statistics. This allows you to:

        - Determine which iterations exceeded long context thresholds (>=200k
        tokens)

        - Calculate the true context window size from the last iteration

        - Understand token accumulation across server-side tool use loops
      title: Iterations
    BetaOutputTokensDetails:
      properties:
        thinking_tokens:
          default: 0
          description: >-
            Number of output tokens the model generated as internal reasoning,
            including

            the thinking-block delimiter tokens.


            Reflects the raw reasoning the model produced, not the (possibly
            shorter)

            summarized thinking text returned in the response body. Computed by

            re-tokenizing the raw reasoning text, so it may differ from the
            model's exact

            generation count by a small number of tokens. Always ≤
            `output_tokens`;

            `output_tokens - thinking_tokens` approximates the non-reasoning
            output.
          minimum: 0
          title: Thinking Tokens
          type: integer
      required:
        - thinking_tokens
      title: OutputTokensDetails
      type: object
    BetaServerToolUsage:
      properties:
        web_fetch_requests:
          default: 0
          description: The number of web fetch tool requests.
          examples:
            - 2
          minimum: 0
          title: Web Fetch Requests
          type: integer
        web_search_requests:
          default: 0
          description: The number of web search tool requests.
          examples:
            - 0
          minimum: 0
          title: Web Search Requests
          type: integer
      required:
        - web_fetch_requests
        - web_search_requests
      title: ServerToolUsage
      type: object
    BetaSpeed:
      type: string
      description: >-
        Inference speed mode. `fast` provides significantly faster output token
        generation at premium pricing. Not all models support `fast`; invalid
        combinations are rejected at create time.
      enum:
        - standard
        - fast
    BetaCacheMissMessagesChanged:
      properties:
        cache_missed_input_tokens:
          description: >-
            Approximate number of input tokens that would have been read from
            cache had the prefix matched the previous request.
          title: Cache Missed Input Tokens
          type: integer
        type:
          const: messages_changed
          default: messages_changed
          title: Type
          type: string
      required:
        - cache_missed_input_tokens
        - type
      title: CacheMissMessagesChanged
      type: object
    BetaCacheMissModelChanged:
      properties:
        cache_missed_input_tokens:
          description: >-
            Approximate number of input tokens that would have been read from
            cache had the prefix matched the previous request.
          title: Cache Missed Input Tokens
          type: integer
        type:
          const: model_changed
          default: model_changed
          title: Type
          type: string
      required:
        - cache_missed_input_tokens
        - type
      title: CacheMissModelChanged
      type: object
    BetaCacheMissPreviousMessageNotFound:
      properties:
        type:
          const: previous_message_not_found
          default: previous_message_not_found
          title: Type
          type: string
      required:
        - type
      title: CacheMissPreviousMessageNotFound
      type: object
    BetaCacheMissSystemChanged:
      properties:
        cache_missed_input_tokens:
          description: >-
            Approximate number of input tokens that would have been read from
            cache had the prefix matched the previous request.
          title: Cache Missed Input Tokens
          type: integer
        type:
          const: system_changed
          default: system_changed
          title: Type
          type: string
      required:
        - cache_missed_input_tokens
        - type
      title: CacheMissSystemChanged
      type: object
    BetaCacheMissToolsChanged:
      properties:
        cache_missed_input_tokens:
          description: >-
            Approximate number of input tokens that would have been read from
            cache had the prefix matched the previous request.
          title: Cache Missed Input Tokens
          type: integer
        type:
          const: tools_changed
          default: tools_changed
          title: Type
          type: string
      required:
        - cache_missed_input_tokens
        - type
      title: CacheMissToolsChanged
      type: object
    BetaCacheMissUnavailable:
      properties:
        type:
          const: unavailable
          default: unavailable
          title: Type
          type: string
      required:
        - type
      title: CacheMissUnavailable
      type: object
    BetaResponseClearThinking20251015Edit:
      properties:
        cleared_input_tokens:
          description: Number of input tokens cleared by this edit.
          minimum: 0
          title: Cleared Input Tokens
          type: integer
        cleared_thinking_turns:
          description: Number of thinking turns that were cleared.
          minimum: 0
          title: Cleared Thinking Turns
          type: integer
        type:
          const: clear_thinking_20251015
          default: clear_thinking_20251015
          description: The type of context management edit applied.
          title: Type
          type: string
      required:
        - cleared_input_tokens
        - cleared_thinking_turns
        - type
      title: ResponseClearThinking20251015Edit
      type: object
    BetaResponseClearToolUses20250919Edit:
      properties:
        cleared_input_tokens:
          description: Number of input tokens cleared by this edit.
          minimum: 0
          title: Cleared Input Tokens
          type: integer
        cleared_tool_uses:
          description: Number of tool uses that were cleared.
          minimum: 0
          title: Cleared Tool Uses
          type: integer
        type:
          const: clear_tool_uses_20250919
          default: clear_tool_uses_20250919
          description: The type of context management edit applied.
          title: Type
          type: string
      required:
        - cleared_input_tokens
        - cleared_tool_uses
        - type
      title: ResponseClearToolUses20250919Edit
      type: object
    BetaSkill:
      description: A skill that was loaded in a container (response model).
      properties:
        skill_id:
          description: Skill ID
          examples:
            - pdf
          maxLength: 64
          minLength: 1
          title: Skill Id
          type: string
        type:
          description: >-
            Type of skill - either 'anthropic' (built-in) or 'custom'
            (user-defined)
          enum:
            - anthropic
            - custom
          examples:
            - anthropic
          title: Type
          type: string
        version:
          description: Skill version or 'latest' for most recent version
          examples:
            - latest
          maxLength: 64
          minLength: 1
          title: Version
          type: string
      required:
        - skill_id
        - type
        - version
      title: Skill
      type: object
    BetaResponseAdvisorToolResultError:
      properties:
        error_code:
          $ref: '#/components/schemas/BetaAdvisorToolResultErrorCode'
        type:
          const: advisor_tool_result_error
          default: advisor_tool_result_error
          title: Type
          type: string
      required:
        - error_code
        - type
      title: ResponseAdvisorToolResultError
      type: object
    BetaResponseAdvisorResultBlock:
      properties:
        stop_reason:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: >-
            The advisor sub-inference's stop reason (same values as the
            top-level message `stop_reason`). `max_tokens` indicates the
            advisor's output was truncated at the tool's `max_tokens` value or
            the advisor model's policy cap.
          title: Stop Reason
        text:
          title: Text
          type: string
        type:
          const: advisor_result
          default: advisor_result
          title: Type
          type: string
      required:
        - stop_reason
        - text
        - type
      title: ResponseAdvisorResultBlock
      type: object
    BetaResponseAdvisorRedactedResultBlock:
      properties:
        encrypted_content:
          description: >-
            Opaque blob containing the advisor's output. Round-trip verbatim; do
            not inspect or modify.
          title: Encrypted Content
          type: string
        stop_reason:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: >-
            The advisor sub-inference's stop reason (same values as the
            top-level message `stop_reason`).
          title: Stop Reason
        type:
          const: advisor_redacted_result
          default: advisor_redacted_result
          title: Type
          type: string
      required:
        - encrypted_content
        - stop_reason
        - type
      title: ResponseAdvisorRedactedResultBlock
      type: object
    BetaResponseBashCodeExecutionToolResultError:
      properties:
        error_code:
          $ref: '#/components/schemas/BetaBashCodeExecutionToolResultErrorCode'
        type:
          const: bash_code_execution_tool_result_error
          default: bash_code_execution_tool_result_error
          title: Type
          type: string
      required:
        - error_code
        - type
      title: ResponseBashCodeExecutionToolResultError
      type: object
    BetaResponseBashCodeExecutionResultBlock:
      properties:
        content:
          items:
            $ref: '#/components/schemas/BetaResponseBashCodeExecutionOutputBlock'
          title: Content
          type: array
        return_code:
          title: Return Code
          type: integer
        stderr:
          title: Stderr
          type: string
        stdout:
          title: Stdout
          type: string
        type:
          const: bash_code_execution_result
          default: bash_code_execution_result
          title: Type
          type: string
      required:
        - content
        - return_code
        - stderr
        - stdout
        - type
      title: ResponseBashCodeExecutionResultBlock
      type: object
    BetaResponseCodeExecutionToolResultError:
      properties:
        error_code:
          $ref: '#/components/schemas/BetaCodeExecutionToolResultErrorCode'
        type:
          const: code_execution_tool_result_error
          default: code_execution_tool_result_error
          title: Type
          type: string
      required:
        - error_code
        - type
      title: ResponseCodeExecutionToolResultError
      type: object
    BetaResponseCodeExecutionResultBlock:
      properties:
        content:
          items:
            $ref: '#/components/schemas/BetaResponseCodeExecutionOutputBlock'
          title: Content
          type: array
        return_code:
          title: Return Code
          type: integer
        stderr:
          title: Stderr
          type: string
        stdout:
          title: Stdout
          type: string
        type:
          const: code_execution_result
          default: code_execution_result
          title: Type
          type: string
      required:
        - content
        - return_code
        - stderr
        - stdout
        - type
      title: ResponseCodeExecutionResultBlock
      type: object
    BetaResponseEncryptedCodeExecutionResultBlock:
      description: >-
        Code execution result with encrypted stdout for PFC + web_search
        results.
      properties:
        content:
          items:
            $ref: '#/components/schemas/BetaResponseCodeExecutionOutputBlock'
          title: Content
          type: array
        encrypted_stdout:
          title: Encrypted Stdout
          type: string
        return_code:
          title: Return Code
          type: integer
        stderr:
          title: Stderr
          type: string
        type:
          const: encrypted_code_execution_result
          default: encrypted_code_execution_result
          title: Type
          type: string
      required:
        - content
        - encrypted_stdout
        - return_code
        - stderr
        - type
      title: ResponseEncryptedCodeExecutionResultBlock
      type: object
    BetaResponseFallbackHopInfo:
      description: Identifies one hop of a fallback transition.
      properties:
        model:
          $ref: '#/components/schemas/Model'
      required:
        - model
      title: ResponseFallbackHopInfo
      type: object
    BetaFallbackRefusalTrigger:
      description: The `from` model declined for policy reasons.
      properties:
        category:
          anyOf:
            - $ref: '#/components/schemas/BetaRefusalCategory'
            - type: 'null'
          default: null
          description: >-
            The policy category that triggered the `from` model's refusal at
            this hop. `null` when the refusal doesn't map to a named category.
            Same vocabulary as `stop_details.category`.
          x-stainless-naming:
            csharp:
              type_name: BetaFallbackRefusalTriggerCategory
        type:
          const: refusal
          default: refusal
          title: Type
          type: string
      required:
        - category
        - type
      title: FallbackRefusalTrigger
      type: object
    BetaServerToolCaller:
      additionalProperties: false
      description: Tool invocation generated by a server-side tool.
      properties:
        tool_id:
          pattern: ^srvtoolu_[a-zA-Z0-9_]+$
          title: Tool Id
          type: string
        type:
          const: code_execution_20250825
          title: Type
          type: string
      required:
        - tool_id
        - type
      title: ServerToolCaller
      type: object
    BetaServerToolCaller_20260120:
      additionalProperties: false
      properties:
        tool_id:
          pattern: ^srvtoolu_[a-zA-Z0-9_]+$
          title: Tool Id
          type: string
        type:
          const: code_execution_20260120
          title: Type
          type: string
      required:
        - tool_id
        - type
      title: ServerToolCaller_20260120
      type: object
    BetaDirectCaller:
      additionalProperties: false
      description: Tool invocation directly from the model.
      properties:
        type:
          const: direct
          title: Type
          type: string
      required:
        - type
      title: DirectCaller
      type: object
    BetaResponseCharLocationCitation:
      properties:
        cited_text:
          examples:
            - The grass is green. The sky is blue.
          title: Cited Text
          type: string
        document_index:
          minimum: 0
          title: Document Index
          type: integer
        document_title:
          anyOf:
            - type: string
            - type: 'null'
          examples:
            - My Document
          title: Document Title
        end_char_index:
          title: End Char Index
          type: integer
        file_id:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          examples:
            - file_011CNha8iCJcU1wXNR6q4V8w
          title: File Id
        start_char_index:
          minimum: 0
          title: Start Char Index
          type: integer
        type:
          const: char_location
          default: char_location
          title: Type
          type: string
      required:
        - cited_text
        - document_index
        - document_title
        - end_char_index
        - file_id
        - start_char_index
        - type
      title: ResponseCharLocationCitation
      type: object
    BetaResponseContentBlockLocationCitation:
      properties:
        cited_text:
          description: >-
            The full text of the cited block range, concatenated.


            Always equals the contents of
            `content[start_block_index:end_block_index]` joined together. The
            text block is the minimal citable unit; this field is never a
            substring of a single block. Not counted toward output tokens, and
            not counted toward input tokens when sent back in subsequent turns.
          examples:
            - The grass is green. The sky is blue.
          title: Cited Text
          type: string
        document_index:
          minimum: 0
          title: Document Index
          type: integer
        document_title:
          anyOf:
            - type: string
            - type: 'null'
          examples:
            - My Document
          title: Document Title
        end_block_index:
          description: >-
            Exclusive 0-based end index of the cited block range in the source's
            `content` array.


            Always greater than `start_block_index`; a single-block citation has
            `end_block_index = start_block_index + 1`.
          title: End Block Index
          type: integer
        file_id:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          examples:
            - file_011CNha8iCJcU1wXNR6q4V8w
          title: File Id
        start_block_index:
          description: >-
            0-based index of the first cited block in the source's `content`
            array.
          minimum: 0
          title: Start Block Index
          type: integer
        type:
          const: content_block_location
          default: content_block_location
          title: Type
          type: string
      required:
        - cited_text
        - document_index
        - document_title
        - end_block_index
        - file_id
        - start_block_index
        - type
      title: ResponseContentBlockLocationCitation
      type: object
    BetaResponsePageLocationCitation:
      properties:
        cited_text:
          examples:
            - The grass is green. The sky is blue.
          title: Cited Text
          type: string
        document_index:
          minimum: 0
          title: Document Index
          type: integer
        document_title:
          anyOf:
            - type: string
            - type: 'null'
          examples:
            - My Document
          title: Document Title
        end_page_number:
          title: End Page Number
          type: integer
        file_id:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          examples:
            - file_011CNha8iCJcU1wXNR6q4V8w
          title: File Id
        start_page_number:
          minimum: 1
          title: Start Page Number
          type: integer
        type:
          const: page_location
          default: page_location
          title: Type
          type: string
      required:
        - cited_text
        - document_index
        - document_title
        - end_page_number
        - file_id
        - start_page_number
        - type
      title: ResponsePageLocationCitation
      type: object
    BetaResponseSearchResultLocationCitation:
      properties:
        cited_text:
          description: >-
            The full text of the cited block range, concatenated.


            Always equals the contents of
            `content[start_block_index:end_block_index]` joined together. The
            text block is the minimal citable unit; this field is never a
            substring of a single block. Not counted toward output tokens, and
            not counted toward input tokens when sent back in subsequent turns.
          examples:
            - The grass is green. The sky is blue.
          title: Cited Text
          type: string
        end_block_index:
          description: >-
            Exclusive 0-based end index of the cited block range in the source's
            `content` array.


            Always greater than `start_block_index`; a single-block citation has
            `end_block_index = start_block_index + 1`.
          title: End Block Index
          type: integer
        search_result_index:
          description: >-
            0-based index of the cited search result among all `search_result`
            content blocks in the request, in the order they appear across
            messages and tool results.


            Counted separately from `document_index`; server-side web search
            results are not included in this count.
          minimum: 0
          title: Search Result Index
          type: integer
        source:
          title: Source
          type: string
        start_block_index:
          description: >-
            0-based index of the first cited block in the source's `content`
            array.
          minimum: 0
          title: Start Block Index
          type: integer
        title:
          anyOf:
            - type: string
            - type: 'null'
          title: Title
        type:
          const: search_result_location
          default: search_result_location
          title: Type
          type: string
      required:
        - cited_text
        - end_block_index
        - search_result_index
        - source
        - start_block_index
        - title
        - type
      title: ResponseSearchResultLocationCitation
      type: object
    BetaResponseWebSearchResultLocationCitation:
      properties:
        cited_text:
          examples:
            - The grass is green. The sky is blue.
          title: Cited Text
          type: string
        encrypted_index:
          title: Encrypted Index
          type: string
        title:
          anyOf:
            - maxLength: 512
              type: string
            - type: 'null'
          title: Title
        type:
          const: web_search_result_location
          default: web_search_result_location
          title: Type
          type: string
        url:
          title: Url
          type: string
      required:
        - cited_text
        - encrypted_index
        - title
        - type
        - url
      title: ResponseWebSearchResultLocationCitation
      type: object
    BetaResponseTextEditorCodeExecutionToolResultError:
      properties:
        error_code:
          $ref: '#/components/schemas/BetaTextEditorCodeExecutionToolResultErrorCode'
        error_message:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          title: Error Message
        type:
          const: text_editor_code_execution_tool_result_error
          default: text_editor_code_execution_tool_result_error
          title: Type
          type: string
      required:
        - error_code
        - error_message
        - type
      title: ResponseTextEditorCodeExecutionToolResultError
      type: object
    BetaResponseTextEditorCodeExecutionViewResultBlock:
      properties:
        content:
          title: Content
          type: string
        file_type:
          enum:
            - text
            - image
            - pdf
          title: File Type
          type: string
        num_lines:
          anyOf:
            - type: integer
            - type: 'null'
          default: null
          title: Num Lines
        start_line:
          anyOf:
            - type: integer
            - type: 'null'
          default: null
          title: Start Line
        total_lines:
          anyOf:
            - type: integer
            - type: 'null'
          default: null
          title: Total Lines
        type:
          const: text_editor_code_execution_view_result
          default: text_editor_code_execution_view_result
          title: Type
          type: string
      required:
        - content
        - file_type
        - num_lines
        - start_line
        - total_lines
        - type
      title: ResponseTextEditorCodeExecutionViewResultBlock
      type: object
    BetaResponseTextEditorCodeExecutionCreateResultBlock:
      properties:
        is_file_update:
          title: Is File Update
          type: boolean
        type:
          const: text_editor_code_execution_create_result
          default: text_editor_code_execution_create_result
          title: Type
          type: string
      required:
        - is_file_update
        - type
      title: ResponseTextEditorCodeExecutionCreateResultBlock
      type: object
    BetaResponseTextEditorCodeExecutionStrReplaceResultBlock:
      properties:
        lines:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          default: null
          title: Lines
        new_lines:
          anyOf:
            - type: integer
            - type: 'null'
          default: null
          title: New Lines
        new_start:
          anyOf:
            - type: integer
            - type: 'null'
          default: null
          title: New Start
        old_lines:
          anyOf:
            - type: integer
            - type: 'null'
          default: null
          title: Old Lines
        old_start:
          anyOf:
            - type: integer
            - type: 'null'
          default: null
          title: Old Start
        type:
          const: text_editor_code_execution_str_replace_result
          default: text_editor_code_execution_str_replace_result
          title: Type
          type: string
      required:
        - lines
        - new_lines
        - new_start
        - old_lines
        - old_start
        - type
      title: ResponseTextEditorCodeExecutionStrReplaceResultBlock
      type: object
    BetaResponseToolSearchToolResultError:
      properties:
        error_code:
          $ref: '#/components/schemas/BetaToolSearchToolResultErrorCode'
        error_message:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          title: Error Message
        type:
          const: tool_search_tool_result_error
          default: tool_search_tool_result_error
          title: Type
          type: string
      required:
        - error_code
        - error_message
        - type
      title: ResponseToolSearchToolResultError
      type: object
    BetaResponseToolSearchToolSearchResultBlock:
      properties:
        tool_references:
          items:
            $ref: '#/components/schemas/BetaResponseToolReferenceBlock'
          title: Tool References
          type: array
        type:
          const: tool_search_tool_search_result
          default: tool_search_tool_search_result
          title: Type
          type: string
      required:
        - tool_references
        - type
      title: ResponseToolSearchToolSearchResultBlock
      type: object
    BetaResponseWebFetchToolResultError:
      properties:
        error_code:
          $ref: '#/components/schemas/BetaWebFetchToolResultErrorCode'
        type:
          const: web_fetch_tool_result_error
          default: web_fetch_tool_result_error
          title: Type
          type: string
      required:
        - error_code
        - type
      title: ResponseWebFetchToolResultError
      type: object
    BetaResponseWebFetchResultBlock:
      properties:
        content:
          $ref: '#/components/schemas/BetaResponseDocumentBlock'
        retrieved_at:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: ISO 8601 timestamp when the content was retrieved
          title: Retrieved At
        type:
          const: web_fetch_result
          default: web_fetch_result
          title: Type
          type: string
        url:
          description: Fetched content URL
          title: Url
          type: string
      required:
        - content
        - retrieved_at
        - type
        - url
      title: ResponseWebFetchResultBlock
      type: object
    BetaResponseWebSearchToolResultError:
      properties:
        error_code:
          $ref: '#/components/schemas/BetaWebSearchToolResultErrorCode'
        type:
          const: web_search_tool_result_error
          default: web_search_tool_result_error
          title: Type
          type: string
      required:
        - error_code
        - type
      title: ResponseWebSearchToolResultError
      type: object
    BetaResponseWebSearchResultBlock:
      properties:
        encrypted_content:
          title: Encrypted Content
          type: string
        page_age:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          title: Page Age
        title:
          title: Title
          type: string
        type:
          const: web_search_result
          default: web_search_result
          title: Type
          type: string
        url:
          title: Url
          type: string
      required:
        - encrypted_content
        - page_age
        - title
        - type
        - url
      title: ResponseWebSearchResultBlock
      type: object
    BetaFallbackCreditNotApplied:
      description: No reprice was applied; ``reason`` says why.
      properties:
        reason:
          description: >-
            Why the reprice was not applied.


            A closed enum; additions to the redemption-check vocabulary arrive
            as

            deliberate schema updates.
          enum:
            - body_mismatch
            - continuation_excluded
            - continuation_only
            - expired
            - invalid_target_model
            - not_enabled
            - reprice_unavailable
            - temporarily_unavailable
            - variant_fields_present
            - wrong_organization
            - wrong_platform
            - wrong_workspace
          title: Reason
          type: string
        remove_to_redeem:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          default: null
          description: >-
            Request fields to remove before retrying, so the retry can redeem
            this

            token.


            Present exactly when `reason` is `variant_fields_present` — never
            null,

            never an empty array; absent otherwise. Fields are named only from
            your own request, and only after

            the sealed variant hash matched. A served best-effort retry has
            already

            been billed at normal price; nothing redeems retroactively, but a
            corrected

            re-send inside the token's five-minute window can still redeem.
          title: Remove To Redeem
        type:
          const: not_applied
          default: not_applied
          title: Type
          type: string
      required:
        - reason
        - type
      title: FallbackCreditNotApplied
      type: object
    BetaFallbackCreditRedeemed:
      description: |-
        The reprice was applied: the retry is billed as if the conversation
        had been on the retry model all along.
      properties:
        type:
          const: redeemed
          default: redeemed
          title: Type
          type: string
      required:
        - type
      title: FallbackCreditRedeemed
      type: object
    BetaAdvisorMessageIterationUsage:
      description: Token usage for an advisor sub-inference iteration.
      properties:
        cache_creation:
          anyOf:
            - $ref: '#/components/schemas/BetaCacheCreation'
            - type: 'null'
          default: null
          description: Breakdown of cached tokens by TTL
        cache_creation_input_tokens:
          default: 0
          description: The number of input tokens used to create the cache entry.
          minimum: 0
          title: Cache Creation Input Tokens
          type: integer
        cache_read_input_tokens:
          default: 0
          description: The number of input tokens read from the cache.
          minimum: 0
          title: Cache Read Input Tokens
          type: integer
        input_tokens:
          description: The number of input tokens which were used.
          minimum: 0
          title: Input Tokens
          type: integer
        model:
          $ref: '#/components/schemas/Model'
        output_tokens:
          description: The number of output tokens which were used.
          minimum: 0
          title: Output Tokens
          type: integer
        type:
          const: advisor_message
          default: advisor_message
          description: Usage for an advisor sub-inference iteration
          title: Type
          type: string
      required:
        - cache_creation
        - cache_creation_input_tokens
        - cache_read_input_tokens
        - input_tokens
        - model
        - output_tokens
        - type
      title: AdvisorMessageIterationUsage
      type: object
    BetaCompactionIterationUsage:
      description: Token usage for a compaction iteration.
      properties:
        cache_creation:
          anyOf:
            - $ref: '#/components/schemas/BetaCacheCreation'
            - type: 'null'
          default: null
          description: Breakdown of cached tokens by TTL
        cache_creation_input_tokens:
          default: 0
          description: The number of input tokens used to create the cache entry.
          minimum: 0
          title: Cache Creation Input Tokens
          type: integer
        cache_read_input_tokens:
          default: 0
          description: The number of input tokens read from the cache.
          minimum: 0
          title: Cache Read Input Tokens
          type: integer
        input_tokens:
          description: The number of input tokens which were used.
          minimum: 0
          title: Input Tokens
          type: integer
        output_tokens:
          description: The number of output tokens which were used.
          minimum: 0
          title: Output Tokens
          type: integer
        type:
          const: compaction
          default: compaction
          description: Usage for a compaction iteration
          title: Type
          type: string
      required:
        - cache_creation
        - cache_creation_input_tokens
        - cache_read_input_tokens
        - input_tokens
        - output_tokens
        - type
      title: CompactionIterationUsage
      type: object
    BetaFallbackMessageIterationUsage:
      description: >-
        Token usage for the fallback-model attempt of a server-side fallback
        request.


        Produced in place of a `message` entry for whichever hop served the

        response. A declined hop produces the existing `message` entry. Whether

        a fallback model served the response is signalled by the presence of
        this

        entry in `usage.iterations`.
      properties:
        cache_creation:
          anyOf:
            - $ref: '#/components/schemas/BetaCacheCreation'
            - type: 'null'
          default: null
          description: Breakdown of cached tokens by TTL
        cache_creation_input_tokens:
          default: 0
          description: The number of input tokens used to create the cache entry.
          minimum: 0
          title: Cache Creation Input Tokens
          type: integer
        cache_read_input_tokens:
          default: 0
          description: The number of input tokens read from the cache.
          minimum: 0
          title: Cache Read Input Tokens
          type: integer
        input_tokens:
          description: The number of input tokens which were used.
          minimum: 0
          title: Input Tokens
          type: integer
        model:
          $ref: '#/components/schemas/Model'
        output_tokens:
          description: The number of output tokens which were used.
          minimum: 0
          title: Output Tokens
          type: integer
        type:
          const: fallback_message
          default: fallback_message
          description: Usage for the fallback-model attempt that served the response
          title: Type
          type: string
      required:
        - cache_creation
        - cache_creation_input_tokens
        - cache_read_input_tokens
        - input_tokens
        - model
        - output_tokens
        - type
      title: FallbackMessageIterationUsage
      type: object
    BetaMessageIterationUsage:
      description: Token usage for a sampling iteration.
      properties:
        cache_creation:
          anyOf:
            - $ref: '#/components/schemas/BetaCacheCreation'
            - type: 'null'
          default: null
          description: Breakdown of cached tokens by TTL
        cache_creation_input_tokens:
          default: 0
          description: The number of input tokens used to create the cache entry.
          minimum: 0
          title: Cache Creation Input Tokens
          type: integer
        cache_read_input_tokens:
          default: 0
          description: The number of input tokens read from the cache.
          minimum: 0
          title: Cache Read Input Tokens
          type: integer
        input_tokens:
          description: The number of input tokens which were used.
          minimum: 0
          title: Input Tokens
          type: integer
        model:
          $ref: '#/components/schemas/Model'
        output_tokens:
          description: The number of output tokens which were used.
          minimum: 0
          title: Output Tokens
          type: integer
        type:
          const: message
          default: message
          description: Usage for a sampling iteration
          title: Type
          type: string
      required:
        - cache_creation
        - cache_creation_input_tokens
        - cache_read_input_tokens
        - input_tokens
        - model
        - output_tokens
        - type
      title: MessageIterationUsage
      type: object
    BetaAdvisorToolResultErrorCode:
      enum:
        - max_uses_exceeded
        - prompt_too_long
        - too_many_requests
        - overloaded
        - unavailable
        - execution_time_exceeded
        - model_not_found
      title: AdvisorToolResultErrorCode
      type: string
    BetaBashCodeExecutionToolResultErrorCode:
      enum:
        - invalid_tool_input
        - unavailable
        - too_many_requests
        - execution_time_exceeded
        - output_file_too_large
      title: BashCodeExecutionToolResultErrorCode
      type: string
    BetaResponseBashCodeExecutionOutputBlock:
      properties:
        file_id:
          title: File Id
          type: string
        type:
          const: bash_code_execution_output
          default: bash_code_execution_output
          title: Type
          type: string
      required:
        - file_id
        - type
      title: ResponseBashCodeExecutionOutputBlock
      type: object
    BetaCodeExecutionToolResultErrorCode:
      enum:
        - invalid_tool_input
        - unavailable
        - too_many_requests
        - execution_time_exceeded
      title: CodeExecutionToolResultErrorCode
      type: string
    BetaResponseCodeExecutionOutputBlock:
      properties:
        file_id:
          title: File Id
          type: string
        type:
          const: code_execution_output
          default: code_execution_output
          title: Type
          type: string
      required:
        - file_id
        - type
      title: ResponseCodeExecutionOutputBlock
      type: object
    BetaTextEditorCodeExecutionToolResultErrorCode:
      enum:
        - invalid_tool_input
        - unavailable
        - too_many_requests
        - execution_time_exceeded
        - file_not_found
      title: TextEditorCodeExecutionToolResultErrorCode
      type: string
    BetaToolSearchToolResultErrorCode:
      enum:
        - invalid_tool_input
        - unavailable
        - too_many_requests
        - execution_time_exceeded
      title: ToolSearchToolResultErrorCode
      type: string
    BetaResponseToolReferenceBlock:
      properties:
        tool_name:
          maxLength: 256
          minLength: 1
          pattern: ^[a-zA-Z0-9_-]{1,256}$
          title: Tool Name
          type: string
        type:
          const: tool_reference
          default: tool_reference
          title: Type
          type: string
      required:
        - tool_name
        - type
      title: ResponseToolReferenceBlock
      type: object
    BetaWebFetchToolResultErrorCode:
      enum:
        - invalid_tool_input
        - url_too_long
        - url_not_allowed
        - url_not_in_prior_context
        - url_not_accessible
        - unsupported_content_type
        - too_many_requests
        - max_uses_exceeded
        - unavailable
      title: WebFetchToolResultErrorCode
      type: string
    BetaResponseDocumentBlock:
      properties:
        citations:
          anyOf:
            - $ref: '#/components/schemas/BetaResponseCitationsConfig'
            - type: 'null'
          default: null
          description: Citation configuration for the document
        source:
          discriminator:
            mapping:
              base64:
                $ref: '#/components/schemas/BetaBase64PDFSource'
              text:
                $ref: '#/components/schemas/BetaPlainTextSource'
            propertyName: type
          oneOf:
            - $ref: '#/components/schemas/BetaBase64PDFSource'
            - $ref: '#/components/schemas/BetaPlainTextSource'
          title: Source
        title:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: The title of the document
          title: Title
        type:
          const: document
          default: document
          title: Type
          type: string
      required:
        - citations
        - source
        - title
        - type
      title: ResponseDocumentBlock
      type: object
    BetaWebSearchToolResultErrorCode:
      enum:
        - invalid_tool_input
        - unavailable
        - max_uses_exceeded
        - too_many_requests
        - query_too_long
        - request_too_large
      title: WebSearchToolResultErrorCode
      type: string
    BetaResponseCitationsConfig:
      properties:
        enabled:
          default: false
          title: Enabled
          type: boolean
      required:
        - enabled
      title: ResponseCitationsConfig
      type: object
    BetaBase64PDFSource:
      additionalProperties: false
      properties:
        data:
          format: byte
          title: Data
          type: string
        media_type:
          const: application/pdf
          title: Media Type
          type: string
        type:
          const: base64
          title: Type
          type: string
      required:
        - data
        - media_type
        - type
      title: Base64PDFSource
      type: object
    BetaPlainTextSource:
      additionalProperties: false
      properties:
        data:
          title: Data
          type: string
        media_type:
          const: text/plain
          title: Media Type
          type: string
        type:
          const: text
          title: Type
          type: string
      required:
        - data
        - media_type
        - type
      title: PlainTextSource
      type: object
  securitySchemes:
    omaApiKey:
      type: apiKey
      in: header
      name: X-Api-Key
      description: OMA workspace API key.
      x-default: sk-ant-local-default
    omaBearer:
      type: http
      scheme: bearer
      description: OMA workspace API key sent as a bearer token.

````