Create a pension scheme
Creates your organisation’s arrangement with a provider, recording the payment source, duty start date, last re-enrolment date, and an optional external reference. Scheme endpoints use the path segment pension-schema.
curl --request POST \
--url https://api.sandbox.flowpayroll.ai/v2/pension/pension-schema \
--header 'Content-Type: application/json' \
--data '
{
"pensionProviderId": "<string>",
"name": "<string>",
"paymentSource": "<string>",
"lastReEnrolmentDate": "2023-12-25",
"dutyStartDate": "2023-12-25",
"externalReferenceId": "<string>",
"contributionDueDateOffsetDays": 123
}
'import requests
url = "https://api.sandbox.flowpayroll.ai/v2/pension/pension-schema"
payload = {
"pensionProviderId": "<string>",
"name": "<string>",
"paymentSource": "<string>",
"lastReEnrolmentDate": "2023-12-25",
"dutyStartDate": "2023-12-25",
"externalReferenceId": "<string>",
"contributionDueDateOffsetDays": 123
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
pensionProviderId: '<string>',
name: '<string>',
paymentSource: '<string>',
lastReEnrolmentDate: '2023-12-25',
dutyStartDate: '2023-12-25',
externalReferenceId: '<string>',
contributionDueDateOffsetDays: 123
})
};
fetch('https://api.sandbox.flowpayroll.ai/v2/pension/pension-schema', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.sandbox.flowpayroll.ai/v2/pension/pension-schema",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'pensionProviderId' => '<string>',
'name' => '<string>',
'paymentSource' => '<string>',
'lastReEnrolmentDate' => '2023-12-25',
'dutyStartDate' => '2023-12-25',
'externalReferenceId' => '<string>',
'contributionDueDateOffsetDays' => 123
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.sandbox.flowpayroll.ai/v2/pension/pension-schema"
payload := strings.NewReader("{\n \"pensionProviderId\": \"<string>\",\n \"name\": \"<string>\",\n \"paymentSource\": \"<string>\",\n \"lastReEnrolmentDate\": \"2023-12-25\",\n \"dutyStartDate\": \"2023-12-25\",\n \"externalReferenceId\": \"<string>\",\n \"contributionDueDateOffsetDays\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.sandbox.flowpayroll.ai/v2/pension/pension-schema")
.header("Content-Type", "application/json")
.body("{\n \"pensionProviderId\": \"<string>\",\n \"name\": \"<string>\",\n \"paymentSource\": \"<string>\",\n \"lastReEnrolmentDate\": \"2023-12-25\",\n \"dutyStartDate\": \"2023-12-25\",\n \"externalReferenceId\": \"<string>\",\n \"contributionDueDateOffsetDays\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.flowpayroll.ai/v2/pension/pension-schema")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"pensionProviderId\": \"<string>\",\n \"name\": \"<string>\",\n \"paymentSource\": \"<string>\",\n \"lastReEnrolmentDate\": \"2023-12-25\",\n \"dutyStartDate\": \"2023-12-25\",\n \"externalReferenceId\": \"<string>\",\n \"contributionDueDateOffsetDays\": 123\n}"
response = http.request(request)
puts response.read_body{
"message": {
"token": "<string>",
"text": "<string>",
"tokenArguments": [
{
"name": "<string>",
"value": null
}
],
"textId": "<string>",
"textParameters": [
{
"key": "<string>",
"value": "<string>"
}
]
},
"content": {
"data": {
"id": "<string>",
"organisationId": "<string>",
"pensionProviderId": "<string>",
"name": "<string>",
"createdBy": "<string>",
"createdDate": "<string>",
"updatedBy": "<string>",
"updatedDate": "<string>",
"paymentSource": "<string>",
"lastReEnrolmentDate": "2023-12-25",
"dutyStartDate": "2023-12-25",
"externalReferenceId": "<string>",
"contributionDueDateOffsetDays": 123,
"employeeIdentifierField": "NationalInsuranceNumber"
},
"metadata": {
"dateFormat": "<string>",
"dateTimeFormat": "<string>",
"paginationToken": "<string>"
}
},
"validationIssues": [
{
"field": "<string>",
"reason": "<string>",
"reasonToken": "<string>",
"reasonTokenArguments": [
{
"name": "<string>",
"value": null
}
]
}
],
"errors": [
{
"field": "<string>",
"reasonText": "<string>",
"reasonId": "<string>",
"reasonParameters": [
{
"key": "<string>",
"value": "<string>"
}
]
}
],
"metadata": {
"dateFormat": "<string>",
"dateTimeFormat": "<string>",
"paginationToken": "<string>"
}
}{
"message": {
"token": "<string>",
"text": "<string>",
"tokenArguments": [
{
"name": "<string>",
"value": null
}
],
"textId": "<string>",
"textParameters": [
{
"key": "<string>",
"value": "<string>"
}
]
},
"content": {
"data": null,
"metadata": {
"dateFormat": "<string>",
"dateTimeFormat": "<string>",
"paginationToken": "<string>"
}
},
"validationIssues": [
{
"field": "<string>",
"reason": "<string>",
"reasonToken": "<string>",
"reasonTokenArguments": [
{
"name": "<string>",
"value": null
}
]
}
],
"errors": [
{
"field": "<string>",
"reasonText": "<string>",
"reasonId": "<string>",
"reasonParameters": [
{
"key": "<string>",
"value": "<string>"
}
]
}
],
"metadata": {
"dateFormat": "<string>",
"dateTimeFormat": "<string>",
"paginationToken": "<string>"
}
}{
"message": {
"token": "<string>",
"text": "<string>",
"tokenArguments": [
{
"name": "<string>",
"value": null
}
],
"textId": "<string>",
"textParameters": [
{
"key": "<string>",
"value": "<string>"
}
]
},
"content": {
"data": null,
"metadata": {
"dateFormat": "<string>",
"dateTimeFormat": "<string>",
"paginationToken": "<string>"
}
},
"validationIssues": [
{
"field": "<string>",
"reason": "<string>",
"reasonToken": "<string>",
"reasonTokenArguments": [
{
"name": "<string>",
"value": null
}
]
}
],
"errors": [
{
"field": "<string>",
"reasonText": "<string>",
"reasonId": "<string>",
"reasonParameters": [
{
"key": "<string>",
"value": "<string>"
}
]
}
],
"metadata": {
"dateFormat": "<string>",
"dateTimeFormat": "<string>",
"paginationToken": "<string>"
}
}{
"message": {
"token": "<string>",
"text": "<string>",
"tokenArguments": [
{
"name": "<string>",
"value": null
}
],
"textId": "<string>",
"textParameters": [
{
"key": "<string>",
"value": "<string>"
}
]
},
"content": {
"data": null,
"metadata": {
"dateFormat": "<string>",
"dateTimeFormat": "<string>",
"paginationToken": "<string>"
}
},
"validationIssues": [
{
"field": "<string>",
"reason": "<string>",
"reasonToken": "<string>",
"reasonTokenArguments": [
{
"name": "<string>",
"value": null
}
]
}
],
"errors": [
{
"field": "<string>",
"reasonText": "<string>",
"reasonId": "<string>",
"reasonParameters": [
{
"key": "<string>",
"value": "<string>"
}
]
}
],
"metadata": {
"dateFormat": "<string>",
"dateTimeFormat": "<string>",
"paginationToken": "<string>"
}
}Body
How many days after an earnings period ends the contributions are due at this provider.
The due date on a contribution schedule belongs to the provider, and it has to match what the provider holds or the submission is refused. Once the provider is connected its own published schedule is used and this is ignored; set it when there is no connection, so the file carries the agreed date rather than the date employees were paid.
NationalInsuranceNumber, PayrollId, EmployeeCode, EmployeeId Response
OK
The response envelope every FlowPayroll API answers with: a message, the
content, and any validationIssues. errors and the top-level
metadata are deprecated copies of validationIssues and
content.metadata, and will be removed.
What happened, as English text and a stable token to translate from.
textId and textParameters are deprecated copies of token and tokenArguments.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Deprecated: the same issues as validationIssues (reasonText is reason, reasonId is reasonToken, reasonParameters is reasonTokenArguments). Read validationIssues; this will be removed.
Show child attributes
Show child attributes
Deprecated: the same values as content.metadata. Read that; this will be removed.
Show child attributes
Show child attributes
Was this page helpful?
curl --request POST \
--url https://api.sandbox.flowpayroll.ai/v2/pension/pension-schema \
--header 'Content-Type: application/json' \
--data '
{
"pensionProviderId": "<string>",
"name": "<string>",
"paymentSource": "<string>",
"lastReEnrolmentDate": "2023-12-25",
"dutyStartDate": "2023-12-25",
"externalReferenceId": "<string>",
"contributionDueDateOffsetDays": 123
}
'import requests
url = "https://api.sandbox.flowpayroll.ai/v2/pension/pension-schema"
payload = {
"pensionProviderId": "<string>",
"name": "<string>",
"paymentSource": "<string>",
"lastReEnrolmentDate": "2023-12-25",
"dutyStartDate": "2023-12-25",
"externalReferenceId": "<string>",
"contributionDueDateOffsetDays": 123
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
pensionProviderId: '<string>',
name: '<string>',
paymentSource: '<string>',
lastReEnrolmentDate: '2023-12-25',
dutyStartDate: '2023-12-25',
externalReferenceId: '<string>',
contributionDueDateOffsetDays: 123
})
};
fetch('https://api.sandbox.flowpayroll.ai/v2/pension/pension-schema', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.sandbox.flowpayroll.ai/v2/pension/pension-schema",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'pensionProviderId' => '<string>',
'name' => '<string>',
'paymentSource' => '<string>',
'lastReEnrolmentDate' => '2023-12-25',
'dutyStartDate' => '2023-12-25',
'externalReferenceId' => '<string>',
'contributionDueDateOffsetDays' => 123
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.sandbox.flowpayroll.ai/v2/pension/pension-schema"
payload := strings.NewReader("{\n \"pensionProviderId\": \"<string>\",\n \"name\": \"<string>\",\n \"paymentSource\": \"<string>\",\n \"lastReEnrolmentDate\": \"2023-12-25\",\n \"dutyStartDate\": \"2023-12-25\",\n \"externalReferenceId\": \"<string>\",\n \"contributionDueDateOffsetDays\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.sandbox.flowpayroll.ai/v2/pension/pension-schema")
.header("Content-Type", "application/json")
.body("{\n \"pensionProviderId\": \"<string>\",\n \"name\": \"<string>\",\n \"paymentSource\": \"<string>\",\n \"lastReEnrolmentDate\": \"2023-12-25\",\n \"dutyStartDate\": \"2023-12-25\",\n \"externalReferenceId\": \"<string>\",\n \"contributionDueDateOffsetDays\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.flowpayroll.ai/v2/pension/pension-schema")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"pensionProviderId\": \"<string>\",\n \"name\": \"<string>\",\n \"paymentSource\": \"<string>\",\n \"lastReEnrolmentDate\": \"2023-12-25\",\n \"dutyStartDate\": \"2023-12-25\",\n \"externalReferenceId\": \"<string>\",\n \"contributionDueDateOffsetDays\": 123\n}"
response = http.request(request)
puts response.read_body{
"message": {
"token": "<string>",
"text": "<string>",
"tokenArguments": [
{
"name": "<string>",
"value": null
}
],
"textId": "<string>",
"textParameters": [
{
"key": "<string>",
"value": "<string>"
}
]
},
"content": {
"data": {
"id": "<string>",
"organisationId": "<string>",
"pensionProviderId": "<string>",
"name": "<string>",
"createdBy": "<string>",
"createdDate": "<string>",
"updatedBy": "<string>",
"updatedDate": "<string>",
"paymentSource": "<string>",
"lastReEnrolmentDate": "2023-12-25",
"dutyStartDate": "2023-12-25",
"externalReferenceId": "<string>",
"contributionDueDateOffsetDays": 123,
"employeeIdentifierField": "NationalInsuranceNumber"
},
"metadata": {
"dateFormat": "<string>",
"dateTimeFormat": "<string>",
"paginationToken": "<string>"
}
},
"validationIssues": [
{
"field": "<string>",
"reason": "<string>",
"reasonToken": "<string>",
"reasonTokenArguments": [
{
"name": "<string>",
"value": null
}
]
}
],
"errors": [
{
"field": "<string>",
"reasonText": "<string>",
"reasonId": "<string>",
"reasonParameters": [
{
"key": "<string>",
"value": "<string>"
}
]
}
],
"metadata": {
"dateFormat": "<string>",
"dateTimeFormat": "<string>",
"paginationToken": "<string>"
}
}{
"message": {
"token": "<string>",
"text": "<string>",
"tokenArguments": [
{
"name": "<string>",
"value": null
}
],
"textId": "<string>",
"textParameters": [
{
"key": "<string>",
"value": "<string>"
}
]
},
"content": {
"data": null,
"metadata": {
"dateFormat": "<string>",
"dateTimeFormat": "<string>",
"paginationToken": "<string>"
}
},
"validationIssues": [
{
"field": "<string>",
"reason": "<string>",
"reasonToken": "<string>",
"reasonTokenArguments": [
{
"name": "<string>",
"value": null
}
]
}
],
"errors": [
{
"field": "<string>",
"reasonText": "<string>",
"reasonId": "<string>",
"reasonParameters": [
{
"key": "<string>",
"value": "<string>"
}
]
}
],
"metadata": {
"dateFormat": "<string>",
"dateTimeFormat": "<string>",
"paginationToken": "<string>"
}
}{
"message": {
"token": "<string>",
"text": "<string>",
"tokenArguments": [
{
"name": "<string>",
"value": null
}
],
"textId": "<string>",
"textParameters": [
{
"key": "<string>",
"value": "<string>"
}
]
},
"content": {
"data": null,
"metadata": {
"dateFormat": "<string>",
"dateTimeFormat": "<string>",
"paginationToken": "<string>"
}
},
"validationIssues": [
{
"field": "<string>",
"reason": "<string>",
"reasonToken": "<string>",
"reasonTokenArguments": [
{
"name": "<string>",
"value": null
}
]
}
],
"errors": [
{
"field": "<string>",
"reasonText": "<string>",
"reasonId": "<string>",
"reasonParameters": [
{
"key": "<string>",
"value": "<string>"
}
]
}
],
"metadata": {
"dateFormat": "<string>",
"dateTimeFormat": "<string>",
"paginationToken": "<string>"
}
}{
"message": {
"token": "<string>",
"text": "<string>",
"tokenArguments": [
{
"name": "<string>",
"value": null
}
],
"textId": "<string>",
"textParameters": [
{
"key": "<string>",
"value": "<string>"
}
]
},
"content": {
"data": null,
"metadata": {
"dateFormat": "<string>",
"dateTimeFormat": "<string>",
"paginationToken": "<string>"
}
},
"validationIssues": [
{
"field": "<string>",
"reason": "<string>",
"reasonToken": "<string>",
"reasonTokenArguments": [
{
"name": "<string>",
"value": null
}
]
}
],
"errors": [
{
"field": "<string>",
"reasonText": "<string>",
"reasonId": "<string>",
"reasonParameters": [
{
"key": "<string>",
"value": "<string>"
}
]
}
],
"metadata": {
"dateFormat": "<string>",
"dateTimeFormat": "<string>",
"paginationToken": "<string>"
}
}