Pular para o conteúdo principal

Responses Response


O objeto de resposta

Representa uma resposta retornada pelo modelo na Responses API, baseada na entrada fornecida.

id string​

Identificador único da resposta (ex: resp-abc123def456).


object string​

O tipo do objeto, sempre "response".


created_at integer​

Timestamp Unix (em segundos) da criação da resposta.


status string​

Status da resposta: "completed", "failed" ou "in_progress".


model string​

O modelo utilizado para gerar a resposta.


output array​

Lista de itens de saída. Cada item pode ser uma mensagem ou uma chamada de função.

message (object)
  • id (string): Identificador único da mensagem.
  • type (string): Sempre "message".
  • role (string): Sempre "assistant".
  • status (string): "completed" ou "in_progress".
  • content (array): Lista de partes de conteúdo:
    • type (string): "output_text".
    • text (string): Texto gerado pelo modelo.
    • annotations (array): Anotações (geralmente vazia).
function_call (object)
  • id (string): Identificador único do item.
  • type (string): Sempre "function_call".
  • name (string): Nome da função a ser chamada.
  • arguments (string): Argumentos em JSON serializado.
  • call_id (string): Identificador da chamada (usado para enviar o resultado de volta).
  • status (string): "completed".

usage object​

Estatísticas de uso de tokens.

Mostrar propriedades
  • input_tokens (integer): Tokens consumidos na entrada.
  • output_tokens (integer): Tokens gerados na saída.
  • total_tokens (integer): Total de tokens (entrada + saída).
  • input_tokens_details (object ou null):
    • cached_tokens (integer): Tokens vindos de cache.
  • output_tokens_details (object ou null):
    • reasoning_tokens (integer): Tokens usados em raciocínio.

error object ou null​

Objeto de erro quando status é "failed".

Mostrar propriedades
  • code (string): Código do erro (ex: "server_error", "internal_error").
  • message (string): Mensagem descritiva do erro.

incomplete_details object ou null​

Detalhes sobre por que a resposta está incompleta (ex: atingiu max_output_tokens).

Mostrar propriedades
  • reason (string): Motivo da interrupção (ex: "max_output_tokens").

instructions string ou null​

Instruções de sistema enviadas na requisição.


temperature float ou null​

Temperatura de amostragem usada.


top_p float ou null​

Top-p usado.


max_output_tokens int ou null​

Limite de tokens configurado.


metadata object​

Metadados da requisição (pares chave-valor).


tools array​

Ferramentas que estavam disponíveis para o modelo.


tool_choice string ou object ou null​

Configuração de uso de ferramentas.


parallel_tool_calls boolean​

Se chamadas paralelas de ferramentas estavam habilitadas.


store boolean​

Se a resposta foi armazenada.


Eventos de Streaming​

Quando stream: true, a API retorna eventos via Server-Sent Events (SSE).

EventoDescrição
response.createdResposta criada
response.in_progressGeração iniciada
response.output_item.addedNovo item de saída adicionado
response.content_part.addedNova parte de conteúdo iniciada
response.output_text.deltaFragmento de texto gerado
response.output_text.doneTexto completo finalizado
response.content_part.doneParte de conteúdo finalizada
response.output_item.doneItem de saída finalizado
response.completedResposta completa (com usage)
response.failedErro durante a geração

Todos os eventos incluem um campo sequence_number incrementado a cada evento.


Códigos de Erro HTTP​

StatusDescrição
200Sucesso
400Parâmetro não suportado ou requisição inválida
401Chave de API ausente ou inválida
422Erro de validação
429Rate limit excedido
500Erro interno do servidor

Exemplo de Response​

{
"id": "resp-abc123def456",
"object": "response",
"created_at": 1234567890,
"status": "completed",
"model": "sabia-4",
"output": [
{
"id": "msg-def456",
"type": "message",
"role": "assistant",
"status": "completed",
"content": [
{
"type": "output_text",
"text": "A capital do Brasil é Brasília.",
"annotations": []
}
]
}
],
"usage": {
"input_tokens": 12,
"output_tokens": 8,
"total_tokens": 20,
"input_tokens_details": {
"cached_tokens": 0
},
"output_tokens_details": {
"reasoning_tokens": 0
}
},
"temperature": 0.7,
"top_p": 0.95,
"max_output_tokens": null,
"instructions": null,
"metadata": {},
"tools": [],
"tool_choice": "auto",
"parallel_tool_calls": true,
"store": false,
"error": null,
"incomplete_details": null
}

Exemplo de function_call no output​

{
"id": "resp-xyz789",
"object": "response",
"created_at": 1234567890,
"status": "completed",
"model": "sabia-4",
"output": [
{
"id": "fc-abc123",
"type": "function_call",
"name": "get_weather",
"arguments": "{\"city\": \"São Paulo\"}",
"call_id": "call_abc123",
"status": "completed"
}
],
"usage": {
"input_tokens": 25,
"output_tokens": 15,
"total_tokens": 40
}
}

Exemplo de Streaming (SSE)​

event: response.created
data: {"type":"response.created","response":{...},"sequence_number":1}

event: response.in_progress
data: {"type":"response.in_progress","response":{...},"sequence_number":2}

event: response.output_item.added
data: {"type":"response.output_item.added","output_index":0,"item":{...},"sequence_number":3}

event: response.content_part.added
data: {"type":"response.content_part.added","item_id":"msg-def456","output_index":0,"content_index":0,"part":{"type":"output_text","text":""},"sequence_number":4}

event: response.output_text.delta
data: {"type":"response.output_text.delta","item_id":"msg-def456","output_index":0,"content_index":0,"delta":"A capital","sequence_number":5}

event: response.output_text.delta
data: {"type":"response.output_text.delta","item_id":"msg-def456","output_index":0,"content_index":0,"delta":" do Brasil","sequence_number":6}

event: response.output_text.done
data: {"type":"response.output_text.done","item_id":"msg-def456","output_index":0,"content_index":0,"text":"A capital do Brasil é Brasília.","sequence_number":7}

event: response.content_part.done
data: {"type":"response.content_part.done","item_id":"msg-def456","output_index":0,"content_index":0,"part":{"type":"output_text","text":"A capital do Brasil é Brasília."},"sequence_number":8}

event: response.output_item.done
data: {"type":"response.output_item.done","output_index":0,"item":{...},"sequence_number":9}

event: response.completed
data: {"type":"response.completed","response":{...,"usage":{"input_tokens":12,"output_tokens":8,"total_tokens":20}},"sequence_number":10}