Skip to main content
POST
/
gb
/
organizations
/
{organization_id}
/
pension
/
scheme
Create pension scheme
curl --request POST \
  --url https://preview.intermezzo.ai/gb/organizations/{organization_id}/pension/scheme \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "validFrom": "2023-12-25",
  "schemeName": "<string>",
  "provider": "NEST",
  "taxTreatment": "NET_PAY",
  "pensionableEarningsDefinition": "QUALIFYING_EARNINGS",
  "employeeRate": 0.525,
  "employerRate": 0.515
}
'
{
  "validFrom": "2023-12-25",
  "schemeName": "<string>",
  "provider": "NEST",
  "taxTreatment": "NET_PAY",
  "pensionableEarningsDefinition": "QUALIFYING_EARNINGS",
  "employeeRate": "<string>",
  "employerRate": "<string>",
  "employeeCap": "<string>",
  "employerCap": "<string>",
  "postponementPeriodMonths": 123,
  "entitledWorkerEmployerContributes": true,
  "reEnrolmentDate": "2023-12-25",
  "reEnrolmentWindowStart": "2023-12-25",
  "reEnrolmentWindowEnd": "2023-12-25",
  "validTo": "2023-12-25"
}

Authorizations

Authorization
string
header
required

Get token from Auth0 and paste it here

Path Parameters

organization_id
required

Body

application/json

Configure an organization's pension scheme.

validFrom
string<date>
required

Date from which this scheme configuration is effective

schemeName
string
required

Display name for the scheme

provider
enum<string>
required

Pension provider

Available options:
NEST,
OTHER
taxTreatment
enum<string>
required

Tax treatment method (NET_PAY, RELIEF_AT_SOURCE, SALARY_SACRIFICE)

Available options:
NET_PAY,
RELIEF_AT_SOURCE,
SALARY_SACRIFICE
pensionableEarningsDefinition
enum<string>
required

Which earnings count as pensionable

Available options:
QUALIFYING_EARNINGS,
PENSIONABLE_PAY
employeeRate
required

Employee contribution rate (minimum 0.05 = 5%)

Required range: 0.05 <= x <= 1
employerRate
required

Employer contribution rate (minimum 0.03 = 3%)

Required range: 0.03 <= x <= 1
employeeCap

Maximum employee contribution per period (absolute amount)

employerCap

Maximum employer contribution per period (absolute amount)

postponementPeriodMonths
integer
default:0

Months to postpone auto-enrolment for new eligible jobholders (0 = none)

Required range: 0 <= x <= 3
entitledWorkerEmployerContributes
boolean
default:false

Whether employer voluntarily contributes for Entitled Workers who join

reEnrolmentDate
string<date> | null

Employer's chosen cyclical re-enrolment date (every ~3 years)

reEnrolmentWindowStart
string<date> | null

Earliest permissible re-enrolment date (3 months before anniversary)

reEnrolmentWindowEnd
string<date> | null

Latest permissible re-enrolment date (3 months after anniversary)

Response

Successful Response

Organisation's pension scheme configuration.

validFrom
string<date>
required
schemeName
string
required
provider
enum<string>
required
Available options:
NEST,
OTHER
taxTreatment
enum<string>
required
Available options:
NET_PAY,
RELIEF_AT_SOURCE,
SALARY_SACRIFICE
pensionableEarningsDefinition
enum<string>
required
Available options:
QUALIFYING_EARNINGS,
PENSIONABLE_PAY
employeeRate
string
required
Pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$
employerRate
string
required
Pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$
employeeCap
string | null
required
Pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$
employerCap
string | null
required
Pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$
postponementPeriodMonths
integer
required
entitledWorkerEmployerContributes
boolean
required
reEnrolmentDate
string<date> | null
required
reEnrolmentWindowStart
string<date> | null
required
reEnrolmentWindowEnd
string<date> | null
required
validTo
string<date> | null