To retrieve details for a specific worker. To retrieve worker details, users would need to pass account and business unit reference to the base URL, along with the worker reference.
To add a PAYE worker using the public API you must pass the account reference and business unit reference to the Base URL with the required objects in the body. Refer to Appendix A containing a sample of the request body.
Account
Cannot be Null
You must select an existing Account to add a worker
BusinessUnit
Cannot be Null
You must select an existing Business Unit to add a worker
The dependencies and validations are:
"Reference":"string"
Cannot be null
Can be blank and the system will automatically generate a reference from the worker
"Title":"string"
Cannot be Null
You must provide a Title for the worker
If contains Invalid Characters
Title must only contain Alpha Numeric characters
If contains Insufficient Characters
Title must be between 2 and 14 characters only
"Surname":"string"
Cannot be Null
You must provide a worker surname
Insufficient Characters
Worker Surname must be between 2 and 26 characters only
Invalid Characters
Worker Surname must contain Alphanumeric characters only
"Forename":"string"
Cannot be Null
You must provide a worker Forename
Insufficient Characters
Worker Forename must be between 2 and 26 characters only
Invalid Characters
Worker Forename must contain Alphanumeric Characters only
"dateOfBirth":"string"
Cannot be Null
You must enter a worker DOB
Underage
Age must be greater than 16
Overage
Age must be less than 100
Acceptable format: 1986-04-21T00:00:00
"StartDate":"string"
Cannot be Null
You must enter a Start Date
Invalid Start Date
Start Date cannot be after the Leave Date
Acceptable format: 2020-01-28T00:00:00
"LeaverReason":"string"
Can be Null
Cannot be blank
You must provide a reason for leaving when specifying Leave Date
If starterForm = “startingdeclaration” then employeeStatement needs to be either "A", "B", “C”, “Unknown”
EmployeeStatement will default to "Statement Unknown" if not provided in the API request
"TaxCode":"string"
Cannot be Null
Cannot be blank
If invalid tax code value is provided then the following validation will appear
Invalid Tax Code provided - Please check the tax code provided is in a valid format
Accepted format: “1257L”
"Address":"string"
Can be null
If the address record doesn’t exist in the body, then will return 200 but record will display as failed validation error in the webapp
You must enter the Address Line 1
Address Line 1 must be between 1 and 35 characters
You must enter a postcode
Postcode - incorrect format
Worker has missing address detail. Please ensure at least 2 lines of the address are populated.
"BankAccount":"string"
Can be null
If the bank details record doesn’t exist in the body, then will return 200 but record will display as failed validation error
Valid Account Name is required
Account Number must be 8 digits long
Sort Code must be 6 digits long
If the key paymentMethod = “cheque” then bank details are not required can be left blank otherwise you will receive the following validation: You must provide a valid Payment method.
"PensionSchemeMember":"string"
Can be null
If the pensionSchemeMember record not provided, system will use the default pension scheme set in the configuration
schemeReference can be null
In the event, the provided pension scheme reference does not exist, the system assigns the default pension scheme set under account configuration
"IsWeek1":"boolean"
Cannot be null
Can be true or false
If isWeek1 = true then P45LeavingDate, P45Frequency, P45Period, P45YtdGross and P45YtdTax are not required
"Apprentice":"boolean"
Cannot be null
Can be true or false
If apprentice = true then NI Letter must be H otherwise will create the record and fail validation
NI Letter is not H but Worker is an apprentice
"holidayScheme":"string"
Cannot be null
Can be left blank holidayScheme = “”
PAYE Worker Update
Method:
Add a caption...
Base URL: {{publicApiUrl}}/Worker/{{accountReference}}/{{businessUnitReference}}
To update a PAYE worker using the public API you need to pass the account and business unit reference to the Base URL with the required objects in the body. Refer to Appendix B containing a sample of the request body.
Account
Cannot be Null
You must input an existing Account to add a worker
Business Unit
Cannot be Null
You must input an existing Business Unit to add a worker
Reference
Cannot be null
The worker reference must be supplied
Move a worker to another Business Unit (moveToBusinessUnit)
Can be null
Requires the destination business unit reference
If blank, no action will be taken
If wrong reference provided, 404 will be returned
"Reference":"string"
Cannot be null
Can be blank and the system will automatically generate a reference from the worker
"Title":"string"
Cannot be Null
You must provide a Title for the worker
If contains Invalid Characters
Title must only contain Alpha Numeric characters
If contains Insufficient Characters
Title must be between 2 and 14 characters only
"Surname":"string"
Cannot be Null
You must provide a worker surname
Insufficient Characters
Worker Surname must be between 2 and 26 characters only
Invalid Characters
Worker Surname must contain Alphanumeric characters only
"Forename":"string"
Cannot be Null
You must provide a worker Forename
Insufficient Characters
Worker Forename must be between 2 and 26 characters only
Invalid Characters
Worker Forename must contain Alphanumeric Characters only
"dateOfBirth":"string"
Cannot be Null
You must enter a worker DOB
Underage
Age must be greater than 16
Overage
Age must be less than 100
Acceptable format: 1986-04-21T00:00:00
"StartDate":"string"
Cannot be Null
You must enter a Start Date
Invalid Start Date
Start Date cannot be after the Leave Date
Acceptable format: 2020-01-28T00:00:00
"LeaverReason":"string"
Can be Null
Cannot be blank
You must provide a reason for leaving when specifying Leave Date
If starterForm = “startingdeclaration” then employeeStatement needs to be either "A", "B", “C”, “Unknown”
EmployeeStatement will default to "Statement Unknown" if not provided in the API request
"TaxCode":"string"
Cannot be Null
Cannot be blank
If invalid tax code value is provided then the following validation will appear
Invalid Tax Code provided - Please check the tax code provided is in a valid format
Accepted format: “1257L”
"Address":"string"
Can be null
If the address record doesn’t exist in the body, then will return 200 but record will display as failed validation error in the webapp
You must enter the Address Line 1
Address Line 1 must be between 1 and 35 characters
You must enter a postcode
Postcode - incorrect format
Worker has missing address detail. Please ensure at least 2 lines of the address are populated.
"BankAccount":"string"
Can be null
If the bank details record doesn’t exist in the body, then will return 200 but record will display as failed validation error
Valid Account Name is required
Account Number must be 8 digits long
Sort Code must be 6 digits long
If the key paymentMethod = “cheque” then bank details are not required can be left blank otherwise you will receive the following validation: You must provide a valid Payment method.
"PensionSchemeMember":"string"
Can be null
If the pensionSchemeMember record not provided, system will use the default pension scheme set in the configuration
schemeReference can be null
In the event, the provided pension scheme reference does not exist, the system assigns the default pension scheme set under account configuration
"IsWeek1":"boolean"
Cannot be null
Can be true or false
If isWeek1 = true then P45LeavingDate, P45Frequency, P45Period, P45YtdGross and P45YtdTax are not required
"Apprentice":"boolean"
Cannot be null
Can be true or false
If apprentice = true then NI Letter must be H otherwise will create the record and fail validation
NI Letter is not H but Worker is an apprentice
"holidayScheme":"string"
Cannot be null
Can be left blank holidayScheme = “”
Contractor Workers
Contractor Worker Add
Method:
Add a caption...
Base URL: {{publicApiUrl}}/Worker/{{accountReference}}/{{businessUnitReference}}
To add a contractor worker using the public API you need to pass the account and business unit reference to the URL with the required objects in the body. Refer to Appendix C containing a sample of the request body.
Account
Cannot be Null
You must select an existing Account to add a worker
Business Unit
Cannot be Null
You must select an existing Business Unit to add a worker
The key dependencies are: -
"Supplier":"string"
Cannot be Null when engagementType = “Contractor”
If the supplier object is not supplied in the body, then an error will be returned
"Reference":"string"
Cannot be null
Can be blank and the system will automatically generate a reference from the worker
"WorkerEngagement":"string"
Cannot be Null
Cannot be blank
Acceptable values for workerEngagement can be: “A”, “B”, “C”, “D”, “E”, “F”
"Address":"string"
Cannot be null
Can be blank if the PayslipDeliveryMethod = “Paper”
Acceptable values for internationalAddress can be: “true” or “false”
Acceptable values for internationalBankAccount can be: “true” or “false”
InternationalAddress can true or false
If InternationalAddress = true
Mandatory values:
address1
address2
Country
Note: If Country = GB and InternationalAddress = true, then the supplied worker linked to the supplier record will be marked as validation error “Cannot set International Address when Country is UK for the supplier xx”.
Country can be provided using either the country code e.g. UK or the name e.g. United Kingdom
If InternationalAddress = false
Mandatory values:
address1 and
address2 or
address3 or
Town or
County
Postcode
InternationalAddress can be true or false
When InternationalBankAccount = true
Mandatory values
AccountName
IBAN
BIC
Optional values:
BankReference
BankName
All other fields are ignored regardless of entry.
When InternationalBankAccount = false
Mandatory values:
AccountName
SortCode
AccountNumber
Optional values:
BankReference
BankName
All other fields are ignored regardless of entry.
"SettlementTerms":"string"
Cannot be null
Cannot be left blank
The acceptable values are: "Default", "Payment Term 1", "Payment Term 2", "Payment Term 3", "Payment Term 4", "Payment Term 5", "Payment Term 6", "Payment Term 7", "Payment Term 8", "Payment Term 9", "Payment Term 10"
"InvoiceWorkflow":"string"
Cannot be Null
If invoiceworkflow = “selfbilling” and no selfbillexpirydate is provided then validation will appear
Please enter a self bill expiry date!
Acceptable format: "2023-01-28T00:00:00"
If workerengament = “D” and no companyhousenumber is provided then validation will appear
Companies House Number is required
Companies House Number is invalid
Companies House Number must be 8 digits long
If invoiceworkflow = ”none” and settlementterm = default then validation will appear
Settlement term should be 0 days if invoice workflow is set to none
If invoiceworkflow = “invoicematching” or “selfbilling” and settlement is not provided then validation will appear
Please select a Settlement Term
Acceptable values for invoiceworkflow are: “None”, “InvoiceMatching”, “SelfBilling”
"CompaniesHouseNumber":"wholenumber"
Can be Null
If the worker engagementType = “D” (Limited company) then the company house number must not be null.
Accepted format: AANNNNNN or NNNNNNNN
Contractor worker Update
Method:
Add a caption...
Base URL: {{publicApiUrl}}/Worker/{{accountReference}}/{{businessUnitReference}}
To update a contractor worker using the public API you need to pass the account and business unit reference to the Base URL with the required objects in the body. Refer to Appendix D containing a sample of the request body.
Account
Cannot be Null
You must select an existing Account to add a worker
Business Unit
Cannot be Null
You must select an existing Business Unit to add a worker
Move a worker to another Business Unit (moveToBusinessUnit)
Can be null
Requires the destination business unit reference
If blank, no action will be taken
If wrong reference provided, 404 will be returned
Most of the key dependencies and validations are the same as the Worker ADD as described in previous sections.
"Reference":"string"
Cannot be null
Reference must be provided to update the worker
"Supplier":"string"
Can be null when updating the contractor worker
"SupplierReference":"String"
Can be null when updating the contractor worker
The response will return from the worker reference
"PayslipdeliveryMethod":"string"
Cannot be null
If Payslipdeliverymethod key updated from email to paper then email address is not required
If the contractor update is to become IR35 then the payrollDataUK keys can be added to the body with values
"payrollDataUK":{
"niLetter":"A",
"starterForm":"P45",
"employeeStatement":"A",
"taxCode":"1250L",
"isWeek1":false,
"p45LeavingDate":"2022-02-02T00:00:00",
"p45Frequency":"Week",
"p45Period":"2",
"p45YtdGross":120.00,
"p45YtdTax":12.00
}
"InternationalAddress":"boolean"
can true or false
If InternationalAddress = true
Mandatory values:
address1
address2
Country
Note: If Country = GB and InternationalAddress = true, then the supplied worker linked to the supplier record will be marked as validation error “Cannot set International Address when Country is UK for the supplier xx”.
Country can be provided using either the country code e.g. UK or the name e.g. United Kingdom
If InternationalAddress = false
Mandatory values:
address1 and
address2 or
address3 or
Town or
County
Postcode
"InternationalBank":"boolean"
can be true or false.
When InternationalBankAccount = true
Mandatory values
AccountName
IBAN
BIC
Optional values:
BankReference
BankName
All other fields are ignored regardless of entry.
When InternationalBankAccount = false
Mandatory values:
AccountName
SortCode
AccountNumber
Optional values:
BankReference
BankName
All other fields are ignored regardless of entry.
Supplied Workers (Agency & Umbrella)
Agency/Umbrella worker Add
Method:
Add a caption...
Base URL: {{publicApiUrl}}/Worker/{{accountReference}}/{{businessUnitReference}}
To add an Agency or Umbrella worker record using the public API you need to pass the account and business unit reference to the BASE URL with the required objects in the body. Refer to Appendix G containing a sample of the request body.
Note: A worker record can be created with or without contact and address objects
Account
Cannot be Null
You must select an existing Account to add a worker
Business Unit
Cannot be Null
You must select an existing Business Unit to add a worker
The key dependencies and validations are:
"Reference":"string"
Cannot be null
Can be blank and the system will automatically generate a reference from the worker
"Name":"string"
Cannot be null
You must enter a Supplier Name
"Email":"string"
Cannot be null
Cannot be blank
You must enter a Supplier Email Address
You must provide a valid Supplier Email Address
"EngagementType":"string"
Cannot be null
Cannot be blank
Accepted values are: “Agency” or “Umbrella”
If the engagementType = “Umbrella” and the SupplierReference provided is an Agency then the system will inherit the worker engagementType from the supplier.
Note: If Country = GB and InternationalAddress = true, then the supplied worker linked to the supplier record will be marked as validation error “Cannot set International Address when Country is UK for the supplier xx”.
Country can be provided using either the country code e.g. UK or the name e.g. United Kingdom
If InternationalAddress = false
Mandatory values:
address1 and
address2 or
address3 or
Town or
County
Postcode
Agency/Umbrella worker Update
Method:
Add a caption...
Base URL: {{publicApiUrl}}/Worker/{{accountReference}}/{{businessUnitReference}}
To update an Agency or Umbrella worker record using the public API you need to pass the account and business unit reference to the BASE URL with the required objects in the body. Refer to Appendix H containing a sample of the request body.
Note: A worker record can be updated with or without contact and address objects
Account
Cannot be Null
You must select an existing Account to add a worker
Business Unit
Cannot be Null
You must select an existing Business Unit to add a worker
"Reference":"string"
Cannot be null
Can be blank and the system will automatically generate a reference from the worker
"Name":"string"
Cannot be null
You must enter a Supplier Name
"Email":"string"
Cannot be null
Cannot be blank
You must enter a Supplier Email Address
You must provide a valid Supplier Email Address
"EngagementType":"string"
Cannot be null
Cannot be blank
Accepted values are: “Agency” or “Umbrella”
If the engagementType = “Umbrella” and the SupplierReference provided is an Agency then the system will inherit the worker engagementType from the supplier.
Note: If Country = GB and InternationalAddress = true, then the supplied worker linked to the supplier record will be marked as validation error “Cannot set International Address when Country is UK for the supplier xx”.
Country can be provided using either the country code e.g. UK or the name e.g. United Kingdom
To search a worker using a specific search term. This parameter can also be used as a "Global Search" to search for the term across all accounts and business units (user has access to)
To enable payment after leaving for a left worker, users would need to pass the account and business unit reference to the base URL, along with the worker reference.
Account
Cannot be Null
Cannot be left blank
Business Unit
Cannot be Null
Cannot be left blank
WorkerReference
Cannot be Null
Cannot be left blank
For further information on worker transfers, please refer to our Payment After Leaving guide.
The contents of this document, along with any associated documents, are the property of PurePro Solutions Ltd. and are shared in strict confidence with the intended recipient. These materials may not be reproduced, shared, or used in any manner without prior written consent from PurePro Solutions Ltd. Unauthorized use or distribution is prohibited.