Häufige API-Fehlercodes

Zuletzt aktualisiert: vor 3 Monaten

Das Verstehen von Fehlerantworten hilft Ihnen, Probleme schnell zu beheben. Hier sind die häufigsten Fehler, denen Sie begegnen werden.

400 Bad Request

{
  "error": "media_id is required"
}

Ursachen:

  • Fehlender erforderlicher Parameter

  • Ungültiges Parameterformat

  • Fehlerhaftes JSON

Behebung: Prüfen Sie, ob Ihr Request-Body der API-Spezifikation entspricht unter api.cathopic.com/docs.

401 Unauthorized

{
  "message": "Unauthorized"
}
oder
{
  "error": "Unauthorized token"
}

Ursachen:

  • Fehlender oder ungültiger API-Schlüssel

  • Deaktivierter API-Schlüssel

  • Falscher Header-Name

Behebung: Vergewissern Sie sich, dass Ihr x-api-key-Header korrekt ist und der Schlüssel aktiv ist in Einstellungen → API.

404 Not Found

{
  "error": "No file found for media_id 1234"
}
oder
{
  "error": "Media item not found"
}

Ursachen:

  • Ressource existiert nicht

  • Ressource wurde gelöscht

  • Falsches media_id

Behebung: Prüfen Sie, ob die media_id existiert, indem Sie zuerst mit /resources suchen.

429 Too Many Requests

{
  "error": "Limit exceed."
}

Ursachen:

  • Zu viele Requests in kurzer Zeit

  • Rate-Limit überschritten

Behebung: Implementieren Sie exponentielles Backoff. Warten Sie und versuchen Sie es erneut mit zunehmenden Verzögerungen (1s, 2s, 4s usw.).

500 Internal Server Error

{
  "error": "Internal server error"
}

Ursachen:

  • Vorübergehendes Serverproblem

  • Unerwartete Bedingung

Behebung: Warten Sie einen Moment und versuchen Sie es erneut. Wenn das Problem weiterhin besteht, kontaktieren Sie den Support.

Beispiel für Fehlerbehandlung

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('Nicht autorisiert. Prüfen Sie Ihren API-Schlüssel.');
          break;
        case 404:
          console.error('Ressource nicht gefunden:', error);
          break;
        case 429:
          console.error('Rate-Limit erreicht. Backoff wird implementiert...');
          await sleep(5000);
          return searchWithErrorHandling(query); // Retry
        case 500:
          console.error('Serverfehler. Erneut versuchen in 10s...');
          await sleep(10000);
          return searchWithErrorHandling(query);
        default:
          console.error('Unbekannter Fehler:', error);
      }
      
      throw new Error(`API error: ${response.status}`);
    }
    
    return await response.json();
  } catch (error) {
    console.error('Request fehlgeschlagen:', error);
    throw error;
  }
}

Bei anhaltenden Fehlern prüfen Sie die vollständige API-Dokumentation oder kontaktieren Sie den Support.

War dieser Artikel hilfreich?