Update an employee's information. All fields are optional — only provided fields
are updated; at least one field must be supplied. Once marked as a leaver
(exit_date), the employee record will no longer be accessible under the employer.
Body
Required
Employee update data.
-
Email address of the employee.
-
The employee's first name.
-
The employee's last name.
-
The employee's title, e.g. Mr., Mrs., Dr., etc.
-
The employee's date of birth, in YYYY-MM-DD format.
-
Full UK address for an employee. When provided on PATCH, all required fields must be present — partial address updates are not supported.
-
The employee's National Insurance number.
-
The date the employee started their employment, as a UTC calendar date in YYYY-MM-DD format.
-
The date the employee's employment ended, as a UTC calendar date in YYYY-MM-DD format. Provide only when marking the employee as a leaver. Emits an
Employmentwebhook with actionEndedandinitiated_byPartner.
Responses
-
Employee updated successfully.
-
Bad request, the request is malformed or contains invalid data.
-
Unauthorized, the request requires authentication, and the provided credentials are either missing or incorrect.
-
Employee or employer not found, the specified employee_id or employer_id does not match any existing records.
curl \
--request PATCH 'https://payroll-api.getpenfold.dev/v4/employers/{employer_id}/employees/{employee_id}' \
--header "Authorization: Bearer $ACCESS_TOKEN" \
--header "Content-Type: application/json" \
--data '"{\n \"exit_date\": \"2023-03-22\"\n}"'
{
"exit_date": "2023-03-22"
}
{
"address": {
"street_number": "123",
"line1": "Main Street",
"line2": null,
"town": "London",
"county": null,
"postcode": "AB12 3CD",
"country": "GB"
}
}
{
"id": "e1234-abcd-5678-efgh",
"upload_id": "string",
"employer_id": "r9876-wxyz-4321-stuv",
"email": "john.doe@example.com",
"created_at": "2023-03-01T12:00:00Z",
"updated_at": "2023-03-15T12:00:00Z",
"forename": "John",
"surname": "Doe",
"title": "Mr.",
"date_of_birth": "1990-01-01",
"address": {
"street_number": "123",
"line1": "Main Street",
"line2": "Flat 2",
"town": "London",
"county": "Greater London",
"postcode": "AB12 3CD",
"country": "GB"
},
"national_insurance_number": "AA123456C",
"employment_start_date": "2023-01-01",
"exit_date": "2023-12-31",
"opt_out_date": "2026-05-04",
"opt_in_date": "2026-05-04",
"opt_out_window_start_date": "2023-01-01",
"opt_out_window_end_date": "2023-01-31",
"member_scheme_status": "OptedIn",
"employee_contributions_percent": 5,
"employer_contributions_percent": 3
}
{
"error": "Bad request: invalid data provided.",
"validation_errors": [
{
"field": "email",
"message": "Email address is invalid."
}
]
}
{
"error": "Bad request: invalid data provided."
}
{
"error": "Bad request: invalid data provided."
}