Adding an Employee


Feeling a little adventurous?

Our now employee API is available in BETA and offers more features than ever before. Click here for details.

Adding an employee in Deputy is a quite common use case for the API. You can easily sync new employees from own system into Deputy, ready to have shifts and timesheets associated with them. For the addition of new employees to Deputy, we recommend that you use the management endpoints, known as supervise. The process is detailed below

URL and Payload


curl --location --request POST 'https://{install}.{geo}'


    "strFirstName": "John",
    "strLastName": "Doe",
    "intCompanyId": 1,
    "intGender": 2,
    "intStressProfile": 1,
    "intRoleId": 50,
    "strDob": "1971-01-01",
    "strCountryCode": "AR",
    "strDob": "1971-01-01",
    "strStartDate": "2022-01-01",
    "strMobilePhone": "0441234567",
    "strStreeet": "1 Smith Street",
    "strPayrollId": "1234",
    "fltWeekDayRate": 30,
    "strEmail": "[email protected]",
    "blnSendInvite": 1


    "Id": 112,
    "Company": 1,
    "FirstName": "John",
    "LastName": "Doe",
    "DisplayName": "Jane Doe",
    "OtherName": null,
    "Salutation": null,
    "MainAddress": null,
    "PostalAddress": null,
    "Contact": 101371,
    "EmergencyAddress": null,
    "DateOfBirth": "1971-01-01T00:00:00+10:00",
    "Gender": 2,
    "Pronouns": 0,
    "CustomPronouns": null,
    "Photo": null,
    "UserId": 112,
    "JobAppId": null,
    "Active": true,
    "StartDate": "2022-01-01T00:00:00+11:00",
    "TerminationDate": null,
    "StressProfile": 1,
    "Position": null,
    "HigherDuty": null,
    "Role": 50,
    "AllowAppraisal": true,
    "HistoryId": 105823,
    "CustomFieldData": null,
    "Creator": 1,
    "Created": "2022-07-18T14:31:36+10:00",
    "Modified": "2022-07-18T14:31:37+10:00",
    "_DPMetaData": {
        "System": "Employee",
        "CreatorInfo": {}
    "IsSubordinate": true,
    "WorkplaceArray": [
            "Id": 118,
            "EmployeeId": 112,
            "Company": 1,
            "SortOrder": 0,
            "Agreement1": 117,
            "Agreement2": null,
            "Agreement3": null,
            "Creator": 1,
            "Created": "2022-07-18T14:31:36+10:00",
            "Modified": "2022-07-18T14:31:36+10:00",
            "_DPMetaData": {
                "System": "EmployeeWorkplace",
                "CreatorInfo": {}
    "TrainingArray": "",
    "TrainingFileArray": [],
    "LeaveAccrualArray": [],
    "PayrollId": "1234",
    "Contract": "",
    "SalaryDistributionConfig": null,
    "Email": null,
    "Mobile": "0441234567",
    "PhotoLinkId": "",
    "Img": "",
    "Status": 3,
    "CanAskToShowPin": true,
    "HasIPhoneToken": false,
    "HasAndroidToken": false,
    "HasEnabled2FA": false,
    "AnalyticsID": "d41d8cd98f00b204e9800998ecf8427e",
    "UserName": "jdoe",
    "AllowLogin": true,
    "OnboardingStatus": 1001,
    "isNew": true

Data Elements

Data ElementMandatoryInfo
strFirstNameYesFirst name of the employee
strLastNameYesLast name of the employee
intCompanyIdYesThe primary location to set for the employee. This is the integer of the location. You can use the Get Locations endpoint to discover these.
intGenderIdNo - Will default to 1The gender of the employee.

0 - Prefer not to say
1 - Male
2 - Female
3 - Non-Binary
intStressProfileNoThe integer of the stress profile to apply to the employee. Stress profiles can be found in the Stress Profile object in the Resource API
intRoleIdNoThe integer of the employee role to apply to the employee. Roles can be found in the Employee Role object in the Resource API
strDobNoA string of the employee date of birth in the format YYYY-MM-DD
strStartdateNoA string of the employee start date in the format YYYY-MM-DD
strMobilePhoneNoA string of the employees mobile phone number
strPayrollIdNoA string of the employees payroll id
fltAnnualSalaryNoIf the employee is on a salary based wage you can include it here
fltWeekdayRateNoIf employee has a weekday base rate you can include it here
fltSaturdayRateNoIf the employee has a Saturday base rate you can enter it here
fltSundayRateNoIf the employee has a Sunday base rate you can enter it here
fltPublicHolidayRateNoIf the employee has a public holiday rate you can enter it here
strStreetNoString of the employees postal address. Maximum 64 characters.
strStateNoCode for the state related to the address. Can be retrieved from the State resource of the Resource API
strCountryCodeNoCode for the country related to the address. Can be retrieved from the Country Code resource of the Resource API
strCityNoString of the city/suburb for the address
strPostCodeNoString of the postcode/zip code for the address
strEmergencyAddressContactNameNoString of the name to add as an emergency contact
strEmergencyAddressPhoneNoString of the emergency contact phone number
strEmailNoThe email address for the employee
blnSendInviteNoDefaults to 1.


0 - No
1 - Yes

This is important because if this is set to 1 or null, the employee will be sent an invite to join the Deputy system. If the employee does join and setup an account, you will no longer be able to set items such as the Kiosk PIN or retrieve those.