Submit a pending employee contribution change request. Mirrors the Penfold member
app flow for contribution percentage changes and salary sacrifice opt-in. Partners
may also request salary sacrifice opt-out via salary_sacrifice_enabled: false
(not supported in the member app today). There is no separate read endpoint —
poll GET .../employees/{employee_id} for current contribution percentages.
POST
/employers/{employer_id}/employees/{employee_id}/contribution_change_requests
curl \
--request POST 'https://payroll-api.getpenfold.dev/v4/employers/{employer_id}/employees/{employee_id}/contribution_change_requests' \
--header "Authorization: Bearer $ACCESS_TOKEN" \
--header "Content-Type: application/json" \
--data '{"employee_contributions_percent":42.0,"salary_sacrifice_enabled":true}'
Request examples
{
"employee_contributions_percent": 42.0,
"salary_sacrifice_enabled": true
}
Response examples (201)
{
"id": "string",
"employee_contributions_percent_from": 42.0,
"employee_contributions_percent_to": 42.0,
"salary_sacrifice_enabled": true,
"created_at": "2026-05-04T09:42:00Z",
"updated_at": "2026-05-04T09:42:00Z"
}
Response examples (400)
{
"error": "Bad request: invalid data provided.",
"validation_errors": [
{
"field": "email",
"message": "Email address is invalid."
}
]
}
Response examples (401)
{
"error": "Bad request: invalid data provided."
}
Response examples (404)
{
"error": "Bad request: invalid data provided."
}