Skip to main content
POST
Restart KYC verification for a customer

Authorizations

Authorization
string
header
required

Stablepay API key. Include as Authorization: Bearer <key>.

Path Parameters

customerId
string
required

Customer ID for the existing customer whose KYC should be restarted.

Body

application/json
email
string

Optional corrected email address for the new verification session.

Example:

"jane@example.com"

phone
string

Optional corrected phone number for the new verification session.

Example:

"+254712345678"

metadata
object
Example:

Response

Verification started with a new session.

id
string
required

Prefixed ULID for this customer.

Example:

"cus_01KXG3R0X8DXTKB849FFFEPT7Y"

externalId
string
required
Example:

"user001"

type
enum<string>
required
Available options:
individual,
business
kycStatus
string
required

One of none, pending, in_progress, review, approved, declined, expired, abandoned.

Example:

"approved"

kycAttempts
integer
required
Example:

1

createdAt
string<date-time>
required
updatedAt
string<date-time>
required
countryCode
string | null
Example:

"KE"

riskLevel
string | null
metadata
object | null
verifiedAt
string<date-time> | null
verificationUrl
string | null

Hosted verification URL. Returned when a verification is started.

Example:

"https://verify.didit.me/session/XXXX"

sessionId
string | null
identity
object | null

The verified identity. Returned only with refresh=true.

reviewWarnings
object[] | null

Reasons why the customer isn't approved. This is surfaced to show your end-user why verification is stuck, declined, or needs action. Omitted when the customer is approved or in_progress. Returned only with refresh=true.

Example: