Deze gids is gebaseerd op live controles op de huidige CometAPI API. We hebben
400, 401 en pad-/base URL-fouten direct geverifieerd. We hebben 413, 429, 500, 503, 504 of 524 niet gereproduceerd in begrensde tests, dus de richtlijnen voor die statussen zijn bewust conservatief.Snelle triage
| Status | Wat het meestal betekent | Opnieuw proberen? | Eerste actie |
|---|---|---|---|
400 | Requestvalidatie is mislukt voordat het request succesvol werd gerouteerd. | Nee | Valideer model, messages, JSON-structuur en veldtypen. |
401 | API-sleutel ontbreekt, is onjuist gevormd of ongeldig. | Nee | Controleer Authorization: Bearer <COMETAPI_KEY>. |
403 | Toegang is geblokkeerd of het huidige request was niet toegestaan. | Meestal niet | Probeer opnieuw met een bekend werkend request en verwijder eerst modelspecifieke velden. |
| Padfout | Verkeerde base URL of verkeerd endpointpad. 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 exponential backoff met jitter. |
500, 503, 504, 524 | Platform- of timeout-gerelateerde fout. | Ja | Probeer opnieuw met backoff en bewaar het request id. |
Error Envelope
De huidige JSON-error envelope die door CometAPI wordt teruggegeven, ziet er zo uit:request id binnen error.message. Bewaar die waarde wanneer je ondersteuning nodig hebt.
400 Bad Request
Wat we hebben waargenomen van de live API toen model ontbrak:
400 meestal dat de requestbody validatie niet heeft doorstaan voordat het platform deze naar de modelprovider kon routeren.
Veelvoorkomende oorzaken:
- Ontbrekende verplichte velden zoals
modelofmessages - Ongeldige JSON-structuur
- Een veld verzenden met het verkeerde type
- Providerspecifieke parameters hergebruiken die het geselecteerde endpoint niet accepteert
- Begin met een minimaal, bekend werkend request.
- Voeg optionele velden één voor één weer toe.
- Vergelijk de requestbody met het endpointschema in de API-referentie.
your-model-id door een actuele model-ID van de CometAPI Models page.
401 Invalid Token
Wat we hebben waargenomen van de live API met een ongeldige sleutel:
- De header moet exact
Authorization: Bearer <COMETAPI_KEY>zijn. - Zorg ervoor dat je app geen oude sleutel laadt uit
.env, shellgeschiedenis of een gedeployde secret store. - Als één sleutel faalt en een andere sleutel werkt voor hetzelfde request, behandel dit dan als een tokenprobleem, niet als een endpointprobleem.
403 Forbidden
We hebben in afgebakende tests geen stabiele 403 gereproduceerd, dus vermijd om één oud berichtsjabloon als het hele verhaal te behandelen.
In de huidige Comet-documentatie wordt 403 meestal besproken als een van deze situaties:
- Het verzoek wordt geblokkeerd door een platformregel, zoals WAF-filtering
- De token of route mag het aangevraagde model of de aangevraagde request-vorm niet gebruiken
- Het gekozen model wijst een van de geavanceerde parameters af die je hebt meegestuurd
- Probeer opnieuw met een zeer eenvoudig tekstverzoek tegen een model waarvan bekend is dat het goed werkt.
- 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
Dit is het gebied waar de oude pagina het minst accuraat was. In live controles tegen de huidige Comet-endpoints:- Posten naar
https://api.cometapi.com/chat/completionsgaf een301redirect naarhttps://www.cometapi.com/chat/completions - Posten naar een nep-API-route zoals
https://api.cometapi.com/v1/not-a-real-endpointgaf ook een301redirect naarhttps://www.cometapi.com/v1/not-a-real-endpoint
- Een redirect
- Een niet-JSON HTML-response als je client redirects volgt
- Een parseerfout binnen je SDK
- Een request dat de API-laag nooit netjes bereikt
- Bevestig dat de base URL
/v1bevat. - Bevestig dat het endpoint-pad exact overeenkomt met de documentatie.
- Schakel het automatisch volgen van redirects uit terwijl je padproblemen debugt.
413 Request Entity Too Large
We hebben 413 niet gereproduceerd in een afgebakende test, zelfs niet met een te grote 8 MiB JSON-request body, dus de oude uitleg dat de prompt te lang was, was te beperkt.
Als je toch 413 ziet, behandel het dan eerst als een probleem met de request-grootte. 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
We hebben 429 niet gereproduceerd tijdens een afgebakende gelijktijdigheidsproef met 24 parallelle GET /v1/models-requests, dus de exacte drempel hangt duidelijk af van de route, het model en de huidige toestand van het platform.
Behandel 429 als opnieuw te proberen:
- Gebruik exponential backoff met jitter.
- Verminder burst-concurrency.
- Laat request-logging aan staan zodat je kunt zien welke route en welk model als eerste verzadigd raken.
500, 503, 504, En 524
We hebben deze statussen niet gereproduceerd in afgebakende tests. Ze moeten worden gedocumenteerd als server-side of timeout-klasse fouten, niet als gebruikersfouten.
Praktische richtlijnen:
500: interne platform- of provider-side fout503: route of provider-service tijdelijk niet beschikbaar504en524: timeout-klasse fouten tussen het platform, de edge of de provider-service
- Probeer opnieuw met backoff.
- Bewaar de
request id, endpoint, model en timestamp. - Als dezelfde fout zich over meerdere retries blijft herhalen, neem dan contact op met support met die context.
Voordat je contact opneemt met support
Verzamel eerst deze gegevens:- HTTP-methode
- Endpoint-pad
- Modelnaam
- Geschoonde request body-JSON (dit is voor de meeste API-calls het meest nuttige item)
- 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 timestamp
- Of dezelfde request werkt met een ander model of een andere token
- Veldnamen en tekstwaarden die je naast het bestand hebt verstuurd
- Bestandsnaam, bestandstype en geschatte bestandsgrootte
- Of het bestand direct is geüpload, via URL is verwezen, of als base64 is ingesloten