Checks

Right to work

POST https://api.checksharecode.co.uk/v1/check/right-to-work checks a candidate or employee can work in the UK, on gov.uk, as their employer. Everything you send to this endpoint is here, and only that. A live check usually takes 15 to 40 seconds, so set your timeout to at least 60 seconds, or use the async endpoint.

What you send

Authorizationstringheaderrequired
Bearer followed by your key. rtw_test_… keys return sandbox data. rtw_live_… keys run a real check.
Example: Bearer rtw_live_…
Preferstringheader
Sandbox keys only: sandbox-latency=realistic makes a test code take as long as a live check. See test codes. Live keys ignore it.
Example: sandbox-latency=realistic
share_codestringrequired
The 9-character code the candidate made at gov.uk/prove-right-to-work. A right to rent code won’t open this check. Spaces and lower case are fine: we remove spaces and upper-case it.
Example: AB1CD2EF3
date_of_birthstringrequired
The applicant's date of birth as YYYY-MM-DD. It must match the share code, and it can't be in the future.
Example: 1990-01-01
company_namestringrequired
Your organisation's name, 1 to 200 characters. gov.uk records it as the employer making the check.
Example: Acme Ltd

Don’t send checker_type, which is for right to rent, or job_title, purpose and other_purpose, which are for immigration status: a right to work request with any of them is refused with 400 INVALID_INPUT. You don’t need check either, as the endpoint names the check. If you send it, it must be right_to_work.

Save the photo and PDF if you need a record: we keep a copy of the check for up to 7 days only to investigate problems, then delete it.

curl https://api.checksharecode.co.uk/v1/check/right-to-work \
  -H "authorization: Bearer $CHECKSHARECODE_API_KEY" \
  -H "content-type: application/json" \
  -d '{
    "share_code": "AB1CD2EF3",
    "date_of_birth": "1990-01-01",
    "company_name": "Acme Ltd"
  }'
200 OK
{
  "outcome": "ACCEPTED",
  "title": "Right to work",
  "name": "JANE EXAMPLE DOE",
  "date_of_birth": "1990-01-01",
  "details": "They have the right to work in the UK.",
  "nationality": null,
  "permission_type": null,
  "start_date": null,
  "expiry_date": null,
  "recheck_date": null,
  "conditions": [],
  "restrictions": [],
  "reference": "WE-EXAMPLE-12",
  "company_name": "Acme Ltd",
  "check_date": "2026-09-27",
  "share_code": "AB1CD2EF3",
  "photo_data_url": "data:image/jpeg;base64,/9j/4AAQ…",
  "pdf_data_url": "data:application/pdf;base64,JVBERi0…",
  "checked_at": "2026-09-27T10:14:03.000Z"
}

Try it

Sign up to try it with your sandbox key. It sends this request from the page and shows the answer, free, with test data.Log in

The same for every check

These are written once, for this endpoint, right to rent, immigration status and driving licence alike.