curl --request POST \
--url https://api.lightspark.com/grid/2025-10-13/customers/{customerId}/kyc-link \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"redirectUri": "https://app.example.com/onboarding/completed"
}
'{
"kycUrl": "https://kyc.lightspark.com/onboard/abc123def456",
"expiresAt": "2027-01-15T14:32:00Z",
"provider": "SUMSUB",
"token": "_act-sbx-jwt-eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}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 kycStatus; the customer remains PENDING until they complete (or fail) the hosted flow.
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.
curl --request POST \
--url https://api.lightspark.com/grid/2025-10-13/customers/{customerId}/kyc-link \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"redirectUri": "https://app.example.com/onboarding/completed"
}
'{
"kycUrl": "https://kyc.lightspark.com/onboard/abc123def456",
"expiresAt": "2027-01-15T14:32:00Z",
"provider": "SUMSUB",
"token": "_act-sbx-jwt-eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}Documentation Index
Fetch the complete documentation index at: https://grid.lightspark.com/llms.txt
Use this file to discover all available pages before exploring further.
API token authentication using format <api token id>:<api client secret>
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>"
The Grid customer ID to generate a KYC link for.
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"
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..."
Was this page helpful?