Gravv DOCS
Docs Agent Get Started
API Reference Initiate server-to-server KYC verification

Initiate server-to-server KYC verification

Deprecated

Initiates KYC verification for a customer using previously uploaded documents in a server-to-server (s2s) flow. This is step 2 of the S2S KYC process. Before calling this endpoint, you must first upload all required documents using the Upload Document endpoint.

POST/v1/risk/start-kyc-s2s

Possible outcomes

The following are the possible outcomes:

  • Full success: All documents uploaded and verification initiated
  • Missing documents: Returns error with list of missing required documents
  • Partial success: Some documents failed to upload, returns WebSDK link for customer to complete manually

Headers

Required for POST requests. Reuse only for an identical retry.

Request Body

Customer ID to initiate KYC verification for. Documents must be uploaded for this customer before calling this endpoint.

Request Examples

{
"customer_id": "aabe0a33-6716-42e2-bbca-7abf1a8bd91c"
}
{
"customer_id": "b84d9a52-2978-43e5-9b86-eac9839e1146"
}

Responses

Status Description
200 KYC S2S process response
400 Missing required documents
404 Customer not found

200 response

One of the following variants:

Request status. "success" indicates all documents were uploaded and verification has been initiated.

Possible values: success

Opaque identifier for the applicant in the verification system

Error information if the request failed

"partial_success" — some documents failed to upload automatically. The customer must complete verification via the web_url.

Possible values: partial_success

Opaque identifier for the applicant in the verification system

WebSDK URL for the customer to manually complete document upload

List of documents that failed to upload automatically

Possible values: passport, id_card, drivers_license, selfie, registration_certificate

Instruction message for next steps

{
"data": {
"status": "success",
"applicant_id": "apl_example_123"
},
"error": null
}
{
"data": {
"status": "partial_success",
"applicant_id": "apl_example_123",
"web_url": "https://verify.gravv.xyz/websdk/p/sbx_example_token",
"failed_documents": [
  {
    "doc_type": "selfie",
    "reason": "Upload failed"
  }
],
"message": "Some documents could not be uploaded automatically. Complete verification using the provided link."
},
"error": null
}

400 response

Always null for error responses

Human-readable error message

Possible values: missing_documents

Possible values: passport, id_card, drivers_license, selfie, registration_certificate

{
"data": null,
"error": {
"code": "missing_documents",
"message": "Required documents have not been uploaded for this customer",
"details": {
  "missing_documents": [
    "passport",
    "selfie"
  ]
}
}
}

404 response

Always null for error responses

Human-readable error message

{
"data": null,
"error": {
"code": "not_found",
"message": "Customer not found",
"details": {}
}
}

Authorization

  • ApiKeyAuth
Was this page helpful?
Assistant
Responses are generated using AI and may contain mistakes.

Ask me anything about the documentation.

ESC