Entitld

Holiday entitlement, with the working attached.

A UK statutory holiday entitlement and holiday pay API for HR, workforce and payroll platforms. Seven calculations, every ruleset keyed to the date it took effect.

Week 1 of the leave yearWeek 52
5.6weeks of statutory leave in every leave year, under regulations 13 and 13A.
46.4weeks left to work, which is where an irregular‑hours accrual rate comes from.
12.07%is 5.6 ÷ 46.4, rounded. Regulation 15B sets it for leave years starting on or after 1 April 2024.

Every answer shows how it got there

Move the slider. This is the working the API returns for an irregular‑hours worker, calculated here the same way: exact arithmetic, rounded once, at the end.

Every response carries it as calculation_basis, alongside the ruleset_effective_date it was answered under.

Accrual rate× 12.07%Regulation 15B
Raw accrual301.75 hours
RoundingUpTo the nearest hour. 30 minutes or more rounds up.
Accrued302 hours

POST /v1/entitlement/irregular-hours

Two rules that look alike

Most of what you are buying is knowing which one applies.

A settled working week

The worker has fixed hours. Their leave is simply administered in hours rather than days.

POST /v1/entitlement/hours

A 25‑hour, five‑day part‑timer gets 5.6 weeks of their own working week.

No settled week at all

Irregular‑hours and part‑year workers, accruing 12.07% of the hours they actually work.

POST /v1/entitlement/irregular-hours

Regulation 15B, in force for leave years starting on or after 1 April 2024.

Applying 12.07% to a fixed part‑timer understates their entitlement. The API will not choose between them for you: the answer depends on the worker’s contract, which the request does not carry.

The same trap sits in the pay pair. Both /pay/holiday-pay and /pay/pay-in-lieu involve a 52, and they are different 52s: one is a window of past paid weeks to average, the other is a divisor turning annual salary into a weekly rate. They coincide by convention, not derivation.

What you can call

Bearer auth on everything except /health. JSON in, JSON out, with the ruleset it was answered under.

Entitlement

  • POST/v1/entitlement/fixed

    Fixed‑hours workers, pro‑rated across a partial leave year

  • POST/v1/entitlement/irregular-hours

    Hours accrued by the 12.07% method

  • POST/v1/entitlement/hours

    Fixed‑schedule part‑timers and shift workers, leave counted in hours

Accrual

  • POST/v1/accrual/to-date

    The running balance as at a given date

  • POST/v1/accrual/during-absence

    Holiday accrued while off sick or on statutory leave

Pay

  • POST/v1/pay/holiday-pay

    52‑week reference period average, for pay that varies

  • POST/v1/pay/pay-in-lieu

    Payment in lieu of leave left untaken at termination

Rules

  • GET/v1/rules

    Every published ruleset

  • GET/v1/rules/current

    The ruleset in force today, machine readable

  • GET/v1/rules/{effective_date}

    The ruleset in force on any date

Old leave years keep their old answers

Ruleset of 1 April 2024

The one published today. A leave year that started under it is answered under it, however late you ask.

The next ruleset

Applies to leave years starting on or after its own date. Nothing already answered moves.

Every calculation resolves its ruleset from the leave year start rather than from today, so when new regulations ship, a leave year that began under the old ones still gets the answer it got then. That is what makes a bulk recalculation safe to run. Pin it explicitly with ruleset_date when you need to.

The rules endpoints return the rates, caps and rounding behaviour that produced a figure, so you can show where it came from. Contractual entitlement below the statutory minimum is accepted and flagged as below_statutory_minimum, never silently corrected.

Pricing

Metered per call. Prices are illustrative until launch.

Sandbox

Building the integration

Free

1,000 calls a month

  • Every endpoint, every published ruleset
  • Test keys only, no production data
  • The worked examples the API is tested against
Get in touch

Production

One product, live customers

£99a month

50,000 calls, billed monthly

  • Every endpoint, every published ruleset
  • Live keys
  • Ruleset changes announced before their effective date
Get in touch

Vendor

A platform calculating for many employers

£399a month

500,000 calls, billed monthly

  • Every endpoint, every published ruleset
  • Live keys, with the allowance a platform needs
  • Ruleset changes announced before their effective date
Get in touch

Calls over the included allowance are £1.40 per thousand. Yearly billing is ten months for twelve.