Laddro DocsLaddro Docs

Felkoder

Felkoder

Alla API-fel returnerar ett konsekvent JSON-format:

{
  "error": "Not Found",
  "message": "Resume not found",
  "statusCode": 404
}

HTTP-statuskoder

KodNamnBeskrivning
200OKFörfrågan lyckades
201CreatedResurs skapad framgångsrikt
400Bad RequestOgiltig förfrågningskropp eller parametrar
401UnauthorizedSaknad eller ogiltig API-nyckel
402Payment RequiredInga krediter kvar. Köp fler eller vänta på månadsåterställning
403ForbiddenÅtgärden är inte tillåten (t.ex. BYOK utan prenumeration)
404Not FoundResursen finns inte
413Payload Too LargeFiluppladdningen överskrider gränsen på 10 MB
422Unprocessable EntityGiltig JSON men semantiskt ogiltig (t.ex. jobbeskrivning för kort)
429Too Many RequestsHastighetsbegränsning överskriden. Försök igen efter Retry-After-headervärdet
500Internal Server ErrorNågot gick fel på vår sida

Vanliga felscenarier

Saknad API-nyckel

{
  "error": "Unauthorized",
  "message": "Missing x-api-key header",
  "statusCode": 401
}

Lösning: Lägg till din API-nyckel i x-api-key-headern.

Ogiltig API-nyckel

{
  "error": "Unauthorized",
  "message": "Invalid API key",
  "statusCode": 401
}

Lösning: Kontrollera din nyckel på console.laddro.com. Nyckeln kan ha blivit återkallad.

Inga krediter

{
  "error": "Payment Required",
  "message": "No credits remaining. Purchase credits at console.laddro.com",
  "statusCode": 402
}

Lösning: Köp ett kreditpaket eller vänta på att din månatliga gratiskvot återställs.

BYOK utan aktiv prenumeration

{
  "error": "Forbidden",
  "message": "BYOK requires an active recurring Laddro subscription",
  "statusCode": 403
}

Lösning: Prenumerera på laddro.com med en löpande plan.

Ogiltig leverantörsnyckel

{
  "error": "Unprocessable Entity",
  "message": "API key validation failed for provider 'anthropic': invalid_api_key",
  "statusCode": 422
}

Lösning: Dubbelkolla din leverantörs API-nyckel. API:et validerar nycklar med ett testanrop innan de sparas.

Strategi för omförsök

För 429- och 5xx-fel, implementera exponentiell backoff:

async function withRetry(fn: () => Promise<Response>, maxRetries = 3) {
  for (let i = 0; i < maxRetries; i++) {
    try {
      const response = await fn()
      if (response.status === 429) {
        const retryAfter = parseInt(response.headers.get('Retry-After') || '1')
        await new Promise(r => setTimeout(r, retryAfter * 1000))
        continue
      }
      return response
    } catch (error) {
      if (i === maxRetries - 1) throw error
      await new Promise(r => setTimeout(r, Math.pow(2, i) * 1000))
    }
  }
}

On this page