SStratum APIs

Transactions API · £1.99 a person · no plan needed

Identity verification API

Send a person a link from your product. On their phone they photograph their passport or photo driving licence and record a short selfie video, about 3 minutes, through an identity service certified under the UK digital identity trust framework and listed on the GOV.UK register. You get the result by webhook, the identity service’s PDF report, and the check recorded on the job’s signed certificate.

£1.99 a person, taken from your prepaid credit when the link is made and given back if they never finish. No monthly plan. Tenants in England can do their ID and their right to rent in the same link for £3.49: the Right to Rent check API.

Sign upRead the docsA free test key makes links in the identity service’s sandbox, with nothing charged; add credit when you go live.

1. A job and the person

curl -X POST "https://api.stratumapis.com/v1/transactions" \
  -H "X-Stratum-Key: $STRATUM_KEY" -H "content-type: application/json" \
  -d '{ "type": "finance", "preset": "id" }'

curl -X PATCH "https://api.stratumapis.com/v1/transactions/$TXN" \
  -H "X-Stratum-Key: $STRATUM_KEY" -H "content-type: application/json" \
  -d '{ "parties": [{ "partyId": "client-1", "role": "client", "kind": "individual", "name": "Jane Doe", "dob": "1990-01-01" }] }'

preset: "id" opens a sale, letting or finance job with the ID check ticked and done by link, alongside the checks the law requires and recommends for that job. Add the people with your own partyId, so you can find them again. Sending a link charges only the ID check; the other ticked checks run, and are charged, only when you call POST /v1/transactions/{id}/run (see them priced with GET .../quote first, and the prices on the pricing page).

2. Send the link

curl -X POST "https://api.stratumapis.com/v1/transactions/$TXN/digital-id" \
  -H "X-Stratum-Key: $STRATUM_KEY" -H "content-type: application/json" \
  -d '{ "partyId": "client-1", "email": "jane@example.com" }'
{
  "ok": true,
  "digitalId": {
    "requestId": "9f3c1a7e5b2d4c6e8a0b1d2f",
    "partyId": "client-1",
    "kind": "id",
    "status": "waiting",
    "startUrl": "https://stratumapis.com/id/9f3c1a7e5b2d4c6e8a0b1d2f",
    "expiresAt": "2026-10-26T10:00:00.000Z",
    "chargedPence": 199
  }
}

Send startUrl to the person from your own product (email, SMS, your app). We don’t email them: the start page names your firm (set it once with PUT /v1/transactions/firm), says what to have ready, then hands over to the identity service, which may send them reminders. A link works for 7 days. A second call for the same person while a link is waiting returns that link and charges nothing.

3. The result

{
  "type": "digital_id.updated",
  "data": {
    "transactionId": "66896064-bf43-4359-839f-62b4353c3e0e",
    "requestId": "9f3c1a7e5b2d4c6e8a0b1d2f",
    "partyId": "client-1",
    "kind": "id",
    "status": "verified",
    "outcome": {
      "document": { "type": "passport", "issuingCountry": "GBR", "expiryDate": "2030-01-01", "numberEnd": "6789" },
      "identityProfile": "M1A",
      "selfie": "pass",
      "reasons": [],
      "checkedAt": "2026-10-19T10:04:12.000Z"
    },
    "reportAvailable": true,
    "chargedPence": 199,
    "refunded": false
  }
}

Register a webhook (PUT /v1/webhooks) and each change of status arrives as digital_id.updated, signed. Or ask: GET /v1/transactions/{id}/digital-id, and POST .../digital-id/{requestId}/refresh to read the identity service now.

  • verified: the document is genuine, the selfie matches it and is live. Recorded on the job.
  • review: something to look at, in outcome.reasons (a nickname, a typing error in the name). Read the report and accept it with a note: POST .../accept.
  • expired, cancelled, locked_out or blocked: nothing was checked, and the charge goes back to your credit.

4. The report and the record

GET .../digital-id/{requestId}/report answers with a 5-minute download link to the identity service’s PDF report. We keep it for 5 years after the job is marked complete (6 years after the check if it never is), the period the Money Laundering Regulations ask for; delete it earlier once you’ve filed your own copy (POST .../report/delete). The check also appears on the job’s certificate, which anyone can verify at stratumapis.com/verify.

Testing

With a test key, links are made in the identity service’s sandbox: nothing is charged and nobody is contacted. A sandbox link can’t check a real person, so it stays waiting until you cancel it or it expires; the shapes above are what a live check returns.

What the law asks

Read more