Skip to content

Update an availability status

PUT
/v1/availability-statuses/{id}
curl --request PUT \
--url https://api2.recruso.co.uk/v1/availability-statuses/1 \
--header 'Authorization: <Authorization>' \
--header 'Content-Type: application/json' \
--data '{ "id": 1, "availabilityStatusName": "example", "awrSpecific": true, "displayInWorkerApp": true, "displayTextInWorkerApp": "example" }'

Updates one of your agency’s availability statuses. An availability status marks what a worker is doing on a given day — available, on holiday, at the doctor, on paternity leave.

Send the complete record: the fields you supply replace the stored values.

The name must not already be in use by another of your agency’s records; a clash returns 400. The record’s own current name is allowed.

Once any availability entry in your agency uses the status, its name and its awrSpecific flag can no longer change, so an entry cannot be moved into or out of the statuses that affect a worker’s AWR parity after it was recorded. A change to either returns 400, naming the field; the other fields stay editable. A name counts as changed when it differs at all once surrounding spaces are removed, a change of case included; sending the stored name back unchanged is never refused.

You only ever see and change your own agency’s records; there is no owner id on the request, and an id belonging to another agency returns 404 rather than 403 so that its existence is never disclosed.

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

id
required
integer format: int32

The id path parameter

Media typeapplication/json
object
id
integer format: int16
availabilityStatusName
string
awrSpecific

Whether AWR-specific breaks are applied to this status when a worker’s parity is calculated. The flag on its own is not enough: the status name must also be one of SICKNESS, JURY_SERVICE, MATERNITY, PATERNITY, ADOPTION or UNPAID_LEAVE, in upper case.

boolean
displayInWorkerApp

Whether this status is offered to workers in the Recruso Worker App, where a worker sets their own availability.

boolean
displayTextInWorkerApp
string
nullable
Examplegenerated
{
"id": 1,
"availabilityStatusName": "example",
"awrSpecific": true,
"displayInWorkerApp": true,
"displayTextInWorkerApp": "example"
}

OK

Media typeapplication/json
object
availabilityStatusId
integer format: int16
availabilityStatusName
string
awrSpecific

Whether AWR-specific breaks are applied to this status when a worker’s parity is calculated. The flag on its own is not enough: the status name must also be one of SICKNESS, JURY_SERVICE, MATERNITY, PATERNITY, ADOPTION or UNPAID_LEAVE, in upper case.

boolean
displayInWorkerApp

Whether this status is offered to workers in the Recruso Worker App, where a worker sets their own availability.

boolean
displayTextInWorkerApp
string
nullable
Examplegenerated
{
"availabilityStatusId": 1,
"availabilityStatusName": "example",
"awrSpecific": true,
"displayInWorkerApp": true,
"displayTextInWorkerApp": "example"
}

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