← All docs

API reference

Create a session, receive the result, and pull full detail.

1. Create a session

Send access_code to the person however you like (email, SMS) - they enter it in the IdCheck mobile app to start. reference_id is opaque to IdCheck; encode whatever you need to route the result back to your own record.

POST /api/v1/sessions
Authorization: Bearer <prefix>.<secret>
Content-Type: application/json

{
  "reference_id": "your-own-id-for-this-check"
}

→ 201
{
  "id": "…",
  "magic_link_token": "…",
  "access_code": "K7XH9F2A",
  "expires_at": "2026-08-24T00:00:00Z"
}

2. Receive the result

Verify X-IdCheck-Callback-Secret matches your stored callback secret before trusting the payload.

POST <your callback_url>
X-IdCheck-Client: <client id>
X-IdCheck-Callback-Secret: <your callback secret>

{
  "reference_id": "your-own-id-for-this-check",
  "results": [
    { "check_type": "id_check", "passed": true, "confidence": 0.71 }
  ]
}

3. Pull full detail (optional)

extracted_data and retained documents (GET /api/v1/sessions/{id}/documents/{check_type}) depend on your template's own retention settings.

GET /api/v1/sessions/{id}/data
Authorization: Bearer <prefix>.<secret>

→ 200
{
  "reference_id": "…",
  "status": "completed",
  "results": [
    {
      "check_type": "id_check",
      "passed": true,
      "confidence": 0.71,
      "extracted_data": { "full_name": "…", "date_of_birth": "…" },
      "document_retained": false
    }
  ]
}