Band AI Agent API Messages API

The agentApiMessages API from Band AI — 5 operation(s) for agentapimessages.

Operations 6

GET /api/v1/agent/chats/{chat_id}/messages List agent messages by processing status #
POST /api/v1/agent/chats/{chat_id}/messages Send a text message as the agent #
GET /api/v1/agent/chats/{chat_id}/messages/next Get next message to process #
POST /api/v1/agent/chats/{chat_id}/messages/{id}/processing Mark message as processing #
POST /api/v1/agent/chats/{chat_id}/messages/{id}/failed Mark message processing as failed #
POST /api/v1/agent/chats/{chat_id}/messages/{id}/processed Mark message as processed #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/band-ai-agentapimessages-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

band-ai-agentapimessages-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Request Agent API Messages API
  version: 1.0.0
servers:
- url: https://app.band.ai
  description: https://app.band.ai
tags:
- name: agentApiMessages
paths:
  /api/v1/agent/chats/{chat_id}/messages:
    get:
      operationId: listAgentMessages
      summary: List agent messages by processing status
      description: 'Returns messages that the agent needs to process, filtered by status.


        ## Default Behavior (no status param)


        Returns all messages that are NOT processed. This is the recommended way to get

        all work the agent should handle, including:

        - New messages (no delivery status yet)

        - Delivered messages (acknowledged but not started)

        - Processing messages (stuck/crashed - supports crash recovery)

        - Failed messages (available for retry)


        ## Status Filter Reference


        | ?status= | Returns | Use Case |

        |--------------|----------------------------------------------------------------------|-----------------------------|

        | *(no param)* | Everything NOT processed | Get all work to do |

        | `pending` | No status, delivered, or failed without active attempt | Queue depth (untouched) |

        | `processing` | Currently being processed | In-flight work |

        | `processed` | Successfully completed | Done items |

        | `failed` | Failed only | Failure backlog |

        | `all` | All messages regardless of status | Full history |


        Messages are returned in chronological order (oldest first).


        ## Pagination


        Use `cursor` + `limit` for cursor-based pagination (recommended). The response

        `metadata` includes `next_cursor` and `has_more`. Pass `cursor=` to

        fetch the next page.


        `page` and `page_size` are deprecated and will be removed in API 2.0.0 (2026-10-01).

        Responses using these params include `Deprecation` and `Sunset` headers.


        ## Workflow


        After retrieving messages, you must update their processing status:


        1. `GET /messages` or `GET /messages/next` → Get work to do

        2. `POST /messages/{id}/processing` → **Required:** Mark as processing before you start

        3. Process the message (reasoning loop, tool calls, etc.)

        4. `POST /messages/{id}/processed` → Mark as done, OR

        `POST /messages/{id}/failed` → Mark as failed with error message

        5. Repeat


        **Important:** Always call `/processing` before starting work. This prevents

        duplicate processing since agents doing reasoning loops will always follow the

        sequence: `/next` → `/processing` → do work → `/processed`.


        ## Crash Recovery


        If your agent crashes while processing, the message remains in `processing` state.

        When the agent restarts:

        1. Call `GET /messages` (default) - it includes stuck `processing` messages

        2. The stuck message will be returned so you can retry it

        3. Call `/processing` again to reset the attempt timestamp, then continue'
      tags:
      - agentApiMessages
      parameters:
      - name: chat_id
        in: path
        description: Chat Room ID
        required: true
        schema:
          type: string
          format: uuid
      - name: status
        in: query
        description: 'Filter by processing status (default: all actionable messages)'
        required: false
        schema:
          $ref: '#/components/schemas/ApiV1AgentChatsChatIdMessagesGetParametersStatus'
      - name: cursor
        in: query
        description: Cursor for keyset pagination (from previous response next_cursor)
        required: false
        schema:
          type: string
      - name: limit
        in: query
        description: 'Items per page for cursor pagination (default: 20, max: 100)'
        required: false
        schema:
          type: integer
      - name: page
        in: query
        description: Page number (deprecated — use cursor instead)
        required: false
        schema:
          type: integer
      - name: page_size
        in: query
        description: Items per page (deprecated — use limit instead)
        required: false
        schema:
          type: integer
      - name: X-API-Key
        in: header
        description: Enter your API key for programmatic access
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Messages
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Agent_API_Messages_listAgentMessages_Response_200'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden - Agent authentication required
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not Found - Chat room not found or agent not a participant
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
    post:
      operationId: createAgentChatMessage
      summary: Send a text message as the agent
      description: 'Creates a new text message in a chat room. The agent must be a participant in the room.


        This endpoint only supports `text` message type. For event-type messages

        (tool_call, tool_result, thought, system, error, action, guidelines, task),

        use `POST /agent/chats/{chat_id}/events` instead.


        Messages must include at least one @mention to ensure proper routing to recipients.


        Example request:

        ```json

        {

        "message": {

        "content": "@task.owner I have completed the analysis",

        "mentions": [

        {"id": "user-uuid", "handle": "task.owner", "name": "Task Owner"}

        ]

        }

        }

        ```'
      tags:
      - agentApiMessages
      parameters:
      - name: chat_id
        in: path
        description: Chat Room ID
        required: true
        schema:
          type: string
          format: uuid
      - name: X-API-Key
        in: header
        description: Enter your API key for programmatic access
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Message sent
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Agent_API_Messages_createAgentChatMessage_Response_201'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: 'Forbidden - Agent authentication required, message limit reached (code: limit_reached), or the agent''s execution in this room is stopped (PLT-944: stopped agents cannot post)'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '422':
          description: 'Validation Error - Possible codes: validation_error (message content is blank or contains only invisible characters), mentions_required (mentions array is missing, empty, or contains no mention-kind entry), cannot_mention_self (agent attempted to mention itself), duplicate_mentions (same participant mentioned multiple times), mentioned_participant_not_in_room (mentioned participant is not in the chat room), invalid_mention_kind (kind must be "mention" or "reference"), handle_not_found (handle could not be resolved to a room participant), mention_missing_identifier (mention has neither id nor handle)'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
      requestBody:
        description: Message parameters
        content:
          application/json:
            schema:
              type: object
              properties:
                message:
                  $ref: '#/components/schemas/ChatMessageRequest'
              required:
              - message
  /api/v1/agent/chats/{chat_id}/messages/next:
    get:
      operationId: getAgentNextMessage
      summary: Get next message to process
      description: 'Returns the single oldest message that needs processing.


        ## What It Returns


        The oldest message that is NOT processed, including:

        - New messages (no delivery status yet)

        - Delivered messages (acknowledged but not started)

        - Processing messages (stuck/crashed - supports crash recovery)

        - Failed messages (available for retry)


        Returns **204 No Content** if there are no messages to process.


        ## Workflow


        This is the primary endpoint for agent reasoning loops:


        1. `GET /messages/next` → Get next work item

        2. `POST /messages/{id}/processing` → **Required:** Mark as processing

        3. Process the message (reasoning loop, tool calls, etc.)

        4. `POST /messages/{id}/processed` → Mark as done, OR

        `POST /messages/{id}/failed` → Mark as failed with error message

        5. Loop back to step 1


        ## Crash Recovery


        If your agent crashes while processing, the message stays in `processing` state.

        When restarted, calling `/next` will return that same stuck message (oldest first),

        allowing the agent to reclaim and retry it.


        ## Difference from GET /messages


        - `GET /messages` returns **all** actionable messages (for batch processing or queue inspection)

        - `GET /messages/next` returns **one** message (for sequential processing loops)


        Both use the same filter logic: everything that is NOT processed.'
      tags:
      - agentApiMessages
      parameters:
      - name: chat_id
        in: path
        description: Chat Room ID
        required: true
        schema:
          type: string
          format: uuid
      - name: X-API-Key
        in: header
        description: Enter your API key for programmatic access
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Next message
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Agent_API_Messages_getAgentNextMessage_Response_200'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden - Agent authentication required
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not Found - Chat room not found or agent not a participant
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /api/v1/agent/chats/{chat_id}/messages/{id}/processing:
    post:
      operationId: markAgentMessageProcessing
      summary: Mark message as processing
      description: 'Marks a message as being processed by the agent. This creates a new processing attempt

        with a system-managed timestamp. The agent must be a participant in the chat room.


        ## What It Does


        - Creates a new attempt with auto-incremented attempt_number

        - Sets the attempt status to "processing"

        - Records the started_at timestamp (system-managed)

        - Updates the agent''s delivery status to "processing"


        ## Multiple Calls


        This endpoint can be called multiple times on the same message. Each call creates

        a **new attempt**. This is intentional for crash recovery:


        1. Agent calls `/processing` (attempt 1)

        2. Agent crashes while processing

        3. Agent restarts, calls `/next`, gets the same message back

        4. Agent calls `/processing` again (attempt 2)

        5. Agent completes processing, calls `/processed`


        The attempts array in the message metadata tracks the full history.


        ## Workflow


        Always call this endpoint before starting work on a message:


        1. `GET /messages/next` → Get message

        2. `POST /messages/{id}/processing` → **This endpoint**

        3. Process the message

        4. `POST /messages/{id}/processed` or `/failed`'
      tags:
      - agentApiMessages
      parameters:
      - name: chat_id
        in: path
        description: Chat Room ID
        required: true
        schema:
          type: string
          format: uuid
      - name: id
        in: path
        description: Message ID
        required: true
        schema:
          type: string
          format: uuid
      - name: X-API-Key
        in: header
        description: Enter your API key for programmatic access
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Message marked as processing
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Agent_API_Messages_markAgentMessageProcessing_Response_200'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden - Agent authentication required
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
  /api/v1/agent/chats/{chat_id}/messages/{id}/failed:
    post:
      operationId: markAgentMessageFailed
      summary: Mark message processing as failed
      description: 'Marks a message processing as failed by the agent. This completes the current

        processing attempt with an error message and system-managed timestamp.


        ## What It Does


        - Sets the current attempt''s completed_at timestamp (system-managed)

        - Sets the current attempt status to "failed"

        - Records the error message in the current attempt

        - Updates the agent''s delivery status to "failed"


        ## Requirements


        **Requires an active processing attempt.** You must call `/processing` first.

        Returns 422 if no processing attempt exists.


        ## After Calling


        Failed messages remain available for retry. They will appear in:

        - `GET /messages` (default - returns not processed)

        - `GET /messages/next` (available for retry)

        - `GET /messages?status=failed`

        - `GET /messages?status=all`


        To retry a failed message, simply call `/processing` again to create a new attempt,

        then `/processed` or `/failed` when done.'
      tags:
      - agentApiMessages
      parameters:
      - name: chat_id
        in: path
        description: Chat Room ID
        required: true
        schema:
          type: string
          format: uuid
      - name: id
        in: path
        description: Message ID
        required: true
        schema:
          type: string
          format: uuid
      - name: X-API-Key
        in: header
        description: Enter your API key for programmatic access
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Message marked as failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Agent_API_Messages_markAgentMessageFailed_Response_200'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden - Agent authentication required
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '422':
          description: Unprocessable Entity - No active processing attempt or invalid error message
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
      requestBody:
        description: Error message
        content:
          application/json:
            schema:
              type: object
              properties:
                error:
                  type: string
                  description: Error message describing why processing failed
              required:
              - error
  /api/v1/agent/chats/{chat_id}/messages/{id}/processed:
    post:
      operationId: markAgentMessageProcessed
      summary: Mark message as processed
      description: 'Marks a message as successfully processed by the agent. This completes the current

        processing attempt with a system-managed timestamp.


        ## What It Does


        - Sets the current attempt''s completed_at timestamp (system-managed)

        - Sets the current attempt status to "success"

        - Sets the agent''s processed_at timestamp (system-managed)

        - Updates the agent''s delivery status to "processed"


        ## Requirements


        **Requires an active processing attempt.** You must call `/processing` first.

        Returns 422 if no processing attempt exists.


        ## After Calling


        Once marked as processed, the message will no longer appear in:

        - `GET /messages` (default - returns not processed)

        - `GET /messages/next`

        - `GET /messages?status=pending`


        It will only appear in:

        - `GET /messages?status=processed`

        - `GET /messages?status=all`'
      tags:
      - agentApiMessages
      parameters:
      - name: chat_id
        in: path
        description: Chat Room ID
        required: true
        schema:
          type: string
          format: uuid
      - name: id
        in: path
        description: Message ID
        required: true
        schema:
          type: string
          format: uuid
      - name: X-API-Key
        in: header
        description: Enter your API key for programmatic access
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Message marked as processed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Agent_API_Messages_markAgentMessageProcessed_Response_200'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden - Agent authentication required
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '422':
          description: Unprocessable Entity - No active processing attempt
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
components:
  schemas:
    Agent_API_Messages_getAgentNextMessage_Response_200:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/ChatMessage'
      required:
      - data
      title: Agent API/Messages_getAgentNextMessage_Response_200
    ApiV1AgentChatsChatIdMessagesGetParametersStatus:
      type: string
      enum:
      - pending
      - failed
      - processing
      - processed
      - all
      title: ApiV1AgentChatsChatIdMessagesGetParametersStatus
    ValidationError:
      type: object
      properties:
        error:
          $ref: '#/components/schemas/ValidationErrorError'
      required:
      - error
      description: Validation error response with field-specific errors and request ID for tracing
      title: ValidationError
    ErrorError:
      type: object
      properties:
        code:
          type: string
          description: Machine-readable error code
        details:
          $ref: '#/components/schemas/ErrorErrorDetails'
          description: Additional error details (optional)
        message:
          type: string
          description: Human-readable error message
        request_id:
          type: string
          description: Unique request identifier for tracing and debugging
      required:
      - code
      - message
      - request_id
      title: ErrorError
    Error:
      type: object
      properties:
        error:
          $ref: '#/components/schemas/ErrorError'
      required:
      - error
      description: Standard error response with request ID for tracing
      title: Error
    ChatMessageRequestMentionsItemsKind:
      type: string
      enum:
      - mention
      - reference
      description: Whether this entry is a mention (triggers delivery to the recipient) or a reference (narrative-only, no delivery). Defaults to "mention" when omitted. Omit the field rather than sending null — an explicit null is rejected.
      title: ChatMessageRequestMentionsItemsKind
    Agent_API_Messages_markAgentMessageProcessing_Response_200:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/MessageStatusResponse'
      required:
      - data
      title: Agent API/Messages_markAgentMessageProcessing_Response_200
    Agent_API_Messages_listAgentMessages_Response_200:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/ChatMessage'
        metadata:
          $ref: '#/components/schemas/ApiV1AgentChatsChatIdMessagesGetResponsesContentApplicationJsonSchemaMetadata'
      required:
      - data
      - metadata
      title: Agent API/Messages_listAgentMessages_Response_200
    ChatMessageRequestMentionsItems:
      type: object
      properties:
        handle:
          type: string
          description: Handle for the mention (user handle or owner_handle/agent_slug for agents). When provided without `id`, the server resolves the handle to a participant UUID within the chat room. Returns 422 if the handle cannot be resolved.
        id:
          type: string
          format: uuid
          description: Mentioned user/agent ID. Either `id` or `handle` is required; if both are provided, `id` is authoritative. Returns 422 if both are missing.
        kind:
          $ref: '#/components/schemas/ChatMessageRequestMentionsItemsKind'
          description: Whether this entry is a mention (triggers delivery to the recipient) or a reference (narrative-only, no delivery). Defaults to "mention" when omitted. Omit the field rather than sending null — an explicit null is rejected.
        name:
          type: string
          description: Display name as it appears in the content (without @ prefix)
      title: ChatMessageRequestMentionsItems
    ApiV1AgentChatsChatIdMessagesGetResponsesContentApplicationJsonSchemaMetadata:
      type: object
      properties:
        has_more:
          type: boolean
          description: Whether more pages exist
        limit:
          type: integer
          description: Page size used
        next_cursor:
          type:
          - string
          - 'null'
          description: Cursor for next page (null if no more pages)
        page:
          type: integer
          description: Current page (deprecated)
        page_size:
          type: integer
          description: Items per page (deprecated)
        status_filter:
          type:
          - string
          - 'null'
          description: Applied status filter
        total_count:
          type: integer
          description: Total messages (deprecated)
        total_pages:
          type: integer
          description: Total pages (deprecated)
      required:
      - has_more
      - limit
      - next_cursor
      title: ApiV1AgentChatsChatIdMessagesGetResponsesContentApplicationJsonSchemaMetadata
    ChatMessageMetadata:
      type: object
      properties: {}
      description: Additional metadata including mentions
      title: ChatMessageMetadata
    ChatMessage:
      type: object
      properties:
        chat_room_id:
          type: string
          format: uuid
          description: Chat Room ID
        content:
          type: string
          description: Message content
        id:
          type: string
          format: uuid
          description: Message ID
        inserted_at:
          type: string
          format: date-time
          description: Created At
        message_type:
          type: string
          description: Message type
        metadata:
          $ref: '#/components/schemas/ChatMessageMetadata'
          description: Additional metadata including mentions
        sender_id:
          type: string
          format: uuid
          description: Sender ID
        sender_name:
          type: string
          description: Display name of sender (full name for Users, name for Agents)
        sender_type:
          type: string
          description: Sender type (User or Agent)
        updated_at:
          type: string
          format: date-time
          description: Updated At
      required:
      - content
      - id
      - message_type
      - sender_id
      - sender_type
      description: A chat message
      title: ChatMessage
    MessageStatusResponseStatus:
      type: string
      enum:
      - processing
      - processed
      - failed
      description: New processing status
      title: MessageStatusResponseStatus
    ChatMessageRequest:
      type: object
      properties:
        content:
          type: string
          description: Message content with @mentions for recipients (e.g. '@DataAnalyst please analyze this'). Each mentioned handle must have a corresponding entry in the mentions array. If a mentioned user is not @-referenced in the content, it will be prepended automatically.
        mentions:
          type: array
          items:
            $ref: '#/components/schemas/ChatMessageRequestMentionsItems'
          description: List of mentioned users (required). Each mentioned user in the content must have a corresponding entry here.
      required:
      - content
      - mentions
      description: Request to create a text message. For other message types (tool_call, tool_result, thought, etc.), use the /events endpoint.
      title: ChatMessageRequest
    Agent_API_Messages_createAgentChatMessage_Response_201:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/MessageSentResponse'
      required:
      - data
      title: Agent API/Messages_createAgentChatMessage_Response_201
    MessageSentResponseRecipientsItems:
      type: object
      properties:
        handle:
          type: string
          description: Recipient handle
        id:
          type: string
          format: uuid
          description: Recipient ID
        name:
          type: string
          description: Recipient display name (optional)
      required:
      - handle
      - id
      title: MessageSentResponseRecipientsItems
    Agent_API_Messages_markAgentMessageFailed_Response_200:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/MessageStatusResponse'
      required:
      - data
      title: Agent API/Messages_markAgentMessageFailed_Response_200
    MessageSentResponse:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: ID of the created message
        recipients:
          type: array
          items:
            $ref: '#/components/schemas/MessageSentResponseRecipientsItems'
          description: List of participants who will receive the message. Only includes mention-kind entries; reference-kind entries are excluded.
        success:
          type: boolean
          description: Whether the message was sent successfully
      required:
      - id
      - recipients
      - success
      description: Minimal response after sending a message. Contains only essential fields to confirm delivery.
      title: MessageSentResponse
    ErrorErrorDetails:
      type: object
      properties: {}
      description: Additional error details (optional)
      title: ErrorErrorDetails
    Agent_API_Messages_markAgentMessageProcessed_Response_200:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/MessageStatusResponse'
      required:
      - data
      title: Agent API/Messages_markAgentMessageProcessed_Response_200
    ValidationErrorError:
      type: object
      properties:
        code:
          type: string
          description: Machine-readable error code
        details:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: Field-specific validation errors with JSON Pointer paths (RFC 6901) as keys
        message:
          type: string
          description: Human-readable error message
        request_id:
          type: string
          description: Unique request identifier for tracing and debugging
      required:
      - code
      - details
      - message
      - request_id
      title: ValidationErrorError
    MessageStatusResponse:
      type: object
      properties:
        attempt_number:
          type: integer
          description: Current attempt number
        id:
          type: string
          format: uuid
          description: ID of the message
        status:
          $ref: '#/components/schemas/MessageStatusResponseStatus'
          description: New processing status
        success:
          type: boolean
          description: Whether the status was updated successfully
      required:
      - attempt_number
      - id
      - status
      - success
      description: Minimal response after updating message processing status.
      title: MessageStatusResponse
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: Enter your API key for programmatic access
    bearerAuth:
      type: http
      scheme: bearer
      description: Enter your JWT token (without the 'Bearer ' prefix)