Idempotency keys
The API uses your identifiers as idempotency keys. There is no separate
Idempotency-Key header. Safe retries depend on sending the same identifier.
| Endpoint | Idempotency key | Replay behaviour |
|---|---|---|
POST /onboardings | partner_user_id | Returns the original onboarding_id, already_existed: true, HTTP 200. The email is not re-sent. |
POST /claims | partner_claim_id (per entity) | Returns the existing claim_id, already_existed: true, HTTP 200. Documents are not re-linked. |
POST /connect-requests | none | Each call mints a fresh, single-use token. |
Guidance
- Always send
partner_user_idon onboarding, and reuse it on retries. - Always send
partner_claim_idon claims (it is required) and reuse the same value on retries. It is what makes a retriedPOST /claimsreplay the existing claim instead of creating a second one. The key is scoped per entity: the samepartner_claim_idsent with a differententity_idcreates a separate claim. - On an onboarding replay, the original magic link cannot be recovered, so
magic_link_urlcomes backnull. If you need a fresh link, onboard under a newpartner_user_id. - On a claims replay,
document_idsis always empty. Documents are linked only on first creation.