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

# Claude Messages

> Anthropic Messages API relayed by Omniall AI.

**Base path:** `POST https://api.omniall.ai/v1/messages`

Send `anthropic-version` (recommended: `2023-06-01`). Auth via `Authorization: Bearer sk-...` or `x-api-key`.

### Scenarios
- **Vision**: image content blocks
- **Documents**: `document` blocks (PDF)
- **Web search**: server tool `web_search_*` when enabled for the model/channel
- **Agent**: Claude `tools` + `tool_choice`
- **Thinking**: `thinking: { type: enabled, budget_tokens }`

Official reference: https://docs.anthropic.com/en/api/messages




## OpenAPI

````yaml openapi/xgapi-public.yaml POST /v1/messages
openapi: 3.0.3
info:
  title: Omniall AI Public API
  description: >-
    Omniall AI public API. Website: https://omniall.ai — API host:
    https://api.omniall.ai — Model Square: https://omniall.ai/pricing
  version: 1.1.0
servers:
  - url: https://api.omniall.ai
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Models
    description: List models available to your API key.
  - name: ChatGPT Chat Completions
    x-group: ChatGPT
    description: OpenAI Chat Completions (`POST /v1/chat/completions`).
  - name: Responses
    description: OpenAI Responses API (`POST /v1/responses`).
  - name: Claude
    description: Anthropic Messages API (`POST /v1/messages`).
  - name: Gemini
    description: Google Gemini generateContent / streamGenerateContent.
  - name: Images
    description: >-
      Image generation (OpenAI Images), vendor guides, and Midjourney proxy
      APIs.
  - name: Video
    description: Async video tasks.
  - name: Audio
    description: Speech and related audio APIs.
  - name: Rerank
    description: Document reranking.
paths:
  /v1/messages:
    post:
      tags:
        - Claude
      summary: Claude Messages
      description: >
        Anthropic Messages API relayed by Omniall AI.


        **Base path:** `POST https://api.omniall.ai/v1/messages`


        Send `anthropic-version` (recommended: `2023-06-01`). Auth via
        `Authorization: Bearer sk-...` or `x-api-key`.


        ### Scenarios

        - **Vision**: image content blocks

        - **Documents**: `document` blocks (PDF)

        - **Web search**: server tool `web_search_*` when enabled for the
        model/channel

        - **Agent**: Claude `tools` + `tool_choice`

        - **Thinking**: `thinking: { type: enabled, budget_tokens }`


        Official reference: https://docs.anthropic.com/en/api/messages
      operationId: createMessage
      parameters:
        - name: anthropic-version
          in: header
          required: true
          schema:
            type: string
            example: '2023-06-01'
          description: Anthropic API version header.
        - name: x-api-key
          in: header
          required: false
          schema:
            type: string
          description: Optional Anthropic-style key (also accepted as Bearer).
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClaudeRequest'
            examples:
              basic:
                summary: Basic Messages
                value:
                  model: claude-sonnet-4
                  max_tokens: 1024
                  messages:
                    - role: user
                      content: Hello, Claude
              vision:
                summary: Image understanding
                value:
                  model: claude-sonnet-4
                  max_tokens: 1024
                  messages:
                    - role: user
                      content:
                        - type: image
                          source:
                            type: url
                            url: https://example.com/photo.jpg
                        - type: text
                          text: Describe this image
              document:
                summary: PDF / document analysis
                value:
                  model: claude-sonnet-4
                  max_tokens: 2048
                  messages:
                    - role: user
                      content:
                        - type: document
                          source:
                            type: base64
                            media_type: application/pdf
                            data: JVBERi0xLjQ...
                        - type: text
                          text: Summarize the document
              web_search:
                summary: Web search tool (server tool)
                value:
                  model: claude-sonnet-4
                  max_tokens: 2048
                  tools:
                    - type: web_search_20250305
                      name: web_search
                      max_uses: 5
                  messages:
                    - role: user
                      content: What happened in AI regulation this week?
              agent:
                summary: Agent / tool use
                value:
                  model: claude-sonnet-4
                  max_tokens: 1024
                  tools:
                    - name: get_stock_price
                      description: Get stock price
                      input_schema:
                        type: object
                        properties:
                          symbol:
                            type: string
                        required:
                          - symbol
                  messages:
                    - role: user
                      content: Price of AAPL?
              thinking:
                summary: Extended thinking
                value:
                  model: claude-sonnet-4
                  max_tokens: 16000
                  thinking:
                    type: enabled
                    budget_tokens: 10000
                  messages:
                    - role: user
                      content: 'Solve this step by step: ...'
      responses:
        '200':
          description: Claude message response (or SSE stream).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClaudeResponse'
        '400':
          description: Invalid request body or unsupported parameter for the model.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenAIErrorResponse'
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenAIErrorResponse'
              example:
                error:
                  message: '无效的令牌 (request id: ...)'
                  type: new_api_error
                  code: ''
        '403':
          description: Forbidden (banned user, IP allowlist, group access).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenAIErrorResponse'
        '429':
          description: Rate limited.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenAIErrorResponse'
        '500':
          description: Upstream or gateway internal error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenAIErrorResponse'
components:
  schemas:
    ClaudeRequest:
      type: object
      required:
        - model
        - messages
        - max_tokens
      description: >-
        Anthropic Messages request (`POST /v1/messages`). `model`, `messages`,
        and `max_tokens` are required.
      properties:
        model:
          type: string
          example: claude-sonnet-4
          description: Claude model id from Model Square.
        messages:
          type: array
          description: >-
            Conversation turns with roles `user` / `assistant`. Content may be a
            string or content blocks (text, image, document, tool_use,
            tool_result).
          items:
            type: object
            required:
              - role
              - content
            properties:
              role:
                type: string
                enum:
                  - user
                  - assistant
              content:
                oneOf:
                  - type: string
                  - type: array
                    items:
                      type: object
                      additionalProperties: true
        system:
          description: System prompt (string or content blocks). Sets overall behavior.
          oneOf:
            - type: string
            - type: array
              items:
                type: object
                additionalProperties: true
        max_tokens:
          type: integer
          minimum: 1
          description: >-
            Maximum tokens Claude may generate. Required by Anthropic; also acts
            as a cost/latency control.
        temperature:
          type: number
          minimum: 0
          maximum: 1
          description: Randomness (0–1 for Claude).
        top_p:
          type: number
          description: Nucleus sampling.
        top_k:
          type: integer
          description: Top-K sampling.
        stream:
          type: boolean
          description: If true, stream SSE events.
        stop_sequences:
          type: array
          items:
            type: string
          description: Custom stop strings.
        tools:
          description: >-
            Claude tools: custom tools and/or server tools such as web_search
            when enabled for the model/channel.
          type: array
          items:
            type: object
            additionalProperties: true
        tool_choice:
          type: object
          properties:
            type:
              type: string
              enum:
                - auto
                - any
                - tool
                - none
              description: '`auto` / `any` / `tool` / `none`.'
            name:
              type: string
              description: Tool name when `type` is `tool`.
            disable_parallel_tool_use:
              type: boolean
              description: Disallow parallel tool calls when true.
          description: Tool selection policy.
        thinking:
          type: object
          properties:
            type:
              type: string
              enum:
                - enabled
                - disabled
              description: '`enabled` or `disabled`.'
            budget_tokens:
              type: integer
              description: >-
                Max tokens reserved for thinking when enabled (must be less than
                `max_tokens`).
          description: Extended thinking controls.
        mcp_servers:
          type: array
          items:
            type: object
            additionalProperties: true
          description: MCP server definitions when using Claude MCP features.
        metadata:
          type: object
          additionalProperties: true
          description: Request metadata passthrough.
        context_management:
          type: object
          additionalProperties: true
          description: Context management options (provider-specific).
        output_config:
          type: object
          additionalProperties: true
          description: Output configuration (e.g. effort), when supported.
        output_format:
          type: object
          additionalProperties: true
          description: Structured output format controls.
        cache_control:
          type: object
          additionalProperties: true
          description: Prompt caching controls when supported.
    ClaudeResponse:
      type: object
      properties:
        id:
          type: string
          description: Message id.
        type:
          type: string
          example: message
          description: Usually `message`.
        role:
          type: string
          example: assistant
          description: Usually `assistant`.
        model:
          type: string
          description: Model used.
        content:
          type: array
          items:
            type: object
            properties:
              type:
                type: string
              text:
                type: string
              name:
                type: string
              input:
                type: object
                additionalProperties: true
          description: >-
            Content blocks (`text`, `tool_use`, etc.). Concatenate text blocks
            for the visible answer.
        stop_reason:
          type: string
          enum:
            - end_turn
            - max_tokens
            - stop_sequence
            - tool_use
          description: >-
            Why Claude stopped: `end_turn`, `max_tokens`, `stop_sequence`,
            `tool_use`, etc.
        usage:
          type: object
          properties:
            input_tokens:
              type: integer
              description: Input tokens.
            output_tokens:
              type: integer
              description: Output tokens.
          description: Token usage.
      description: Anthropic Messages response.
    OpenAIErrorResponse:
      type: object
      description: OpenAI-style error envelope returned on auth/request failures.
      required:
        - error
      properties:
        error:
          type: object
          required:
            - message
            - type
          properties:
            message:
              type: string
              description: >-
                Human-readable error. The gateway may append a request id for
                support.
            type:
              type: string
              description: Error type, commonly `new_api_error`.
              example: new_api_error
            code:
              type: string
              description: >-
                Optional machine-readable code (e.g. `access_denied`). May be an
                empty string.
          description: Error object.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: 'Use Authorization: Bearer sk-... from https://omniall.ai/dashboard'

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.