Kody Bledow
Kody Bledow
Wszystkie bledy API zwracaja spojny format JSON:
{
"error": "Not Found",
"message": "Resume not found",
"statusCode": 404
}Kody Statusu HTTP
| Kod | Nazwa | Opis |
|---|---|---|
200 | OK | Zapytanie zakonczone sukcesem |
201 | Created | Zasob utworzony pomyslnie |
400 | Bad Request | Nieprawidlowe cialo zapytania lub parametry |
401 | Unauthorized | Brakujacy lub nieprawidlowy klucz API |
402 | Payment Required | Brak kredytow. Kup wiecej lub poczekaj na miesieczny reset |
403 | Forbidden | Akcja niedozwolona (np. BYOK bez subskrypcji) |
404 | Not Found | Zasob nie istnieje |
413 | Payload Too Large | Przeslany plik przekracza limit 10MB |
422 | Unprocessable Entity | Poprawny JSON, ale semantycznie nieprawidlowy (np. opis stanowiska za krotki) |
429 | Too Many Requests | Limit czestotliwosci przekroczony. Ponow probe po wartosci naglowka Retry-After |
500 | Internal Server Error | Cos poszlo nie tak po naszej stronie |
Typowe Scenariusze Bledow
Brakujacy Klucz API
{
"error": "Unauthorized",
"message": "Missing x-api-key header",
"statusCode": 401
}Rozwiazanie: Dodaj swoj klucz API do naglowka x-api-key.
Nieprawidlowy Klucz API
{
"error": "Unauthorized",
"message": "Invalid API key",
"statusCode": 401
}Rozwiazanie: Sprawdz swoj klucz na console.laddro.com. Klucze mogly zostac uniewaznione.
Brak Kredytow
{
"error": "Payment Required",
"message": "No credits remaining. Purchase credits at console.laddro.com",
"statusCode": 402
}Rozwiazanie: Kup pakiet kredytow lub poczekaj na miesieczny reset darmowego planu.
BYOK Bez Aktywnej Subskrypcji
{
"error": "Forbidden",
"message": "BYOK requires an active recurring Laddro subscription",
"statusCode": 403
}Rozwiazanie: Subskrybuj na laddro.com z planem cyklicznym.
Nieprawidlowy Klucz Dostawcy
{
"error": "Unprocessable Entity",
"message": "API key validation failed for provider 'anthropic': invalid_api_key",
"statusCode": 422
}Rozwiazanie: Sprawdz ponownie klucz API dostawcy. API waliduje klucze wywolaniem testowym przed zapisaniem.
Strategia Ponawiania
Dla bledow 429 i 5xx zaimplementuj wykladniczy 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))
}
}
}