Import Shared Session
Redeem a share token to clone a KYC or KYB session into the calling application with a fresh session_id. Not idempotent — a token redeems once per receiver.
Session kind
Didit decodes the share token, reads the embeddedsession_kind, and clones the corresponding kind of session:
session_kind: "user"— clones the user session plus its related identity, face, liveness, face-match, AML, location, POA, phone, email, database-validation, and log rows.session_kind: "business"— clones the business session plus its related registry check, key-people records, documents, AML screenings, phone, email, location, questionnaire, and log rows.
session_kind field, Didit defaults to "user" for backward compatibility.
What gets created
- A new session of the same kind in your application with a fresh
session_id,session_number, andsession_url. - The new session’s
shared_from_sessionfield points at the original session in the source application. - The new session’s status is either the original status (
trust_review: true) orIN_REVIEW(trust_review: false). - A new entity (User or Business) is auto-created for the
vendor_dataif one doesn’t exist.
Examples
- Import a User Verification (KYC) session
- Import a Business Verification (KYB) session
trust_review parameter
| Value | Effect |
|---|---|
true | The imported session preserves the original status (e.g. APPROVED). Use when you fully trust the sharing partner’s decision. |
false | The imported session lands in IN_REVIEW so your team can re-review before acting. Safe default for external partners. |
Errors
| Status | Reason |
|---|---|
401 | Share token invalid or expired. |
403 | Token not intended for your application, or session has already been imported. |
404 | Original session no longer exists. |
404 | workflow_id not found in your application. |
Idempotency
Importing the sameshare_token twice is rejected with 403 — the duplicate-import check runs against both user and business tables depending on session_kind.
Related
Authorizations
Body
JWT share token issued by POST /v3/session/{sessionId}/share/.
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
If true, the cloned session keeps the source's final status. If false, it is forced into In Review.
false
UUID of a workflow in the calling application. Cross-application IDs are rejected with 404.
"9f9b1234-aaaa-bbbb-cccc-1234567890ab"
Optional override for the cloned session's vendor_data.
"user-1"
Response
Session cloned. For user (KYC) sessions the body is the V2 decision payload (session_id, session_number, status, workflow_id, per-feature blocks such as id_verification, liveness, aml, plus created_at/expires_at — no session_kind field). For business (KYB) sessions it is the V3 KYB decision payload, which includes session_kind: "business" and blocks like registry_checks and aml_screenings. With trust_review: false the cloned session's status is forced to In Review.