CometAPI-foutafhandeling is het eenvoudigst wanneer je onderscheid maakt tussen problemen met de vorm van de aanvraag, auth-problemen, padfouten en platformfouten die opnieuw geprobeerd kunnen worden. Gebruik de combinatie van HTTP-status,Documentation Index
Fetch the complete documentation index at: https://apidoc.cometapi.com/llms.txt
Use this file to discover all available pages before exploring further.
error.code en error.message om te bepalen of je de aanvraag moet corrigeren of opnieuw moet proberen.
Snelle triage
| Status | Wat het meestal betekent | Opnieuw proberen? | Eerste actie |
|---|---|---|---|
400 | Validatie van de aanvraag is mislukt voordat de aanvraag normaal werd verwerkt. | Nee | Valideer model, messages, de JSON-structuur en veldtypen. |
401 | API key ontbreekt, is onjuist gevormd of ongeldig. | Nee | Controleer Authorization: Bearer <COMETAPI_KEY>. |
403 | Toegang is geblokkeerd of de huidige aanvraag was niet toegestaan. | Meestal niet | Probeer opnieuw met een bekende werkende aanvraag en verwijder eerst modelspecifieke velden. |
| Padfout | Verkeerde base URL of verkeerd endpoint-pad. Bij Comet kan dit verschijnen als een 301-redirect of HTML, niet als een nette JSON-404. | Nee | Gebruik exact https://api.cometapi.com/v1 en schakel automatisch redirects volgen uit tijdens het debuggen. |
429 | Rate limiting of tijdelijke verzadiging. | Ja | Gebruik exponentiële backoff met jitter. |
500 met error.code: invalid_request | Een onjuist gevormde aanvraag kwam naar voren via een serverstatus-response. | Nee | Corrigeer de request body voordat je opnieuw probeert. |
500, 503, 504, 524 | Platform-, provider- of timeout-klassefout. | Ja | Probeer opnieuw met backoff en bewaar de request id. |
Error envelope
Veel CometAPI-fouten gebruiken een error body zoals deze:code leeg. Wanneer de status 500 is, behandel dan error.code en error.message als het doorslaggevende signaal.
400 Bad Request
Een 400 betekent meestal dat validatie van de request body is mislukt voordat de aanvraag normaal kon worden verwerkt.
Veelvoorkomende oorzaken:
- Ontbrekende verplichte velden zoals
model - Ongeldige JSON-structuur
- Een veld verzenden met het verkeerde type
- Providerspecifieke parameters hergebruiken die het geselecteerde endpoint niet accepteert
your-model-id door een actueel model ID van de CometAPI Models page.
Ga er niet van uit dat elke onjuist gevormde chataanvraag een 400 retourneert. Ontbrekende verplichte chatvelden zoals messages kunnen ook naar voren komen als 500 met error.code: invalid_request.
500 Internal Server Error
De meeste 500-responses wijzen op een platform- of providerfout. Voor Chat Completions kunnen sommige onjuist gevormde aanvragen ook naar voren komen als 500, terwijl ze nog steeds error.code: invalid_request bevatten.
Eén voorbeeld is een aanvraag waarin messages ontbreekt:
500-response error.code: invalid_request heeft, behandel die dan als een aanvraagprobleem:
- Corrigeer de request body.
- Vergelijk de payload met het endpointschema.
- Probeer pas opnieuw nadat je de payload hebt gecorrigeerd.
500-response niet wijst op een ongeldige aanvraag, bewaar dan de request id en gebruik backoff.
401 Invalid Token
Een tokenfout ziet er meestal zo uit:
- De header moet exact
Authorization: Bearer <COMETAPI_KEY>zijn. - Zorg ervoor dat je app geen oude key laadt uit
.env, shell history of een deployed secret store. - Als de ene key faalt en een andere key werkt voor dezelfde request, behandel dit dan als een tokenprobleem, niet als een endpointprobleem.
403 Forbidden
403 is meestal een van deze situaties:
- De request wordt geblokkeerd door een platform-side regel zoals WAF-filtering
- De token of route mag het gevraagde model of de requestvorm niet gebruiken
- Het gekozen model wijst een van de geavanceerde parameters af die je hebt meegegeven
- Probeer opnieuw met een zeer eenvoudige tekstrequest tegen een bekend werkend model.
- Verwijder geavanceerde velden en provider-specifieke parameters en voeg ze daarna geleidelijk weer toe.
- Als de response een request id bevat, bewaar die dan voordat je contact opneemt met support.
Verkeerde base URL of verkeerd pad
Bij Comet kan een padfout zichtbaar worden als:- Een redirect
- Een niet-JSON HTML-response als je client redirects volgt
- Een parsefout binnen je SDK
- Een request die de API-laag nooit goed bereikt
- Bevestig dat de base URL
/v1bevat. - Bevestig dat het endpointpad exact overeenkomt met de documentatie.
- Schakel automatisch redirects volgen uit terwijl je padproblemen debugt.
413 Request Entity Too Large
Als je 413 ziet, behandel dit dan eerst als een probleem met de requestgrootte. Veelvoorkomende verdachten zijn:
- Grote base64-payloads
- Te grote afbeeldingen of audio die inline zijn ingesloten
- Zeer grote multipart- of JSON-bodies
- Verklein of comprimeer bijgevoegde content.
- Splits grote taken op in kleinere requests.
- Ga er niet van uit dat alleen de lengte van platte tekst de oorzaak is.
429 Too Many Requests
Behandel 429 als retryable:
- Gebruik exponentiële backoff met jitter.
- Verlaag burst concurrency.
- Laat request-logging ingeschakeld zodat je kunt zien welke route en welk model als eerste verzadigd raken.
503, 504, en 524
Deze statussen zijn server-side of timeout-class failures.
Praktische richtlijnen:
503: route of provider service tijdelijk niet beschikbaar504en524: timeout-class failures tussen het platform, de edge of de provider service
- Probeer opnieuw met backoff.
- Bewaar het
request id, endpoint, model en de timestamp. - Als dezelfde fout zich bij meerdere retries blijft herhalen, neem dan contact op met support met die context.
Voordat je contact opneemt met support
Leg eerst deze gegevens vast:- HTTP-methode
- Endpoint-pad
- Model ID
- Geschoonde JSON van de request body (dit is voor de meeste API-calls het meest bruikbare onderdeel)
- Queryparameters als de mislukte request die gebruikte
- Exacte response body als je client die heeft vastgelegd
- Volledige HTTP-status
- De exacte
error.message - Eventuele
request id - Geschatte tijdstempel
- Of dezelfde request werkt met een ander model of een andere token
- Veldnamen en tekstwaarden die je naast het bestand hebt meegestuurd
- Bestandsnaam, bestandstype en geschatte bestandsgrootte
- Of het bestand direct is geüpload, via URL is gerefereerd of als base64 is ingesloten