Skip to main content
Stream real-time status updates for a verification session using Server-Sent Events (SSE).
The SSE endpoint requires your API key. Since browsers’ EventSource API doesn’t support custom headers, you must create a backend proxy. See the Integration Guide for implementation examples.

Request

cURL
curl -N "https://api.identity.predicate.io/api/v1/status/realtime/individual/550e8400-e29b-41d4-a716-446655440000" \
  -H "Authorization: Bearer $PREDICATE_KYC_API_KEY"

Event Stream

data: {"sessionId":"550e8400-e29b-41d4-a716-446655440000","status":"pending","verifiedWallets":[],"unverifiedWallets":[{"id":"wallet-uuid","address":"0x1234...","chain":"ethereum"}]}

: keep-alive

data: {"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"}],"unverifiedWallets":[]}

Endpoint

GET https://api.identity.predicate.io/api/v1/status/realtime/{type}/{sessionId}

Path Parameters

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

Event Format

Events are sent as data: lines with JSON payloads. The server also sends periodic : keep-alive comments to maintain the connection.
sessionId
string
required
The session ID
status
string
required
Current status: pending, submitted, completed, rejected, or retry
userId
string
User ID (present when session has an identity)
completedAt
string
ISO 8601 timestamp (only present when completed)
verifiedWallets
array
Wallets connected to this session. Only populated when session status is completed.
unverifiedWallets
array
Wallets connected to this session. Populated when session is not yet completed.

Status Values

StatusDescription
pendingSession created, user in verification process
submittedDocuments submitted, awaiting manual operator review
completedVerification successful, user is verified
rejectedVerification permanently failed (fraud, sanctions)
retryFixable issue (e.g., blurry document), user can retry
Important: A submitted status means documents are under manual review. The wallet is not verified until status becomes completed.

Authentication

Authorization: Bearer YOUR_API_KEY