POST /kyc_links
Create a hosted KYC flow and the stub customer behind it. Use this when you want the customer to do the typing.
Request
{
"type": "individual",
"full_name": "Alice Zhang",
"email": "alice@example.com",
"endorsements": ["base", "sepa"],
"redirect_uri": "https://yourapp.example.com/kyc-complete"
}| Field | Type | Required | Notes |
|---|---|---|---|
type | individual | business | yes | Governs the hosted form. |
email | string | yes | |
full_name | string | no | Pre-fills the form. |
endorsements | array of Endorsement | no | base, cards, cop, faster_payments, pix, sepa, spei. |
redirect_uri | string | no | Bridge redirects here post-completion. |
Response (200)
{
"id": "kyc_link_01HZ…",
"type": "individual",
"customer_id": "cust_01HZ…",
"full_name": "Alice Zhang",
"email": "alice@example.com",
"kyc_link": "https://kyc.seismic.systems/flow/abc123",
"kyc_status": "not_started",
"tos_link": "https://tos.seismic.systems/flow/def456",
"tos_status": "pending",
"rejection_reasons": [],
"created_at": "2026-04-24T12:00:00Z"
}curl -X POST "$BASE_URL/kyc_links" \
-H "Api-Key: $SEISMIC_ORCHESTRATION_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"type": "individual",
"full_name": "Alice Zhang",
"email": "alice@example.com",
"endorsements": ["base"],
"redirect_uri": "https://yourapp.example.com/kyc-complete"
}'Redirect the user to kyc_link from the response, then poll GET /kyc_links/{id}.
