Idempotentie en gelijktijdig bewerken
Voorkom dubbele records bij een nieuwe poging en overschrijf nooit per ongeluk een nieuwere versie.
Idempotency-Key
Een netwerkfout of time-out betekent niet dat je verzoek is mislukt. Stuur bij een POST daarom een header Idempotency-Key mee met een unieke waarde, bijvoorbeeld een UUID:
curl -X POST "https://app.klantly.com/api/v1/customers" \
-H "Authorization: Bearer $KLANTLY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: 6f1c2d3e-4a5b-4c6d-8e7f-9a0b1c2d3e4f" \
-d '{"email": "jan@example.com"}'- Stuur je hetzelfde verzoek opnieuw met dezelfde sleutel, dan krijg je hetzelfde antwoord terug, met de header
Idempotent-Replayed: true. Er wordt niets dubbel aangemaakt. - Dezelfde sleutel met een andere body geeft
422 idempotency_key_reused. - Loopt het eerste verzoek nog, dan volgt
409 idempotency_in_progress.
Een Idempotency-Key geldt 24 uur, per API-sleutel.
ETag en If-Match
Elk los object komt met een header ETag. Stuur die mee in If-Match wanneer je een PATCH doet:
PATCH /api/v1/customers/9d3f6c1e-4b2a-4c8e-9f1a-2b3c4d5e6f70 HTTP/1.1
Authorization: Bearer kly_4fZ2mQ8v...
If-Match: "3f2c9a41d6e8b07c5a2f"
Content-Type: application/jsonIs het record intussen door iemand anders gewijzigd, dan volgt 412 precondition_failed en blijft alles ongewijzigd. Haal het record opnieuw op en probeer het nog eens. Zonder If-Match wordt de wijziging gewoon doorgevoerd.
Laatst bijgewerkt op 14 september 2026