List client invoice types
const url = 'https://api2.recruso.co.uk/v1/reference/client-invoice-types';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/reference/client-invoice-types \ --header 'Authorization: <Authorization>'Returns every client invoice type the platform publishes. The client endpoints take this vocabulary by name rather than by id: clientInvoiceType on create and update a client is matched against these names, and an unrecognised name returns 400 listing the accepted values.
These values are platform-wide: every agency sees the same list and the same ids, and your agency cannot add to them or change them. No endpoint published on this API takes a client invoice type id yet; the vocabulary is published so that its values are enumerable.
The list is not paged, and no order is guaranteed — sort client-side if you need one. The values change very rarely, so cache them rather than fetching them before every call.
Access. Requires an authenticated token. No further policy is applied.
Authorizations
Section titled “Authorizations”Responses
Section titled “Responses”OK
Every client invoice type the platform publishes.
object
The client invoice types. Never null.
One client invoice type in a list.
object
The client invoice type’s identifier. Stable and platform-wide — the same id means the same thing for every agency.
The client invoice type name, as it appears in Recruso. Up to 50 characters. Unique across all client invoice types.
Examplegenerated
{ "clientInvoiceTypes": [ { "id": 1, "name": "example" } ]}Unauthorized
object
Examplegenerated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "instance": "example"}
