Skip to content

Add a compliance document to a worker

POST
/v1/workers/{workerId}/compliances
curl --request POST \
--url https://api2.recruso.co.uk/v1/workers/1/compliances \
--header 'Authorization: <Authorization>' \
--header 'Content-Type: application/json' \
--data '{ "workerId": 4821, "complianceId": 3, "startDate": "2026-01-15", "endDate": "2031-01-14" }'

Adds one document to a worker’s right-to-work register in your own agency.

Documents accumulate rather than replace one another. A worker legitimately holds the same document type several times across the years — a renewal is a new document with its own dates, not an edit of the one it renews — so nothing here rejects a type the worker already has.

EndDate must not be before StartDate, and ComplianceId must be a compliance type in your agency’s lookup; one that does not exist returns 400. A worker id belonging to another agency returns 404 rather than 403, so their existence is never disclosed.

Access. Requires a client-credentials access token. Tokens issued through the interactive user login are rejected.

workerId
required
integer format: int32

The workerId path parameter

Media typeapplication/json

A compliance document to add to a worker’s right-to-work register.

object
workerId

The worker the document belongs to. Taken from the route; a value in the request body is ignored.

integer format: int32
Example
4821
complianceId

The kind of document, as an id from your agency’s Compliance lookup.

integer format: int16
Example
3
startDate

The date the document takes effect.

string format: date
nullable
Example
2026-01-15
endDate

The date the document expires. Must not be before the start date.

string format: date
nullable
Example
2031-01-14

Created

Media typeapplication/json
object
workerComplianceId

The record’s identifier.

integer format: int32
complianceId

The kind of document, as an id from your agency’s Compliance lookup.

integer format: int16
startDate

The date the document takes effect.

string format: date
nullable
endDate

The date the document expires.

string format: date
nullable
Example
{
"workerComplianceId": 7311,
"complianceId": 3,
"startDate": "2026-01-15",
"endDate": "2031-01-14"
}

Bad Request

Media typeapplication/problem+json
object
type
string
nullable
title
string
nullable
status
integer format: int32
nullable
detail
string
nullable
instance
string
nullable
Examplegenerated
{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"instance": "example"
}

Unauthorized

Media typeapplication/problem+json
object
type
string
nullable
title
string
nullable
status
integer format: int32
nullable
detail
string
nullable
instance
string
nullable
Examplegenerated
{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"instance": "example"
}

Forbidden

Media typeapplication/problem+json
object
type
string
nullable
title
string
nullable
status
integer format: int32
nullable
detail
string
nullable
instance
string
nullable
Examplegenerated
{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"instance": "example"
}

Not Found

Media typeapplication/problem+json
object
type
string
nullable
title
string
nullable
status
integer format: int32
nullable
detail
string
nullable
instance
string
nullable
Examplegenerated
{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"instance": "example"
}