List a worker's availability
const url = 'https://api2.recruso.co.uk/v1/workers/1/availability?from=2026-11-02&to=2026-11-15';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/availability?from=2026-11-02&to=2026-11-15' \ --header 'Authorization: <Authorization>'Returns the days a worker in your own agency is, or is not, available between from and to, both inclusive. Each entry has a date, one of your agency’s availability statuses and, optionally, a start and a finish time. A day with no entry is a day the worker is available.
Both from and to are required, and the range may cover no more days than your agency shows at once in Recruso CRM, counting both ends: at most 30. A range that is missing, reversed or wider returns 400. The list is not paged.
Entries are ordered by date, then by start time, those with none first. A worker may hold two entries on one date when your agency allows it.
A worker in another agency, under a branch the Recruso user behind your API app cannot reach, or deleted under data-protection law 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
Query Parameters
Section titled “Query Parameters”The first day, in the UK. Required.
Example
2026-11-02The first day, in the UK. Required.
The last day, in the UK. Required, not before from, and no more than your agency’s availability range after it, counting both ends: at most 30 days.
Example
2026-11-15The last day, in the UK. Required, not before from, and no more than your agency’s availability range after it, counting both ends: at most 30 days.
Responses
Section titled “Responses”OK
A worker’s availability over a range of days.
object
The worker the entries belong to.
The first day listed, as requested.
The last day listed, as requested.
The entries in the range, by date, then by start time with entries that have none first. A day with no entry has no element: the worker is available.
One day a worker is, or is not, available.
object
The entry’s identifier.
The worker the entry belongs to.
The day the entry is for, in the UK.
When the worker becomes available or unavailable that day, as a time of day; null when not set.
When it ends, as a time of day; null when not set. Earlier than startTime means the entry passes midnight.
The status, as an id from your agency’s availability statuses.
Read only. Whether the day stops holiday accrual for the worker: your agency’s setting for the worker’s type when the entry was created, kept as it was then. Null means the entry carries no accrual instruction, which is always so for workers other than limited-company and PSC types.
When the entry was created, in UK local time; null for entries that predate the column.
When the entry was last changed, in UK local time; null when it never has been.
Example
{ "workerId": 4821, "from": "2026-11-02", "to": "2026-11-15", "entries": [ { "availabilityId": 51207, "workerId": 4821, "date": "2026-11-03", "startTime": "07:00:00", "finishTime": "19:00:00", "availabilityStatusId": 3, "doNotAccrue": false, "createdOn": "2026-10-20T09:14:52", "modifiedOn": "2026-10-21T16:02:10" } ]}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"}
