Skip to main content
POST
/
v1
/
messages
cURL
curl --request POST \
  --url https://api.ttapi.io/v1/messages \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '
{
  "messages": [
    {
      "role": "user",
      "content": "Hello!"
    }
  ],
  "model": "claude-sonnet-4-5",
  "max_tokens": 1024,
  "stream": "false"
}
'
{
  "id": "msg_018zZJf8ZJf8ZJf8ZJf8ZJf8ZJf8",
  "type": "message",
  "role": "assistant",
  "content": [
    {
      "type": "text",
      "text": " Hello! My name is Claude."
    }
  ],
  "model": "claude-2.0",
  "stop_reason": "stop_sequence",
  "usage": {
    "input_tokens": 15,
    "output_tokens": 22
  }
}
The TTAPI proxy for the Claude Messages API uses the TTAPI platform key in the request header for authentication, while all other request and response parameters remain consistent with the official API. For details, refer to the Claude official documentation.

Authorizations

x-api-key
string
header
required

You can obtain your API key from the TTAPI Dashboard.

Body

application/json
messages
object[]
required
Example:
[{ "role": "user", "content": "Hello!" }]
model
string
required

Models supported by TTAPI, see Claude Supported Models

Example:

"claude-sonnet-4-5"

max_tokens
number
default:1024
required

Maximum tokens to generate before stopping. Minimum: 1

stream
boolean
default:false

Whether to use server-sent events for progressive response transmission

Response

Successful response

id
string

Unique message identifier

Example:

"msg_018zZJf8ZJf8ZJf8ZJf8ZJf8ZJf8"

type
string

Response type

Example:

"message"

role
string

Role identifier

Example:

"assistant"

content
object[]

Message content list

model
string

Model version used

Example:

"claude-2.0"

stop_reason
string | null

Stop reason

Example:

"stop_sequence"

usage
object

Token usage statistics

Last modified on March 16, 2026