---
title: "Create a message"
method: POST
path: "/anthropic/v1/messages"
tags: ["Anthropic"]
---

# Create a message

`POST /anthropic/v1/messages`

Create a message using the Anthropic-compatible API. Supports tool use and sseStreaming.

## Request body

- object
  - `model` string, required
  - `messages` object[], required
    - `role` 'user' | 'assistant' | 'system', required
    - `content` union, required
      - string
      - union[]
        - union
          - object
            - `type` 'text', required
            - `text` string, required
            - `citations` union[]
              - …
          - object
            - `type` 'image', required
            - `source` object, required
              - …
          - object
            - `type` 'document', required
            - `source` object, required
              - …
            - `title` string
            - `context` string
            - `citations` object
              - …
          - object
            - `type` 'tool_use', required
            - `id` string, required
            - `name` string, required
            - `input` unknown
            - `caller` union
              - …
          - object
            - `type` 'server_tool_use', required
            - `id` string, required
            - `name` string, required
            - `input` object, nullable
          - object
            - `type` 'tool_result', required
            - `tool_use_id` string, required
            - `content` union
              - …
            - `is_error` boolean
          - object
            - `type` 'thinking', required
            - `thinking` string, required
            - `signature` string, required
          - object
            - `type` 'redacted_thinking', required
            - `data` string, required
          - object
            - `type` 'compaction', required
            - `content` string, required
          - object
            - `type` 'mcp_tool_use', required
            - `id` string, required
            - `name` string, required
            - `input` unknown
            - `server_name` string, required
          - object
            - `type` 'mcp_tool_result', required
            - `tool_use_id` string, required
            - `is_error` boolean, required
            - `content` union[], required
              - …
          - object
            - `type` 'code_execution_tool_result', required
            - `tool_use_id` string, required
            - `content` unknown
          - object
            - `type` 'bash_code_execution_tool_result', required
            - `tool_use_id` string, required
            - `content` unknown
          - object
            - `type` 'text_editor_code_execution_tool_result', required
            - `tool_use_id` string, required
            - `content` unknown
          - object
            - `type` 'tool_search_tool_result', required
            - `tool_use_id` string, required
            - `content` unknown
          - object
            - `type` 'web_fetch_tool_result', required
            - `tool_use_id` string, required
            - `content` unknown
          - object
            - `type` 'web_search_tool_result', required
            - `tool_use_id` string, required
            - `content` unknown
  - `max_tokens` integer, required
  - `system` union
    - string
    - unknown[]
      - unknown
  - `temperature` number
  - `top_p` number
  - `top_k` integer
  - `stream` boolean
  - `stop_sequences` string[]
  - `metadata` object
  - `tools` unknown[]
    - unknown
  - `tool_choice` unknown
  - `mcp_servers` object[]
    - `type` 'url'
    - `url` string, uri, required
    - `name` string, required
    - `authorization_token` string
    - `allowed_tools` string[]
  - `thinking` object
    - `type` 'enabled' | 'disabled' | 'adaptive', required
    - `budget_tokens` integer
  - `effort` 'low' | 'medium' | 'high' | 'max'
  - `speed` 'fast' | 'standard'
  - `context_management` object
    - `edits` unknown[], required
      - unknown
  - `output_config` object
    - `effort` 'low' | 'medium' | 'high' | 'max'
    - `format` unknown
    - `budget_tokens` integer

## Response `200`

Successful response

- object
  - `id` string, required
  - `type` 'message', required
  - `role` 'assistant', required
  - `content` unknown[], required
    - unknown
  - `model` string, required
  - `stop_reason` string, nullable, required
  - `stop_sequence` string, nullable, required
  - `usage` object, required
    - `input_tokens` number, required
    - `output_tokens` number, required

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `404` — Model Not Found

---

[API](https://skmtc.net/neosantara/apis/neosantara-ai-api.md) · [All operations](https://skmtc.net/neosantara/apis/neosantara-ai-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/neosantara/neosantara-ai-api/revisions/82bc74ee8650/schema)
