Last updated 9 October 2026View as Markdown
Statutory Sick Pay
POST /v1/statutory/sick-pay Needs a keyOne 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.
| Field | Type | Description |
|---|---|---|
average_weekly_earnings required | object | Average 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 optional | number | Average weekly earnings, when already known. Allowed: 0 or more, under 100,000,000. |
average_weekly_earnings.earnings optional | number | Gross earnings paid in the relevant period. Allowed: 0 or more, under 100,000,000. |
average_weekly_earnings.weeks optional | integer | Whole weeks in the relevant period, for weekly, two-weekly and four-weekly pay. Allowed: 1 to 52. |
average_weekly_earnings.months optional | integer | Months in the relevant period, for monthly pay. Allowed: 1 to 12. |
average_weekly_earnings.days optional | integer | Days in the relevant period, for irregular pay or a new employee. Allowed: 1 to 366. |
qualifying_days_per_week required | integer | The employee's usual working days in a week. Allowed: 1 to 7. |
days required | integer | Qualifying days off sick in this pay period. Allowed: 0 to 366. |
tax_year optional | string | The tax year, such as 2026-27. The latest when not given. Default "2026-27". |
days_paid_before optional | integer | Qualifying 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
}'Node.js
const response = await fetch('https://api.checktakehomepay.co.uk/v1/statutory/sick-pay', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.CHECKTAKEHOMEPAY_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
"average_weekly_earnings": {
"amount": 600
},
"qualifying_days_per_week": 5,
"days": 5
}),
});
const result = await response.json();Python
import os
import requests
response = requests.post(
"https://api.checktakehomepay.co.uk/v1/statutory/sick-pay",
headers={"Authorization": f"Bearer {os.environ['CHECKTAKEHOMEPAY_API_KEY']}"},
json={
"average_weekly_earnings": {"amount": 600},
"qualifying_days_per_week": 5,
"days": 5,
},
)
result = response.json()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) orINVALID_KEY(a key we don’t know, or a revoked one).
Every code, and how to handle them: Errors.