Source: https://ailoot.ai/docs/pt-pt/api/messages/
Canonical: https://ailoot.ai/docs/pt-pt/api/messages/
Language: pt-pt

[API](https://ailoot.ai/docs/pt-pt/) 

# Messages

[Markdown](https://ailoot.ai/docs/pt-pt/api/messages/index.md)

Formato Anthropic Messages. É utilizado pelo Claude Code, pelo Anthropic SDK e por muitos agentes.

POST`https://api.ailoot.ai/v1/messages`

Messages

```bash
curl https://api.ailoot.ai/v1/messages \
  -H "x-api-key: $AILOOT_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-5-5",
    "max_tokens": 1024,
    "messages": [{"role": "user", "content": "Olá! O que consegue fazer?"}]
  }' 
```

```python
import anthropic
import os

client = anthropic.Anthropic(max_retries=0, 
    base_url="https://api.ailoot.ai",   # sem /v1: o SDK acrescenta /v1/messages automaticamente
    api_key=os.environ["AILOOT_API_KEY"],
)

msg = client.messages.create(
    model="claude-sonnet-5-5",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Explique em duas frases o que é uma API."}],
)
print(msg.content[0].text)
```

```js
import Anthropic from "@anthropic-ai/sdk";

const client = new Anthropic({ maxRetries: 0,
  baseURL: "https://api.ailoot.ai", // sem /v1
  apiKey: process.env.AILOOT_API_KEY,
});

const msg = await client.messages.create({
  model: "claude-sonnet-5-5",
  max_tokens: 1024,
  messages: [{ role: "user", content: "Explique em duas frases o que é uma API." }],
});
console.log(msg.content[0].type === "text" ? msg.content[0].text : msg.content);
```

200 OK

```json
{
  "id": "msg_01H…",
  "type": "message",
  "role": "assistant",
  "model": "claude-sonnet-5-5",
  "content": [
    { "type": "text", "text": "Olá! Consigo escrever e explicar código, responder a perguntas…" }
  ],
  "stop_reason": "end_turn",
  "usage": { "input_tokens": 14, "output_tokens": 52 }
}
```

## Autorização

| Parâmetro | Tipo | Obrigatório | Descrição |
| --- | --- | --- | --- |
| `x-api-key` | header | obrigatório | Chave `sk-…`. Também pode utilizar `Authorization: Bearer sk-…` — é assim que o Claude Code funciona com `ANTHROPIC_AUTH_TOKEN`. |
| `anthropic-version` | header | opcional | Versão da API, por exemplo `2023-06-01`. Os SDK enviam-na automaticamente. |

## Corpo do pedido

| Parâmetro | Tipo | Obrigatório | Descrição |
| --- | --- | --- | --- |
| `model` | string | obrigatório | ID de um modelo com o formato Messages — 776 identificadores: Claude, bem como GPT, Gemini, DeepSeek, Qwen e outros. |
| `messages` | array | obrigatório | Mensagens `user` e `assistant`; `content` — cadeia de caracteres ou blocos (`text`, `image`, `tool_use`, `tool_result`). |
| `max_tokens` | integer | obrigatório | Número máximo de tokens da resposta. É incluído na reserva; se o saldo não for suficiente para o limite total, o Ailoot reduz o limite, mas nunca abaixo de 256 (1025 com o raciocínio ativado), e indica o novo limite no cabeçalho `X-Ailoot-Max-Tokens-Capped`. |
| `system` | string \| array | opcional | Instrução de sistema. |
| `stream` | boolean | opcional | Fluxo de eventos SSE (`message_start`, `content_block_delta`, …, `message_stop`). O texto pago chega num único bloco após o cálculo do custo. |
| `temperature` | number | opcional | Aleatoriedade da resposta de 0 a 1. |
| `tools` | array | opcional | Ferramentas: `name`, `description`, `input_schema`. |
| `tool_choice` | object | opcional | `auto`, `any`, `tool` ou `none`. |
| `thinking` | object | opcional | `{"type": "enabled", "budget_tokens": N}` — raciocínio nos modelos que o suportam. |
| `stop_sequences` | array | opcional | Cadeias de caracteres nas quais a geração deve parar. |

## Resposta

| Parâmetro | Tipo | Obrigatório | Descrição |
| --- | --- | --- | --- |
| `content` | array |  | Blocos da resposta: `text`, `thinking`, `tool_use`. |
| `stop_reason` | string |  | `end_turn`, `max_tokens`, `stop_sequence` ou `tool_use`. |
| `usage` | object |  | `input_tokens`, `output_tokens`, para a cache — `cache_read_input_tokens` e `cache_creation_input_tokens`. |

A contagem de tokens (`POST /v1/messages/count_tokens`) não está atualmente disponível para os modelos do catálogo.

Ainda tem dúvidas? Envie o Request ID e uma descrição — ajudamos a esclarecer.[Contactar o suporte](mailto:support@ailoot.ai)

## Ailoot · A empresa e a sua carteira de projetos





A Ailoot assenta numa experiência operacional consolidada, numa ampla base de clientes, num serviço estável e no acompanhamento contínuo dos KPI.





A empresa e a sua carteira de projetos: milhões de clientes; vendas mensais na ordem dos milhares de milhões.





A Ailoot aplica essa experiência operacional ao acesso por API a funcionalidades de IA nos produtos dos clientes, agentes, aplicações e automatizações.
