Get a worker's status history
const url = 'https://api2.recruso.co.uk/v1/workers/1/status-history';const options = {method: 'GET', headers: {Authorization: '<Authorization>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://api2.recruso.co.uk/v1/workers/1/status-history \ --header 'Authorization: <Authorization>'Returns every status a worker in your own agency has been moved to, newest first, with the reason recorded at the time.
The trail is append-only and read-only: an entry is written whenever the worker’s status moves, and is never edited or removed afterwards. A worker who has never had a status change returns an empty list — the status assigned at registration is not a change. Moving a worker between statuses is not part of the published API yet, so the entries you see here were written elsewhere.
The list is not paged. 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.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”The workerId path parameter
Responses
Section titled “Responses”OK
A worker’s status trail, newest first.
object
The worker the trail belongs to.
Every status the worker has been moved to, newest first.
One entry in a worker’s status trail.
object
The entry’s identifier.
The status the worker was moved to.
When the status was changed, in UK local time.
The Recruso user id (tblUsers.UserID) that changed the status, not the ASP.NET Identity id.
The reason recorded with the change.
Example
{ "workerId": 4821, "changes": [ { "workerStatusChangedId": 8842, "workerStatusTypeId": 3, "changedOn": "2026-09-03T11:24:16", "changedBy": 100, "note": "Returned from a career break and available again" } ]}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"}
