Retrieve the current status of a verification session. Use this for polling-based status checks.
Individual (KYC)
Business (KYB)
Request
curl -X GET "https://api.kyc.predicate.io/api/v1/status/individual/550e8400-e29b-41d4-a716-446655440000" \
-H "Authorization: Bearer $PREDICATE_KYC_API_KEY"
Request
curl -X GET "https://api.kyc.predicate.io/api/v1/status/business/550e8400-e29b-41d4-a716-446655440000" \
-H "Authorization: Bearer $PREDICATE_KYC_API_KEY"
Response (Completed)
{
"sessionId": "550e8400-e29b-41d4-a716-446655440000",
"status": "completed",
"userId": "user-uuid-here",
"completedAt": "2025-01-21T10:30:00Z",
"verifiedWallets": [
{ "id": "wallet-uuid-1", "address": "0x1234...", "chain": "ethereum" },
{ "id": "wallet-uuid-2", "address": "0x5678...", "chain": "polygon" }
],
"unverifiedWallets": []
}
Response (Pending)
{
"sessionId": "550e8400-e29b-41d4-a716-446655440000",
"status": "pending",
"verifiedWallets": [],
"unverifiedWallets": [
{ "id": "wallet-uuid", "address": "0x1234...", "chain": "ethereum" }
]
}
Endpoint
GET https://api.kyc.predicate.io/api/v1/status/{type}/{sessionId}
Path Parameters
Verification type: individual or business
The session ID from the registration response (UUID format)
Response Fields
Current status: pending, in_progress, completed, or failed
User ID (only present when completed)
ISO 8601 timestamp (only present when completed)
Wallets belonging to the verified user. Populated when completed.
Wallets connected but not yet verified. Populated when not completed.
Status Values
| Status | Description |
|---|
pending | Session created, user hasn’t started yet |
in_progress | User is actively completing verification |
completed | Verification successful, user is verified |
failed | Verification failed or was rejected |
Authentication
Authorization: Bearer YOUR_API_KEY