Skip to content

Messages

/v1/messages is the Anthropic Messages compatible entrypoint for Claude Code and Anthropic protocol clients. The requested model must be available to the current API key.

Interface

ItemValue
MethodPOST
Path/v1/messages
Content-Typeapplication/json
AuthenticationAuthorization: Bearer YOUR_API_KEY

Request Parameters

ParameterTypeRequiredDescription
modelstringYesRequested model.
messagesarrayYesAnthropic Messages style message array.
max_tokensintegerUsuallyMaximum output tokens.
systemstring or arrayNoSystem prompt.
streambooleanNoWhether to stream the response.
thinkingobjectNoReasoning configuration, applied by model and platform capability.
metadata.user_idstringNoCan be used for sticky sessions and request tracking.

Request Example

bash
curl https://api.llmapi.site/v1/messages \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "claude-sonnet-4-5",
    "max_tokens": 512,
    "messages": [
      { "role": "user", "content": "Summarize this request." }
    ]
  }'

Response — 200 OK

json
{
  "id": "msg_123",
  "type": "message",
  "role": "assistant",
  "model": "claude-sonnet-4-5",
  "content": [
    {
      "type": "text",
      "text": "Summary text."
    }
  ],
  "stop_reason": "end_turn",
  "usage": {
    "input_tokens": 24,
    "output_tokens": 12
  }
}

When stream is true, the response uses Anthropic-compatible event streaming.

Token Count

/v1/messages/count_tokens provides Anthropic token counting. It checks subscription and balance, but does not acquire concurrency or record usage.

ItemValue
MethodPOST
Path/v1/messages/count_tokens
Content-Typeapplication/json
RestrictionNot supported for OpenAI platform groups

Request example:

bash
curl https://api.llmapi.site/v1/messages/count_tokens \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "claude-sonnet-4-5",
    "messages": [
      { "role": "user", "content": "Hello" }
    ]
  }'

OpenAI group response example:

json
{
  "type": "error",
  "error": {
    "type": "not_found_error",
    "message": "Token counting is not supported for this platform"
  }
}

Successful token count response:

json
{
  "input_tokens": 42
}

Errors

StatusCause
400Request body, model, or message payload is invalid.
401API key is missing or invalid.
403Balance, quota, group, or subscription check failed.
404Endpoint is not available for the current platform, or the requested model is unavailable.
429Rate limit or concurrency limit was reached.
500 / 502 / 503Gateway or upstream provider failed.