Create a rate type
POST
/v1/rate-types
const url = 'https://api2.recruso.co.uk/v1/rate-types';const options = { method: 'POST', headers: {Authorization: '<Authorization>', 'Content-Type': 'application/json'}, body: '{"rateTypeName":"example","isExpense":true,"calculateInAverageRate":true,"priorityOrder":1,"sagePayElementId":1,"isExpenseTaxable":true,"primaryRateTypeId":1,"marginRate":1,"isVatable":true}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api2.recruso.co.uk/v1/rate-types \ --header 'Authorization: <Authorization>' \ --header 'Content-Type: application/json' \ --data '{ "rateTypeName": "example", "isExpense": true, "calculateInAverageRate": true, "priorityOrder": 1, "sagePayElementId": 1, "isExpenseTaxable": true, "primaryRateTypeId": 1, "marginRate": 1, "isVatable": true }'Creates a rate type for your agency. A rate type is one of the rates a worker’s hours can be paid at — basic, overtime, Saturday, Sunday, basic nights, night out, and pre- and post-tax expenses.
Names are not checked for uniqueness, so the same name can be used more than once.
Returns 201 with the created record.
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.
Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
object
rateTypeName
required
string
isExpense
required
boolean
calculateInAverageRate
required
boolean
priorityOrder
required
integer format: int16
sagePayElementId
required
integer format: int32
isExpenseTaxable
required
boolean
primaryRateTypeId
required
integer format: int16
marginRate
required
number format: double
isVatable
required
boolean
Examplegenerated
{ "rateTypeName": "example", "isExpense": true, "calculateInAverageRate": true, "priorityOrder": 1, "sagePayElementId": 1, "isExpenseTaxable": true, "primaryRateTypeId": 1, "marginRate": 1, "isVatable": true}Responses
Section titled “Responses”Created
Media typeapplication/json
object
rateTypeId
required
integer format: int16
rateTypeName
required
string
isExpense
required
boolean
calculateInAverageRate
required
boolean
priorityOrder
required
integer format: int16
sagePayElementId
required
integer format: int32
isExpenseTaxable
required
boolean
primaryRateTypeId
required
integer format: int16
marginRate
required
number format: double
isVatable
required
boolean
Examplegenerated
{ "rateTypeId": 1, "rateTypeName": "example", "isExpense": true, "calculateInAverageRate": true, "priorityOrder": 1, "sagePayElementId": 1, "isExpenseTaxable": true, "primaryRateTypeId": 1, "marginRate": 1, "isVatable": true}Bad Request
Media typeapplication/problem+json
object
type
string
title
string
status
integer format: int32
detail
string
instance
string
Examplegenerated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "instance": "example"}Unauthorized
Media typeapplication/problem+json
object
type
string
title
string
status
integer format: int32
detail
string
instance
string
Examplegenerated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "instance": "example"}Forbidden
Media typeapplication/problem+json
object
type
string
title
string
status
integer format: int32
detail
string
instance
string
Examplegenerated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "instance": "example"}
