Saltar a la documentación

Anthropic Messages

Bloques de texto y herramientas que usan el subconjunto documentado del protocolo Messages.

Actualizado el 31 de octubre de 2026 · Contrato 0.2.0

POST/v1/messages

Contrato de solicitud

Proporciona la cabecera anthropic-version actual y max_tokens. Usa texto user/assistant y texto system en el nivel superior. El adaptador también acepta texto con role system dentro de los límites. Este protocolo ofrece modelos de NotHoly, no pesos de Claude.

Herramientas y orden de los resultados

Los bloques tool_use de assistant se emparejan con bloques tool_result de user. Los resultados preceden al nuevo texto del usuario. No se admite texto de assistant después de bloques de uso de herramientas para evitar reordenar el contenido de forma silenciosa. El cliente ejecuta las funciones.

Streaming nativo incremental

El stream envía message_start, eventos content_block_start/delta/stop indexados, message_delta y message_stop cuando la finalización es correcta. El texto y el progreso validado de los argumentos de herramientas llegan durante la generación. Un fallo emite un evento de error nativo, sin un falso evento terminal de éxito. Los acumuladores de los SDK oficiales reconstruyen el resultado.

Funciones no compatibles

Se rechazan imágenes, documentos, controles de caché, controles de thinking, herramientas de servidor, secuencias de parada, muestreo y opciones explícitas de control de paralelismo. El contenido de thinking expuesto por el proveedor, cuando es compatible, usa una firma vacía y x-notholy-thinking-signature: unavailable; no se inventa ninguna firma de integridad de Claude. Solo estos bloques de assistant sin firma pueden enviarse de vuelta. El uso de entrada normal excluye los tokens de lectura de caché.

Ejemplo de solicitud

Usa tu clave de cliente y un modelo publicado. Copiar un ejemplo no envía una solicitud.

curl
curl https://api.notholy.com/v1/messages \
  -H "Authorization: Bearer $NOTHOLY_API_KEY" \
  -H "anthropic-version: 2026-10-21" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "notholy-pulse",
  "messages": [
    {
      "role": "user",
      "content": "Explain least privilege."
    }
  ],
  "max_tokens": 256
}'

Fixture de contrato HTTP. Las comprobaciones con fixtures son distintas de la disponibilidad de modelos en vivo.

Campos de solicitud

Generado a partir del contrato versionado. Las reglas de refinamiento anteriores siguen aplicándose.

systemstring | array<object>

Mostrar variantes aceptadas
Variante 1string

Hasta 1.048.576 caracteres.

Variante 2array<object>

Hasta 128 elementos.

Mostrar campos del elemento
type"text"obligatorio

textstringobligatorio

Hasta 1.048.576 caracteres.

modelstringobligatorio

Hasta 100 caracteres.

max_tokensintegerobligatorio

Mínimo de 1. Máximo de 512.000.

messagesarray<object>obligatorio

Hasta 128 elementos. Al menos 1 elemento.

Mostrar campos del elemento
role"user" | "assistant" | "system"obligatorio

contentstring | array<object | object | object | object>obligatorio

Mostrar variantes aceptadas
Variante 1string

Hasta 1.048.576 caracteres.

Variante 2array<object | object | object | object>

Hasta 128 elementos. Al menos 1 elemento.

streamboolean

toolsarray<object>

Hasta 8 elementos.

Mostrar campos del elemento
namestringobligatorio

descriptionstring

Hasta 1000 caracteres.

input_schemaobjectobligatorio

Mostrar campos del objeto
type"object"obligatorio

propertiesobject

requiredarray<string>

additionalPropertiesboolean

tool_choiceobject | object

Mostrar variantes aceptadas
Variante 1object

Se rechazan los campos desconocidos.

Mostrar campos del objeto
type"auto" | "any" | "none"obligatorio

Variante 2object

Se rechazan los campos desconocidos.

Mostrar campos del objeto
type"tool"obligatorio

namestringobligatorio

Esquema de respuesta

idstringobligatorio

type"message"obligatorio

role"assistant"obligatorio

contentarray<object | object | object>obligatorio

modelstringobligatorio

stop_reason"end_turn" | "tool_use" | "max_tokens" | nullobligatorio

stop_sequencenullobligatorio

usageobjectobligatorio

Se rechazan los campos desconocidos.

Mostrar campos del objeto
input_tokensintegerobligatorio

Mínimo de 0. Máximo de 9.007.199.254.740.991.

output_tokensintegerobligatorio

Mínimo de 0. Máximo de 9.007.199.254.740.991.

cache_creation_input_tokensintegerobligatorio

Mínimo de 0. Máximo de 9.007.199.254.740.991.

cache_read_input_tokensintegerobligatorio

Mínimo de 0. Máximo de 9.007.199.254.740.991.