POST /v1/responses y recibir una respuesta completa.
Transmite la respuesta
Cada evento analizado (TypeScript y Python) conserva sus campos originales (
type, delta, …) y añade text, usage y los tokens de razonamiento (reasoningTokens / reasoning_tokens). text solo contiene texto nuevo: está vacío en los eventos .done y en response.completed, que repiten texto que ya tienes, y el texto completo de un evento .done está en fullText / full_text.
Con líneas SSE sin procesar (C#, PHP, Ruby, Java), analiza cada línea data: como JSON y gestiona por tu cuenta los nombres de evento, los tipos de evento como response.output_text.delta y response.completed, y los marcadores de finalización. Los métodos de streaming definen stream: true por ti, así que no lo definas en la solicitud.
Lee el texto de salida
La salida es un array de elementos. El texto está en los elementos deoutput de tipo message, las llamadas a funciones en los elementos de tipo function_call, y el recuento de tokens en usage. resp.output_text de Python une el texto por ti.
Envía herramientas de función
El cuerpo de la solicitud es el mismo en todos los SDK. En Rust:Rust
Parámetros
Los nombres de los campos son los del cuerpo JSON en todos los SDK. El tipophaseo.ResponsesRequest de Go usa campos de struct en PascalCase (Model, Input).
Parámetros explica cada campo, y la referencia de la API de Responses tiene el esquema completo.
Respuesta
ResponsesResponse:
stream: true, el endpoint envía eventos SSE tipados. El texto llega en eventos response.output_text.delta, y el evento final response.completed lleva la respuesta completa con el uso: