Het begrijpen van foutmeldingen helpt je om problemen snel op te lossen. Dit zijn de meest voorkomende fouten die je tegenkomt.
400 Bad Request
{
"error": "media_id is vereist"
}
Oorzaken:
Ontbrekende vereiste parameter
Ongeldig parameterformaat
Ongeldige JSON
Oplossing: Controleer of je request body overeenkomt met de API-specificatie op api.cathopic.com/docs.
401 Unauthorized
{
"message": "Niet geautoriseerd"
}
of
{
"error": "Onjuiste token"
}
Oorzaken:
Ontbrekende of ongeldige API-sleutel
Gedeactiveerde API-sleutel
Verkeerde naam van de header
Oplossing: Controleer of je x-api-key header correct is en de sleutel actief is in Instellingen → API.
404 Not Found
{
"error": "Geen bestand gevonden voor media_id 1234"
}
of
{
"error": "Media-item niet gevonden"
}
Oorzaken:
De resource bestaat niet
De resource is verwijderd
Verkeerde media_id
Oplossing: Controleer of de media_id bestaat door eerst te zoeken met /resources.
429 Too Many Requests
{
"error": "Limiet overschreden."
}
Oorzaken:
Te veel verzoeken in korte tijd
Snelheidslimiet overschreden
Oplossing: Implementeer exponential backoff. Wacht en probeer opnieuw met oplopende vertragingen (1s, 2s, 4s, enz.).
500 Internal Server Error
{
"error": "Interne serverfout"
}
Oorzaken:
Tijdelijk serverprobleem
Onverwachte situatie
Oplossing: Wacht even en probeer opnieuw. Als het blijft optreden, neem contact op met support.
Voorbeeld van foutafhandeling
async function searchWithErrorHandling(query) {
try {
const response = await fetch('https://api.cathopic.com/resources', {
method: 'POST',
headers: {
'x-api-key': apiKey,
'Content-Type': 'application/json'
},
body: JSON.stringify({ query, page: 1, page_size: 20 })
});
if (!response.ok) {
const error = await response.json();
switch (response.status) {
case 400:
console.error('Bad request:', error);
break;
case 401:
console.error('Unauthorized. Check your API key.');
break;
case 404:
console.error('Resource not found:', error);
break;
case 429:
console.error('Rate limited. Implementing backoff...');
await sleep(5000);
return searchWithErrorHandling(query); // Retry
case 500:
console.error('Server error. Retrying in 10s...');
await sleep(10000);
return searchWithErrorHandling(query);
default:
console.error('Unknown error:', error);
}
throw new Error(`API error: ${response.status}`);
}
return await response.json();
} catch (error) {
console.error('Request failed:', error);
throw error;
}
}
Als de fouten aanhouden, controleer de volledige API-documentatie of neem contact op met support.