Create KYB Case
Creating a KYB Verification Case
Overview
Creating a KYB case is the first step in verifying a business entity. When you create a case, VOVE ID generates a secure verification token that you can use to form a verification link for your business customer. The business then uses this link to access the verification portal and complete the required steps.
Endpoint
Method:
POSTURL:
/kyb/caseAuthentication: Required (x-api-key header)
Request
Headers
Content-Type: application/json
x-api-key: YOUR_API_KEYRequest Body
{
"refId": "unique-business-ref-12345",
"flow": "64a1b2c3d4e5f6g7h8i9j0k1",
"country": "GB",
"country_state": "England"
}Parameters
flow
string
No
The KYB flow ID that defines the verification requirements for this business
refId
string
Yes
Your internal reference ID for this business. This field is currently required and is used to retrieve case status later.
country
string
No
Optional country code associated with the case
country_state
string
No
Optional state or region associated with the case
POST /kyb/casecurrently creates the case record and returns the hosted KYB session token. It does not currently acceptbusinessNameorformDatafor pre-populating the hosted flow.
Response
Success Response (200 OK)
Response Fields
kybCase._id
string
Unique identifier for this KYB case
kybCase.refId
string
Your reference ID for this case
kybCase.status
string
Current status: "NOT_STARTED" initially
kybCase.flow
string
The ID of the KYB flow configuration being used
token
string
JWT token for the business to access the verification portal (valid for 24 hours)
Generating the Verification Link
Once you receive the response with the token, construct the verification link for your business customer:
Parameters:
authToken- The token received from the create case responsepublicKey- Your organization's public key (found in the VOVE ID dashboard)environment- Either "Production" or "Sandbox"
Example Link:
Example Request
Using cURL
Best Practices
Reference ID Management
Use Your Own refId: Provide your internal business ID as the
refIdto easily correlate KYB cases with your database recordsStore the refId: Persist the same
refIdin your database for future status lookups and reconciliationUnique per Business: Each business entity should have a unique refId
Pre-filling Data
Create First, Then Collect Data:
POST /kyb/caseonly creates the case and returns the KYB session tokenUse the Hosted Flow for Business Details: Business details are collected once the customer opens the KYB verification flow
Token Security
Never Expose in Frontend: Generate the verification link on your backend server
Secure Transmission: Send the link to the business customer via secure channels (email, SMS, encrypted messaging)
Token Expiry: Tokens are valid for 24 hours. If expired, create a new case or regenerate the token
Flow Selection
Country-Specific Flows: Use flows configured for the business's country of registration
Compliance Requirements: Choose flows that match your compliance and risk assessment needs
Flow Discovery: Use
GET /kyb/flowsto list all KYB flows available to your organizationDefault Flows: Use
GET /kyb/flows/defaultto discover the default KYB flows available to your organization
See KYB Flows for request and response examples.
Error Responses
400 Bad Request
401 Unauthorized
404 Not Found
Next Steps
After creating a KYB case:
Share the Verification Link with your business customer via email or your application
Set Up Webhooks to receive real-time updates when the case status changes
Monitor Case Progress using webhooks and the
GET /kyb/case/{refId}/detailsendpointRetrieve Results from the public case details response once the case status changes to
COMPLETEDorREJECTED
Related Documentation
KYB Overview - Understand the KYB verification flow
KYB Case Details - Retrieve the public KYB case details contract
KYB Flows - Discover available KYB flow IDs
KYB Webhooks - Receive real-time status updates
Last updated