Skip to content

Create a rate type

POST
/v1/rate-types
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.

Media typeapplication/json
object
rateTypeName
required
string
isExpense
required
boolean
nullable
calculateInAverageRate
required
boolean
nullable
priorityOrder
required
integer format: int16
nullable
sagePayElementId
required
integer format: int32
nullable
isExpenseTaxable
required
boolean
nullable
primaryRateTypeId
required
integer format: int16
nullable
marginRate
required
number format: double
nullable
isVatable
required
boolean
nullable
Examplegenerated
{
"rateTypeName": "example",
"isExpense": true,
"calculateInAverageRate": true,
"priorityOrder": 1,
"sagePayElementId": 1,
"isExpenseTaxable": true,
"primaryRateTypeId": 1,
"marginRate": 1,
"isVatable": true
}

Created

Media typeapplication/json
object
rateTypeId
required
integer format: int16
rateTypeName
required
string
isExpense
required
boolean
nullable
calculateInAverageRate
required
boolean
nullable
priorityOrder
required
integer format: int16
nullable
sagePayElementId
required
integer format: int32
nullable
isExpenseTaxable
required
boolean
nullable
primaryRateTypeId
required
integer format: int16
nullable
marginRate
required
number format: double
nullable
isVatable
required
boolean
nullable
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
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"
}