Skip to main content
Retrieve the current status of a verification session. Use this for polling-based status checks.

Request

cURL
curl -X GET "https://api.kyc.predicate.io/api/v1/status/individual/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

type
string
required
Verification type: individual or business
sessionId
string
required
The session ID from the registration response (UUID format)

Response Fields

sessionId
string
required
The session ID
status
string
required
Current status: pending, in_progress, completed, or failed
userId
string
User ID (only present when completed)
completedAt
string
ISO 8601 timestamp (only present when completed)
verifiedWallets
array
Wallets belonging to the verified user. Populated when completed.
unverifiedWallets
array
Wallets connected but not yet verified. Populated when not completed.

Status Values

StatusDescription
pendingSession created, user hasn’t started yet
in_progressUser is actively completing verification
completedVerification successful, user is verified
failedVerification failed or was rejected

Authentication

Authorization: Bearer YOUR_API_KEY