Public preview — Deze API is in public preview. Endpoints, schemas en limieten kunnen wijzigen vóór general availability.
API
Fouten
HTTP-statuscodes, error-payload-shape en welke fouten een retry waard zijn.
EU GPT retourneert conventionele HTTP-statuscodes en een kleine JSON-envelope. Deze pagina somt de codes op, de payload-shape en welke failures een retry waard zijn.
Payload-shape#
Alle non-2xx-responses retourneren JSON:
{
"detail": "Human-readable detail string or object",
"error": {
"type": "string",
"code": "string",
"message": "string"
}
}
Een paar 5xx-paden omzeilen de envelope en retourneren plain text. Behandel de envelope als best-effort: check altijd eerst de HTTP-status en kijk dan naar detail of error als ze er zijn.
Statuscodes#
400 Bad Request#
De request is structureel ongeldig. De meest voorkomende oorzaken:
inputontbreekt of is leeg.modelverwijst naar een onbekend ID (wanneer je nietautogebruikt).- Een UUID-veld is misvormd.
{ "detail": "input is required" }
Retry niet zonder wijzigingen — fix eerst de request.
401 Unauthorized#
Ontbrekende, misvormde of ingetrokken API-key. Check:
- De
Authorization-header is aanwezig en begint metBearer. - De key heeft het prefix
eugpt_. - De key is niet ingetrokken in de web-UI.
- Je roept dezelfde omgeving aan die de key heeft uitgegeven (productie-keys werken niet tegen staging).
Retry niet totdat je credentials hebt gefixt.
403 Forbidden#
De key is geldig maar de operatie is niet toegestaan. De veelvoorkomende gevallen:
conversation_idverwijst naar een gesprek dat eigendom is van een andere gebruiker → retourneert404(we verbergen bewust het bestaan).project_idverwijst naar een project waarvan de gebruiker geen member is.- Het license-plan staat de operatie niet toe (bv. trial verlopen, organisatie-beleid heeft API-toegang uitgeschakeld).
{
"detail": "Project membership required",
"error": "project_forbidden"
}
Retry alleen na het fixen van membership of het upgraden van het plan.
404 Not Found#
De gerefereerde resource bestaat niet voor deze gebruiker. Zowel “echt weg” als “niet van jou” retourneert 404, om te voorkomen dat we het bestaan van andermans data lekken.
Retry niet — de resource komt niet terug.
429 Too Many Requests#
Er werd een gebruikslimiet overschreden voor de caller. Retry met exponential backoff en een cap; als de response 429 blijft retourneren, vertraag en probeer het later opnieuw. Neem contact op als je tijdens normaal gebruik consistent tegen limieten aan loopt.
500 Internal Server Error#
Een onverwachte failure binnen EU GPT. Kan tijdelijk zijn.
{ "detail": "Internal error during response generation" }
Retry één of twee keer met exponential backoff. Als het blijft, ligt het aan onze kant — check de statuspagina (wanneer beschikbaar) en neem contact op.
502 / 503 / 504#
Geretourneerd door de load balancer wanneer de backend overbelast is of herstart. Behandel als tijdelijk — retry met exponential backoff.
Fouten in de stream#
Als de failure plaatsvindt nadat de response is begonnen te streamen, is de HTTP-status nog steeds 200 maar zal de stream eindigen met een error-event in plaats van response.completed:
event: message
data: {"type":"error","code":"upstream_timeout","message":"Model timed out"}
Check altijd het laatste event van de stream — neem geen success aan alleen omdat de stream opende. Veelvoorkomende in-stream-error-codes:
upstream_timeout— het model deed er te lang over. Retry.upstream_error— het model gaf een interne fout. Retry.internal_error— generieke platform-failure. Retry één keer.cancelled— de request werd gecanceld (bv. het upstream gesprek werd mid-flight verwijderd).
Idempotency#
Het endpoint honoreert nog geen Idempotency-Key. Een geretryde request genereert een nieuwe response. Voor interactief gebruik is dit zelden een probleem; voor batch jobs: dedupe aan jouw kant op een job-identifier en retry alleen op gedocumenteerde retriable codes.