Veelvoorkomende API-foutcodes

Laatst bijgewerkt: 3 maanden geleden

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.

Was dit artikel nuttig?