Present and sign the terms and conditions before creating the identification. Ask your customer for their country, fetch the terms via
GET /api/terms-and-conditions?country={ISO3}, and record acceptance via POST /api/customers/{id}/signings. The terms contain the data sharing agreement, so they must be signed before Iron collects KYC data. See Terms and Conditions.Create a Link Identification
POST /api/customers/{id}/identifications/v2
Full request and response schemas live in the API reference.
The request body must include "type": "Link" to select the hosted flow. This is the discriminator that tells the API which identification method to use.
POST /api/customers/{id}/identifications/v2 requires an Idempotency-Key header. Requests without one return 400. Retrying with the same key returns the original response. Iron caches successful responses only, so a retry after an error executes the request again. Reusing a key with a different request body returns 409 Conflict.201 Created):
url to your customer. They complete the verification flow in the hosted interface, and Iron handles the rest.
Example errors:
Most client errors (400, 401, 403, 404, 429) return a plain JSON string:
404 Not Found
409 means the request matches an existing identification. The body includes the existing record’s ids so you can reconcile the duplicate:
409 Conflict
500) return { "message": "...", "trace_id": "..." }. Reference the trace_id when reporting issues.
In Sandbox, you can approve or reject the identification via
POST /api/sandbox/identification/{id} instead of waiting for a manual review. See Sandbox.
