Public preview — Deze API is in public preview. Endpoints, schemas en limieten kunnen wijzigen vóór general availability.
API
API-referentie
Interactieve OpenAPI 3.1-referentie voor /v1/responses.
Dit is de live OpenAPI 3.1-referentie voor de EU GPT publieke API. Gebruik de panelen hieronder om endpoints te verkennen, schemas te bekijken en requests te proberen tegen je omgeving.
Voor een top-to-bottom prose-walkthrough van dezelfde surface, zie Een response aanmaken.
EU GPT — Public API
v1.0.0 External-facing API for programmatic access to EU GPT.
Authenticate every request with an API key issued from the EU GPT web app:
Authorization: Bearer eugpt_<token>
Keys are managed in the chat UI (Settings → API Keys). They have no rotating refresh — revoke and reissue when needed.
Base URL
https://chat.eugpt.ai Production Authenticatie
apiKey http · bearer Bearer-formaat eugpt_<token>
Authorization: Bearer eugpt_<token>.Endpoints
/v1/responses Create a response
Generate an AI response from a user message. Two modes:
- Streaming (
stream: true, default) — returns Server-Sent Events with OpenAI-compatible event payloads. Each event is delivered asevent: message\ndata: <json>\n\n. Stream completion is signalled by aresponse.completedevent. - Non-streaming (
stream: false) — collects all output and returns a single JSON document.
Conversations are optional. Omit conversation_id for stateless
requests; pass an existing UUID to append to a thread that belongs to
the authenticated user. Tools (web search, web fetch, calculator,
etc.) are auto-approved for API requests — there is no interactive
approval gate.
Request body Verplicht
modelstringAccepted for OpenAI-SDK compatibility but ignored — the router always selects the model. Pass"auto"(the default and only meaningful value); any concrete id you send has no effect. The actual model used is reported in the responsemodelfield.StandaardautoVoorbeeldautoinputstring | ContentItem[]VerplichtEither a plain string (single user message) or a list of structuredContentItemobjects for multi-modal / file input.streambooleanStream as SSE (true, default) or return a single JSON response (false).StandaardtrueinstructionsstringNullableSystem prompt for this response (or conversation, if new).conversation_iduuidNullableAppend to an existing conversation. Omit for a stateless request — an ephemeral conversation is created and returned in the response.project_iduuidNullableProject context for RAG retrieval. Caller must be a member of the project.
Responses
200 Either an SSE stream (stream: true) or a single JSON response
(stream: false). application/json · text/event-stream ▾
stream: true) or a single JSON response
(stream: false). iduuidVerplichtobject"response"Verplichtcreated_atintegerVerplichtUnix epoch milliseconds (zero if the chain didn't emit).status"completed"VerplichtmodelstringVerplichtConcrete model id used (resolved from"auto"when needed).outputobject[]VerplichtStructured output items (text blocks, tool calls, etc.) in the same shape as the SSEresponse.output_item.addedevents.output_textstringVerplichtConcatenated text deltas — convenience for plain-text consumers.
400 Input message is required or otherwise invalid. application/json ▾
detailstring | objecterrorobject
401 Missing, expired, or revoked API key. application/json ▾
detailstring | objecterrorobject
403 License or organization policy denies the request — for example,
user is not a member of the requested project, or the
organization's plan disallows the operation. application/json ▾
detailstring | objecterrorobject
404 Referenced conversation or project does not exist. application/json ▾
detailstring | objecterrorobject
429 Daily or monthly token usage limit exceeded. application/json ▾
detailstring | objecterrorobject
500 Internal error during response generation. application/json ▾
detailstring | objecterrorobject
Schemas
CreateResponseRequest
object modelstringAccepted for OpenAI-SDK compatibility but ignored — the router always selects the model. Pass"auto"(the default and only meaningful value); any concrete id you send has no effect. The actual model used is reported in the responsemodelfield.StandaardautoVoorbeeldautoinputstring | ContentItem[]VerplichtEither a plain string (single user message) or a list of structuredContentItemobjects for multi-modal / file input.streambooleanStream as SSE (true, default) or return a single JSON response (false).StandaardtrueinstructionsstringNullableSystem prompt for this response (or conversation, if new).conversation_iduuidNullableAppend to an existing conversation. Omit for a stateless request — an ephemeral conversation is created and returned in the response.project_iduuidNullableProject context for RAG retrieval. Caller must be a member of the project.
ContentItem
object rolestringNullableOptional role hint (e.g."user").typestringNullablecontentInputText | InputFile[]Verplicht
InputContent
InputText | InputFile InputText
object type"input_text"VerplichttextstringVerplicht
InputFile
object type"input_file"Verplichtfile_iduuidVerplichtId of a file previously uploaded via the file upload API.
ResponseObject
object stream: false.iduuidVerplichtobject"response"Verplichtcreated_atintegerVerplichtUnix epoch milliseconds (zero if the chain didn't emit).status"completed"VerplichtmodelstringVerplichtConcrete model id used (resolved from"auto"when needed).outputobject[]VerplichtStructured output items (text blocks, tool calls, etc.) in the same shape as the SSEresponse.output_item.addedevents.output_textstringVerplichtConcatenated text deltas — convenience for plain-text consumers.
SseEventStream
text/event-stream data: line.
Event types:
- response.created — initial event with response metadata.
- response.output_text.delta — incremental text chunks.
- response.output_text.done — text part finalised.
- response.output_item.added / response.output_item.done —
structured items (tool calls, file references).
- response.content_part.added — additional content parts.
- response.completed — terminal success event.
- error — terminal error event with {type, code, message}.Error
object detailstring | objecterrorobject