Criar uma mensagem do Claude
Endpoint compatível com a API Messages do Claude. Defina stream=true para receber eventos de streaming de mensagens no estilo do Claude. Os campos de requisição, resposta e erro de validação seguem o protocolo Messages do Claude; o Router também pode retornar um envelope de erro de gateway saneado para falhas de infraestrutura.
- Tipo: stringX
- Felo - Channel Códigos de canal público separados por vírgula, em ordem. Omita este cabeçalho para usar default; default deve ser usado sozinho. No modo carteira, default percorre a ordem efetiva de canais públicos do modelo em ordem inversa, ignora canais não publicados ou indisponíveis e seleciona o provedor do primeiro canal disponível. Inclui os endpoints disponíveis desse provedor com o mesmo ID de modelo upstream e o mesmo service tier. Canais explícitos são validados na ordem especificada pelo cliente; somente o grupo de provedores do primeiro canal é enviado. Não há fallback automático para outros provedores. Cabeçalhos legados de provedor não podem substituir o roteamento por canal.
- Tipo: integermax
_tokens mín:1obrigatórioInteger numbers.
- Tipo: array object[] · ClaudeMessage[] 1…messagesobrigatório
- contentobrigatório
- Tipo: string
- roleTipo: string enumobrigatóriovalores
- user
- assistant
- propertyTipo: anything
Name
- Tipo: stringmodelobrigatório
- Tipo: objectmetadata
- propertyTipo: anything
Name
- Tipo: string | nullservice
_tier Atualmente, apenas default (standard) é suportado. Valores omitidos, null, aliases e strings não suportadas usam default; outros tipos retornam HTTP 400. Os canais e preços configurados permanecem inalterados. As APIs de texto enviam o valor padrão do provedor; as APIs Decisions e de geração omitem o campo upstream.
- Tipo: array string[]stop
_sequences - Tipo: booleanstream
- system
- Tipo: string
- Tipo: numbertemperaturemín:0máx:1
- Tipo: objectthinking
- propertyTipo: anything
Name
- tool
_choice - Tipo: string
- Tipo: array object[]tools
- propertyTipo: anything
Name
- Tipo: anythingproperty
Name
- Tipo: integertop
_k mín:0Integer numbers.
- Tipo: numbertop
_p mín:0máx:1 - Tipo: anythingproperty
Name
- Tipo: object · ClaudeMessageResponse200
Mensagem do Claude ou resposta em streaming
- Tipo: array object[] · ClaudeContentBlock[]contentobrigatório
- typeTipo: string enumobrigatóriovalores
- text
- image
- document
- tool
_use - tool
_result - thinking
- contentTipo: string | array
- idTipo: string
- inputTipo: object
- propertyTipo: anything
Name
- nameTipo: string
- sourceTipo: object
- propertyTipo: anything
Name
- textTipo: string
- propertyTipo: anything
Name
- Tipo: stringidobrigatório
- Tipo: stringmodelobrigatório
- roleconst:assistantobrigatório
- Tipo: string | nullstop
_reason obrigatório - typeconst:messageobrigatório
- Tipo: string | nullstop
_sequence - Tipo: object · Usageusage
Objeto de uso do provedor. Os campos variam conforme o endpoint e o provedor.
- propertyTipo: anything
Name
- Tipo: anythingproperty
Name
- Tipo: object · ClaudeErrorResponse400
invalid_request_error do Claude ou erro de validação da requisição no Router
Envelope de erro compatível com a API Errors do Claude para requisições Messages.
- Tipo: objecterrorobrigatório
- messageTipo: stringobrigatório
- typeTipo: stringobrigatório
- propertyTipo: anything
Name
- typeconst:errorobrigatório
- Tipo: stringrequest
_id - Tipo: anythingproperty
Name
application/json - Tipo: object · ClaudeErrorResponse401
Chave de API da Felo inválida ou ausente
Envelope de erro compatível com a API Errors do Claude para requisições Messages.
- Tipo: objecterrorobrigatório
- messageTipo: stringobrigatório
- typeTipo: stringobrigatório
- propertyTipo: anything
Name
- typeconst:errorobrigatório
- Tipo: stringrequest
_id - Tipo: anythingproperty
Name
application/json - Tipo: object · ClaudeErrorResponse402
Saldo insuficiente
Envelope de erro compatível com a API Errors do Claude para requisições Messages.
- Tipo: objecterrorobrigatório
- messageTipo: stringobrigatório
- typeTipo: stringobrigatório
- propertyTipo: anything
Name
- typeconst:errorobrigatório
- Tipo: stringrequest
_id - Tipo: anythingproperty
Name
application/json - Tipo: object · ClaudeErrorResponse403
A conta não tem permissão para usar o modelo. Modelos desativados também são rejeitados antes das chamadas upstream. Requisições e tarefas já aceitas continuam.
Envelope de erro compatível com a API Errors do Claude para requisições Messages.
- Tipo: objecterrorobrigatório
- messageTipo: stringobrigatório
- typeTipo: stringobrigatório
- propertyTipo: anything
Name
- typeconst:errorobrigatório
- Tipo: stringrequest
_id - Tipo: anythingproperty
Name
application/json - Tipo: object · ClaudeErrorResponse429
Limite de gastos ou de requisições atingido
Envelope de erro compatível com a API Errors do Claude para requisições Messages.
- Tipo: objecterrorobrigatório
- messageTipo: stringobrigatório
- typeTipo: stringobrigatório
- propertyTipo: anything
Name
- typeconst:errorobrigatório
- Tipo: stringrequest
_id - Tipo: anythingproperty
Name
application/json - Tipo: object · ClaudeErrorResponse502
Falha na requisição ao provedor upstream
Envelope de erro compatível com a API Errors do Claude para requisições Messages.
- Tipo: objecterrorobrigatório
- messageTipo: stringobrigatório
- typeTipo: stringobrigatório
- propertyTipo: anything
Name
- typeconst:errorobrigatório
- Tipo: stringrequest
_id - Tipo: anythingproperty
Name
application/json - Tipo: object · ClaudeErrorResponse503
Provedor ou serviço de cobrança indisponível
Envelope de erro compatível com a API Errors do Claude para requisições Messages.
- Tipo: objecterrorobrigatório
- messageTipo: stringobrigatório
- typeTipo: stringobrigatório
- propertyTipo: anything
Name
- typeconst:errorobrigatório
- Tipo: stringrequest
_id - Tipo: anythingproperty
Name
application/json
curl https://openapi.felo.ai/api/v1/messages \
--request POST \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
--data '{
"model": "claude-sonnet-4-5",
"max_tokens": 256,
"messages": [
{
"role": "user",
"content": "Write a one-sentence greeting."
}
],
"stream": false
}'
{
"id": "string",
"type": "message",
"role": "assistant",
"content": [
{
"type": "text",
"text": "string",
"id": "string",
"name": "string",
"input": {
"additionalProperty": "anything"
},
"content": "string",
"source": {
"additionalProperty": "anything"
},
"additionalProperty": "anything"
}
],
"model": "string",
"stop_reason": null,
"stop_sequence": null,
"usage": {
"additionalProperty": "anything"
},
"additionalProperty": "anything"
}