Generate a hosted KYC/KYB link for an existing customer
Generate a single-use hosted URL the customer can complete to verify their identity, and (where supported) a provider-specific token for embedding the verification flow directly via the provider’s SDK.
The customer must already exist — create them with POST /customers first. Calling this endpoint does not change the customer’s verification status; the customer remains at their current status until they complete (or fail) the hosted flow.
This endpoint generates the link for both customer types; customerType selects which flow the provider runs. INDIVIDUAL runs identity verification (KYC), tracked on kycStatus. BUSINESS runs business verification (KYB), tracked on kybStatus — the flow confirms the company details, collects formation, ownership, and proof-of-address documents, and gathers the control person and every beneficial owner holding 25% or more. Business information already supplied via POST /customers or PATCH /customers/{customerId} is prefilled, so send what you have before generating the link.
The hosted link is one of two ways to verify a customer. To collect the data yourself instead, submit it through POST /customers, POST /beneficial-owners (business customers), and POST /documents, then call POST /verifications. Both paths produce the same status transitions and the same CUSTOMER.KYC_* / CUSTOMER.KYB_* webhooks.
Each call returns a fresh link. Previously-issued links are not invalidated, but they remain single-use and will expire on their own. For request-level retry safety, include an Idempotency-Key header.
Authorizations
API token authentication using format <api token id>:<api client secret>
Headers
A unique identifier for the request. If the same key is sent multiple times, the server will return the same response as the first request.
"<uuid>"
Path Parameters
The Grid customer ID to generate a KYC link for.
Body
Request body for generating a hosted KYC link for an existing customer.
URI the customer is redirected to after completing the hosted KYC flow. Must start with https:// (or http:// for local development). Embedded in the returned kycUrl.
"https://app.example.com/onboarding/completed"
Response
KYC link generated
A hosted KYC link that the customer can complete to verify their identity.
Hosted URL the customer should be sent to in order to complete verification. The URL is single-use and expires at expiresAt. To generate a new link (for example, after the previous one expires or is abandoned), call this endpoint again.
"https://kyc.lightspark.com/onboard/abc123def456"
Time at which the hosted link expires and can no longer be used.
"2027-01-15T14:32:00Z"
The KYC provider that will perform identity verification for the customer. Grid selects the provider based on the customer's region and platform configuration; the value is informational for platforms that want to integrate directly with the provider's SDK.
SUMSUB "SUMSUB"
Provider-specific token that can be used in place of the hosted URL — for example, to embed the provider's SDK directly in your application. Only returned for providers that support direct SDK integration. Whether to use the hosted URL or the embedded SDK is up to you; both flows result in the same kycStatus update on the customer.
"_act-sbx-jwt-eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."