Skip to content

Get a worker's status history

GET
/v1/workers/{workerId}/status-history
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.

workerId
required
integer format: int32

The workerId path parameter

OK

Media typeapplication/json

A worker’s status trail, newest first.

object
workerId

The worker the trail belongs to.

integer format: int32
changes

Every status the worker has been moved to, newest first.

Array<object>

One entry in a worker’s status trail.

object
workerStatusChangedId

The entry’s identifier.

integer format: int32
workerStatusTypeId

The status the worker was moved to.

integer format: int16
changedOn

When the status was changed, in UK local time.

string format: date-time
changedBy

The Recruso user id (tblUsers.UserID) that changed the status, not the ASP.NET Identity id.

integer format: int16
nullable
note

The reason recorded with the change.

string
nullable
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

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"
}