If an ID is passed, the existing employee will be updated, otherwise a new employee will be created.
NOTE: the MatchType parameter currently has no effect
An employee may be created with a status of 'Incomplete' by specifying at least the minimum fields;
firstName, surname, startDate, employmentType, address details, gender, legalStatus, nationality, coveredByEmploymentAct.
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.
POST https://apisg.yourpayroll.io/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 SgUnstructuredEmployeeModel resource, containing the following writable properties:
{
"anniversaryDate": "date-time",
"applyFullCpfRate": "string",
"automaticallyPayEmployee": "string",
"bankAccount1_AccountName": "string",
"bankAccount1_AccountNumber": "string",
"bankAccount1_AllocatedPercentage": "double",
"bankAccount1_BankSwift": "string",
"bankAccount1_BranchCode": "string",
"bankAccount1_FixedAmount": "double",
"bankAccount2_AccountName": "string",
"bankAccount2_AccountNumber": "string",
"bankAccount2_AllocatedPercentage": "double",
"bankAccount2_BankSwift": "string",
"bankAccount2_BranchCode": "string",
"bankAccount2_FixedAmount": "double",
"bankAccount3_AccountName": "string",
"bankAccount3_AccountNumber": "string",
"bankAccount3_AllocatedPercentage": "double",
"bankAccount3_BankSwift": "string",
"bankAccount3_BranchCode": "string",
"bankAccount3_FixedAmount": "double",
"coveredByEmploymentAct": "string",
"cpfExempt": "boolean",
"dateCreated": "date-time",
"dateOfBirth": "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",
"employeeGroup": "string",
"employingEntityId": "string",
"employingEntityUen": "string",
"employmentType": "string",
"endDate": "date-time",
"ethnicity": "string",
"externalId": "string",
"firstName": "string",
"gender": "string",
"homePhone": "string",
"hoursPerDay": "double",
"hoursPerWeek": "double",
"id": "int32",
"identityType": "string",
"isEnabledForTimesheets": "string",
"jobTitle": "string",
"leaveAccrualStartDateType": "string",
"leaveAnniversarySetting": "string",
"leaveAnniversarySettingDate": "date-time",
"leaveTemplate": "string",
"leaveYearStart": "date-time",
"legalName": "string",
"legalStatus": "string",
"locations": "string",
"middleName": "string",
"mobilePhone": "string",
"nationalRegistrationIdentityExpiryDate": "date-time",
"nationalRegistrationIdentityNumber": "string",
"nationality": "string",
"obtainedApprovalDate": "date-time",
"obtainedResidencyDate": "date-time",
"overrideTemplateRate": "string",
"payConditionRuleSet": "string",
"payRateTemplate": "string",
"paySchedule": "string",
"paySlipNotificationType": "string",
"postalAddressLine2": "string",
"postalAddressLine3": "string",
"postalAddressType": "string",
"postalBlockNumber": "string",
"postalCountry": "string",
"postalLevelNumber": "string",
"postalPostCode": "string",
"postalState": "string",
"postalStreetAddress": "string",
"postalStreetName": "string",
"postalSuburb": "string",
"postalUnitNumber": "string",
"preferredName": "string",
"primaryLocation": "string",
"primaryPayCategory": "string",
"rate": "double",
"rateUnit": "string",
"religion": "string",
"reportingDimensionValues": "string",
"residentialAddressLine2": "string",
"residentialAddressLine3": "string",
"residentialAddressType": "string",
"residentialBlockNumber": "string",
"residentialCountry": "string",
"residentialLevelNumber": "string",
"residentialPostCode": "string",
"residentialState": "string",
"residentialStreetAddress": "string",
"residentialStreetName": "string",
"residentialSuburb": "string",
"residentialUnitNumber": "string",
"rosteringNotificationChoices": "string",
"sdlExempt": "boolean",
"shgExempt": "boolean",
"startDate": "date-time",
"status": "string",
"surname": "string",
"tags": "string",
"terminationReason": "string",
"tieredLeaveTemplate": "string",
"title": "string",
"workPhone": "string",
"workTypes": "string"
}
Name | Type | Description |
---|---|---|
anniversaryDate | date-time |
Nullable |
applyFullCpfRate | string | String |
automaticallyPayEmployee | string | String |
bankAccount1_AccountName | string | String |
bankAccount1_AccountNumber | string | String |
bankAccount1_AllocatedPercentage | double |
Nullable |
bankAccount1_BankSwift | string | String |
bankAccount1_BranchCode | string | String |
bankAccount1_FixedAmount | double |
Nullable |
bankAccount2_AccountName | string | String |
bankAccount2_AccountNumber | string | String |
bankAccount2_AllocatedPercentage | double |
Nullable |
bankAccount2_BankSwift | string | String |
bankAccount2_BranchCode | string | String |
bankAccount2_FixedAmount | double |
Nullable |
bankAccount3_AccountName | string | String |
bankAccount3_AccountNumber | string | String |
bankAccount3_AllocatedPercentage | double |
Nullable |
bankAccount3_BankSwift | string | String |
bankAccount3_BranchCode | string | String |
bankAccount3_FixedAmount | double |
Nullable |
coveredByEmploymentAct | string | String |
cpfExempt | boolean |
Nullable |
dateCreated | date-time | DateTime |
dateOfBirth | 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 |
employeeGroup | string | String |
employingEntityId | string | String |
employingEntityUen | string | String |
employmentType | string | String |
endDate | date-time |
Nullable |
ethnicity | string | String |
externalId | string | String |
firstName | string | String |
gender | string | String |
homePhone | string | String |
hoursPerDay | double |
Nullable |
hoursPerWeek | double |
Nullable |
id | int32 | Int32 |
identityType | string |
Nullable Possible values are:
|
isEnabledForTimesheets | string | String |
jobTitle | string | String |
leaveAccrualStartDateType | string |
Nullable Possible values are:
|
leaveAnniversarySetting | string |
Nullable Possible values are:
|
leaveAnniversarySettingDate | date-time |
Nullable |
leaveTemplate | string | String |
leaveYearStart | date-time |
Nullable |
legalName | string | String |
legalStatus | string | String |
locations | string | String |
middleName | string | String |
mobilePhone | string | String |
nationalRegistrationIdentityExpiryDate | date-time |
Nullable |
nationalRegistrationIdentityNumber | string | String |
nationality | string | String |
obtainedApprovalDate | date-time |
Nullable |
obtainedResidencyDate | date-time |
Nullable |
overrideTemplateRate | string | String |
payConditionRuleSet | string | String |
payRateTemplate | string | String |
paySchedule | string | String |
paySlipNotificationType | string | String |
postalAddressLine2 | string | String |
postalAddressLine3 | string | String |
postalAddressType | string |
Nullable Possible values are:
|
postalBlockNumber | string | String |
postalCountry | string | String |
postalLevelNumber | string | String |
postalPostCode | string | String |
postalState | string | String |
postalStreetAddress | string | String |
postalStreetName | string | String |
postalSuburb | string | String |
postalUnitNumber | string | String |
preferredName | string | String |
primaryLocation | string | String |
primaryPayCategory | string | String |
rate | double |
Nullable |
rateUnit | string | String |
religion | string | String |
reportingDimensionValues | string | String |
residentialAddressLine2 | string | String |
residentialAddressLine3 | string | String |
residentialAddressType | string |
AddressTypeEnum
Possible values are:
|
residentialBlockNumber | string | String |
residentialCountry | string | String |
residentialLevelNumber | string | String |
residentialPostCode | string | String |
residentialState | string | String |
residentialStreetAddress | string | String |
residentialStreetName | string | String |
residentialSuburb | string | String |
residentialUnitNumber | string | String |
rosteringNotificationChoices | string | String |
sdlExempt | boolean |
Nullable |
shgExempt | boolean |
Nullable |
startDate | date-time |
Nullable |
status | string |
EmployeeStatusEnum
Possible values are:
|
surname | string | String |
tags | string | String |
terminationReason | string | String |
tieredLeaveTemplate | string | String |
title | string | String |
workPhone | string | String |
workTypes | string | String |
The following HTTP status codes may be returned, optionally with a response resource.
Status code | Description | Resource |
---|---|---|
200 | OK OK |
EmployeeUpdateResponseModel |