If an ID is passed or an existing employee is matched (according to the matchType parameter), it will be updated. Otherwise a new employee will be created.
MatchType parameter values:
An employee may be created with a status of 'Incomplete' by specifying at least the minimum fields;
firstName, surname, startDate, employeeStatement, NationalInsuranceNumber, NationalInsuranceCategory, NationalInsuranceCalculationMethod,
TaxCode and TaxCalculationMethod.
For an employee record to be considered 'Complete' the following groups of data are required:
If reporting dimensions are enabled for the business, add primary reporting dimension values using "|" as a separator between values.
Bypassing address validation:
By default we validate addresses when they are entered. If for any reason you want to skip this validation, please follow the steps below.
Please note that when ResidentialAddressIsOverseas is set to "true", ResidentialCountry must be set and likewise with PostalAddressIsOverseas and PostalCountry.
POST http:///api/v2/business/{businessId}/employee/unstructured
| Parameter name | Value | Description | Additional |
|---|---|---|---|
| businessId | string | Required |
| Parameter name | Value | Description | Additional |
|---|---|---|---|
| matchType | string |
Possible values are:
|
The request body takes a complete UkUnstructuredEmployeeModel resource, containing the following writable properties:
{
"anniversaryDate": "date-time",
"applyRolledUpHolidayPay": "boolean",
"appointmentEndDate": "date-time",
"appointmentStartDate": "date-time",
"assessmentDate": "date-time",
"assessmentStatus": "string",
"automaticallyPayEmployee": "string",
"bankAccount1_AccountName": "string",
"bankAccount1_AccountNumber": "string",
"bankAccount1_AllocatedPercentage": "double",
"bankAccount1_FixedAmount": "double",
"bankAccount1_RollNumber": "string",
"bankAccount1_SortCode": "string",
"bankAccount2_AccountName": "string",
"bankAccount2_AccountNumber": "string",
"bankAccount2_AllocatedPercentage": "double",
"bankAccount2_FixedAmount": "double",
"bankAccount2_RollNumber": "string",
"bankAccount2_SortCode": "string",
"bankAccount3_AccountName": "string",
"bankAccount3_AccountNumber": "string",
"bankAccount3_AllocatedPercentage": "double",
"bankAccount3_FixedAmount": "double",
"bankAccount3_RollNumber": "string",
"bankAccount3_SortCode": "string",
"dateCreated": "date-time",
"dateOfBirth": "date-time",
"deferralDate": "date-time",
"emailAddress": "string",
"emergencyContact1_Address": "string",
"emergencyContact1_AlternateContactNumber": "string",
"emergencyContact1_ContactNumber": "string",
"emergencyContact1_Name": "string",
"emergencyContact1_Relationship": "string",
"emergencyContact2_Address": "string",
"emergencyContact2_AlternateContactNumber": "string",
"emergencyContact2_ContactNumber": "string",
"emergencyContact2_Name": "string",
"emergencyContact2_Relationship": "string",
"employeePaidIrregularly": "string",
"employeeStarterType": "string",
"employeeStatement": "string",
"endDate": "date-time",
"europeanEconomicAreaCitizen": "boolean",
"excludeEarningsFromAppLevy": "boolean",
"externalId": "string",
"firstName": "string",
"freeportQualifyingEndDate": "date-time",
"gender": "string",
"hasPostGradLoan": "boolean",
"hasStudentLoan": "boolean",
"homePhone": "string",
"hoursPerWeek": "double",
"id": "int32",
"investmentQualifyingEndDate": "date-time",
"isApprentice": "string",
"isCompanyDirector": "string",
"isEnabledForTimesheets": "string",
"isExemptFromMinimumWage": "string",
"isIR35Contractor": "boolean",
"isSecondedEmployee": "boolean",
"jobTitle": "string",
"leaveAccrualStartDateType": "string",
"leaveTemplate": "string",
"leaveYearStart": "date-time",
"locations": "string",
"middleName": "string",
"mobilePhone": "string",
"nationalInsuranceCalculationMethod": "string",
"nationalInsuranceCategory": "string",
"nationalInsuranceNumber": "string",
"occupationalPension": "boolean",
"optInDate": "date-time",
"overrideTemplateRate": "string",
"p6CodingNoticeSequenceNumber": "int64",
"p9CodingNoticeSequenceNumber": "int64",
"payConditionRuleSet": "string",
"payRateTemplate": "string",
"paySchedule": "string",
"paySlipNotificationType": "string",
"payrollId": "string",
"pensionAssessmentOption": "string",
"pensionContributionGroup": "string",
"pgl2CodingNoticeSequenceNumber": "int64",
"pglCodingNoticeSequenceNumber": "int64",
"postalAddressIsOverseas": "boolean",
"postalAddressLine2": "string",
"postalCity": "string",
"postalCountry": "string",
"postalCounty": "string",
"postalPostCode": "string",
"postalStreetAddress": "string",
"postponementOption": "string",
"preferredName": "string",
"previousEmployerContinueStudentLoanDeductions": "boolean",
"previousEmployerLeavingDate": "date-time",
"previousEmployerOfficeNumber": "string",
"previousEmployerReferenceNumber": "string",
"previousEmployerTaxCode": "string",
"previousEmployerTaxPeriodFrequency": "string",
"previousEmployerTaxPeriodNumber": "int32",
"previousEmployerTaxWithheld": "double",
"previousEmployerTaxablePay": "double",
"previousEmployerW1M1": "boolean",
"primaryLocation": "string",
"primaryPayCategory": "string",
"rate": "double",
"rateUnit": "string",
"reportingDimensionValues": "string",
"residentialAddressIsOverseas": "boolean",
"residentialAddressLine2": "string",
"residentialCity": "string",
"residentialCountry": "string",
"residentialCounty": "string",
"residentialPostCode": "string",
"residentialStreetAddress": "string",
"rolledUpHolidayPayPercentage": "double",
"rosteringNotificationChoices": "string",
"secondmentType": "string",
"sl2CodingNoticeSequenceNumber": "int64",
"slCodingNoticeSequenceNumber": "int64",
"startDate": "date-time",
"status": "string",
"studentLoanType": "string",
"surname": "string",
"tags": "string",
"taxCalculationMethod": "string",
"taxCode": "string",
"title": "string",
"veteransQualifyingEndDate": "date-time",
"workPhone": "string",
"workTypes": "string",
"workplacePostcode": "string"
}
| Name | Type | Description |
|---|---|---|
| anniversaryDate | date-time |
Nullable |
| applyRolledUpHolidayPay | boolean |
Nullable |
| appointmentEndDate | date-time |
Nullable |
| appointmentStartDate | date-time |
Nullable |
| assessmentDate | date-time |
Nullable |
| assessmentStatus | string | String |
| automaticallyPayEmployee | string | String |
| bankAccount1_AccountName | string | String |
| bankAccount1_AccountNumber | string | String |
| bankAccount1_AllocatedPercentage | double |
Nullable |
| bankAccount1_FixedAmount | double |
Nullable |
| bankAccount1_RollNumber | string | String |
| bankAccount1_SortCode | string | String |
| bankAccount2_AccountName | string | String |
| bankAccount2_AccountNumber | string | String |
| bankAccount2_AllocatedPercentage | double |
Nullable |
| bankAccount2_FixedAmount | double |
Nullable |
| bankAccount2_RollNumber | string | String |
| bankAccount2_SortCode | string | String |
| bankAccount3_AccountName | string | String |
| bankAccount3_AccountNumber | string | String |
| bankAccount3_AllocatedPercentage | double |
Nullable |
| bankAccount3_FixedAmount | double |
Nullable |
| bankAccount3_RollNumber | string | String |
| bankAccount3_SortCode | string | String |
| dateCreated | date-time | DateTime |
| dateOfBirth | date-time |
Nullable |
| deferralDate | date-time |
Nullable |
| emailAddress | string | String |
| emergencyContact1_Address | string | String |
| emergencyContact1_AlternateContactNumber | string | String |
| emergencyContact1_ContactNumber | string | String |
| emergencyContact1_Name | string | String |
| emergencyContact1_Relationship | string | String |
| emergencyContact2_Address | string | String |
| emergencyContact2_AlternateContactNumber | string | String |
| emergencyContact2_ContactNumber | string | String |
| emergencyContact2_Name | string | String |
| emergencyContact2_Relationship | string | String |
| employeePaidIrregularly | string | String |
| employeeStarterType | string | String |
| employeeStatement | string | String |
| endDate | date-time |
Nullable |
| europeanEconomicAreaCitizen | boolean |
Nullable |
| excludeEarningsFromAppLevy | boolean |
Nullable |
| externalId | string | String |
| firstName | string | String |
| freeportQualifyingEndDate | date-time |
Nullable |
| gender | string | String |
| hasPostGradLoan | boolean | Boolean |
| hasStudentLoan | boolean | Boolean |
| homePhone | string | String |
| hoursPerWeek | double |
Nullable |
| id | int32 | Int32 |
| investmentQualifyingEndDate | date-time |
Nullable |
| isApprentice | string | String |
| isCompanyDirector | string | String |
| isEnabledForTimesheets | string | String |
| isExemptFromMinimumWage | string | String |
| isIR35Contractor | boolean | Boolean |
| isSecondedEmployee | boolean |
Nullable |
| jobTitle | string | String |
| leaveAccrualStartDateType | string |
Nullable Possible values are:
|
| leaveTemplate | string | String |
| leaveYearStart | date-time |
Nullable |
| locations | string | String |
| middleName | string | String |
| mobilePhone | string | String |
| nationalInsuranceCalculationMethod | string | String |
| nationalInsuranceCategory | string | String |
| nationalInsuranceNumber | string | String |
| occupationalPension | boolean |
Nullable |
| optInDate | date-time |
Nullable |
| overrideTemplateRate | string | String |
| p6CodingNoticeSequenceNumber | int64 | Int64 |
| p9CodingNoticeSequenceNumber | int64 | Int64 |
| payConditionRuleSet | string | String |
| payRateTemplate | string | String |
| paySchedule | string | String |
| paySlipNotificationType | string | String |
| payrollId | string | String |
| pensionAssessmentOption | string | String |
| pensionContributionGroup | string | String |
| pgl2CodingNoticeSequenceNumber | int64 | Int64 |
| pglCodingNoticeSequenceNumber | int64 | Int64 |
| postalAddressIsOverseas | boolean |
Nullable |
| postalAddressLine2 | string | String |
| postalCity | string | String |
| postalCountry | string | String |
| postalCounty | string | String |
| postalPostCode | string | String |
| postalStreetAddress | string | String |
| postponementOption | string |
Nullable Possible values are:
|
| preferredName | string | String |
| previousEmployerContinueStudentLoanDeductions | boolean |
Nullable |
| previousEmployerLeavingDate | date-time |
Nullable |
| previousEmployerOfficeNumber | string | String |
| previousEmployerReferenceNumber | string | String |
| previousEmployerTaxCode | string | String |
| previousEmployerTaxPeriodFrequency | string | String |
| previousEmployerTaxPeriodNumber | int32 |
Nullable |
| previousEmployerTaxWithheld | double |
Nullable |
| previousEmployerTaxablePay | double |
Nullable |
| previousEmployerW1M1 | boolean |
Nullable |
| primaryLocation | string | String |
| primaryPayCategory | string | String |
| rate | double |
Nullable |
| rateUnit | string | String |
| reportingDimensionValues | string | String |
| residentialAddressIsOverseas | boolean |
Nullable |
| residentialAddressLine2 | string | String |
| residentialCity | string | String |
| residentialCountry | string | String |
| residentialCounty | string | String |
| residentialPostCode | string | String |
| residentialStreetAddress | string | String |
| rolledUpHolidayPayPercentage | double |
Nullable |
| rosteringNotificationChoices | string | String |
| secondmentType | string |
Nullable Possible values are:
|
| sl2CodingNoticeSequenceNumber | int64 | Int64 |
| slCodingNoticeSequenceNumber | int64 | Int64 |
| startDate | date-time |
Nullable |
| status | string |
EmployeeStatusEnum
Possible values are:
|
| studentLoanType | string | String |
| surname | string | String |
| tags | string | String |
| taxCalculationMethod | string | String |
| taxCode | string | String |
| title | string | String |
| veteransQualifyingEndDate | date-time |
Nullable |
| workPhone | string | String |
| workTypes | string | String |
| workplacePostcode | string | String |
The following HTTP status codes may be returned, optionally with a response resource.
| Status code | Description | Resource |
|---|---|---|
| 200 | OK OK |
EmployeeUpdateResponseModel |