Dokumentacja API

Wprowadzenie

Błędy, limity i paginacja

API używa konwencjonalnych kodów HTTP oraz przewidywalnego formatu błędu. Poniżej komplet kodów, zasady rate limitingu i sposób stronicowania list.

Format błędu

Błędy zwracamy w JSON z czytelnym opisem i maszynowym kodem, po którym bezpiecznie rozgałęziać logikę integracji:

JSON
{
  "error": "klucz nie ma wymaganego zakresu",
  "code": "forbidden_scope"
}

Kody odpowiedzi

Kody z zakresu 2xx oznaczają sukces, 4xx — błąd po stronie żądania (dane, uprawnienia, limit).

HTTPcodeZnaczenie
401unauthorizedbrak lub nieprawidłowy klucz API.
403forbidden_scopeklucz nie ma zakresu wymaganego przez endpoint.
404not_foundzasób nie istnieje w tym tenancie.
410pii_deleteddane osobowe zostały usunięte (RODO) — kartoteka niedostępna.
422incomplete / parse_failed / export_faileddane niekompletne lub błąd przetwarzania (np. brak wymaganych pól przy eksporcie ZUS).
429rate_limitedprzekroczony limit żądań — patrz rate limiting.

Rate limiting

Obowiązuje limit 120 żądań / min / klucz. Po jego przekroczeniu API zwraca 429 rate_limited. Do każdej odpowiedzi dołączamy nagłówki pozwalające sterować tempem żądań:

X-RateLimit-Limitmaksymalna liczba żądań w oknie.
X-RateLimit-Remainingliczba żądań pozostałych w bieżącym oknie.
X-RateLimit-Resetmoment zresetowania limitu (epoch, sekundy).

Ponawianie żądań

Po otrzymaniu 429 odczekaj do czasu z nagłówka X-RateLimit-Reset i ponów żądanie (zalecany backoff wykładniczy). Nie odpytuj w pętli bez opóźnienia.

Paginacja

Endpoint GET /employees zwraca dane stronami. Steruj parametrami page (dom. 1) i pageSize (dom. 50, maks. 200). Odpowiedź zawiera metadane stronicowania:

JSON
{
  "data": [ /* ... */ ],
  "page": 1,
  "pageSize": 50,
  "total": 130,
  "totalPages": 3
}

Iteruj po stronach aż page osiągnie totalPages. Do synchronizacji przyrostowej używaj filtra updatedSince (patrz endpoint listy pracowników).

cURL
curl -H "Authorization: Bearer onb_..." \
  "https://www.onboardly.work/api/v1/employees?updatedSince=2026-07-01&page=2&pageSize=100"

Audyt PII

Każdy odczyt lub eksport kartoteki z odszyfrowanymi danymi osobowymi tworzy wpis audytu (RODO art. 30). Odczyty listy (bez PII) nie generują wpisu.

§08 · Zacznij teraz

Twój następny pracownik
onboarding zajmie 15 minut.

14-dniowy trial z pełnym dostępem. Zatrudnij 3 osoby z prawdziwymi danymi: KYC, podpis z pieczątką, teczka w Drive, eksport do kadr.

Jeśli nie zobaczysz wartości, nie kupujesz. Bez karty kredytowej.