/api/v1/applicants/{id}/send-link
Mint an applicant-facing link, chosen by the `link_type` discriminator, and (for a live key) email it.
- Scope
applicants:write- Rate limit
- 50 requests / min
- Idempotency
Idempotency-Keysupported
Authentication
Send your key as Authorization: Bearer …. It must carry the scope applicants:write; a key without it receives 403 forbidden.
Path parameters
idstringrequiredHeaders
Idempotency-KeystringReplays the first response for a repeated request. Reusing a key with a different body is idempotency_key_reused (409), never a silent replay.
Request body
application/jsonrequiredlink_typestring (enum)requiredapplicationbank_linkWhich link to mint: an application invitation, or a bank-verification link.
product_slugstringRequired when link_type is "application" — the product the invitation is for, as listed by GET /v1/products. Refused for "bank_link".
Refused parameters6
Sending any of these returns 400 validation_error naming the field. Each entry explains what to do instead.
email'email' is not accepted: the link is delivered to the applicant email on record.
applicant_email'applicant_email' is not accepted: the link is delivered to the applicant email on record.
applicant_phone'applicant_phone' is not accepted: SMS delivery is not available.
channel'channel' is not accepted: links are delivered by email only, and only for a live-mode key.
message'message' is not accepted: custom message text is not available.
expires_in'expires_in' is not accepted: links expire 7 days after creation.
Response
201application/jsonSerializedSendLinkidstringrequiredlink_typestring (enum)requiredapplicationbank_linkurlstringrequiredexpires_atstring | nullrequirednullablestatusstringrequiredErrors
The statuses this operation can return, with the error.code values behind each. Every error body is the shared envelope described under Errors in Getting started.
400validation_error401unauthorized403forbidden404not_found409conflictidempotency_key_reused429rate_limit_exceeded500internal_error