Crear un mensaje de Claude
Endpoint compatible con la API Messages de Claude. Establece stream=true para recibir eventos de flujo de mensajes al estilo de Claude. Los campos de solicitud, respuesta y error de validación siguen el protocolo Claude Messages; el Router también puede devolver un envoltorio de error de gateway saneado para fallos de infraestructura.
- Tipo: stringX
- Felo - Channel Códigos de canal públicos separados por comas y en orden. Omite este encabezado para usar default; default debe usarse solo. En modo monedero, default recorre en orden inverso el orden efectivo de canales públicos del modelo, omite los canales no publicados o no disponibles y selecciona el proveedor del primer canal disponible. Incluye los endpoints disponibles de ese proveedor con el mismo ID de modelo upstream y el mismo nivel de servicio. Los canales explícitos se validan en el orden indicado por el cliente; solo se envía el grupo de proveedores del primer canal. No hay respaldo automático a otros proveedores. Los encabezados de proveedor heredados no pueden anular el enrutamiento por canales.
- Tipo: integermax
_tokens mín.:1obligatorioInteger numbers.
- Tipo: array object[] · ClaudeMessage[] 1…messagesobligatorio
- contentobligatorio
- Tipo: string
- roleTipo: string enumobligatoriovalores
- user
- assistant
- propertyTipo: anything
Name
- Tipo: stringmodelobligatorio
- Tipo: objectmetadata
- propertyTipo: anything
Name
- Tipo: string | nullservice
_tier Actualmente solo se admite default (estándar). Si se omite, es null, es un alias o es una cadena no admitida, se usa default; otros tipos devuelven HTTP 400. Los canales y precios configurados no cambian. Las API de texto envían el valor estándar del proveedor; las API Decisions y de generación omiten el 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
Mensaje de Claude o respuesta en streaming
- Tipo: array object[] · ClaudeContentBlock[]contentobligatorio
- typeTipo: string enumobligatoriovalores
- 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: stringidobligatorio
- Tipo: stringmodelobligatorio
- roleconstante:assistantobligatorio
- Tipo: string | nullstop
_reason obligatorio - typeconstante:messageobligatorio
- Tipo: string | nullstop
_sequence - Tipo: object · Usageusage
Objeto de uso del proveedor. Los campos varían según el endpoint y el proveedor.
- propertyTipo: anything
Name
- Tipo: anythingproperty
Name
- Tipo: object · ClaudeErrorResponse400
Claude invalid_request_error o error de validación de la solicitud del Router
Envoltorio de error compatible con la API Errors de Claude para solicitudes Messages.
- Tipo: objecterrorobligatorio
- messageTipo: stringobligatorio
- typeTipo: stringobligatorio
- propertyTipo: anything
Name
- typeconstante:errorobligatorio
- Tipo: stringrequest
_id - Tipo: anythingproperty
Name
application/json - Tipo: object · ClaudeErrorResponse401
Clave de API de Felo no válida o ausente
Envoltorio de error compatible con la API Errors de Claude para solicitudes Messages.
- Tipo: objecterrorobligatorio
- messageTipo: stringobligatorio
- typeTipo: stringobligatorio
- propertyTipo: anything
Name
- typeconstante:errorobligatorio
- Tipo: stringrequest
_id - Tipo: anythingproperty
Name
application/json - Tipo: object · ClaudeErrorResponse402
Saldo insuficiente
Envoltorio de error compatible con la API Errors de Claude para solicitudes Messages.
- Tipo: objecterrorobligatorio
- messageTipo: stringobligatorio
- typeTipo: stringobligatorio
- propertyTipo: anything
Name
- typeconstante:errorobligatorio
- Tipo: stringrequest
_id - Tipo: anythingproperty
Name
application/json - Tipo: object · ClaudeErrorResponse403
La cuenta no tiene permiso para usar el modelo. Los modelos deshabilitados también se rechazan antes de las llamadas upstream. Las solicitudes y tareas ya aceptadas continúan.
Envoltorio de error compatible con la API Errors de Claude para solicitudes Messages.
- Tipo: objecterrorobligatorio
- messageTipo: stringobligatorio
- typeTipo: stringobligatorio
- propertyTipo: anything
Name
- typeconstante:errorobligatorio
- Tipo: stringrequest
_id - Tipo: anythingproperty
Name
application/json - Tipo: object · ClaudeErrorResponse429
Se alcanzó el límite de gasto o de solicitudes
Envoltorio de error compatible con la API Errors de Claude para solicitudes Messages.
- Tipo: objecterrorobligatorio
- messageTipo: stringobligatorio
- typeTipo: stringobligatorio
- propertyTipo: anything
Name
- typeconstante:errorobligatorio
- Tipo: stringrequest
_id - Tipo: anythingproperty
Name
application/json - Tipo: object · ClaudeErrorResponse502
Error en la solicitud al proveedor upstream
Envoltorio de error compatible con la API Errors de Claude para solicitudes Messages.
- Tipo: objecterrorobligatorio
- messageTipo: stringobligatorio
- typeTipo: stringobligatorio
- propertyTipo: anything
Name
- typeconstante:errorobligatorio
- Tipo: stringrequest
_id - Tipo: anythingproperty
Name
application/json - Tipo: object · ClaudeErrorResponse503
El proveedor o el servicio de facturación no está disponible
Envoltorio de error compatible con la API Errors de Claude para solicitudes Messages.
- Tipo: objecterrorobligatorio
- messageTipo: stringobligatorio
- typeTipo: stringobligatorio
- propertyTipo: anything
Name
- typeconstante:errorobligatorio
- 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"
}