Correct one of a worker's compliance documents
const url = 'https://api2.recruso.co.uk/v1/workers/1/compliances/1';const options = { method: 'PUT', headers: {Authorization: '<Authorization>', 'Content-Type': 'application/json'}, body: '{"workerId":4821,"id":7311,"complianceId":3,"startDate":"2026-01-15","endDate":"2031-01-14"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request PUT \ --url https://api2.recruso.co.uk/v1/workers/1/compliances/1 \ --header 'Authorization: <Authorization>' \ --header 'Content-Type: application/json' \ --data '{ "workerId": 4821, "id": 7311, "complianceId": 3, "startDate": "2026-01-15", "endDate": "2031-01-14" }'Corrects a document already held for a worker in your own agency — its type, or the dates it runs between.
This is a full replacement of that one document, not a partial merge: a field you omit is set to null.
Use it to fix a document that was recorded wrongly, not to record a renewal. A renewal is a new document with its own dates: overwriting the old one would erase the period it covered from the right-to-work register.
A document that belongs to a different worker, or to another agency, returns 404 rather than 403. modifiedBy and modifiedOn are set from your credentials and the current UK local time; they are not taken from the request.
Access. Requires a client-credentials access token. Tokens issued through the interactive user login are rejected.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”The workerId path parameter
The id path parameter
Request Bodyrequired
Section titled “Request Bodyrequired”The replacement values for a compliance document already held. Every field is written from the request, so a field you omit is set to null.
object
The worker the document belongs to. Taken from the route; a value in the request body is ignored.
Example
4821The document to update. Taken from the route; a value in the request body is ignored.
Example
7311The kind of document, as an id from your agency’s Compliance lookup.
Example
3The date the document takes effect.
Example
2026-01-15The date the document expires. Must not be before the start date.
Example
2031-01-14Responses
Section titled “Responses”OK
object
The record’s identifier.
The kind of document, as an id from your agency’s Compliance lookup.
The date the document takes effect.
The date the document expires.
Example
{ "workerComplianceId": 7311, "complianceId": 3, "startDate": "2026-01-15", "endDate": "2031-01-14"}Bad Request
object
Examplegenerated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "instance": "example"}Unauthorized
object
Examplegenerated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "instance": "example"}Forbidden
object
Examplegenerated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "instance": "example"}Not Found
object
Examplegenerated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "instance": "example"}
