Chat Completions
Conversas de texto e chamadas de função executadas pelo cliente no formato OpenAI Chat.
Atualizado em 31 de outubro de 2026 · Contrato 0.2.0
Contrato de requisição
Envie de 1 a 128 mensagens ordenadas dos tipos system, user, assistant ou tool. Use max_tokens ou max_completion_tokens, nunca ambos. Cada requisição é limitada pelo teto configurado do modelo e pelos limites compartilhados de entrada serializada.
Chamadas de função
Há suporte a até oito funções declaradas e resultados de chamadas com limites. tool_choice pode ser auto, none, required ou uma função nomeada. O cliente executa as funções retornadas; uma função chamada shell nunca autoriza execução nos hosts do NotHoly.
Streaming
Defina stream:true. Os chunks preservam um ID estável e fragmentos indexados de argumentos de ferramentas. include_usage emite um chunk final somente com uso. [DONE] aparece apenas após a conclusão bem-sucedida; uma saída parcial pode ser seguida por um erro.
Resposta e limitações
Leia choices[0].message e finish_reason. O conteúdo pode ser null em turnos apenas com ferramentas. Campos desconhecidos e ciclos de ferramentas malformados falham antes do despacho. Os campos opcionais de esforço, amostragem e formato de resposta exigem um recurso do modelo explicitamente ativado; o schema gerado documenta seu formato exato aceito.
Exemplo de requisição
Use sua chave de cliente e um modelo publicado. Copiar um exemplo não envia uma requisição.
curl https://api.notholy.com/v1/chat/completions \
-H "Authorization: Bearer $NOTHOLY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "notholy-pulse",
"messages": [
{
"role": "user",
"content": "Explain least privilege."
}
],
"max_tokens": 256
}'Fixture de contrato HTTP. Verificações com fixtures são distintas da disponibilidade de modelos ao vivo.
Campos de requisição
Gerado a partir do contrato versionado. As regras de refinamento acima continuam valendo.
modelstringobrigatórioAté 100 caracteres.
messagesarray<object | object | object>obrigatórioAté 128 itens. Pelo menos 1 item.
toolsarray<object>Até 8 itens.
Mostrar campos do item
type"function"obrigatóriofunctionobjectobrigatórioCampos desconhecidos são rejeitados.
Mostrar campos do objeto
namestringobrigatóriodescriptionstringPadrão: "". Até 1.000 caracteres.
parametersobjectobrigatóriotool_choice"auto" | "none" | "required" | objectMostrar variantes aceitas
Variante 1"auto" | "none" | "required"Variante 2objectCampos desconhecidos são rejeitados.
Mostrar campos do objeto
type"function"obrigatóriofunctionobjectobrigatórioCampos desconhecidos são rejeitados.
Mostrar campos do objeto
namestringobrigatóriomax_tokensintegerMínimo de 1. Máximo de 512.000.
max_completion_tokensintegerMínimo de 1. Máximo de 512.000.
reasoning_effort"off" | "none" | "low" | "high" | "max"temperaturenumberMínimo de 0. Máximo de 2.
top_pnumberMínimo de 0. Máximo de 1.
stopstring | array<string>Mostrar variantes aceitas
Variante 1stringAté 1.024 caracteres.
Variante 2array<string>Até 16 itens. Pelo menos 1 item.
response_formatobject | object | objectMostrar variantes aceitas
Variante 1objectCampos desconhecidos são rejeitados.
Mostrar campos do objeto
type"text"obrigatórioVariante 2objectCampos desconhecidos são rejeitados.
Mostrar campos do objeto
type"json_object"obrigatórioVariante 3objectCampos desconhecidos são rejeitados.
Mostrar campos do objeto
type"json_schema"obrigatóriojson_schemaobjectobrigatórioCampos desconhecidos são rejeitados.
Mostrar campos do objeto
namestringobrigatóriodescriptionstringAté 1.000 caracteres.
schemaobjectobrigatóriostrictbooleaneffort"off" | "none" | "low" | "high" | "max"prompt_tokensintegerMínimo de 0. Máximo de 9.007.199.254.740.991.
streambooleanPadrão: false.
stream_optionsobjectCampos desconhecidos são rejeitados.
Mostrar campos do objeto
include_usagebooleanobrigatórioSchema da resposta
idstringobrigatórioobject"chat.completion"obrigatóriocreatedintegerobrigatórioMínimo de -9.007.199.254.740.991. Máximo de 9.007.199.254.740.991.
modelstringobrigatóriochoicesarray<object>obrigatórioAté 1 item. Pelo menos 1 item.
Mostrar campos do item
index0obrigatóriomessageobjectobrigatórioCampos desconhecidos são rejeitados.
Mostrar campos do objeto
role"assistant"obrigatóriocontentstring | nullobrigatórioreasoning_contentstringtool_callsarray<object>Mostrar campos do item
idstringobrigatóriotype"function"obrigatóriofunctionobjectobrigatórioCampos desconhecidos são rejeitados.
finish_reason"stop" | "tool_calls" | "length"obrigatóriousageobjectobrigatórioCampos desconhecidos são rejeitados.
Mostrar campos do objeto
prompt_tokensinteger | nullobrigatórioMínimo de -9.007.199.254.740.991. Máximo de 9.007.199.254.740.991.
completion_tokensinteger | nullobrigatórioMínimo de -9.007.199.254.740.991. Máximo de 9.007.199.254.740.991.
total_tokensinteger | nullobrigatórioMínimo de -9.007.199.254.740.991. Máximo de 9.007.199.254.740.991.
prompt_tokens_detailsobjectCampos desconhecidos são rejeitados.
Mostrar campos do objeto
cached_tokensintegerobrigatórioMínimo de 0. Máximo de 9.007.199.254.740.991.
completion_tokens_detailsobjectCampos desconhecidos são rejeitados.
Mostrar campos do objeto
reasoning_tokensintegerobrigatórioMínimo de 0. Máximo de 9.007.199.254.740.991.