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

# Chat

> Send a message and get only the assistant's response messages from the current turn



## OpenAPI

````yaml post /v1/conversations/{conversation_id}/chat
openapi: 3.1.0
info:
  title: Noxus Backend
  description: >-
    Backend API for the Noxus Platform. More information can be found at
    https://docs.noxus.ai
  version: 1.1.0
servers: []
security: []
paths:
  /v1/conversations/{conversation_id}/chat:
    post:
      tags:
        - V1 - Conversations
      summary: Chat
      operationId: chat
      parameters:
        - name: conversation_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            title: Conversation Id
        - name: assistant_id
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: uuid
              - type: 'null'
            title: Assistant Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddMessageRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChatMessage'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - APIKeyHeader: []
components:
  schemas:
    AddMessageRequest:
      properties:
        content:
          anyOf:
            - type: string
            - type: 'null'
          title: Content
        tool:
          anyOf:
            - type: string
              enum:
                - web_research
                - kb_qa
            - type: string
            - type: 'null'
          title: Tool
        kb_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Kb Id
        files:
          anyOf:
            - items:
                $ref: '#/components/schemas/ConversationFile'
              type: array
            - type: 'null'
          title: Files
        model_selection:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Model Selection
      type: object
      required:
        - content
      title: AddMessageRequest
    ChatMessage:
      properties:
        id:
          type: string
          format: uuid
          title: Id
        parts:
          items:
            oneOf:
              - $ref: '#/components/schemas/ModelRequest'
              - $ref: '#/components/schemas/ModelResponse'
            discriminator:
              propertyName: kind
              mapping:
                request:
                  $ref: '#/components/schemas/ModelRequest'
                response:
                  $ref: '#/components/schemas/ModelResponse'
          type: array
          title: Parts
      type: object
      required:
        - id
        - parts
      title: ChatMessage
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ConversationFile:
      properties:
        id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Id
        name:
          type: string
          title: Name
        size:
          anyOf:
            - type: integer
            - type: 'null'
          title: Size
        type:
          anyOf:
            - type: string
            - type: 'null'
          title: Type
        status:
          type: string
          enum:
            - pending
            - success
            - error
          title: Status
        url:
          anyOf:
            - type: string
            - type: 'null'
          title: Url
        b64_content:
          anyOf:
            - type: string
            - type: 'null'
          title: B64 Content
      type: object
      required:
        - id
        - name
        - size
        - type
        - status
        - url
      title: ConversationFile
    ModelRequest:
      properties:
        parts:
          items:
            oneOf:
              - $ref: '#/components/schemas/SystemPromptPart'
              - $ref: '#/components/schemas/UserPromptPart'
              - $ref: '#/components/schemas/ToolReturnPart'
              - $ref: '#/components/schemas/RetryPromptPart'
            discriminator:
              propertyName: part_kind
              mapping:
                retry-prompt:
                  $ref: '#/components/schemas/RetryPromptPart'
                system-prompt:
                  $ref: '#/components/schemas/SystemPromptPart'
                tool-return:
                  $ref: '#/components/schemas/ToolReturnPart'
                user-prompt:
                  $ref: '#/components/schemas/UserPromptPart'
          type: array
          title: Parts
        timestamp:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Timestamp
        instructions:
          anyOf:
            - type: string
            - type: 'null'
          title: Instructions
        kind:
          type: string
          const: request
          title: Kind
          default: request
        run_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Run Id
        metadata:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Metadata
      type: object
      required:
        - parts
      title: ModelRequest
    ModelResponse:
      properties:
        parts:
          items:
            oneOf:
              - $ref: '#/components/schemas/TextPart'
              - $ref: '#/components/schemas/ToolCallPart'
              - $ref: '#/components/schemas/BuiltinToolCallPart'
              - $ref: '#/components/schemas/BuiltinToolReturnPart'
              - $ref: '#/components/schemas/ThinkingPart'
              - $ref: '#/components/schemas/FilePart'
            discriminator:
              propertyName: part_kind
              mapping:
                builtin-tool-call:
                  $ref: '#/components/schemas/BuiltinToolCallPart'
                builtin-tool-return:
                  $ref: '#/components/schemas/BuiltinToolReturnPart'
                file:
                  $ref: '#/components/schemas/FilePart'
                text:
                  $ref: '#/components/schemas/TextPart'
                thinking:
                  $ref: '#/components/schemas/ThinkingPart'
                tool-call:
                  $ref: '#/components/schemas/ToolCallPart'
          type: array
          title: Parts
        usage:
          $ref: '#/components/schemas/RequestUsage'
        model_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Model Name
        timestamp:
          type: string
          format: date-time
          title: Timestamp
        kind:
          type: string
          const: response
          title: Kind
          default: response
        provider_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Provider Name
        provider_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Provider Url
        provider_details:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Provider Details
        provider_response_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Provider Response Id
        finish_reason:
          anyOf:
            - type: string
              enum:
                - stop
                - length
                - content_filter
                - tool_call
                - error
            - type: 'null'
          title: Finish Reason
        run_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Run Id
        metadata:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Metadata
      type: object
      required:
        - parts
      title: ModelResponse
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    SystemPromptPart:
      properties:
        content:
          type: string
          title: Content
        timestamp:
          type: string
          format: date-time
          title: Timestamp
        dynamic_ref:
          anyOf:
            - type: string
            - type: 'null'
          title: Dynamic Ref
        part_kind:
          type: string
          const: system-prompt
          title: Part Kind
          default: system-prompt
      type: object
      required:
        - content
      title: SystemPromptPart
    UserPromptPart:
      properties:
        content:
          anyOf:
            - type: string
            - items:
                anyOf:
                  - type: string
                  - oneOf:
                      - $ref: '#/components/schemas/ImageUrl'
                      - $ref: '#/components/schemas/AudioUrl'
                      - $ref: '#/components/schemas/DocumentUrl'
                      - $ref: '#/components/schemas/VideoUrl'
                      - $ref: '#/components/schemas/BinaryContent'
                      - $ref: '#/components/schemas/UploadedFile'
                    discriminator:
                      propertyName: kind
                      mapping:
                        audio-url:
                          $ref: '#/components/schemas/AudioUrl'
                        binary:
                          $ref: '#/components/schemas/BinaryContent'
                        document-url:
                          $ref: '#/components/schemas/DocumentUrl'
                        image-url:
                          $ref: '#/components/schemas/ImageUrl'
                        uploaded-file:
                          $ref: '#/components/schemas/UploadedFile'
                        video-url:
                          $ref: '#/components/schemas/VideoUrl'
                  - $ref: '#/components/schemas/CachePoint'
              type: array
          title: Content
        timestamp:
          type: string
          format: date-time
          title: Timestamp
        part_kind:
          type: string
          const: user-prompt
          title: Part Kind
          default: user-prompt
      type: object
      required:
        - content
      title: UserPromptPart
    ToolReturnPart:
      properties:
        tool_name:
          type: string
          title: Tool Name
        content:
          $ref: '#/components/schemas/ToolReturnContent'
        tool_call_id:
          type: string
          title: Tool Call Id
        metadata:
          title: Metadata
        timestamp:
          type: string
          format: date-time
          title: Timestamp
        outcome:
          type: string
          enum:
            - success
            - failed
            - denied
          title: Outcome
          default: success
        part_kind:
          type: string
          const: tool-return
          title: Part Kind
          default: tool-return
      type: object
      required:
        - tool_name
        - content
      title: ToolReturnPart
    RetryPromptPart:
      properties:
        content:
          anyOf:
            - items:
                $ref: '#/components/schemas/ErrorDetails'
              type: array
            - type: string
          title: Content
        tool_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Tool Name
        tool_call_id:
          type: string
          title: Tool Call Id
        timestamp:
          type: string
          format: date-time
          title: Timestamp
        part_kind:
          type: string
          const: retry-prompt
          title: Part Kind
          default: retry-prompt
      type: object
      required:
        - content
      title: RetryPromptPart
    TextPart:
      properties:
        content:
          type: string
          title: Content
        id:
          anyOf:
            - type: string
            - type: 'null'
          title: Id
        provider_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Provider Name
        provider_details:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Provider Details
        part_kind:
          type: string
          const: text
          title: Part Kind
          default: text
      type: object
      required:
        - content
      title: TextPart
    ToolCallPart:
      properties:
        tool_name:
          type: string
          title: Tool Name
        args:
          anyOf:
            - type: string
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Args
        tool_call_id:
          type: string
          title: Tool Call Id
        id:
          anyOf:
            - type: string
            - type: 'null'
          title: Id
        provider_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Provider Name
        provider_details:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Provider Details
        part_kind:
          type: string
          const: tool-call
          title: Part Kind
          default: tool-call
      type: object
      required:
        - tool_name
      title: ToolCallPart
    BuiltinToolCallPart:
      properties:
        tool_name:
          type: string
          title: Tool Name
        args:
          anyOf:
            - type: string
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Args
        tool_call_id:
          type: string
          title: Tool Call Id
        id:
          anyOf:
            - type: string
            - type: 'null'
          title: Id
        provider_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Provider Name
        provider_details:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Provider Details
        part_kind:
          type: string
          const: builtin-tool-call
          title: Part Kind
          default: builtin-tool-call
      type: object
      required:
        - tool_name
      title: BuiltinToolCallPart
    BuiltinToolReturnPart:
      properties:
        tool_name:
          type: string
          title: Tool Name
        content:
          $ref: '#/components/schemas/ToolReturnContent'
        tool_call_id:
          type: string
          title: Tool Call Id
        metadata:
          title: Metadata
        timestamp:
          type: string
          format: date-time
          title: Timestamp
        outcome:
          type: string
          enum:
            - success
            - failed
            - denied
          title: Outcome
          default: success
        provider_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Provider Name
        provider_details:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Provider Details
        part_kind:
          type: string
          const: builtin-tool-return
          title: Part Kind
          default: builtin-tool-return
      type: object
      required:
        - tool_name
        - content
      title: BuiltinToolReturnPart
    ThinkingPart:
      properties:
        content:
          type: string
          title: Content
        id:
          anyOf:
            - type: string
            - type: 'null'
          title: Id
        signature:
          anyOf:
            - type: string
            - type: 'null'
          title: Signature
        provider_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Provider Name
        provider_details:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Provider Details
        part_kind:
          type: string
          const: thinking
          title: Part Kind
          default: thinking
      type: object
      required:
        - content
      title: ThinkingPart
    FilePart:
      properties:
        content:
          $ref: '#/components/schemas/BinaryContent'
        id:
          anyOf:
            - type: string
            - type: 'null'
          title: Id
        provider_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Provider Name
        provider_details:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Provider Details
        part_kind:
          type: string
          const: file
          title: Part Kind
          default: file
      type: object
      required:
        - content
      title: FilePart
    RequestUsage:
      properties:
        input_tokens:
          type: integer
          title: Input Tokens
          default: 0
        cache_write_tokens:
          type: integer
          title: Cache Write Tokens
          default: 0
        cache_read_tokens:
          type: integer
          title: Cache Read Tokens
          default: 0
        output_tokens:
          type: integer
          title: Output Tokens
          default: 0
        input_audio_tokens:
          type: integer
          title: Input Audio Tokens
          default: 0
        cache_audio_read_tokens:
          type: integer
          title: Cache Audio Read Tokens
          default: 0
        output_audio_tokens:
          type: integer
          title: Output Audio Tokens
          default: 0
        details:
          additionalProperties:
            type: integer
          type: object
          title: Details
      type: object
      title: RequestUsage
    ImageUrl:
      properties:
        url:
          type: string
          title: Url
        force_download:
          anyOf:
            - type: boolean
            - type: string
              const: allow-local
          title: Force Download
          default: false
        vendor_metadata:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Vendor Metadata
        kind:
          type: string
          const: image-url
          title: Kind
          default: image-url
        media_type:
          type: string
          title: Media Type
          description: >-
            Return the media type of the file, based on the URL or the provided
            `media_type`.
          readOnly: true
        identifier:
          type: string
          title: Identifier
          description: >-
            The identifier of the file, such as a unique ID.


            This identifier can be provided to the model in a message to allow
            it to refer to this file in a tool call argument,

            and the tool can look up the file in question by iterating over the
            message history and finding the matching `FileUrl`.


            This identifier is only automatically passed to the model when the
            `FileUrl` is returned by a tool.

            If you're passing the `FileUrl` as a user message, it's up to you to
            include a separate text part with the identifier,

            e.g. "This is file <identifier>:" preceding the `FileUrl`.


            It's also included in inline-text delimiters for providers that
            require inlining text documents, so the model can

            distinguish multiple files.
          readOnly: true
      type: object
      required:
        - url
        - media_type
        - identifier
      title: ImageUrl
      description: A URL to an image.
    AudioUrl:
      properties:
        url:
          type: string
          title: Url
        force_download:
          anyOf:
            - type: boolean
            - type: string
              const: allow-local
          title: Force Download
          default: false
        vendor_metadata:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Vendor Metadata
        kind:
          type: string
          const: audio-url
          title: Kind
          default: audio-url
        media_type:
          type: string
          title: Media Type
          description: >-
            Return the media type of the file, based on the URL or the provided
            `media_type`.
          readOnly: true
        identifier:
          type: string
          title: Identifier
          description: >-
            The identifier of the file, such as a unique ID.


            This identifier can be provided to the model in a message to allow
            it to refer to this file in a tool call argument,

            and the tool can look up the file in question by iterating over the
            message history and finding the matching `FileUrl`.


            This identifier is only automatically passed to the model when the
            `FileUrl` is returned by a tool.

            If you're passing the `FileUrl` as a user message, it's up to you to
            include a separate text part with the identifier,

            e.g. "This is file <identifier>:" preceding the `FileUrl`.


            It's also included in inline-text delimiters for providers that
            require inlining text documents, so the model can

            distinguish multiple files.
          readOnly: true
      type: object
      required:
        - url
        - media_type
        - identifier
      title: AudioUrl
      description: A URL to an audio file.
    DocumentUrl:
      properties:
        url:
          type: string
          title: Url
        force_download:
          anyOf:
            - type: boolean
            - type: string
              const: allow-local
          title: Force Download
          default: false
        vendor_metadata:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Vendor Metadata
        kind:
          type: string
          const: document-url
          title: Kind
          default: document-url
        media_type:
          type: string
          title: Media Type
          description: >-
            Return the media type of the file, based on the URL or the provided
            `media_type`.
          readOnly: true
        identifier:
          type: string
          title: Identifier
          description: >-
            The identifier of the file, such as a unique ID.


            This identifier can be provided to the model in a message to allow
            it to refer to this file in a tool call argument,

            and the tool can look up the file in question by iterating over the
            message history and finding the matching `FileUrl`.


            This identifier is only automatically passed to the model when the
            `FileUrl` is returned by a tool.

            If you're passing the `FileUrl` as a user message, it's up to you to
            include a separate text part with the identifier,

            e.g. "This is file <identifier>:" preceding the `FileUrl`.


            It's also included in inline-text delimiters for providers that
            require inlining text documents, so the model can

            distinguish multiple files.
          readOnly: true
      type: object
      required:
        - url
        - media_type
        - identifier
      title: DocumentUrl
      description: The URL of the document.
    VideoUrl:
      properties:
        url:
          type: string
          title: Url
        force_download:
          anyOf:
            - type: boolean
            - type: string
              const: allow-local
          title: Force Download
          default: false
        vendor_metadata:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Vendor Metadata
        kind:
          type: string
          const: video-url
          title: Kind
          default: video-url
        media_type:
          type: string
          title: Media Type
          description: >-
            Return the media type of the file, based on the URL or the provided
            `media_type`.
          readOnly: true
        identifier:
          type: string
          title: Identifier
          description: >-
            The identifier of the file, such as a unique ID.


            This identifier can be provided to the model in a message to allow
            it to refer to this file in a tool call argument,

            and the tool can look up the file in question by iterating over the
            message history and finding the matching `FileUrl`.


            This identifier is only automatically passed to the model when the
            `FileUrl` is returned by a tool.

            If you're passing the `FileUrl` as a user message, it's up to you to
            include a separate text part with the identifier,

            e.g. "This is file <identifier>:" preceding the `FileUrl`.


            It's also included in inline-text delimiters for providers that
            require inlining text documents, so the model can

            distinguish multiple files.
          readOnly: true
      type: object
      required:
        - url
        - media_type
        - identifier
      title: VideoUrl
      description: A URL to a video.
    BinaryContent:
      properties:
        data:
          type: string
          format: base64url
          title: Data
        media_type:
          anyOf:
            - type: string
              enum:
                - audio/wav
                - audio/mpeg
                - audio/ogg
                - audio/flac
                - audio/aiff
                - audio/aac
            - type: string
              enum:
                - image/jpeg
                - image/png
                - image/gif
                - image/webp
            - type: string
              enum:
                - application/pdf
                - text/plain
                - text/csv
                - >-
                  application/vnd.openxmlformats-officedocument.wordprocessingml.document
                - >-
                  application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
                - text/html
                - text/markdown
                - application/msword
                - application/vnd.ms-excel
            - type: string
          title: Media Type
        vendor_metadata:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Vendor Metadata
        kind:
          type: string
          const: binary
          title: Kind
          default: binary
        identifier:
          type: string
          title: Identifier
          description: >-
            Identifier for the binary content, such as a unique ID.


            This identifier can be provided to the model in a message to allow
            it to refer to this file in a tool call argument,

            and the tool can look up the file in question by iterating over the
            message history and finding the matching `BinaryContent`.


            This identifier is only automatically passed to the model when the
            `BinaryContent` is returned by a tool.

            If you're passing the `BinaryContent` as a user message, it's up to
            you to include a separate text part with the identifier,

            e.g. "This is file <identifier>:" preceding the `BinaryContent`.


            It's also included in inline-text delimiters for providers that
            require inlining text documents, so the model can

            distinguish multiple files.
          readOnly: true
      type: object
      required:
        - data
        - media_type
        - identifier
      title: BinaryContent
      description: Binary content, e.g. an audio or image file.
    UploadedFile:
      properties:
        file_id:
          type: string
          title: File Id
        provider_name:
          type: string
          enum:
            - anthropic
            - openai
            - google-gla
            - google-vertex
            - bedrock
            - xai
          title: Provider Name
        vendor_metadata:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Vendor Metadata
        kind:
          type: string
          const: uploaded-file
          title: Kind
          default: uploaded-file
        media_type:
          type: string
          title: Media Type
          description: >-
            Return the media type of the file, inferred from `file_id` if not
            explicitly provided.


            Note: Inference relies on the file extension in `file_id`.

            For opaque file IDs (e.g., `'file-abc123'`), the media type will
            default to `'application/octet-stream'`.

            Inference relies on Python's `mimetypes` module, whose results may
            vary across platforms.


            Required by some providers (e.g., Bedrock) for certain file types.
          readOnly: true
        identifier:
          type: string
          title: Identifier
          description: >-
            The identifier of the file, such as a unique ID.


            This identifier can be provided to the model in a message to allow
            it to refer to this file in a tool call argument,

            and the tool can look up the file in question by iterating over the
            message history and finding the matching `UploadedFile`.


            This identifier is only automatically passed to the model when the
            `UploadedFile` is returned by a tool.

            If you're passing the `UploadedFile` as a user message, it's up to
            you to include a separate text part with the identifier,

            e.g. "This is file <identifier>:" preceding the `UploadedFile`.
          readOnly: true
      type: object
      required:
        - file_id
        - provider_name
        - media_type
        - identifier
      title: UploadedFile
      description: >-
        A reference to a file uploaded to a provider's file storage by ID.


        This allows referencing files that have been uploaded via
        provider-specific file APIs

        rather than providing the file content directly.


        Supported by:


        - [`AnthropicModel`][pydantic_ai.models.anthropic.AnthropicModel]

        - [`OpenAIChatModel`][pydantic_ai.models.openai.OpenAIChatModel]

        -
        [`OpenAIResponsesModel`][pydantic_ai.models.openai.OpenAIResponsesModel]

        -
        [`BedrockConverseModel`][pydantic_ai.models.bedrock.BedrockConverseModel]

        - [`GoogleModel`][pydantic_ai.models.google.GoogleModel]

        - [`XaiModel`][pydantic_ai.models.xai.XaiModel]
    CachePoint:
      properties:
        kind:
          type: string
          const: cache-point
          title: Kind
          default: cache-point
        ttl:
          type: string
          enum:
            - 5m
            - 1h
          title: Ttl
          default: 5m
      type: object
      title: CachePoint
    ToolReturnContent:
      anyOf:
        - oneOf:
            - $ref: '#/components/schemas/ImageUrl'
            - $ref: '#/components/schemas/AudioUrl'
            - $ref: '#/components/schemas/DocumentUrl'
            - $ref: '#/components/schemas/VideoUrl'
            - $ref: '#/components/schemas/BinaryContent'
            - $ref: '#/components/schemas/UploadedFile'
          discriminator:
            propertyName: kind
            mapping:
              audio-url:
                $ref: '#/components/schemas/AudioUrl'
              binary:
                $ref: '#/components/schemas/BinaryContent'
              document-url:
                $ref: '#/components/schemas/DocumentUrl'
              image-url:
                $ref: '#/components/schemas/ImageUrl'
              uploaded-file:
                $ref: '#/components/schemas/UploadedFile'
              video-url:
                $ref: '#/components/schemas/VideoUrl'
        - items:
            $ref: '#/components/schemas/ToolReturnContent'
          type: array
        - additionalProperties:
            $ref: '#/components/schemas/ToolReturnContent'
          type: object
        - {}
    ErrorDetails:
      properties:
        type:
          type: string
          title: Type
        loc:
          items:
            anyOf:
              - type: integer
              - type: string
          type: array
          title: Loc
        msg:
          type: string
          title: Msg
        input:
          title: Input
        ctx:
          additionalProperties: true
          type: object
          title: Ctx
        url:
          type: string
          title: Url
      type: object
      required:
        - type
        - loc
        - msg
        - input
      title: ErrorDetails
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      in: header
      name: X-API-Key

````