Last updated 9 October 2026View as Markdown

Statutory Sick Pay

POST /v1/statutory/sick-pay Needs a key

One payment of Statutory Sick Pay: the lower of the flat rate and 80% of average weekly earnings, per qualifying day, rounded up to the penny, up to 28 weeks.

Request

A JSON body. Fields not listed here are rejected.

FieldTypeDescription
average_weekly_earnings requiredobjectAverage weekly earnings: { amount } a week, or the earnings in the relevant period with the weeks, months or days to divide them by.
average_weekly_earnings.amount optionalnumberAverage weekly earnings, when already known. Allowed: 0 or more, under 100,000,000.
average_weekly_earnings.earnings optionalnumberGross earnings paid in the relevant period. Allowed: 0 or more, under 100,000,000.
average_weekly_earnings.weeks optionalintegerWhole weeks in the relevant period, for weekly, two-weekly and four-weekly pay. Allowed: 1 to 52.
average_weekly_earnings.months optionalintegerMonths in the relevant period, for monthly pay. Allowed: 1 to 12.
average_weekly_earnings.days optionalintegerDays in the relevant period, for irregular pay or a new employee. Allowed: 1 to 366.
qualifying_days_per_week requiredintegerThe employee's usual working days in a week. Allowed: 1 to 7.
days requiredintegerQualifying days off sick in this pay period. Allowed: 0 to 366.
tax_year optionalstringThe tax year, such as 2026-27. The latest when not given. Default "2026-27".
days_paid_before optionalintegerQualifying days of SSP already paid in this period of incapacity (and linked ones), for the 28-week limit. Allowed: 0 to 196. Default 0.

Example

cURL

curl https://api.checktakehomepay.co.uk/v1/statutory/sick-pay \
  -H "Authorization: Bearer $CHECKTAKEHOMEPAY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "average_weekly_earnings": {
    "amount": 600
  },
  "qualifying_days_per_week": 5,
  "days": 5
}'

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",
  "average_weekly_earnings": 600,
  "weekly_rate": 123.25,
  "days": 5,
  "amount": 123.25,
  "days_remaining": 135,
  "assumptions": [
    "Statutory Sick Pay from 6 April 2026: from the first day off sick, at any earnings, at the lower of £123.25 a week and 80% of average weekly earnings.",
    "A day is the weekly rate divided by the qualifying days in the week, and each payment rounds up to the penny, so send one request per pay period.",
    "The caller checks entitlement (an employee, sick for at least one full working day: from 6 April 2026 there is no 4-day rule) and works out the qualifying days and linked periods of sickness."
  ],
  "sources": [
    "https://www.gov.uk/guidance/rates-and-thresholds-for-employers-2026-to-2027",
    "https://www.gov.uk/guidance/statutory-sick-pay-manually-calculate-your-employees-payments"
  ]
}

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.