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

# Claude - API de mensajes

> - Envía una lista estructurada de mensajes de entrada con contenido de texto y/o imagen, y el modelo generará el siguiente mensaje en la conversación.
- La API de Mensajes se puede usar para consultas individuales o conversaciones de múltiples turnos sin estado.

<Note>
  **BaseURL**: La BaseURL predeterminada es `https://direct.evolink.ai`, que ofrece mejor compatibilidad con modelos de texto y admite conexiones persistentes. `https://api.evolink.ai` es el endpoint principal para servicios multimodales y actúa como dirección de respaldo para los modelos de texto.
</Note>


## OpenAPI

````yaml es/api-manual/language-series/claude/claude-messages-api.json POST /v1/messages
openapi: 3.1.0
info:
  title: API de mensajes de Claude
  description: >-
    Envíe una lista estructurada de mensajes de entrada con contenido de texto
    y/o imagen, y el modelo generará el siguiente mensaje en la conversación. La
    API de Messages se puede usar tanto para consultas individuales como para
    conversaciones de múltiples turnos sin estado.
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://direct.evolink.ai
    description: Producción (recomendado)
  - url: https://api.evolink.ai
    description: URL alternativa
security:
  - bearerAuth: []
tags:
  - name: Messages
    description: APIs de generación de mensajes y conversación de Claude AI
paths:
  /v1/messages:
    post:
      tags:
        - Messages
      summary: Crear un mensaje
      description: >-
        - Envía una lista estructurada de mensajes de entrada con contenido de
        texto y/o imagen, y el modelo generará el siguiente mensaje en la
        conversación.

        - La API de Mensajes se puede usar para consultas individuales o
        conversaciones de múltiples turnos sin estado.
      operationId: createMessage
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateMessageParams'
            example:
              model: claude-opus-4-8
              max_tokens: 1024
              messages:
                - role: user
                  content: Hello, world
      responses:
        '200':
          description: Objeto de mensaje
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Message'
              example:
                model: claude-haiku-4-5-20251001
                id: msg_bdrk_017XLrAa77zWvfBGQ6ESvrxz
                type: message
                role: assistant
                content:
                  - type: text
                    text: |-
                      # Hey there! 👋

                      How's it going? What can I help you with today?
                stop_reason: end_turn
                stop_sequence: null
                usage:
                  input_tokens: 8
                  cache_creation_input_tokens: 0
                  cache_read_input_tokens: 0
                  output_tokens: 24
        '400':
          description: Solicitud inválida
          content:
            application/json:
              schema:
                $ref: b7aa4e4b-b047-46e9-ab89-192e8466c8b4
              example:
                error:
                  message: Solicitud inválida
                  type: invalid_request_error
                request_id: <string>
                type: error
        '401':
          description: Error de autenticación
          content:
            application/json:
              schema:
                $ref: b7aa4e4b-b047-46e9-ab89-192e8466c8b4
              example:
                error:
                  message: Error de autenticación
                  type: authentication_error
                request_id: <string>
                type: error
        '402':
          description: Error de facturación
          content:
            application/json:
              schema:
                $ref: b7aa4e4b-b047-46e9-ab89-192e8466c8b4
              example:
                error:
                  message: Error de facturación
                  type: billing_error
                request_id: <string>
                type: error
                fallback_suggestion: https://evolink.ai/dashboard/billing
        '403':
          description: Error de permiso
          content:
            application/json:
              schema:
                $ref: b7aa4e4b-b047-46e9-ab89-192e8466c8b4
              example:
                error:
                  message: Permission denied
                  type: permission_error
                request_id: <string>
                type: error
        '404':
          description: No encontrado
          content:
            application/json:
              schema:
                $ref: b7aa4e4b-b047-46e9-ab89-192e8466c8b4
              example:
                error:
                  message: No encontrado
                  type: not_found_error
                request_id: <string>
                type: error
        '429':
          description: >-
            Semilla aleatoria, rango `[0, 4294967295]`


            **Nota:**

            - Usar el mismo valor de semilla puede mantener resultados de
            generación consistentes

            - Dejar vacío para semilla aleatoria
          content:
            application/json:
              schema:
                $ref: b7aa4e4b-b047-46e9-ab89-192e8466c8b4
              example:
                error:
                  message: Rate limited
                  type: rate_limit_error
                request_id: <string>
                type: error
                fallback_suggestion: retry after 60 seconds
        '500':
          description: Error interno del servidor
          content:
            application/json:
              schema:
                $ref: b7aa4e4b-b047-46e9-ab89-192e8466c8b4
              example:
                error:
                  message: Error interno del servidor
                  type: api_error
                request_id: <string>
                type: error
                fallback_suggestion: try again later
        '503':
          description: Servicio sobrecargado
          content:
            application/json:
              schema:
                $ref: b7aa4e4b-b047-46e9-ab89-192e8466c8b4
              example:
                error:
                  message: Overloaded
                  type: overloaded_error
                request_id: <string>
                type: error
                fallback_suggestion: retry after 30 seconds
        '524':
          description: Error de tiempo de espera de Cloudflare Gateway
          content:
            application/json:
              schema:
                $ref: b7aa4e4b-b047-46e9-ab89-192e8466c8b4
              example:
                error:
                  message: Request timeout
                  type: timeout_error
                request_id: <string>
                type: error
                fallback_suggestion: >-
                  Cambia la BaseURL a https://direct.evolink.ai; este endpoint
                  es más adecuado para tareas largas
components:
  schemas:
    CreateMessageParams:
      type: object
      required:
        - model
        - messages
        - max_tokens
      additionalProperties: false
      properties:
        model:
          type: string
          description: El modelo que completará su prompt.
          enum:
            - claude-haiku-4-5-20251001
            - claude-sonnet-4-5-20250929
            - claude-opus-4-5-20251101
            - claude-opus-4-6
            - claude-fable-5
            - claude-opus-4-8
            - claude-opus-4-7
            - claude-sonnet-4-6
            - claude-sonnet-5
          examples:
            - claude-opus-4-8
          title: Model
        messages:
          type: array
          description: >-
            Mensajes de entrada.


            Nuestros modelos están entrenados para operar en turnos
            conversacionales alternos de `user` y `assistant`. Al crear un nuevo
            `Message`, se especifican los turnos conversacionales previos con el
            parámetro `messages`, y el modelo genera el siguiente `Message` en
            la conversación. Los turnos consecutivos de `user` o `assistant` en
            su solicitud se combinarán en un solo turno.


            Cada mensaje de entrada debe ser un objeto con `role` y `content`.
            Puede especificar un solo mensaje con rol `user`, o puede incluir
            múltiples mensajes de `user` y `assistant`.
          items:
            $ref: '#/components/schemas/InputMessage'
          title: Messages
        max_tokens:
          type: integer
          description: >-
            El número máximo de tokens a generar antes de detenerse.


            Tenga en cuenta que nuestros modelos pueden detenerse _antes_ de
            alcanzar este máximo. Este parámetro solo especifica el número
            máximo absoluto de tokens a generar.
          examples:
            - 1024
          minimum: 1
          title: Máximo de tokens
        inference_geo:
          type: string
          description: >-
            Especifica la región geográfica para el procesamiento de inferencia.
            Si no se especifica, se usa `default_inference_geo` del espacio de
            trabajo.
          title: Inference Geo
        container:
          description: Identificador de contenedor para reutilización entre solicitudes.
          title: Contenedor
          anyOf:
            - $ref: '#/components/schemas/ContainerParams'
            - type: string
            - type: 'null'
        context_management:
          description: Configuración de gestión de contexto.
          anyOf:
            - $ref: '#/components/schemas/ContextManagementConfig'
            - type: 'null'
        mcp_servers:
          type: array
          description: Servidores MCP a utilizar en esta solicitud
          items:
            $ref: '#/components/schemas/RequestMCPServerURLDefinition'
          maxItems: 20
          title: Mcp Servers
        metadata:
          $ref: '#/components/schemas/Metadata'
          description: Un objeto que describe los metadatos sobre la solicitud.
        output_config:
          $ref: '#/components/schemas/OutputConfig'
          description: >-
            Opciones de configuración para la salida del modelo, como el formato
            de salida.
        service_tier:
          type: string
          description: >-
            Determina si se usa la capacidad prioritaria (si está disponible) o
            la capacidad estándar para esta solicitud.
          enum:
            - auto
            - standard_only
          title: Nivel de servicio
        stop_sequences:
          type: array
          description: >-
            Secuencias de texto personalizadas que harán que el modelo deje de
            generar.
          items:
            type: string
          title: Secuencias de parada
        stream:
          type: boolean
          description: >-
            Si transmitir incrementalmente la respuesta usando eventos enviados
            por el servidor.
          title: Stream
        system:
          description: Prompt del sistema.
          examples:
            - Today's date is 2024-06-01.
          title: Sistema
          anyOf:
            - type: string
            - type: array
              items:
                $ref: '#/components/schemas/RequestTextBlock'
        temperature:
          type: number
          description: |-
            Cantidad de aleatoriedad inyectada en la respuesta.

            Por defecto es `1.0`. Rango de `0.0` a `1.0`.
          examples:
            - 1
          minimum: 0
          maximum: 1
          title: Temperatura
        thinking:
          description: >-
            Configuración para habilitar el pensamiento extendido de Claude.


            `type: "enabled"` requiere `budget_tokens`, con un mínimo de 1.024,
            y cuenta dentro de `max_tokens`. Puedes usar `display` para
            controlar cómo se muestran los contenidos de pensamiento.


            `type: "adaptive"` permite que Claude decida dinámicamente cuándo y
            cuánto pensamiento extendido usar según la complejidad de la
            solicitud; también puedes usar `display` para controlar cómo se
            muestran los contenidos de pensamiento.


            `type: "disabled"` desactiva el pensamiento extendido.
          anyOf:
            - $ref: '#/components/schemas/ThinkingConfigEnabled'
            - $ref: '#/components/schemas/ThinkingConfigAdaptive'
            - $ref: '#/components/schemas/ThinkingConfigDisabled'
        tool_choice:
          description: Cómo el modelo debe usar las herramientas proporcionadas.
          anyOf:
            - $ref: '#/components/schemas/ToolChoiceAuto'
            - $ref: '#/components/schemas/ToolChoiceAny'
            - $ref: '#/components/schemas/ToolChoiceTool'
            - $ref: '#/components/schemas/ToolChoiceNone'
        tools:
          type: array
          description: Definiciones de herramientas que el modelo puede usar.
          items:
            anyOf:
              - $ref: '#/components/schemas/Tool'
              - $ref: '#/components/schemas/BashTool_20241022'
              - $ref: '#/components/schemas/BashTool_20250124'
              - $ref: '#/components/schemas/CodeExecutionTool_20250522'
              - $ref: '#/components/schemas/CodeExecutionTool_20250825'
              - $ref: '#/components/schemas/ComputerUseTool_20241022'
              - $ref: '#/components/schemas/MemoryTool_20250818'
              - $ref: '#/components/schemas/ComputerUseTool_20250124'
              - $ref: '#/components/schemas/TextEditor_20241022'
              - $ref: '#/components/schemas/TextEditor_20250124'
              - $ref: '#/components/schemas/TextEditor_20250429'
              - $ref: '#/components/schemas/TextEditor_20250728'
              - $ref: '#/components/schemas/WebSearchTool_20250305'
              - $ref: '#/components/schemas/WebFetchTool_20250910'
          title: Herramientas
        top_k:
          type: integer
          description: >-
            Solo muestrear de las K opciones principales para cada token
            subsiguiente.
          examples:
            - 5
          minimum: 0
          title: Top K
        top_p:
          type: number
          description: Usar muestreo de núcleo.
          examples:
            - 0.7
          minimum: 0
          maximum: 1
          title: Top P
    Message:
      type: object
      required:
        - id
        - type
        - role
        - content
        - model
        - stop_reason
        - stop_sequence
        - usage
      properties:
        id:
          type: string
          description: |-
            Identificador único del objeto.

            El formato y la longitud de los IDs pueden cambiar con el tiempo.
          examples:
            - msg_013Zva2CMHLNnXjNJJKqJ2EF
          title: Id
        type:
          type: string
          const: message
          description: |-
            Tipo de objeto.

            Para Messages, esto siempre es `"message"`.
          title: Tipo
        role:
          type: string
          const: assistant
          description: |-
            Rol conversacional del mensaje generado.

            Esto siempre será `"assistant"`.
          title: Rol
        content:
          type: array
          description: >-
            Contenido generado por el modelo.


            Este es un array de bloques de contenido, cada uno con un `type` que
            determina su forma.
          items:
            anyOf:
              - $ref: '#/components/schemas/ResponseTextBlock'
              - $ref: '#/components/schemas/ResponseThinkingBlock'
              - $ref: '#/components/schemas/ResponseRedactedThinkingBlock'
              - $ref: '#/components/schemas/ResponseToolUseBlock'
              - $ref: '#/components/schemas/ResponseServerToolUseBlock'
              - $ref: '#/components/schemas/ResponseWebSearchToolResultBlock'
              - $ref: '#/components/schemas/ResponseWebFetchToolResultBlock'
              - $ref: '#/components/schemas/ResponseCodeExecutionToolResultBlock'
              - $ref: '#/components/schemas/ResponseBashCodeExecutionToolResultBlock'
              - $ref: >-
                  #/components/schemas/ResponseTextEditorCodeExecutionToolResultBlock
              - $ref: '#/components/schemas/ResponseMCPToolUseBlock'
              - $ref: '#/components/schemas/ResponseMCPToolResultBlock'
              - $ref: '#/components/schemas/ResponseContainerUploadBlock'
          title: Contenido
        model:
          type: string
          description: El modelo que procesó la solicitud.
          enum:
            - claude-haiku-4-5-20251001
            - claude-sonnet-4-5-20250929
            - claude-opus-4-5-20251101
            - claude-opus-4-6
            - claude-fable-5
            - claude-opus-4-8
            - claude-opus-4-7
            - claude-sonnet-4-6
            - claude-sonnet-5
          examples:
            - claude-opus-4-8
          title: Model
        stop_reason:
          type: string
          nullable: true
          description: La razón por la que nos detuvimos.
          enum:
            - end_turn
            - max_tokens
            - stop_sequence
            - tool_use
            - pause_turn
            - refusal
            - model_context_window_exceeded
          title: Razón de parada
        stop_sequence:
          type: string
          nullable: true
          description: Qué secuencia de parada personalizada se generó, si alguna.
          title: Secuencia de parada
        usage:
          $ref: '#/components/schemas/Usage'
          description: Uso de facturación y límite de tasa.
        context_management:
          anyOf:
            - $ref: '#/components/schemas/ResponseContextManagement'
            - type: 'null'
          description: Respuesta de gestión de contexto.
        container:
          anyOf:
            - $ref: '#/components/schemas/Container'
            - type: 'null'
          description: Información sobre el contenedor utilizado en esta solicitud.
    InputMessage:
      additionalProperties: false
      properties:
        content:
          anyOf:
            - type: string
            - items:
                discriminator:
                  mapping:
                    bash_code_execution_tool_result:
                      $ref: >-
                        #/components/schemas/RequestBashCodeExecutionToolResultBlock
                    code_execution_tool_result:
                      $ref: '#/components/schemas/RequestCodeExecutionToolResultBlock'
                    container_upload:
                      $ref: '#/components/schemas/RequestContainerUploadBlock'
                    document:
                      $ref: '#/components/schemas/RequestDocumentBlock'
                    image:
                      $ref: '#/components/schemas/RequestImageBlock'
                    mcp_tool_result:
                      $ref: '#/components/schemas/RequestMCPToolResultBlock'
                    mcp_tool_use:
                      $ref: '#/components/schemas/RequestMCPToolUseBlock'
                    redacted_thinking:
                      $ref: '#/components/schemas/RequestRedactedThinkingBlock'
                    search_result:
                      $ref: '#/components/schemas/RequestSearchResultBlock'
                    server_tool_use:
                      $ref: '#/components/schemas/RequestServerToolUseBlock'
                    text:
                      $ref: '#/components/schemas/RequestTextBlock'
                    text_editor_code_execution_tool_result:
                      $ref: >-
                        #/components/schemas/RequestTextEditorCodeExecutionToolResultBlock
                    thinking:
                      $ref: '#/components/schemas/RequestThinkingBlock'
                    tool_result:
                      $ref: '#/components/schemas/RequestToolResultBlock'
                    tool_use:
                      $ref: '#/components/schemas/RequestToolUseBlock'
                    web_fetch_tool_result:
                      $ref: '#/components/schemas/RequestWebFetchToolResultBlock'
                    web_search_tool_result:
                      $ref: '#/components/schemas/RequestWebSearchToolResultBlock'
                  propertyName: type
                oneOf:
                  - $ref: '#/components/schemas/RequestTextBlock'
                    description: Contenido de texto regular.
                  - $ref: '#/components/schemas/RequestImageBlock'
                    description: >-
                      Contenido de imagen especificado directamente como datos
                      base64 o como referencia mediante una URL.
                  - $ref: '#/components/schemas/RequestDocumentBlock'
                    description: >-
                      Contenido del documento, especificado directamente como
                      datos base64, como texto, o como referencia mediante una
                      URL.
                  - $ref: '#/components/schemas/RequestSearchResultBlock'
                    description: >-
                      Un bloque de resultado de búsqueda que contiene la fuente,
                      el título y el contenido de las operaciones de búsqueda.
                  - $ref: '#/components/schemas/RequestThinkingBlock'
                    description: >-
                      Un bloque que especifica el pensamiento interno del
                      modelo.
                  - $ref: '#/components/schemas/RequestRedactedThinkingBlock'
                    description: >-
                      Un bloque que especifica el pensamiento interno redactado
                      del modelo.
                  - $ref: '#/components/schemas/RequestToolUseBlock'
                    description: >-
                      Un bloque que indica el uso de una herramienta por el
                      modelo.
                  - $ref: '#/components/schemas/RequestToolResultBlock'
                    description: >-
                      Un bloque que especifica los resultados del uso de una
                      herramienta por el modelo.
                  - $ref: '#/components/schemas/RequestServerToolUseBlock'
                  - $ref: '#/components/schemas/RequestWebSearchToolResultBlock'
                  - $ref: '#/components/schemas/RequestWebFetchToolResultBlock'
                  - $ref: '#/components/schemas/RequestCodeExecutionToolResultBlock'
                  - $ref: >-
                      #/components/schemas/RequestBashCodeExecutionToolResultBlock
                  - $ref: >-
                      #/components/schemas/RequestTextEditorCodeExecutionToolResultBlock
                  - $ref: '#/components/schemas/RequestMCPToolUseBlock'
                  - $ref: '#/components/schemas/RequestMCPToolResultBlock'
                  - $ref: '#/components/schemas/RequestContainerUploadBlock'
              type: array
          title: Contenido
        role:
          enum:
            - user
            - assistant
          title: Rol
          type: string
      required:
        - content
        - role
      title: InputMessage
      type: object
    ContainerParams:
      additionalProperties: false
      description: Parámetros del contenedor con habilidades a cargar.
      properties:
        id:
          anyOf:
            - type: string
            - type: 'null'
          description: ID del contenedor
          title: Id
        skills:
          anyOf:
            - items:
                $ref: '#/components/schemas/SkillParams'
              maxItems: 8
              type: array
            - type: 'null'
          description: Lista de habilidades para cargar en el contenedor
          title: Skills
      title: ContainerParams
      type: object
    ContextManagementConfig:
      additionalProperties: false
      properties:
        edits:
          description: Lista de ediciones de gestión de contexto a aplicar
          items:
            discriminator:
              mapping:
                clear_thinking_20251015:
                  $ref: '#/components/schemas/ClearThinking20251015'
                clear_tool_uses_20250919:
                  $ref: '#/components/schemas/ClearToolUses20250919'
              propertyName: type
            oneOf:
              - $ref: '#/components/schemas/ClearToolUses20250919'
              - $ref: '#/components/schemas/ClearThinking20251015'
          minItems: 0
          title: Ediciones
          type: array
      title: ContextManagementConfig
      type: object
    RequestMCPServerURLDefinition:
      additionalProperties: false
      properties:
        authorization_token:
          anyOf:
            - type: string
            - type: 'null'
          title: Token de autorización
        name:
          title: Name
          type: string
        tool_configuration:
          anyOf:
            - $ref: '#/components/schemas/RequestMCPServerToolConfiguration'
            - type: 'null'
        type:
          const: url
          title: Tipo
          type: string
        url:
          title: Url
          type: string
      required:
        - name
        - type
        - url
      title: RequestMCPServerURLDefinition
      type: object
    Metadata:
      additionalProperties: false
      properties:
        user_id:
          anyOf:
            - maxLength: 256
              type: string
            - type: 'null'
          description: >-
            Un identificador externo para el usuario asociado con la solicitud.


            Esto debe ser un uuid, valor hash u otro identificador opaco.
            Anthropic puede usar este id para ayudar a detectar abuso. No
            incluyas información identificable como nombre, dirección de correo
            electrónico o número de teléfono.
          examples:
            - 13803d75-b4b5-4c3e-b2a2-6f21399b021b
          title: ID de usuario
      title: Metadata
      type: object
    OutputConfig:
      additionalProperties: false
      properties:
        effort:
          description: Nivel de esfuerzo de salida.
          enum:
            - low
            - medium
            - high
            - xhigh
            - max
          title: Effort
          type: string
        format:
          $ref: '#/components/schemas/JSONOutputFormat'
          description: Esquema usado para restringir el formato de salida de Claude.
        task_budget:
          $ref: '#/components/schemas/TokenTaskBudget'
          description: Presupuesto total de tokens a través de contextos.
      title: OutputConfig
      type: object
    RequestTextBlock:
      additionalProperties: false
      properties:
        cache_control:
          anyOf:
            - discriminator:
                mapping:
                  ephemeral:
                    $ref: '#/components/schemas/CacheControlEphemeral'
                propertyName: type
              oneOf:
                - $ref: '#/components/schemas/CacheControlEphemeral'
            - type: 'null'
          description: >-
            Crear un punto de interrupción de control de caché en este bloque de
            contenido.
          title: Control de caché
        citations:
          anyOf:
            - items:
                discriminator:
                  mapping:
                    char_location:
                      $ref: '#/components/schemas/RequestCharLocationCitation'
                    content_block_location:
                      $ref: '#/components/schemas/RequestContentBlockLocationCitation'
                    page_location:
                      $ref: '#/components/schemas/RequestPageLocationCitation'
                    search_result_location:
                      $ref: '#/components/schemas/RequestSearchResultLocationCitation'
                    web_search_result_location:
                      $ref: >-
                        #/components/schemas/RequestWebSearchResultLocationCitation
                  propertyName: type
                oneOf:
                  - $ref: '#/components/schemas/RequestCharLocationCitation'
                  - $ref: '#/components/schemas/RequestPageLocationCitation'
                  - $ref: '#/components/schemas/RequestContentBlockLocationCitation'
                  - $ref: >-
                      #/components/schemas/RequestWebSearchResultLocationCitation
                  - $ref: '#/components/schemas/RequestSearchResultLocationCitation'
              type: array
            - type: 'null'
          title: Citas
        text:
          minLength: 1
          title: Texto
          type: string
        type:
          const: text
          title: Tipo
          type: string
      required:
        - text
        - type
      title: Texto
      type: object
    ThinkingConfigEnabled:
      additionalProperties: false
      properties:
        budget_tokens:
          description: >-
            Determina cuántos tokens puede usar Claude para su proceso de
            razonamiento interno. Presupuestos más grandes pueden permitir un
            análisis más exhaustivo para problemas complejos, mejorando la
            calidad de la respuesta.


            Debe ser ≥1024 y menor que `max_tokens`.


            Consulta [pensamiento
            extendido](https://docs.claude.com/es/docs/build-with-claude/extended-thinking)
            para más detalles.
          minimum: 1024
          title: Tokens de presupuesto
          type: integer
        display:
          description: >-
            Controla cómo se muestran los contenidos de pensamiento en la
            respuesta.
          enum:
            - summarized
            - omitted
          title: Visualización
          type: string
        type:
          const: enabled
          title: Tipo
          type: string
      required:
        - budget_tokens
        - type
      title: >-
        Habilitar streaming SSE


        **Detalles**:

        - `true`: Devuelve resultados parciales del mensaje usando eventos
        enviados por el servidor

        - `false`: Devuelve el resultado completo de una vez (por defecto)
      type: object
    ThinkingConfigAdaptive:
      additionalProperties: false
      properties:
        display:
          description: >-
            Controla cómo se muestran los contenidos de pensamiento en la
            respuesta.
          enum:
            - summarized
            - omitted
          title: Visualización
          type: string
        type:
          const: adaptive
          title: Type
          type: string
      required:
        - type
      title: Adaptive
      type: object
    ThinkingConfigDisabled:
      additionalProperties: false
      properties:
        type:
          const: disabled
          title: Tipo
          type: string
      required:
        - type
      title: Deshabilitado
      type: object
    ToolChoiceAuto:
      additionalProperties: false
      description: El modelo decidirá automáticamente si usar herramientas.
      properties:
        disable_parallel_tool_use:
          description: >-
            Si deshabilitar el uso paralelo de herramientas.


            El valor predeterminado es `false`. Si se establece en `true`, el
            modelo generará como máximo un uso de herramienta.
          title: Deshabilitar uso paralelo de herramientas
          type: boolean
        type:
          const: auto
          title: Tipo
          type: string
      required:
        - type
      title: Auto
      type: object
    ToolChoiceAny:
      additionalProperties: false
      description: El modelo usará cualquier herramienta disponible.
      properties:
        disable_parallel_tool_use:
          description: >-
            Si deshabilitar el uso paralelo de herramientas.


            El valor predeterminado es `false`. Si se establece en `true`, el
            modelo generará exactamente un uso de herramienta.
          title: Deshabilitar uso paralelo de herramientas
          type: boolean
        type:
          const: any
          title: Tipo
          type: string
      required:
        - type
      title: Any
      type: object
    ToolChoiceTool:
      additionalProperties: false
      description: El modelo usará la herramienta especificada con `tool_choice.name`.
      properties:
        disable_parallel_tool_use:
          description: >-
            Si deshabilitar el uso paralelo de herramientas.


            El valor predeterminado es `false`. Si se establece en `true`, el
            modelo generará exactamente un uso de herramienta.
          title: Deshabilitar uso paralelo de herramientas
          type: boolean
        name:
          description: El nombre de la herramienta a usar.
          title: Name
          type: string
        type:
          const: tool
          title: Tipo
          type: string
      required:
        - name
        - type
      title: Herramienta
      type: object
    ToolChoiceNone:
      additionalProperties: false
      description: El modelo no podrá usar herramientas.
      properties:
        type:
          const: none
          title: Tipo
          type: string
      required:
        - type
      title: None
      type: object
    Tool:
      additionalProperties: false
      properties:
        type:
          anyOf:
            - type: 'null'
            - const: custom
              type: string
          title: Tipo
        description:
          description: >-
            Descripción de lo que hace esta herramienta.


            Las descripciones de herramientas deben ser lo más detalladas
            posible. Cuanta más información tenga el modelo sobre qué es la
            herramienta y cómo usarla, mejor funcionará. Puedes usar
            descripciones en lenguaje natural para reforzar aspectos importantes
            del esquema JSON de entrada de la herramienta.
          examples:
            - Obtener el clima actual en una ubicación dada
          title: Descripción
          type: string
        name:
          description: >-
            Nombre de la herramienta.


            Así es como el modelo llamará a la herramienta y en bloques
            `tool_use`.
          maxLength: 128
          minLength: 1
          pattern: ^[a-zA-Z0-9_-]{1,128}$
          title: Name
          type: string
        input_schema:
          $ref: '#/components/schemas/InputSchema'
          description: >-
            [JSON schema](https://json-schema.org/draft/2020-12) para la entrada
            de esta herramienta.


            Esto define la forma de la `input` que su herramienta acepta y que
            el modelo producirá.
          examples:
            - properties:
                location:
                  description: La ciudad y el estado, ej. San Francisco, CA
                  type: string
                unit:
                  description: Unidad para la salida - una de (celsius, fahrenheit)
                  type: string
              required:
                - location
              type: object
        cache_control:
          anyOf:
            - discriminator:
                mapping:
                  ephemeral:
                    $ref: '#/components/schemas/CacheControlEphemeral'
                propertyName: type
              oneOf:
                - $ref: '#/components/schemas/CacheControlEphemeral'
            - type: 'null'
          description: >-
            Crear un punto de interrupción de control de caché en este bloque de
            contenido.
          title: Control de caché
      required:
        - name
        - input_schema
      title: Herramienta personalizada
      type: object
    BashTool_20241022:
      additionalProperties: false
      properties:
        cache_control:
          anyOf:
            - discriminator:
                mapping:
                  ephemeral:
                    $ref: '#/components/schemas/CacheControlEphemeral'
                propertyName: type
              oneOf:
                - $ref: '#/components/schemas/CacheControlEphemeral'
            - type: 'null'
          description: >-
            Crear un punto de interrupción de control de caché en este bloque de
            contenido.
          title: Control de caché
        name:
          const: bash
          description: >-
            Nombre de la herramienta.


            Así es como el modelo llamará a la herramienta y en bloques
            `tool_use`.
          title: Name
          type: string
        type:
          const: bash_20241022
          title: Tipo
          type: string
      required:
        - name
        - type
      title: Herramienta Bash (2024-10-22)
      type: object
    BashTool_20250124:
      additionalProperties: false
      properties:
        cache_control:
          anyOf:
            - discriminator:
                mapping:
                  ephemeral:
                    $ref: '#/components/schemas/CacheControlEphemeral'
                propertyName: type
              oneOf:
                - $ref: '#/components/schemas/CacheControlEphemeral'
            - type: 'null'
          description: >-
            Crear un punto de interrupción de control de caché en este bloque de
            contenido.
          title: Control de caché
        name:
          const: bash
          description: >-
            Nombre de la herramienta.


            Así es como el modelo llamará a la herramienta y en bloques
            `tool_use`.
          title: Name
          type: string
        type:
          const: bash_20250124
          title: Tipo
          type: string
      required:
        - name
        - type
      title: Herramienta Bash (2025-01-24)
      type: object
    CodeExecutionTool_20250522:
      additionalProperties: false
      properties:
        cache_control:
          anyOf:
            - discriminator:
                mapping:
                  ephemeral:
                    $ref: '#/components/schemas/CacheControlEphemeral'
                propertyName: type
              oneOf:
                - $ref: '#/components/schemas/CacheControlEphemeral'
            - type: 'null'
          description: >-
            Crear un punto de interrupción de control de caché en este bloque de
            contenido.
          title: Control de caché
        name:
          const: code_execution
          description: >-
            Nombre de la herramienta.


            Así es como el modelo llamará a la herramienta y en bloques
            `tool_use`.
          title: Name
          type: string
        type:
          const: code_execution_20250522
          title: Tipo
          type: string
      required:
        - name
        - type
      title: Herramienta de ejecución de código (2025-05-22)
      type: object
    CodeExecutionTool_20250825:
      additionalProperties: false
      properties:
        cache_control:
          anyOf:
            - discriminator:
                mapping:
                  ephemeral:
                    $ref: '#/components/schemas/CacheControlEphemeral'
                propertyName: type
              oneOf:
                - $ref: '#/components/schemas/CacheControlEphemeral'
            - type: 'null'
          description: >-
            Crear un punto de interrupción de control de caché en este bloque de
            contenido.
          title: Control de caché
        name:
          const: code_execution
          description: >-
            Nombre de la herramienta.


            Así es como el modelo llamará a la herramienta y en bloques
            `tool_use`.
          title: Name
          type: string
        type:
          const: code_execution_20250825
          title: Tipo
          type: string
      required:
        - name
        - type
      title: CodeExecutionTool_20250825
      type: object
    ComputerUseTool_20241022:
      additionalProperties: false
      properties:
        cache_control:
          anyOf:
            - discriminator:
                mapping:
                  ephemeral:
                    $ref: '#/components/schemas/CacheControlEphemeral'
                propertyName: type
              oneOf:
                - $ref: '#/components/schemas/CacheControlEphemeral'
            - type: 'null'
          description: >-
            Crear un punto de interrupción de control de caché en este bloque de
            contenido.
          title: Control de caché
        display_height_px:
          description: La altura de la pantalla en píxeles.
          minimum: 1
          title: Altura de visualización en Px
          type: integer
        display_number:
          anyOf:
            - minimum: 0
              type: integer
            - type: 'null'
          description: El número de pantalla X11 (ej. 0, 1) para la pantalla.
          title: Número de visualización
        display_width_px:
          description: El ancho de la pantalla en píxeles.
          minimum: 1
          title: Ancho de visualización en Px
          type: integer
        name:
          const: computer
          description: >-
            Nombre de la herramienta.


            Así es como el modelo llamará a la herramienta y en bloques
            `tool_use`.
          title: Name
          type: string
        type:
          const: computer_20241022
          title: Tipo
          type: string
      required:
        - display_height_px
        - display_width_px
        - name
        - type
      title: Herramienta de uso de computadora (2024-01-22)
      type: object
    MemoryTool_20250818:
      additionalProperties: false
      properties:
        cache_control:
          anyOf:
            - discriminator:
                mapping:
                  ephemeral:
                    $ref: '#/components/schemas/CacheControlEphemeral'
                propertyName: type
              oneOf:
                - $ref: '#/components/schemas/CacheControlEphemeral'
            - type: 'null'
          description: >-
            Crear un punto de interrupción de control de caché en este bloque de
            contenido.
          title: Control de caché
        name:
          const: memory
          description: >-
            Nombre de la herramienta.


            Así es como el modelo llamará a la herramienta y en bloques
            `tool_use`.
          title: Name
          type: string
        type:
          const: memory_20250818
          title: Tipo
          type: string
      required:
        - name
        - type
      title: MemoryTool_20250818
      type: object
    ComputerUseTool_20250124:
      additionalProperties: false
      properties:
        cache_control:
          anyOf:
            - discriminator:
                mapping:
                  ephemeral:
                    $ref: '#/components/schemas/CacheControlEphemeral'
                propertyName: type
              oneOf:
                - $ref: '#/components/schemas/CacheControlEphemeral'
            - type: 'null'
          description: >-
            Crear un punto de interrupción de control de caché en este bloque de
            contenido.
          title: Control de caché
        display_height_px:
          description: La altura de la pantalla en píxeles.
          minimum: 1
          title: Altura de visualización en Px
          type: integer
        display_number:
          anyOf:
            - minimum: 0
              type: integer
            - type: 'null'
          description: El número de pantalla X11 (ej. 0, 1) para la pantalla.
          title: Número de visualización
        display_width_px:
          description: El ancho de la pantalla en píxeles.
          minimum: 1
          title: Ancho de visualización en Px
          type: integer
        name:
          const: computer
          description: >-
            Nombre de la herramienta.


            Así es como el modelo llamará a la herramienta y en bloques
            `tool_use`.
          title: Name
          type: string
        type:
          const: computer_20250124
          title: Tipo
          type: string
      required:
        - display_height_px
        - display_width_px
        - name
        - type
      title: Herramienta de uso de computadora (2025-01-24)
      type: object
    TextEditor_20241022:
      additionalProperties: false
      properties:
        cache_control:
          anyOf:
            - discriminator:
                mapping:
                  ephemeral:
                    $ref: '#/components/schemas/CacheControlEphemeral'
                propertyName: type
              oneOf:
                - $ref: '#/components/schemas/CacheControlEphemeral'
            - type: 'null'
          description: >-
            Crear un punto de interrupción de control de caché en este bloque de
            contenido.
          title: Control de caché
        name:
          const: str_replace_editor
          description: >-
            Nombre de la herramienta.


            Así es como el modelo llamará a la herramienta y en bloques
            `tool_use`.
          title: Name
          type: string
        type:
          const: text_editor_20241022
          title: Tipo
          type: string
      required:
        - name
        - type
      title: Herramienta de editor de texto (2024-10-22)
      type: object
    TextEditor_20250124:
      additionalProperties: false
      properties:
        cache_control:
          anyOf:
            - discriminator:
                mapping:
                  ephemeral:
                    $ref: '#/components/schemas/CacheControlEphemeral'
                propertyName: type
              oneOf:
                - $ref: '#/components/schemas/CacheControlEphemeral'
            - type: 'null'
          description: >-
            Crear un punto de interrupción de control de caché en este bloque de
            contenido.
          title: Control de caché
        name:
          const: str_replace_editor
          description: >-
            Nombre de la herramienta.


            Así es como el modelo llamará a la herramienta y en bloques
            `tool_use`.
          title: Name
          type: string
        type:
          const: text_editor_20250124
          title: Tipo
          type: string
      required:
        - name
        - type
      title: Herramienta de editor de texto (2025-01-24)
      type: object
    TextEditor_20250429:
      additionalProperties: false
      properties:
        cache_control:
          anyOf:
            - discriminator:
                mapping:
                  ephemeral:
                    $ref: '#/components/schemas/CacheControlEphemeral'
                propertyName: type
              oneOf:
                - $ref: '#/components/schemas/CacheControlEphemeral'
            - type: 'null'
          description: >-
            Crear un punto de interrupción de control de caché en este bloque de
            contenido.
          title: Control de caché
        name:
          const: str_replace_based_edit_tool
          description: >-
            Nombre de la herramienta.


            Así es como el modelo llamará a la herramienta y en bloques
            `tool_use`.
          title: Name
          type: string
        type:
          const: text_editor_20250429
          title: Tipo
          type: string
      required:
        - name
        - type
      title: Herramienta de editor de texto (2025-04-29)
      type: object
    TextEditor_20250728:
      additionalProperties: false
      properties:
        cache_control:
          anyOf:
            - discriminator:
                mapping:
                  ephemeral:
                    $ref: '#/components/schemas/CacheControlEphemeral'
                propertyName: type
              oneOf:
                - $ref: '#/components/schemas/CacheControlEphemeral'
            - type: 'null'
          description: >-
            Crear un punto de interrupción de control de caché en este bloque de
            contenido.
          title: Control de caché
        max_characters:
          anyOf:
            - minimum: 1
              type: integer
            - type: 'null'
          description: >-
            Número máximo de caracteres a mostrar al ver un archivo. Si no se
            especifica, se muestra el archivo completo por defecto.
          title: Máximo de caracteres
        name:
          const: str_replace_based_edit_tool
          description: >-
            Nombre de la herramienta.


            Así es como el modelo llamará a la herramienta y en bloques
            `tool_use`.
          title: Name
          type: string
        type:
          const: text_editor_20250728
          title: Tipo
          type: string
      required:
        - name
        - type
      title: TextEditor_20250728
      type: object
    WebSearchTool_20250305:
      additionalProperties: false
      properties:
        allowed_domains:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          description: >-
            Si se proporciona, solo estos dominios se incluirán en los
            resultados. No se puede usar junto con `blocked_domains`.
          title: Dominios permitidos
        blocked_domains:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          description: >-
            Si se proporciona, estos dominios nunca aparecerán en los
            resultados. No se puede usar junto con `allowed_domains`.
          title: Dominios bloqueados
        cache_control:
          anyOf:
            - discriminator:
                mapping:
                  ephemeral:
                    $ref: '#/components/schemas/CacheControlEphemeral'
                propertyName: type
              oneOf:
                - $ref: '#/components/schemas/CacheControlEphemeral'
            - type: 'null'
          description: >-
            Crear un punto de interrupción de control de caché en este bloque de
            contenido.
          title: Control de caché
        max_uses:
          anyOf:
            - exclusiveMinimum: 0
              type: integer
            - type: 'null'
          description: >-
            Número máximo de veces que la herramienta puede usarse en la
            solicitud de API.
          title: Máximo de usos
        name:
          const: web_search
          description: >-
            Nombre de la herramienta.


            Así es como el modelo llamará a la herramienta y en bloques
            `tool_use`.
          title: Name
          type: string
        type:
          const: web_search_20250305
          title: Tipo
          type: string
        user_location:
          anyOf:
            - $ref: '#/components/schemas/UserLocation'
            - type: 'null'
          description: >-
            Parámetros para la ubicación del usuario. Se utilizan para
            proporcionar resultados de búsqueda más relevantes.
      required:
        - name
        - type
      title: Herramienta de búsqueda web (2025-03-05)
      type: object
    WebFetchTool_20250910:
      additionalProperties: false
      properties:
        allowed_domains:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          description: Lista de dominios para permitir la obtención de datos
          title: Dominios permitidos
        blocked_domains:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          description: Lista de dominios para bloquear la obtención de datos
          title: Dominios bloqueados
        cache_control:
          anyOf:
            - discriminator:
                mapping:
                  ephemeral:
                    $ref: '#/components/schemas/CacheControlEphemeral'
                propertyName: type
              oneOf:
                - $ref: '#/components/schemas/CacheControlEphemeral'
            - type: 'null'
          description: >-
            Crear un punto de interrupción de control de caché en este bloque de
            contenido.
          title: Control de caché
        citations:
          anyOf:
            - $ref: '#/components/schemas/RequestCitationsConfig'
            - type: 'null'
          description: >-
            Configuración de citas para documentos obtenidos. Las citas están
            deshabilitadas por defecto.
        max_content_tokens:
          anyOf:
            - exclusiveMinimum: 0
              type: integer
            - type: 'null'
          description: >-
            Número máximo de tokens utilizados al incluir contenido de texto de
            páginas web en el contexto. El límite es aproximado y no se aplica a
            contenido binario como PDFs.
          title: Máximo de tokens de contenido
        max_uses:
          anyOf:
            - exclusiveMinimum: 0
              type: integer
            - type: 'null'
          description: >-
            Número máximo de veces que la herramienta puede usarse en la
            solicitud de API.
          title: Máximo de usos
        name:
          const: web_fetch
          description: >-
            Nombre de la herramienta.


            Así es como el modelo llamará a la herramienta y en bloques
            `tool_use`.
          title: Name
          type: string
        type:
          const: web_fetch_20250910
          title: Tipo
          type: string
      required:
        - name
        - type
      title: WebFetchTool_20250910
      type: object
    ResponseTextBlock:
      properties:
        citations:
          anyOf:
            - items:
                discriminator:
                  mapping:
                    char_location:
                      $ref: '#/components/schemas/ResponseCharLocationCitation'
                    content_block_location:
                      $ref: >-
                        #/components/schemas/ResponseContentBlockLocationCitation
                    page_location:
                      $ref: '#/components/schemas/ResponsePageLocationCitation'
                    search_result_location:
                      $ref: >-
                        #/components/schemas/ResponseSearchResultLocationCitation
                    web_search_result_location:
                      $ref: >-
                        #/components/schemas/ResponseWebSearchResultLocationCitation
                  propertyName: type
                oneOf:
                  - $ref: '#/components/schemas/ResponseCharLocationCitation'
                  - $ref: '#/components/schemas/ResponsePageLocationCitation'
                  - $ref: '#/components/schemas/ResponseContentBlockLocationCitation'
                  - $ref: >-
                      #/components/schemas/ResponseWebSearchResultLocationCitation
                  - $ref: '#/components/schemas/ResponseSearchResultLocationCitation'
              type: array
            - type: 'null'
          default: null
          description: >-
            Citas que respaldan el bloque de texto.


            El tipo de cita devuelta dependerá del tipo de documento citado.
            Citar un PDF resulta en `page_location`, texto plano resulta en
            `char_location`, y documento de contenido resulta en
            `content_block_location`.
          title: Citas
        text:
          maxLength: 5000000
          minLength: 0
          title: Texto
          type: string
        type:
          const: text
          default: text
          title: Tipo
          type: string
      required:
        - citations
        - text
        - type
      title: Texto
      type: object
    ResponseThinkingBlock:
      properties:
        signature:
          title: Firma
          type: string
        thinking:
          title: Pensamiento
          type: string
        type:
          const: thinking
          default: thinking
          title: Tipo
          type: string
      required:
        - signature
        - thinking
        - type
      title: Pensamiento
      type: object
    ResponseRedactedThinkingBlock:
      properties:
        data:
          title: Datos
          type: string
        type:
          const: redacted_thinking
          default: redacted_thinking
          title: Tipo
          type: string
      required:
        - data
        - type
      title: >-
        Contenido de razonamiento del modelo (solo disponible para modelos
        thinking, devuelto cuando el modelo genera proceso de pensamiento)
      type: object
    ResponseToolUseBlock:
      properties:
        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: Tipo
          type: string
      required:
        - id
        - input
        - name
        - type
      title: Uso de herramienta
      type: object
    ResponseServerToolUseBlock:
      properties:
        id:
          pattern: ^srvtoolu_[a-zA-Z0-9_]+$
          title: Id
          type: string
        input:
          additionalProperties: true
          title: Input
          type: object
        name:
          enum:
            - web_search
            - web_fetch
            - code_execution
            - bash_code_execution
            - text_editor_code_execution
          title: Name
          type: string
        type:
          const: server_tool_use
          default: server_tool_use
          title: Tipo
          type: string
      required:
        - id
        - input
        - name
        - type
      title: Uso de herramientas del servidor
      type: object
    ResponseWebSearchToolResultBlock:
      properties:
        content:
          anyOf:
            - $ref: '#/components/schemas/ResponseWebSearchToolResultError'
            - items:
                $ref: '#/components/schemas/ResponseWebSearchResultBlock'
              type: array
          title: Contenido
        tool_use_id:
          pattern: ^srvtoolu_[a-zA-Z0-9_]+$
          title: ID de uso de herramienta
          type: string
        type:
          const: web_search_tool_result
          default: web_search_tool_result
          title: Tipo
          type: string
      required:
        - content
        - tool_use_id
        - type
      title: Resultado de herramienta de búsqueda web
      type: object
    ResponseWebFetchToolResultBlock:
      properties:
        content:
          anyOf:
            - $ref: '#/components/schemas/ResponseWebFetchToolResultError'
            - $ref: '#/components/schemas/ResponseWebFetchResultBlock'
          title: Contenido
        tool_use_id:
          pattern: ^srvtoolu_[a-zA-Z0-9_]+$
          title: ID de uso de herramienta
          type: string
        type:
          const: web_fetch_tool_result
          default: web_fetch_tool_result
          title: Tipo
          type: string
      required:
        - content
        - tool_use_id
        - type
      title: ResponseWebFetchToolResultBlock
      type: object
    ResponseCodeExecutionToolResultBlock:
      properties:
        content:
          anyOf:
            - $ref: '#/components/schemas/ResponseCodeExecutionToolResultError'
            - $ref: '#/components/schemas/ResponseCodeExecutionResultBlock'
          title: Contenido
        tool_use_id:
          pattern: ^srvtoolu_[a-zA-Z0-9_]+$
          title: ID de uso de herramienta
          type: string
        type:
          const: code_execution_tool_result
          default: code_execution_tool_result
          title: Tipo
          type: string
      required:
        - content
        - tool_use_id
        - type
      title: Resultado de herramienta de ejecución de código
      type: object
    ResponseBashCodeExecutionToolResultBlock:
      properties:
        content:
          anyOf:
            - $ref: '#/components/schemas/ResponseBashCodeExecutionToolResultError'
            - $ref: '#/components/schemas/ResponseBashCodeExecutionResultBlock'
          title: Contenido
        tool_use_id:
          pattern: ^srvtoolu_[a-zA-Z0-9_]+$
          title: ID de uso de herramienta
          type: string
        type:
          const: bash_code_execution_tool_result
          default: bash_code_execution_tool_result
          title: Tipo
          type: string
      required:
        - content
        - tool_use_id
        - type
      title: ResponseBashCodeExecutionToolResultBlock
      type: object
    ResponseTextEditorCodeExecutionToolResultBlock:
      properties:
        content:
          anyOf:
            - $ref: >-
                #/components/schemas/ResponseTextEditorCodeExecutionToolResultError
            - $ref: >-
                #/components/schemas/ResponseTextEditorCodeExecutionViewResultBlock
            - $ref: >-
                #/components/schemas/ResponseTextEditorCodeExecutionCreateResultBlock
            - $ref: >-
                #/components/schemas/ResponseTextEditorCodeExecutionStrReplaceResultBlock
          title: Contenido
        tool_use_id:
          pattern: ^srvtoolu_[a-zA-Z0-9_]+$
          title: ID de uso de herramienta
          type: string
        type:
          const: text_editor_code_execution_tool_result
          default: text_editor_code_execution_tool_result
          title: Tipo
          type: string
      required:
        - content
        - tool_use_id
        - type
      title: ResponseTextEditorCodeExecutionToolResultBlock
      type: object
    ResponseMCPToolUseBlock:
      properties:
        id:
          pattern: ^[a-zA-Z0-9_-]+$
          title: Id
          type: string
        input:
          additionalProperties: true
          title: Input
          type: object
        name:
          description: El nombre de la herramienta MCP
          title: Name
          type: string
        server_name:
          description: El nombre del servidor MCP
          title: Nombre del servidor
          type: string
        type:
          const: mcp_tool_use
          default: mcp_tool_use
          title: Tipo
          type: string
      required:
        - id
        - input
        - name
        - server_name
        - type
      title: Uso de herramienta MCP
      type: object
    ResponseMCPToolResultBlock:
      properties:
        content:
          anyOf:
            - type: string
            - items:
                $ref: '#/components/schemas/ResponseTextBlock'
              type: array
          title: Contenido
        is_error:
          default: false
          title: Es error
          type: boolean
        tool_use_id:
          pattern: ^[a-zA-Z0-9_-]+$
          title: ID de uso de herramienta
          type: string
        type:
          const: mcp_tool_result
          default: mcp_tool_result
          title: Tipo
          type: string
      required:
        - content
        - is_error
        - tool_use_id
        - type
      title: Resultado de herramienta MCP
      type: object
    ResponseContainerUploadBlock:
      description: Modelo de respuesta para un archivo subido al contenedor.
      properties:
        file_id:
          title: Tipo MIME del archivo
          type: string
        type:
          const: container_upload
          default: container_upload
          title: Tipo
          type: string
      required:
        - file_id
        - type
      title: Subida de contenedor
      type: object
    Usage:
      properties:
        cache_creation:
          anyOf:
            - $ref: '#/components/schemas/CacheCreation'
            - type: 'null'
          default: null
          description: Desglose de tokens en caché por TTL
        cache_creation_input_tokens:
          anyOf:
            - minimum: 0
              type: integer
            - type: 'null'
          default: null
          description: >-
            El número de tokens de entrada utilizados para crear la entrada de
            caché.
          examples:
            - 2051
          title: Tokens de entrada de creación de caché
        cache_read_input_tokens:
          anyOf:
            - minimum: 0
              type: integer
            - type: 'null'
          default: null
          description: El número de tokens de entrada leídos desde la caché.
          examples:
            - 2051
          title: Tokens de entrada de lectura de caché
        input_tokens:
          description: El número de tokens de entrada utilizados.
          examples:
            - 2095
          minimum: 0
          title: Tokens de entrada
          type: integer
        output_tokens:
          description: El número de tokens de salida utilizados.
          examples:
            - 503
          minimum: 0
          title: Tokens de salida
          type: integer
        server_tool_use:
          anyOf:
            - $ref: '#/components/schemas/ServerToolUsage'
            - type: 'null'
          default: null
          description: El número de solicitudes de herramientas del servidor.
        service_tier:
          anyOf:
            - enum:
                - standard
                - priority
                - batch
              type: string
            - type: 'null'
          default: null
          description: Si la solicitud utilizó el nivel priority, standard o batch.
          title: Nivel de servicio
      required:
        - cache_creation
        - cache_creation_input_tokens
        - cache_read_input_tokens
        - input_tokens
        - output_tokens
        - server_tool_use
        - service_tier
      title: Uso
      type: object
    ResponseContextManagement:
      properties:
        applied_edits:
          description: Lista de ediciones de gestión de contexto que se aplicaron.
          items:
            discriminator:
              mapping:
                clear_thinking_20251015:
                  $ref: '#/components/schemas/ResponseClearThinking20251015Edit'
                clear_tool_uses_20250919:
                  $ref: '#/components/schemas/ResponseClearToolUses20250919Edit'
              propertyName: type
            oneOf:
              - $ref: '#/components/schemas/ResponseClearToolUses20250919Edit'
              - $ref: '#/components/schemas/ResponseClearThinking20251015Edit'
          title: Ediciones aplicadas
          type: array
      required:
        - applied_edits
      title: ResponseContextManagement
      type: object
    Container:
      description: >-
        Información sobre el contenedor utilizado en la solicitud (para la
        herramienta de ejecución de código)
      properties:
        expires_at:
          description: La hora en que el contenedor expirará.
          format: date-time
          title: Sugerencia de respaldo en caso de error
          type: string
        id:
          description: Identificador del contenedor utilizado en esta solicitud
          title: Id
          type: string
        skills:
          anyOf:
            - items:
                $ref: '#/components/schemas/Skill'
              type: array
            - type: 'null'
          default: null
          description: Skills cargados en el contenedor
          title: Skills
      required:
        - expires_at
        - id
        - skills
      title: Contenedor
      type: object
    RequestBashCodeExecutionToolResultBlock:
      additionalProperties: false
      properties:
        cache_control:
          anyOf:
            - discriminator:
                mapping:
                  ephemeral:
                    $ref: '#/components/schemas/CacheControlEphemeral'
                propertyName: type
              oneOf:
                - $ref: '#/components/schemas/CacheControlEphemeral'
            - type: 'null'
          description: >-
            Crear un punto de interrupción de control de caché en este bloque de
            contenido.
          title: Control de caché
        content:
          anyOf:
            - $ref: '#/components/schemas/RequestBashCodeExecutionToolResultError'
            - $ref: '#/components/schemas/RequestBashCodeExecutionResultBlock'
          title: Contenido
        tool_use_id:
          pattern: ^srvtoolu_[a-zA-Z0-9_]+$
          title: ID de uso de herramienta
          type: string
        type:
          const: bash_code_execution_tool_result
          title: Tipo
          type: string
      required:
        - content
        - tool_use_id
        - type
      title: RequestBashCodeExecutionToolResultBlock
      type: object
    RequestCodeExecutionToolResultBlock:
      additionalProperties: false
      properties:
        cache_control:
          anyOf:
            - discriminator:
                mapping:
                  ephemeral:
                    $ref: '#/components/schemas/CacheControlEphemeral'
                propertyName: type
              oneOf:
                - $ref: '#/components/schemas/CacheControlEphemeral'
            - type: 'null'
          description: >-
            Crear un punto de interrupción de control de caché en este bloque de
            contenido.
          title: Control de caché
        content:
          anyOf:
            - $ref: '#/components/schemas/RequestCodeExecutionToolResultError'
            - $ref: '#/components/schemas/RequestCodeExecutionResultBlock'
          title: Contenido
        tool_use_id:
          pattern: ^srvtoolu_[a-zA-Z0-9_]+$
          title: ID de uso de herramienta
          type: string
        type:
          const: code_execution_tool_result
          title: Tipo
          type: string
      required:
        - content
        - tool_use_id
        - type
      title: Resultado de herramienta de ejecución de código
      type: object
    RequestContainerUploadBlock:
      additionalProperties: false
      description: >-
        Un bloque de contenido que representa un archivo a subir al contenedor

        Los archivos subidos mediante este bloque estarán disponibles en el
        directorio de entrada del contenedor.
      properties:
        cache_control:
          anyOf:
            - discriminator:
                mapping:
                  ephemeral:
                    $ref: '#/components/schemas/CacheControlEphemeral'
                propertyName: type
              oneOf:
                - $ref: '#/components/schemas/CacheControlEphemeral'
            - type: 'null'
          description: >-
            Crear un punto de interrupción de control de caché en este bloque de
            contenido.
          title: Control de caché
        file_id:
          title: Tipo MIME del archivo
          type: string
        type:
          const: container_upload
          title: Tipo
          type: string
      required:
        - file_id
        - type
      title: Subida de contenedor
      type: object
    RequestDocumentBlock:
      additionalProperties: false
      properties:
        cache_control:
          anyOf:
            - discriminator:
                mapping:
                  ephemeral:
                    $ref: '#/components/schemas/CacheControlEphemeral'
                propertyName: type
              oneOf:
                - $ref: '#/components/schemas/CacheControlEphemeral'
            - type: 'null'
          description: >-
            Crear un punto de interrupción de control de caché en este bloque de
            contenido.
          title: Control de caché
        citations:
          anyOf:
            - $ref: '#/components/schemas/RequestCitationsConfig'
            - type: 'null'
        context:
          anyOf:
            - minLength: 1
              type: string
            - type: 'null'
          title: Contexto
        source:
          discriminator:
            mapping:
              base64:
                $ref: '#/components/schemas/Base64PDFSource'
              content:
                $ref: '#/components/schemas/ContentBlockSource'
              file:
                $ref: '#/components/schemas/FileDocumentSource'
              text:
                $ref: '#/components/schemas/PlainTextSource'
            propertyName: type
          oneOf:
            - $ref: '#/components/schemas/Base64PDFSource'
            - $ref: '#/components/schemas/PlainTextSource'
            - $ref: '#/components/schemas/ContentBlockSource'
            - $ref: '#/components/schemas/FileDocumentSource'
        title:
          anyOf:
            - maxLength: 500
              minLength: 1
              type: string
            - type: 'null'
          title: Título
        type:
          const: document
          title: Tipo
          type: string
      required:
        - source
        - type
      title: Documento
      type: object
    RequestImageBlock:
      additionalProperties: false
      properties:
        cache_control:
          anyOf:
            - discriminator:
                mapping:
                  ephemeral:
                    $ref: '#/components/schemas/CacheControlEphemeral'
                propertyName: type
              oneOf:
                - $ref: '#/components/schemas/CacheControlEphemeral'
            - type: 'null'
          description: >-
            Crear un punto de interrupción de control de caché en este bloque de
            contenido.
          title: Control de caché
        source:
          discriminator:
            mapping:
              base64:
                $ref: '#/components/schemas/Base64ImageSource'
              file:
                $ref: '#/components/schemas/FileImageSource'
            propertyName: type
          oneOf:
            - $ref: '#/components/schemas/Base64ImageSource'
            - $ref: '#/components/schemas/FileImageSource'
          title: Fuente
        type:
          const: image
          title: Tipo
          type: string
      required:
        - source
        - type
      title: Image
      type: object
    RequestMCPToolResultBlock:
      additionalProperties: false
      properties:
        cache_control:
          anyOf:
            - discriminator:
                mapping:
                  ephemeral:
                    $ref: '#/components/schemas/CacheControlEphemeral'
                propertyName: type
              oneOf:
                - $ref: '#/components/schemas/CacheControlEphemeral'
            - type: 'null'
          description: >-
            Crear un punto de interrupción de control de caché en este bloque de
            contenido.
          title: Control de caché
        content:
          anyOf:
            - type: string
            - type: array
              items:
                $ref: '#/components/schemas/RequestTextBlock'
          title: Contenido
        is_error:
          title: Es error
          type: boolean
        tool_use_id:
          pattern: ^[a-zA-Z0-9_-]+$
          title: ID de uso de herramienta
          type: string
        type:
          const: mcp_tool_result
          title: Tipo
          type: string
      required:
        - tool_use_id
        - type
      title: Resultado de herramienta MCP
      type: object
    RequestMCPToolUseBlock:
      additionalProperties: false
      properties:
        cache_control:
          anyOf:
            - discriminator:
                mapping:
                  ephemeral:
                    $ref: '#/components/schemas/CacheControlEphemeral'
                propertyName: type
              oneOf:
                - $ref: '#/components/schemas/CacheControlEphemeral'
            - type: 'null'
          description: >-
            Crear un punto de interrupción de control de caché en este bloque de
            contenido.
          title: Control de caché
        id:
          pattern: ^[a-zA-Z0-9_-]+$
          title: Id
          type: string
        input:
          additionalProperties: true
          title: Input
          type: object
        name:
          title: Name
          type: string
        server_name:
          description: El nombre del servidor MCP
          title: Nombre del servidor
          type: string
        type:
          const: mcp_tool_use
          title: Tipo
          type: string
      required:
        - id
        - input
        - name
        - server_name
        - type
      title: Uso de herramienta MCP
      type: object
    RequestRedactedThinkingBlock:
      additionalProperties: false
      properties:
        data:
          title: Datos
          type: string
        type:
          const: redacted_thinking
          title: Tipo
          type: string
      required:
        - data
        - type
      title: >-
        Contenido de razonamiento del modelo (solo disponible para modelos
        thinking, devuelto cuando el modelo genera proceso de pensamiento)
      type: object
    RequestSearchResultBlock:
      additionalProperties: false
      properties:
        cache_control:
          anyOf:
            - discriminator:
                mapping:
                  ephemeral:
                    $ref: '#/components/schemas/CacheControlEphemeral'
                propertyName: type
              oneOf:
                - $ref: '#/components/schemas/CacheControlEphemeral'
            - type: 'null'
          description: >-
            Crear un punto de interrupción de control de caché en este bloque de
            contenido.
          title: Control de caché
        citations:
          $ref: '#/components/schemas/RequestCitationsConfig'
        content:
          items:
            $ref: '#/components/schemas/RequestTextBlock'
          title: Contenido
          type: array
        source:
          title: Fuente
          type: string
        title:
          title: Título
          type: string
        type:
          const: search_result
          title: Tipo
          type: string
      required:
        - content
        - source
        - title
        - type
      title: Resultado de búsqueda
      type: object
    RequestServerToolUseBlock:
      additionalProperties: false
      properties:
        cache_control:
          anyOf:
            - discriminator:
                mapping:
                  ephemeral:
                    $ref: '#/components/schemas/CacheControlEphemeral'
                propertyName: type
              oneOf:
                - $ref: '#/components/schemas/CacheControlEphemeral'
            - type: 'null'
          description: >-
            Crear un punto de interrupción de control de caché en este bloque de
            contenido.
          title: Control de caché
        id:
          pattern: ^srvtoolu_[a-zA-Z0-9_]+$
          title: Id
          type: string
        input:
          additionalProperties: true
          title: Input
          type: object
        name:
          enum:
            - web_search
            - web_fetch
            - code_execution
            - bash_code_execution
            - text_editor_code_execution
          title: Name
          type: string
        type:
          const: server_tool_use
          title: Tipo
          type: string
      required:
        - id
        - input
        - name
        - type
      title: Uso de herramientas del servidor
      type: object
    RequestTextEditorCodeExecutionToolResultBlock:
      additionalProperties: false
      properties:
        cache_control:
          anyOf:
            - discriminator:
                mapping:
                  ephemeral:
                    $ref: '#/components/schemas/CacheControlEphemeral'
                propertyName: type
              oneOf:
                - $ref: '#/components/schemas/CacheControlEphemeral'
            - type: 'null'
          description: >-
            Crear un punto de interrupción de control de caché en este bloque de
            contenido.
          title: Control de caché
        content:
          anyOf:
            - $ref: >-
                #/components/schemas/RequestTextEditorCodeExecutionToolResultError
            - $ref: >-
                #/components/schemas/RequestTextEditorCodeExecutionViewResultBlock
            - $ref: >-
                #/components/schemas/RequestTextEditorCodeExecutionCreateResultBlock
            - $ref: >-
                #/components/schemas/RequestTextEditorCodeExecutionStrReplaceResultBlock
          title: Contenido
        tool_use_id:
          pattern: ^srvtoolu_[a-zA-Z0-9_]+$
          title: ID de uso de herramienta
          type: string
        type:
          const: text_editor_code_execution_tool_result
          title: Tipo
          type: string
      required:
        - content
        - tool_use_id
        - type
      title: RequestTextEditorCodeExecutionToolResultBlock
      type: object
    RequestThinkingBlock:
      additionalProperties: false
      properties:
        signature:
          title: Firma
          type: string
        thinking:
          title: Pensamiento
          type: string
        type:
          const: thinking
          title: Tipo
          type: string
      required:
        - signature
        - thinking
        - type
      title: Pensamiento
      type: object
    RequestToolResultBlock:
      additionalProperties: false
      properties:
        cache_control:
          anyOf:
            - discriminator:
                mapping:
                  ephemeral:
                    $ref: '#/components/schemas/CacheControlEphemeral'
                propertyName: type
              oneOf:
                - $ref: '#/components/schemas/CacheControlEphemeral'
            - type: 'null'
          description: >-
            Crear un punto de interrupción de control de caché en este bloque de
            contenido.
          title: Control de caché
        content:
          anyOf:
            - type: string
            - items:
                discriminator:
                  mapping:
                    document:
                      $ref: '#/components/schemas/RequestDocumentBlock'
                    image:
                      $ref: '#/components/schemas/RequestImageBlock'
                    search_result:
                      $ref: '#/components/schemas/RequestSearchResultBlock'
                    text:
                      $ref: '#/components/schemas/RequestTextBlock'
                  propertyName: type
                oneOf:
                  - $ref: '#/components/schemas/RequestTextBlock'
                  - $ref: '#/components/schemas/RequestImageBlock'
                  - $ref: '#/components/schemas/RequestSearchResultBlock'
                  - $ref: '#/components/schemas/RequestDocumentBlock'
              type: array
          title: Contenido
        is_error:
          title: Es error
          type: boolean
        tool_use_id:
          pattern: ^[a-zA-Z0-9_-]+$
          title: ID de uso de herramienta
          type: string
        type:
          const: tool_result
          title: Tipo
          type: string
      required:
        - tool_use_id
        - type
      title: Resultado de la herramienta
      type: object
    RequestToolUseBlock:
      additionalProperties: false
      properties:
        cache_control:
          anyOf:
            - discriminator:
                mapping:
                  ephemeral:
                    $ref: '#/components/schemas/CacheControlEphemeral'
                propertyName: type
              oneOf:
                - $ref: '#/components/schemas/CacheControlEphemeral'
            - type: 'null'
          description: >-
            Crear un punto de interrupción de control de caché en este bloque de
            contenido.
          title: Control de caché
        id:
          pattern: ^[a-zA-Z0-9_-]+$
          title: Id
          type: string
        input:
          additionalProperties: true
          title: Input
          type: object
        name:
          maxLength: 200
          minLength: 1
          title: Name
          type: string
        type:
          const: tool_use
          title: Tipo
          type: string
      required:
        - id
        - input
        - name
        - type
      title: Uso de herramienta
      type: object
    RequestWebFetchToolResultBlock:
      additionalProperties: false
      properties:
        cache_control:
          anyOf:
            - discriminator:
                mapping:
                  ephemeral:
                    $ref: '#/components/schemas/CacheControlEphemeral'
                propertyName: type
              oneOf:
                - $ref: '#/components/schemas/CacheControlEphemeral'
            - type: 'null'
          description: >-
            Crear un punto de interrupción de control de caché en este bloque de
            contenido.
          title: Control de caché
        content:
          anyOf:
            - $ref: '#/components/schemas/RequestWebFetchToolResultError'
            - $ref: '#/components/schemas/RequestWebFetchResultBlock'
          title: Contenido
        tool_use_id:
          pattern: ^srvtoolu_[a-zA-Z0-9_]+$
          title: ID de uso de herramienta
          type: string
        type:
          const: web_fetch_tool_result
          title: Tipo
          type: string
      required:
        - content
        - tool_use_id
        - type
      title: RequestWebFetchToolResultBlock
      type: object
    RequestWebSearchToolResultBlock:
      additionalProperties: false
      properties:
        cache_control:
          anyOf:
            - discriminator:
                mapping:
                  ephemeral:
                    $ref: '#/components/schemas/CacheControlEphemeral'
                propertyName: type
              oneOf:
                - $ref: '#/components/schemas/CacheControlEphemeral'
            - type: 'null'
          description: >-
            Crear un punto de interrupción de control de caché en este bloque de
            contenido.
          title: Control de caché
        content:
          anyOf:
            - items:
                $ref: '#/components/schemas/RequestWebSearchResultBlock'
              type: array
            - $ref: '#/components/schemas/RequestWebSearchToolResultError'
          title: Contenido
        tool_use_id:
          pattern: ^srvtoolu_[a-zA-Z0-9_]+$
          title: ID de uso de herramienta
          type: string
        type:
          const: web_search_tool_result
          title: Tipo
          type: string
      required:
        - content
        - tool_use_id
        - type
      title: Resultado de herramienta de búsqueda web
      type: object
    SkillParams:
      additionalProperties: false
      description: >-
        Especificación para un skill a cargar en un contenedor (modelo de
        solicitud).
      properties:
        skill_id:
          description: Skill ID
          maxLength: 64
          minLength: 1
          title: Skill Id
          type: string
        type:
          description: >-
            Tipo de skill - ya sea 'anthropic' (integrado) o 'custom' (definido
            por el usuario)
          enum:
            - anthropic
            - custom
          title: Tipo
          type: string
        version:
          description: Versión del skill o 'latest' para la versión más reciente
          maxLength: 64
          minLength: 1
          title: Versión
          type: string
      required:
        - skill_id
        - type
      title: SkillParams
      type: object
    ClearThinking20251015:
      additionalProperties: false
      properties:
        keep:
          anyOf:
            - discriminator:
                mapping:
                  all:
                    $ref: '#/components/schemas/AllThinkingTurns'
                  thinking_turns:
                    $ref: '#/components/schemas/ThinkingTurns'
                propertyName: type
              oneOf:
                - $ref: '#/components/schemas/ThinkingTurns'
                - $ref: '#/components/schemas/AllThinkingTurns'
            - const: all
              type: string
          description: >-
            Número de turnos más recientes del asistente para los que mantener
            bloques de pensamiento. Los turnos más antiguos tendrán sus bloques
            de pensamiento eliminados.
          title: Keep
        type:
          const: clear_thinking_20251015
          title: Tipo
          type: string
      required:
        - type
      title: ClearThinking20251015
      type: object
    ClearToolUses20250919:
      additionalProperties: false
      properties:
        clear_at_least:
          anyOf:
            - $ref: '#/components/schemas/InputTokensClearAtLeast'
            - type: 'null'
          description: >-
            Número mínimo de tokens que deben eliminarse cuando se activa. El
            contexto solo se modificará si se pueden eliminar al menos esta
            cantidad de tokens.
        clear_tool_inputs:
          anyOf:
            - type: boolean
            - items:
                type: string
              type: array
            - type: 'null'
          description: >-
            Si limpiar todas las entradas de herramientas (bool) o entradas de
            herramientas específicas a limpiar (lista)
          title: Limpiar entradas de herramientas
        exclude_tools:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          description: Nombres de herramientas cuyos usos se preservan de la limpieza
          title: >-
            Estilos excluidos, especifica estilos musicales o características a
            evitar


            **Ejemplos:**

            - `heavy metal, screaming, sad`

            - `rap, fast tempo`
        keep:
          description: Número de usos de herramientas a retener en la conversación
          discriminator:
            mapping:
              tool_uses:
                $ref: '#/components/schemas/ToolUsesKeep'
            propertyName: type
          oneOf:
            - $ref: '#/components/schemas/ToolUsesKeep'
          title: Keep
        trigger:
          description: Condición que activa la estrategia de gestión de contexto
          discriminator:
            mapping:
              input_tokens:
                $ref: '#/components/schemas/InputTokensTrigger'
              tool_uses:
                $ref: '#/components/schemas/ToolUsesTrigger'
            propertyName: type
          oneOf:
            - $ref: '#/components/schemas/InputTokensTrigger'
            - $ref: '#/components/schemas/ToolUsesTrigger'
          title: Disparador
        type:
          const: clear_tool_uses_20250919
          title: Tipo
          type: string
      required:
        - type
      title: ClearToolUses20250919
      type: object
    RequestMCPServerToolConfiguration:
      additionalProperties: false
      properties:
        allowed_tools:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Herramientas permitidas
        enabled:
          anyOf:
            - type: boolean
            - type: 'null'
          title: >-
            Habilitar streaming SSE


            **Detalles**:

            - `true`: Devuelve resultados parciales del mensaje usando eventos
            enviados por el servidor

            - `false`: Devuelve el resultado completo de una vez (por defecto)
      title: RequestMCPServerToolConfiguration
      type: object
    JSONOutputFormat:
      additionalProperties: false
      properties:
        schema:
          description: Esquema JSON usado para definir la salida de Claude.
          type: object
        type:
          const: json_schema
          title: Type
          type: string
      required:
        - schema
        - type
      title: JSONOutputFormat
      type: object
    TokenTaskBudget:
      additionalProperties: false
      properties:
        remaining:
          description: Presupuesto de tokens restante.
          minimum: 0
          title: Remaining
          type: integer
        total:
          description: Presupuesto total de tokens a través de contextos.
          minimum: 20000
          title: Total
          type: integer
        type:
          const: tokens
          title: Type
          type: string
      required:
        - total
        - type
      title: TokenTaskBudget
      type: object
    CacheControlEphemeral:
      additionalProperties: false
      properties:
        type:
          const: ephemeral
          title: Tipo
          type: string
      required:
        - type
      title: CacheControlEphemeral
      type: object
    RequestCharLocationCitation:
      additionalProperties: false
      properties:
        cited_text:
          title: Texto citado
          type: string
        document_index:
          minimum: 0
          title: Índice del documento
          type: integer
        document_title:
          anyOf:
            - maxLength: 255
              minLength: 1
              type: string
            - type: 'null'
          title: Título del documento
        end_char_index:
          title: Habilitado
          type: integer
        start_char_index:
          minimum: 0
          title: Índice de carácter inicial
          type: integer
        type:
          const: char_location
          title: Tipo
          type: string
      required:
        - cited_text
        - document_index
        - document_title
        - end_char_index
        - start_char_index
        - type
      title: Ubicación del personaje
      type: object
    RequestContentBlockLocationCitation:
      additionalProperties: false
      properties:
        cited_text:
          title: Texto citado
          type: string
        document_index:
          minimum: 0
          title: Índice del documento
          type: integer
        document_title:
          anyOf:
            - maxLength: 255
              minLength: 1
              type: string
            - type: 'null'
          title: Título del documento
        end_block_index:
          title: >-
            Habilitar streaming SSE (eventos enviados por el servidor)


            **Detalles**:

            - `true`: Devuelve resultados parciales del mensaje usando eventos
            enviados por el servidor

            - `false`: Devuelve el resultado completo de una vez (por defecto)
          type: integer
        start_block_index:
          minimum: 0
          title: Índice de bloque inicial
          type: integer
        type:
          const: content_block_location
          title: Tipo
          type: string
      required:
        - cited_text
        - document_index
        - document_title
        - end_block_index
        - start_block_index
        - type
      title: Ubicación del bloque de contenido
      type: object
    RequestPageLocationCitation:
      additionalProperties: false
      properties:
        cited_text:
          title: Texto citado
          type: string
        document_index:
          minimum: 0
          title: Índice del documento
          type: integer
        document_title:
          anyOf:
            - maxLength: 255
              minLength: 1
              type: string
            - type: 'null'
          title: Título del documento
        end_page_number:
          title: Tipo de punto final
          type: integer
        start_page_number:
          minimum: 1
          title: Número de página inicial
          type: integer
        type:
          const: page_location
          title: Tipo
          type: string
      required:
        - cited_text
        - document_index
        - document_title
        - end_page_number
        - start_page_number
        - type
      title: Ubicación de la página
      type: object
    RequestSearchResultLocationCitation:
      additionalProperties: false
      properties:
        cited_text:
          title: Texto citado
          type: string
        end_block_index:
          title: >-
            Habilitar streaming SSE (eventos enviados por el servidor)


            **Detalles**:

            - `true`: Devuelve resultados parciales del mensaje usando eventos
            enviados por el servidor

            - `false`: Devuelve el resultado completo de una vez (por defecto)
          type: integer
        search_result_index:
          minimum: 0
          title: Índice del resultado de búsqueda
          type: integer
        source:
          title: Fuente
          type: string
        start_block_index:
          minimum: 0
          title: Índice de bloque inicial
          type: integer
        title:
          anyOf:
            - type: string
            - type: 'null'
          title: Título
        type:
          const: search_result_location
          title: Tipo
          type: string
      required:
        - cited_text
        - end_block_index
        - search_result_index
        - source
        - start_block_index
        - title
        - type
      title: RequestSearchResultLocationCitation
      type: object
    RequestWebSearchResultLocationCitation:
      additionalProperties: false
      properties:
        cited_text:
          title: Texto citado
          type: string
        encrypted_index:
          title: >-
            Habilitar streaming SSE


            - `true`: Devuelve resultados parciales del mensaje usando eventos
            enviados por el servidor

            - `false`: Devuelve el resultado completo de una vez (por defecto)
          type: string
        title:
          anyOf:
            - maxLength: 512
              minLength: 1
              type: string
            - type: 'null'
          title: Título
        type:
          const: web_search_result_location
          title: Tipo
          type: string
        url:
          maxLength: 2048
          minLength: 1
          title: Url
          type: string
      required:
        - cited_text
        - encrypted_index
        - title
        - type
        - url
      title: RequestWebSearchResultLocationCitation
      type: object
    InputSchema:
      additionalProperties: true
      properties:
        properties:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Properties
        required:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Required
        type:
          const: object
          title: Tipo
          type: string
      required:
        - type
      title: InputSchema
      type: object
    UserLocation:
      additionalProperties: false
      properties:
        city:
          anyOf:
            - maxLength: 255
              minLength: 1
              type: string
            - type: 'null'
          description: La ciudad del usuario.
          examples:
            - New York
            - Tokyo
            - Los Angeles
          title: Ciudad
        country:
          anyOf:
            - maxLength: 2
              minLength: 2
              type: string
            - type: 'null'
          description: >-
            El [código de país
            ISO](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) de dos letras
            del usuario.
          examples:
            - US
            - JP
            - GB
          title: País
        region:
          anyOf:
            - maxLength: 255
              minLength: 1
              type: string
            - type: 'null'
          description: La región del usuario.
          examples:
            - California
            - Ontario
            - Wales
          title: Region
        timezone:
          anyOf:
            - maxLength: 255
              minLength: 1
              type: string
            - type: 'null'
          description: La [zona horaria IANA](https://nodatime.org/TimeZones) del usuario.
          examples:
            - America/New_York
            - Asia/Tokyo
            - Europe/London
          title: Zona horaria
        type:
          const: approximate
          title: Tipo
          type: string
      required:
        - type
      title: UserLocation
      type: object
    RequestCitationsConfig:
      additionalProperties: false
      properties:
        enabled:
          title: >-
            Habilitar streaming SSE


            **Detalles**:

            - `true`: Devuelve resultados parciales del mensaje usando eventos
            enviados por el servidor

            - `false`: Devuelve el resultado completo de una vez (por defecto)
          type: boolean
      title: RequestCitationsConfig
      type: object
    ResponseCharLocationCitation:
      properties:
        cited_text:
          title: Texto citado
          type: string
        document_index:
          minimum: 0
          title: Índice del documento
          type: integer
        document_title:
          anyOf:
            - type: string
            - type: 'null'
          title: Título del documento
        end_char_index:
          title: Habilitado
          type: integer
        file_id:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          title: Tipo MIME del archivo
        start_char_index:
          minimum: 0
          title: Índice de carácter inicial
          type: integer
        type:
          const: char_location
          default: char_location
          title: Tipo
          type: string
      required:
        - cited_text
        - document_index
        - document_title
        - end_char_index
        - file_id
        - start_char_index
        - type
      title: Ubicación del personaje
      type: object
    ResponseContentBlockLocationCitation:
      properties:
        cited_text:
          title: Texto citado
          type: string
        document_index:
          minimum: 0
          title: Índice del documento
          type: integer
        document_title:
          anyOf:
            - type: string
            - type: 'null'
          title: Título del documento
        end_block_index:
          title: >-
            Habilitar streaming SSE (eventos enviados por el servidor)


            **Detalles**:

            - `true`: Devuelve resultados parciales del mensaje usando eventos
            enviados por el servidor

            - `false`: Devuelve el resultado completo de una vez (por defecto)
          type: integer
        file_id:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          title: Tipo MIME del archivo
        start_block_index:
          minimum: 0
          title: Índice de bloque inicial
          type: integer
        type:
          const: content_block_location
          default: content_block_location
          title: Tipo
          type: string
      required:
        - cited_text
        - document_index
        - document_title
        - end_block_index
        - file_id
        - start_block_index
        - type
      title: Ubicación del bloque de contenido
      type: object
    ResponsePageLocationCitation:
      properties:
        cited_text:
          title: Texto citado
          type: string
        document_index:
          minimum: 0
          title: Índice del documento
          type: integer
        document_title:
          anyOf:
            - type: string
            - type: 'null'
          title: Título del documento
        end_page_number:
          title: Tipo de punto final
          type: integer
        file_id:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          title: Tipo MIME del archivo
        start_page_number:
          minimum: 1
          title: Número de página inicial
          type: integer
        type:
          const: page_location
          default: page_location
          title: Tipo
          type: string
      required:
        - cited_text
        - document_index
        - document_title
        - end_page_number
        - file_id
        - start_page_number
        - type
      title: Ubicación de la página
      type: object
    ResponseSearchResultLocationCitation:
      properties:
        cited_text:
          title: Texto citado
          type: string
        end_block_index:
          title: >-
            Habilitar streaming SSE (eventos enviados por el servidor)


            **Detalles**:

            - `true`: Devuelve resultados parciales del mensaje usando eventos
            enviados por el servidor

            - `false`: Devuelve el resultado completo de una vez (por defecto)
          type: integer
        search_result_index:
          minimum: 0
          title: Índice del resultado de búsqueda
          type: integer
        source:
          title: Fuente
          type: string
        start_block_index:
          minimum: 0
          title: Índice de bloque inicial
          type: integer
        title:
          anyOf:
            - type: string
            - type: 'null'
          title: Título
        type:
          const: search_result_location
          default: search_result_location
          title: Tipo
          type: string
      required:
        - cited_text
        - end_block_index
        - search_result_index
        - source
        - start_block_index
        - title
        - type
      title: ResponseSearchResultLocationCitation
      type: object
    ResponseWebSearchResultLocationCitation:
      properties:
        cited_text:
          title: Texto citado
          type: string
        encrypted_index:
          title: >-
            Habilitar streaming SSE


            - `true`: Devuelve resultados parciales del mensaje usando eventos
            enviados por el servidor

            - `false`: Devuelve el resultado completo de una vez (por defecto)
          type: string
        title:
          anyOf:
            - maxLength: 512
              type: string
            - type: 'null'
          title: Título
        type:
          const: web_search_result_location
          default: web_search_result_location
          title: Tipo
          type: string
        url:
          title: Url
          type: string
      required:
        - cited_text
        - encrypted_index
        - title
        - type
        - url
      title: ResponseWebSearchResultLocationCitation
      type: object
    ResponseWebSearchToolResultError:
      properties:
        error_code:
          $ref: '#/components/schemas/WebSearchToolResultErrorCode'
        type:
          const: web_search_tool_result_error
          default: web_search_tool_result_error
          title: Tipo
          type: string
      required:
        - error_code
        - type
      title: ResponseWebSearchToolResultError
      type: object
    ResponseWebSearchResultBlock:
      properties:
        encrypted_content:
          title: >-
            Habilitar streaming SSE


            **Detalles**:

            - `true`: Devuelve resultados parciales del mensaje usando eventos
            enviados por el servidor

            - `false`: Devuelve el resultado completo de una vez (por defecto)
          type: string
        page_age:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          title: Page Age
        title:
          title: Título
          type: string
        type:
          const: web_search_result
          default: web_search_result
          title: Tipo
          type: string
        url:
          title: Url
          type: string
      required:
        - encrypted_content
        - page_age
        - title
        - type
        - url
      title: ResponseWebSearchResultBlock
      type: object
    ResponseWebFetchToolResultError:
      properties:
        error_code:
          $ref: '#/components/schemas/WebFetchToolResultErrorCode'
        type:
          const: web_fetch_tool_result_error
          default: web_fetch_tool_result_error
          title: Tipo
          type: string
      required:
        - error_code
        - type
      title: ResponseWebFetchToolResultError
      type: object
    ResponseWebFetchResultBlock:
      properties:
        content:
          $ref: '#/components/schemas/ResponseDocumentBlock'
        retrieved_at:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: Marca de tiempo ISO 8601 de cuando se recuperó el contenido
          title: Retrieved At
        type:
          const: web_fetch_result
          default: web_fetch_result
          title: Tipo
          type: string
        url:
          description: ID del archivo
          title: Url
          type: string
      required:
        - content
        - retrieved_at
        - type
        - url
      title: ResponseWebFetchResultBlock
      type: object
    ResponseCodeExecutionToolResultError:
      properties:
        error_code:
          $ref: '#/components/schemas/CodeExecutionToolResultErrorCode'
        type:
          const: code_execution_tool_result_error
          default: code_execution_tool_result_error
          title: Tipo
          type: string
      required:
        - error_code
        - type
      title: Error de herramienta de ejecución de código
      type: object
    ResponseCodeExecutionResultBlock:
      properties:
        content:
          items:
            $ref: '#/components/schemas/ResponseCodeExecutionOutputBlock'
          title: Contenido
          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: Tipo
          type: string
      required:
        - content
        - return_code
        - stderr
        - stdout
        - type
      title: Resultado de ejecución de código
      type: object
    ResponseBashCodeExecutionToolResultError:
      properties:
        error_code:
          $ref: '#/components/schemas/BashCodeExecutionToolResultErrorCode'
        type:
          const: bash_code_execution_tool_result_error
          default: bash_code_execution_tool_result_error
          title: Tipo
          type: string
      required:
        - error_code
        - type
      title: ResponseBashCodeExecutionToolResultError
      type: object
    ResponseBashCodeExecutionResultBlock:
      properties:
        content:
          items:
            $ref: '#/components/schemas/ResponseBashCodeExecutionOutputBlock'
          title: Contenido
          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: Tipo
          type: string
      required:
        - content
        - return_code
        - stderr
        - stdout
        - type
      title: ResponseBashCodeExecutionResultBlock
      type: object
    ResponseTextEditorCodeExecutionToolResultError:
      properties:
        error_code:
          $ref: '#/components/schemas/TextEditorCodeExecutionToolResultErrorCode'
        error_message:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          title: Código de error
        type:
          const: text_editor_code_execution_tool_result_error
          default: text_editor_code_execution_tool_result_error
          title: Tipo
          type: string
      required:
        - error_code
        - error_message
        - type
      title: ResponseTextEditorCodeExecutionToolResultError
      type: object
    ResponseTextEditorCodeExecutionViewResultBlock:
      properties:
        content:
          title: Contenido
          type: string
        file_type:
          enum:
            - text
            - image
            - pdf
          title: >-
            Dirección URI del archivo


            **Requisitos**:

            - Debe ser una URL de acceso público

            - La URL debe terminar con extensión de archivo (por ejemplo, .mp3,
            .jpg) y debe coincidir con el parámetro mimeType
          type: string
        num_lines:
          anyOf:
            - type: integer
            - type: 'null'
          default: null
          title: Num Lines
        start_line:
          anyOf:
            - type: integer
            - type: 'null'
          default: null
          title: Línea inicial
        total_lines:
          anyOf:
            - type: integer
            - type: 'null'
          default: null
          title: Total de líneas
        type:
          const: text_editor_code_execution_view_result
          default: text_editor_code_execution_view_result
          title: Tipo
          type: string
      required:
        - content
        - file_type
        - num_lines
        - start_line
        - total_lines
        - type
      title: ResponseTextEditorCodeExecutionViewResultBlock
      type: object
    ResponseTextEditorCodeExecutionCreateResultBlock:
      properties:
        is_file_update:
          title: Es actualización de archivo
          type: boolean
        type:
          const: text_editor_code_execution_create_result
          default: text_editor_code_execution_create_result
          title: Tipo
          type: string
      required:
        - is_file_update
        - type
      title: ResponseTextEditorCodeExecutionCreateResultBlock
      type: object
    ResponseTextEditorCodeExecutionStrReplaceResultBlock:
      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: Tipo
          type: string
      required:
        - lines
        - new_lines
        - new_start
        - old_lines
        - old_start
        - type
      title: ResponseTextEditorCodeExecutionStrReplaceResultBlock
      type: object
    CacheCreation:
      properties:
        ephemeral_1h_input_tokens:
          default: 0
          description: >-
            El número de tokens de entrada utilizados para crear la entrada de
            caché de 1 hora.
          minimum: 0
          title: Entorno
          type: integer
        ephemeral_5m_input_tokens:
          default: 0
          description: >-
            El número de tokens de entrada utilizados para crear la entrada de
            caché de 5 minutos.
          minimum: 0
          title: Error
          type: integer
      required:
        - ephemeral_1h_input_tokens
        - ephemeral_5m_input_tokens
      title: CacheCreation
      type: object
    ServerToolUsage:
      properties:
        web_fetch_requests:
          default: 0
          description: El número de solicitudes de herramientas de obtención web.
          examples:
            - 2
          minimum: 0
          title: Solicitudes de obtención web
          type: integer
        web_search_requests:
          default: 0
          description: El número de solicitudes de herramientas de búsqueda web.
          examples:
            - 0
          minimum: 0
          title: Solicitudes de búsqueda web
          type: integer
      required:
        - web_fetch_requests
        - web_search_requests
      title: ServerToolUsage
      type: object
    ResponseClearThinking20251015Edit:
      properties:
        cleared_input_tokens:
          description: Número de tokens de entrada eliminados por esta edición.
          minimum: 0
          title: Tokens de entrada limpiados
          type: integer
        cleared_thinking_turns:
          description: Número de turnos de pensamiento que fueron eliminados.
          minimum: 0
          title: Turnos de pensamiento limpiados
          type: integer
        type:
          const: clear_thinking_20251015
          default: clear_thinking_20251015
          description: El tipo de edición de gestión de contexto aplicada.
          title: Tipo
          type: string
      required:
        - cleared_input_tokens
        - cleared_thinking_turns
        - type
      title: ResponseClearThinking20251015Edit
      type: object
    ResponseClearToolUses20250919Edit:
      properties:
        cleared_input_tokens:
          description: Número de tokens de entrada eliminados por esta edición.
          minimum: 0
          title: Tokens de entrada limpiados
          type: integer
        cleared_tool_uses:
          description: Número de usos de herramientas que fueron eliminados.
          minimum: 0
          title: Usos de herramientas limpiados
          type: integer
        type:
          const: clear_tool_uses_20250919
          default: clear_tool_uses_20250919
          description: El tipo de edición de gestión de contexto aplicada.
          title: Tipo
          type: string
      required:
        - cleared_input_tokens
        - cleared_tool_uses
        - type
      title: ResponseClearToolUses20250919Edit
      type: object
    Skill:
      description: Una habilidad que fue cargada en un contenedor (modelo de respuesta).
      properties:
        skill_id:
          description: Skill ID
          maxLength: 64
          minLength: 1
          title: Skill Id
          type: string
        type:
          description: >-
            Tipo de skill - ya sea 'anthropic' (integrado) o 'custom' (definido
            por el usuario)
          enum:
            - anthropic
            - custom
          title: Tipo
          type: string
        version:
          description: Versión del skill o 'latest' para la versión más reciente
          maxLength: 64
          minLength: 1
          title: Versión
          type: string
      required:
        - skill_id
        - type
        - version
      title: Skill
      type: object
    RequestBashCodeExecutionToolResultError:
      additionalProperties: false
      properties:
        error_code:
          $ref: '#/components/schemas/BashCodeExecutionToolResultErrorCode'
        type:
          const: bash_code_execution_tool_result_error
          title: Tipo
          type: string
      required:
        - error_code
        - type
      title: RequestBashCodeExecutionToolResultError
      type: object
    RequestBashCodeExecutionResultBlock:
      additionalProperties: false
      properties:
        content:
          items:
            $ref: '#/components/schemas/RequestBashCodeExecutionOutputBlock'
          title: Contenido
          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
          title: Tipo
          type: string
      required:
        - content
        - return_code
        - stderr
        - stdout
        - type
      title: RequestBashCodeExecutionResultBlock
      type: object
    RequestCodeExecutionToolResultError:
      additionalProperties: false
      properties:
        error_code:
          $ref: '#/components/schemas/CodeExecutionToolResultErrorCode'
        type:
          const: code_execution_tool_result_error
          title: Tipo
          type: string
      required:
        - error_code
        - type
      title: Error de herramienta de ejecución de código
      type: object
    RequestCodeExecutionResultBlock:
      additionalProperties: false
      properties:
        content:
          items:
            $ref: '#/components/schemas/RequestCodeExecutionOutputBlock'
          title: Contenido
          type: array
        return_code:
          title: Return Code
          type: integer
        stderr:
          title: Stderr
          type: string
        stdout:
          title: Stdout
          type: string
        type:
          const: code_execution_result
          title: Tipo
          type: string
      required:
        - content
        - return_code
        - stderr
        - stdout
        - type
      title: Resultado de ejecución de código
      type: object
    Base64PDFSource:
      additionalProperties: false
      properties:
        data:
          format: byte
          title: Datos
          type: string
        media_type:
          const: application/pdf
          title: Media Type
          type: string
        type:
          const: base64
          title: Tipo
          type: string
      required:
        - data
        - media_type
        - type
      title: PDF (base64)
      type: object
    ContentBlockSource:
      additionalProperties: false
      properties:
        content:
          anyOf:
            - type: string
            - items:
                discriminator:
                  mapping:
                    image:
                      $ref: '#/components/schemas/RequestImageBlock'
                    text:
                      $ref: '#/components/schemas/RequestTextBlock'
                  propertyName: type
                oneOf:
                  - $ref: '#/components/schemas/RequestTextBlock'
                  - $ref: '#/components/schemas/RequestImageBlock'
              type: array
          title: Contenido
        type:
          const: content
          title: Tipo
          type: string
      required:
        - content
        - type
      title: Bloque de contenido
      type: object
    FileDocumentSource:
      additionalProperties: false
      properties:
        file_id:
          title: Tipo MIME del archivo
          type: string
        type:
          const: file
          title: Tipo
          type: string
      required:
        - file_id
        - type
      title: URL de descarga del archivo
      type: object
    PlainTextSource:
      additionalProperties: false
      properties:
        data:
          title: Datos
          type: string
        media_type:
          const: text/plain
          title: Media Type
          type: string
        type:
          const: text
          title: Tipo
          type: string
      required:
        - data
        - media_type
        - type
      title: Texto plano
      type: object
    Base64ImageSource:
      additionalProperties: false
      properties:
        data:
          format: byte
          title: Datos
          type: string
        media_type:
          enum:
            - image/jpeg
            - image/png
            - image/gif
            - image/webp
          title: Media Type
          type: string
        type:
          const: base64
          title: Tipo
          type: string
      required:
        - data
        - media_type
        - type
      title: Base64ImageSource
      type: object
    FileImageSource:
      additionalProperties: false
      properties:
        file_id:
          title: Tipo MIME del archivo
          type: string
        type:
          const: file
          title: Tipo
          type: string
      required:
        - file_id
        - type
      title: Razón de finalización
      type: object
    RequestTextEditorCodeExecutionToolResultError:
      additionalProperties: false
      properties:
        error_code:
          $ref: '#/components/schemas/TextEditorCodeExecutionToolResultErrorCode'
        error_message:
          anyOf:
            - type: string
            - type: 'null'
          title: Código de error
        type:
          const: text_editor_code_execution_tool_result_error
          title: Tipo
          type: string
      required:
        - error_code
        - type
      title: RequestTextEditorCodeExecutionToolResultError
      type: object
    RequestTextEditorCodeExecutionViewResultBlock:
      additionalProperties: false
      properties:
        content:
          title: Contenido
          type: string
        file_type:
          enum:
            - text
            - image
            - pdf
          title: >-
            Dirección URI del archivo


            **Requisitos**:

            - Debe ser una URL de acceso público

            - La URL debe terminar con extensión de archivo (por ejemplo, .mp3,
            .jpg) y debe coincidir con el parámetro mimeType
          type: string
        num_lines:
          anyOf:
            - type: integer
            - type: 'null'
          title: Num Lines
        start_line:
          anyOf:
            - type: integer
            - type: 'null'
          title: Línea inicial
        total_lines:
          anyOf:
            - type: integer
            - type: 'null'
          title: Total de líneas
        type:
          const: text_editor_code_execution_view_result
          title: Tipo
          type: string
      required:
        - content
        - file_type
        - type
      title: RequestTextEditorCodeExecutionViewResultBlock
      type: object
    RequestTextEditorCodeExecutionCreateResultBlock:
      additionalProperties: false
      properties:
        is_file_update:
          title: Es actualización de archivo
          type: boolean
        type:
          const: text_editor_code_execution_create_result
          title: Tipo
          type: string
      required:
        - is_file_update
        - type
      title: RequestTextEditorCodeExecutionCreateResultBlock
      type: object
    RequestTextEditorCodeExecutionStrReplaceResultBlock:
      additionalProperties: false
      properties:
        lines:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Lines
        new_lines:
          anyOf:
            - type: integer
            - type: 'null'
          title: New Lines
        new_start:
          anyOf:
            - type: integer
            - type: 'null'
          title: New Start
        old_lines:
          anyOf:
            - type: integer
            - type: 'null'
          title: Old Lines
        old_start:
          anyOf:
            - type: integer
            - type: 'null'
          title: Old Start
        type:
          const: text_editor_code_execution_str_replace_result
          title: Tipo
          type: string
      required:
        - type
      title: RequestTextEditorCodeExecutionStrReplaceResultBlock
      type: object
    RequestWebFetchToolResultError:
      additionalProperties: false
      properties:
        error_code:
          $ref: '#/components/schemas/WebFetchToolResultErrorCode'
        type:
          const: web_fetch_tool_result_error
          title: Tipo
          type: string
      required:
        - error_code
        - type
      title: RequestWebFetchToolResultError
      type: object
    RequestWebFetchResultBlock:
      additionalProperties: false
      properties:
        content:
          $ref: '#/components/schemas/RequestDocumentBlock'
        retrieved_at:
          anyOf:
            - type: string
            - type: 'null'
          description: Marca de tiempo ISO 8601 de cuando se recuperó el contenido
          title: Retrieved At
        type:
          const: web_fetch_result
          title: Tipo
          type: string
        url:
          description: ID del archivo
          title: Url
          type: string
      required:
        - content
        - type
        - url
      title: RequestWebFetchResultBlock
      type: object
    RequestWebSearchResultBlock:
      additionalProperties: false
      properties:
        encrypted_content:
          title: >-
            Habilitar streaming SSE


            **Detalles**:

            - `true`: Devuelve resultados parciales del mensaje usando eventos
            enviados por el servidor

            - `false`: Devuelve el resultado completo de una vez (por defecto)
          type: string
        page_age:
          anyOf:
            - type: string
            - type: 'null'
          title: Page Age
        title:
          title: Título
          type: string
        type:
          const: web_search_result
          title: Tipo
          type: string
        url:
          title: Url
          type: string
      required:
        - encrypted_content
        - title
        - type
        - url
      title: RequestWebSearchResultBlock
      type: object
    RequestWebSearchToolResultError:
      additionalProperties: false
      properties:
        error_code:
          $ref: '#/components/schemas/WebSearchToolResultErrorCode'
        type:
          const: web_search_tool_result_error
          title: Tipo
          type: string
      required:
        - error_code
        - type
      title: RequestWebSearchToolResultError
      type: object
    AllThinkingTurns:
      additionalProperties: false
      properties:
        type:
          const: all
          title: Tipo
          type: string
      required:
        - type
      title: AllThinkingTurns
      type: object
    ThinkingTurns:
      additionalProperties: false
      properties:
        type:
          const: thinking_turns
          title: Tipo
          type: string
        value:
          minimum: 1
          title: Valor
          type: integer
      required:
        - type
        - value
      title: ThinkingTurns
      type: object
    InputTokensClearAtLeast:
      additionalProperties: false
      properties:
        type:
          const: input_tokens
          title: Tipo
          type: string
        value:
          minimum: 0
          title: Valor
          type: integer
      required:
        - type
        - value
      title: InputTokensClearAtLeast
      type: object
    ToolUsesKeep:
      additionalProperties: false
      properties:
        type:
          const: tool_uses
          title: Tipo
          type: string
        value:
          minimum: 0
          title: Valor
          type: integer
      required:
        - type
        - value
      title: ToolUsesKeep
      type: object
    InputTokensTrigger:
      additionalProperties: false
      properties:
        type:
          const: input_tokens
          title: Tipo
          type: string
        value:
          minimum: 1
          title: Valor
          type: integer
      required:
        - type
        - value
      title: InputTokensTrigger
      type: object
    ToolUsesTrigger:
      additionalProperties: false
      properties:
        type:
          const: tool_uses
          title: Tipo
          type: string
        value:
          minimum: 1
          title: Valor
          type: integer
      required:
        - type
        - value
      title: ToolUsesTrigger
      type: object
    WebSearchToolResultErrorCode:
      enum:
        - invalid_tool_input
        - unavailable
        - max_uses_exceeded
        - too_many_requests
        - query_too_long
      title: WebSearchToolResultErrorCode
      type: string
    WebFetchToolResultErrorCode:
      enum:
        - invalid_tool_input
        - url_too_long
        - url_not_allowed
        - url_not_accessible
        - unsupported_content_type
        - too_many_requests
        - max_uses_exceeded
        - unavailable
      title: WebFetchToolResultErrorCode
      type: string
    ResponseDocumentBlock:
      properties:
        citations:
          anyOf:
            - $ref: '#/components/schemas/ResponseCitationsConfig'
            - type: 'null'
          default: null
          description: Configuración de citas para el documento
        source:
          discriminator:
            mapping:
              base64:
                $ref: '#/components/schemas/Base64PDFSource'
              text:
                $ref: '#/components/schemas/PlainTextSource'
            propertyName: type
          oneOf:
            - $ref: '#/components/schemas/Base64PDFSource'
            - $ref: '#/components/schemas/PlainTextSource'
          title: Fuente
        title:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          description: El título del documento
          title: Título
        type:
          const: document
          default: document
          title: Tipo
          type: string
      required:
        - citations
        - source
        - title
        - type
      title: ResponseDocumentBlock
      type: object
    CodeExecutionToolResultErrorCode:
      enum:
        - invalid_tool_input
        - unavailable
        - too_many_requests
        - execution_time_exceeded
      title: CodeExecutionToolResultErrorCode
      type: string
    ResponseCodeExecutionOutputBlock:
      properties:
        file_id:
          title: Tipo MIME del archivo
          type: string
        type:
          const: code_execution_output
          default: code_execution_output
          title: Tipo
          type: string
      required:
        - file_id
        - type
      title: ResponseCodeExecutionOutputBlock
      type: object
    BashCodeExecutionToolResultErrorCode:
      enum:
        - invalid_tool_input
        - unavailable
        - too_many_requests
        - execution_time_exceeded
        - output_file_too_large
      title: BashCodeExecutionToolResultErrorCode
      type: string
    ResponseBashCodeExecutionOutputBlock:
      properties:
        file_id:
          title: Tipo MIME del archivo
          type: string
        type:
          const: bash_code_execution_output
          default: bash_code_execution_output
          title: Tipo
          type: string
      required:
        - file_id
        - type
      title: ResponseBashCodeExecutionOutputBlock
      type: object
    TextEditorCodeExecutionToolResultErrorCode:
      enum:
        - invalid_tool_input
        - unavailable
        - too_many_requests
        - execution_time_exceeded
        - file_not_found
      title: TextEditorCodeExecutionToolResultErrorCode
      type: string
    RequestBashCodeExecutionOutputBlock:
      additionalProperties: false
      properties:
        file_id:
          title: Tipo MIME del archivo
          type: string
        type:
          const: bash_code_execution_output
          title: Tipo
          type: string
      required:
        - file_id
        - type
      title: RequestBashCodeExecutionOutputBlock
      type: object
    RequestCodeExecutionOutputBlock:
      additionalProperties: false
      properties:
        file_id:
          title: Tipo MIME del archivo
          type: string
        type:
          const: code_execution_output
          title: Tipo
          type: string
      required:
        - file_id
        - type
      title: RequestCodeExecutionOutputBlock
      type: object
    ResponseCitationsConfig:
      properties:
        enabled:
          default: false
          title: >-
            Habilitar streaming SSE


            **Detalles**:

            - `true`: Devuelve resultados parciales del mensaje usando eventos
            enviados por el servidor

            - `false`: Devuelve el resultado completo de una vez (por defecto)
          type: boolean
      required:
        - enabled
      title: ResponseCitationsConfig
      type: object
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        ##Todas las APIs requieren autenticación Bearer Token##


        **Obtener API Key:**


        Visita la [Página de gestión de API
        Key](https://evolink.ai/dashboard/keys) para obtener tu API Key


        **Agregar al encabezado de la solicitud:**

        ```

        Authorization: Bearer YOUR_API_KEY

        ```

````