What gets shared?
You never upload passports, selfies, or PDFs to Seismic. Identity providers support a share token — a short-lived credential that lets the card program pull an already-verified profile. Seismic accepts that token and forwards it upstream. Raw documents stay inside the identity provider.Get your integration settings
cURL
Sumsub webhooks (target): register Sumsub against the Core API URL from
sumsubWebhookUrl (POST /v1/webhooks/sumsub). Set SUMSUB_WEBHOOK_MODE=seismic and PUBLIC_API_URL on the API host. After the hosted widget completes, call POST /v1/applicants/{id}/submit to sync tenant status and trigger issuer handoff (webhooks may also update status). Use GET …/kyc-status to poll issuer progress. Legacy seismic mode (/webhooks/sumsub on seismic-cards) is migration-only — see Webhooks.Option A — Seismic-hosted verification
Best when you don’t run your own Sumsub (or similar) account. Seismic hosts the widget and handles issuer handoff automatically.1
Create an applicant
cURL
2
Start a verification session
cURL
accessToken — pass it to the hosted WebSDK in your frontend. externalUserId is the Seismic applicant id.3
User completes the widget
When verification succeeds in the widget, call
POST /v1/applicants/{id}/submit to sync tenant status and trigger issuer handoff. With SUMSUB_WEBHOOK_MODE=seismic, Sumsub also posts to POST /v1/webhooks/sumsub on Core API — still call submit so issuer handoff is not delayed if the webhook is slow.4
Confirm issuer readiness
cURL
issuerKycReady is true, then create a cardholder and issue a card.Option B — Bring your own identity provider (BYOK)
Best for regulated companies that already run their own Sumsub (or compatible) environment. You never use Seismic’s hosted widget.1
Create an applicant in Seismic
Save the returned
id — you will use it as externalUserId in your identity provider.2
Verify the user in your provider
Run your existing KYC flow. Set
externalUserId to the Seismic applicant id so records stay linked.3
Generate a share token
Call your provider’s share-token API with:Seismic imports the shared verification and forwards it to the card program internally. The token expires quickly (typically ~10 minutes). Generate it immediately before calling Seismic.
- Applicant id — from your provider
- Recipient —
shareRecipientIdfromGET /v1/kyc/config(Seismic’s id, not the card issuer)
4
Submit the token to Seismic
cURL
5
Poll until ready
cURL
issuerKycReady is true.BYOK tenants do not need Seismic-hosted verification credentials. They only need a Seismic API key and the
shareRecipientId from /v1/kyc/config.Applicant response fields
Every applicant includes white-labeled issuer fields:Endpoints summary
Troubleshooting
See Error codes for the full list of
error.code values.
Next steps
Applicants
Applicant lifecycle and statuses
Cards
Issue cards after issuer KYC is ready
Quickstart
End-to-end sandbox walkthrough
API Reference
Try endpoints in the playground