Changelog
API jest versioned przez prefix /api/v1/. Breaking changes = nowy major
(/api/v2/). Bug fixes / dodatki — kompatybilne wstecz w /api/v1/.
v1.0 (2026-05-08) — pre-launch
Faza 1 MVP zakończona. Pełen public API surface dostępny dla pierwszej klinki pilotowej.
Ingest
- ✅
POST /api/v1/clinic/doctors— bulk upsert (max 500/req) - ✅
POST /api/v1/clinic/services— bulk upsert (max 500/req) - ✅
POST /api/v1/clinic/slots— bulk upsert (max 2000/req), race-safe - ✅
DELETE /api/v1/clinic/slots/{external_id}— soft delete
Public discovery
- ✅
/search/doctors,/search/clinics,/search/specialties,/search/stats - ✅
/doctors/{slug},/doctors/{slug}/services,/doctors/{slug}/slots,/doctors/{slug}/reviews - ✅
/clinics/{slug},/clinics/{slug}/doctors
Bookings
- ✅
POST /api/v1/bookings— guest + auth, race-safe - ✅
POST /api/v1/bookings/{id}/cancel - ✅
POST /api/v1/bookings/cancel-by-token/{token}— SMS link - ✅
GET /api/v1/bookings/me— patient panel - ✅
POST /api/v1/bookings/claim— guest → registered
Webhooks (outbound)
- ✅
booking.created,booking.cancelled,booking.completed,booking.no_show,review.created - ✅ HMAC-SHA256, header
X-Pandoktorek-Signature: sha256=<hex> - ✅ Retry: 5 prób, exponential backoff 2^N min
- ✅ Per-event idempotency po
event_id
Auth & rate limits
- ✅ API keys
pk_live_XXXXXXXX_<secret>, scopes (doctors:write,services:write,slots:write) - ✅ Rate limits: 10000/dobę per klucz; 600/min public; 120/h booking POST per IP
Faza 2 (planned)
bookings:readscope — pull bookings z stanemwebhooks:managescope — CRUD subscriptions przez APIsincequery param dla delta sync (slots, doctors)booking.confirmed,booking.rescheduledevents- Per-doctor pricing endpoint
- Multi-clinic widget (sieć klinik) — embed
clinic_ids[] - Bulk export RODO
- Per-clinic SMS budget override (VIP plans)
Faza 3 (planned)
- Online payments (Stripe Payment Intents per booking)
payment.captured,payment.refundedevents- Refund flow (clinic_admin only)
Migracje breaking
Brak — /api/v1/ jest stable. W razie breaking change ogłosimy /api/v2/
z 6-miesięcznym deprecation window i headerem Deprecation: ... na /v1/.