Laddro DocsLaddro Docs

Fejlkoder

Fejlkoder

Alle API-fejl returnerer et konsistent JSON-format:

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

HTTP-statuskoder

KodeNavnBeskrivelse
200OKForespørgslen lykkedes
201CreatedRessource oprettet
400Bad RequestUgyldig forespørgselskrop eller parametre
401UnauthorizedManglende eller ugyldig API-nøgle
402Payment RequiredIngen kreditter tilbage. Køb flere eller vent på månedlig nulstilling
403ForbiddenHandlingen er ikke tilladt (f.eks. BYOK uden abonnement)
404Not FoundRessourcen findes ikke
413Payload Too LargeFilupload overskrider grænsen på 10 MB
422Unprocessable EntityGyldig JSON men semantisk ugyldig (f.eks. for kort jobbeskrivelse)
429Too Many RequestsHastighedsbegrænsning overskredet. Prøv igen efter Retry-After-headerværdien
500Internal Server ErrorNoget gik galt på vores side

Almindelige fejlscenarier

Manglende API-nøgle

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

Løsning: Tilføj din API-nøgle til x-api-key-headeren.

Ugyldig API-nøgle

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

Løsning: Tjek din nøgle på console.laddro.com. Nøglen kan være blevet tilbagekaldt.

Ingen kreditter

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

Løsning: Køb en kreditpakke eller vent på, at din månedlige gratiskvote nulstilles.

BYOK uden aktivt abonnement

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

Løsning: Abonner på laddro.com med en løbende plan.

Ugyldig udbydernøgle

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

Løsning: Dobbelttjek udbyderens API-nøgle. API'et validerer nøgler med et testkald, inden de gemmes.

Strategi for genforsøg

For 429- og 5xx-fejl, implementer eksponentiel 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