Verification Session
Path parameters
client_idintegerRequired
Responses
200
Successful Response
application/json
422
Validation Error
application/json
get
GET /beetlelabs-verification/verification-session/verification-summary-periodic/{client_id} HTTP/1.1
Host: beetlelabs.ai
Accept: */*
{
"weekly": [
{
"period": "text",
"risk_levels": {
"low": 0,
"medium": 0,
"high": 0,
"unknown": 0
},
"statuses": {
"pending": 0,
"approved": 0,
"rejected": 0,
"failed": 0,
"expired": 0
},
"total": 1
}
],
"monthly": [
{
"period": "text",
"risk_levels": {
"low": 0,
"medium": 0,
"high": 0,
"unknown": 0
},
"statuses": {
"pending": 0,
"approved": 0,
"rejected": 0,
"failed": 0,
"expired": 0
},
"total": 1
}
],
"yearly": [
{
"period": "text",
"risk_levels": {
"low": 0,
"medium": 0,
"high": 0,
"unknown": 0
},
"statuses": {
"pending": 0,
"approved": 0,
"rejected": 0,
"failed": 0,
"expired": 0
},
"total": 1
}
],
"overall": {
"risk_levels": {
"low": 0,
"medium": 0,
"high": 0,
"unknown": 0
},
"statuses": {
"pending": 0,
"approved": 0,
"rejected": 0,
"failed": 0,
"expired": 0
},
"total_sessions": 1
},
"metadata": {
"risk_levels": [
"text"
],
"statuses": [
"text"
],
"time_ranges": {
"ANY_ADDITIONAL_PROPERTY": "text"
}
}
}
Get a list of all verification sessions. You can filter by status, client ID, and date range. This helps track the progress of all verification processes.
Query parameters
pageinteger · min: 1OptionalDefault:
1
sizeinteger · max: 100OptionalDefault:
20
statusany ofOptional
string · enumOptionalPossible values:
nullOptional
client_idany ofOptional
integerOptional
nullOptional
start_dateany ofOptional
string · date-timeOptional
nullOptional
end_dateany ofOptional
string · date-timeOptional
nullOptional
Responses
200
Successful Response
application/json
422
Validation Error
application/json
get
GET /beetlelabs-verification/verification-session/ HTTP/1.1
Host: beetlelabs.ai
Accept: */*
[
{
"client_id": 1,
"verification_type": "INDIVIDUAL",
"status": "text",
"verification_config_id": "text",
"id": "text",
"session_token": "text",
"consent_given": false,
"consent_timestamp": "2025-07-30T17:02:43.122Z",
"created_at": "2025-07-30T17:02:43.122Z",
"completed_at": "2025-07-30T17:02:43.122Z",
"personal_details": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"business_details": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"risk_level": "text",
"verification_config": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"invitations": {
"ANY_ADDITIONAL_PROPERTY": "anything"
}
}
]
Create a new verification session for a user. This is the first step in the verification process. It generates a unique session ID that will be used throughout the verification flow.
Body
client_idintegerRequired
verification_typeany ofOptional
string · enumOptionalPossible values:
nullOptional
statusstring · enumOptionalDefault:
pending
Possible values: verification_config_idstring · uuid4Required
Responses
200
Successful Response
application/json
422
Validation Error
application/json
post
POST /beetlelabs-verification/verification-session/ HTTP/1.1
Host: beetlelabs.ai
Content-Type: application/json
Accept: */*
Content-Length: 99
{
"client_id": 1,
"verification_type": "INDIVIDUAL",
"status": "pending",
"verification_config_id": "text"
}
{
"client_id": 1,
"verification_type": "INDIVIDUAL",
"status": "text",
"verification_config_id": "text",
"id": "text",
"session_token": "text",
"consent_given": false,
"consent_timestamp": "2025-07-30T17:02:43.122Z",
"created_at": "2025-07-30T17:02:43.122Z",
"completed_at": "2025-07-30T17:02:43.122Z",
"personal_details": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"business_details": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"id_document": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"liveness_check": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"address_proof": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"business_documents": [
{
"ANY_ADDITIONAL_PROPERTY": "anything"
}
],
"ultimate_beneficial_owners": [
{
"ANY_ADDITIONAL_PROPERTY": "anything"
}
],
"directors": [
{
"ANY_ADDITIONAL_PROPERTY": "anything"
}
],
"invitations": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"risk_level": "text"
}
Path parameters
session_idstringRequired
Query parameters
include_relationshipsbooleanOptionalDefault:
Load related documents
false
Responses
200
Successful Response
application/json
422
Validation Error
application/json
get
GET /beetlelabs-verification/verification-session/{session_id} HTTP/1.1
Host: beetlelabs.ai
Accept: */*
{
"client_id": 1,
"verification_type": "INDIVIDUAL",
"status": "text",
"verification_config_id": "text",
"id": "text",
"session_token": "text",
"consent_given": false,
"consent_timestamp": "2025-07-30T17:02:43.122Z",
"created_at": "2025-07-30T17:02:43.122Z",
"completed_at": "2025-07-30T17:02:43.122Z",
"personal_details": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"business_details": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"id_document": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"liveness_check": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"address_proof": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"business_documents": [
{
"ANY_ADDITIONAL_PROPERTY": "anything"
}
],
"ultimate_beneficial_owners": [
{
"ANY_ADDITIONAL_PROPERTY": "anything"
}
],
"directors": [
{
"ANY_ADDITIONAL_PROPERTY": "anything"
}
],
"invitations": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"risk_level": "text"
}
Path parameters
session_idstringRequired
Body
statusany ofOptional
string · enumOptionalPossible values:
nullOptional
rejection_reasonany ofOptional
stringOptional
nullOptional
completed_atany ofOptional
string · date-timeOptional
nullOptional
consent_givenany ofOptional
booleanOptional
nullOptional
consent_timestampany ofOptional
string · date-timeOptional
nullOptional
session_tokenany ofOptional
stringOptional
nullOptional
risk_levelany ofOptional
string · enumOptionalPossible values:
nullOptional
Responses
200
Successful Response
application/json
422
Validation Error
application/json
patch
PATCH /beetlelabs-verification/verification-session/{session_id} HTTP/1.1
Host: beetlelabs.ai
Content-Type: application/json
Accept: */*
Content-Length: 198
{
"status": "pending",
"rejection_reason": "text",
"completed_at": "2025-07-30T17:02:43.122Z",
"consent_given": true,
"consent_timestamp": "2025-07-30T17:02:43.122Z",
"session_token": "text",
"risk_level": "low"
}
{
"client_id": 1,
"verification_type": "INDIVIDUAL",
"status": "text",
"verification_config_id": "text",
"id": "text",
"session_token": "text",
"consent_given": false,
"consent_timestamp": "2025-07-30T17:02:43.122Z",
"created_at": "2025-07-30T17:02:43.122Z",
"completed_at": "2025-07-30T17:02:43.122Z",
"personal_details": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"business_details": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"id_document": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"liveness_check": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"address_proof": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"business_documents": [
{
"ANY_ADDITIONAL_PROPERTY": "anything"
}
],
"ultimate_beneficial_owners": [
{
"ANY_ADDITIONAL_PROPERTY": "anything"
}
],
"directors": [
{
"ANY_ADDITIONAL_PROPERTY": "anything"
}
],
"invitations": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"risk_level": "text"
}
Send verification invites to users via email and/or SMS. You can invite individual users or bulk invite multiple users using a CSV file. Each invite contains a unique link for the user to start their verification process.
Body
invite_typestring · enumRequiredPossible values:
flow_config_idstringRequired
client_idintegerRequired
emailany ofRequired
stringOptional
nullOptional
phoneany ofRequired
stringOptional
nullOptional
business_nameany ofRequired
stringOptional
nullOptional
existing_businessany ofRequired
booleanOptional
nullOptional
csv_fileany ofOptional
string · binaryOptional
nullOptional
Responses
200
Successful Response
application/json
422
Validation Error
application/json
post
POST /beetlelabs-verification/verification-session/invite HTTP/1.1
Host: beetlelabs.ai
Content-Type: multipart/form-data
Accept: */*
Content-Length: 158
{
"invite_type": "bulk",
"flow_config_id": "text",
"client_id": 1,
"email": "text",
"phone": "text",
"business_name": "text",
"existing_business": true,
"csv_file": "binary"
}
{
"invitations": [
{
"id": "text",
"session_id": "text",
"recipient_email": "text",
"recipient_phone": "text",
"unique_url": "text",
"sent_at": "2025-07-30T17:02:43.122Z",
"delivered": true
}
],
"count": 1
}
Path parameters
session_idstringRequired
Query parameters
tokenstringRequired
Responses
200
Successful Response
application/json
Responseany
422
Validation Error
application/json
get
GET /beetlelabs-verification/verification-session/verify/{session_id} HTTP/1.1
Host: beetlelabs.ai
Accept: */*
No content
Query parameters
client_idintegerOptional
pageinteger · min: 1OptionalDefault:
1
sizeinteger · max: 100OptionalDefault:
20
Responses
200
Successful Response
application/json
422
Validation Error
application/json
get
GET /beetlelabs-verification/verification-session/invites/ HTTP/1.1
Host: beetlelabs.ai
Accept: */*
{
"invites": [
{
"id": "text",
"session_id": "text",
"recipient_email": "text",
"recipient_phone": "text",
"unique_url": "text",
"sent_at": "2025-07-30T17:02:43.122Z",
"delivered": true
}
],
"total": 1,
"page": 1,
"size": 1
}