Last updated 9 October 2026View as Markdown

Holiday entitlement

POST /v1/holiday-entitlement Needs a key

Statutory annual leave from days worked a week, or the holiday an irregular hours or part-year worker accrues from hours worked (12.07%).

Request

A JSON body. Fields not listed here are rejected.

FieldTypeDescription
tax_year optionalstringThe tax year, such as 2026-27. The latest when not given. Default "2026-27".
days_per_week optionalnumberDays worked a week, for a regular pattern. Allowed: more than 0, up to 7.
hours_worked optionalnumberHours worked in a pay period, for an irregular hours or part-year worker. Allowed: 0 to 744.

Example

cURL

curl https://api.checktakehomepay.co.uk/v1/holiday-entitlement \
  -H "Authorization: Bearer $CHECKTAKEHOMEPAY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "days_per_week": 4
}'

Response

200, with the result and what produced it: tax_year, engine, hmrc_test_data, assumptions and sources. This is the example's real response. Every field's type is in the OpenAPI document.

200 OK
{
  "tax_year": "2026-27",
  "engine": "2026-27.1",
  "hmrc_test_data": "rest of UK and Welsh tax v1.0, Scottish tax v1.1, NI v1.0, directors NI v1.0, student loans v1.0",
  "days": 22.4,
  "capped": false,
  "assumptions": [
    "Statutory annual leave is 5.6 weeks of the working pattern, at most 28 days, not rounded to whole days. Bank holidays can be counted in it."
  ],
  "sources": [
    "https://www.gov.uk/holiday-entitlement-rights",
    "https://www.legislation.gov.uk/uksi/1998/1833/regulation/13"
  ]
}

Errors

  • 400 INVALID_INPUT: the message names each field that is wrong.
  • 401 UNAUTHENTICATED (no key) or INVALID_KEY (a key we don’t know, or a revoked one).

Every code, and how to handle them: Errors.