### Example Pay Detail Response Source: https://developer.employmenthero.com/api-references An example response body for the Get Pay Details endpoint, showing the structure of pay detail information for an employee. ```json { "data": { "items": [ { "id": "7d9e663f-a493-4523-aea4-4f299efee8b8", "effective_from": "2020-04-21", "classification": "Day Working - Full Time", "industrial_instrument": "Wholesale Award 2010", "pay_rate_template": "Permanent Storeworker", "anniversary_date": "2020-03-25T00:00:00+00:00", "salary": 50, "salary_type": "Hour", "pay_unit": "Hourly", "pay_category": "Permanent Ordinary Hours", "leave_allowance_template": "Permanent", "change_reason": "Some reasons", "comments": "Some comments", "currency": "AUD", "hours_per_week": "38.0", "days_per_week": "5.0", "full_time_equivalent_units": "1.0", "employee_work_hours": "standard_daily", "in_review": false, "zero_hour_based": true } ], "page_index": 1, "item_per_page": 20, "total_items": 1, "total_pages": 1 } } ``` -------------------------------- ### Example Success Response for Onboarding Status Source: https://developer.employmenthero.com/api-references This is an example of a successful response when polling the employee onboarding status. ```json { "data": { "status": "success", "errors": [], "code": "", "member_id": "b420ee26-41fe-4426-bf00-1cd5dfbefc7e" } } ``` -------------------------------- ### POST /api/v1/organisations/:organisation_id/employees/quick_add_employee Source: https://developer.employmenthero.com/api-references This endpoint creates a new employee record with minimal required information for quick onboarding. This is a streamlined version of employee creation that requires only essential details to get an employee started in the system. ```APIDOC ## POST /api/v1/organisations/:organisation_id/employees/quick_add_employee ### Description This endpoint creates a new employee record with minimal required information for quick onboarding. This is a streamlined version of employee creation that requires only essential details to get an employee started in the system. ### Method POST ### Endpoint `/api/v1/organisations/:organisation_id/employees/quick_add_employee` ### Parameters #### Path Parameters - **organisation_id** (uuid) - Required - The ID of the organisation. ``` -------------------------------- ### Cost Centres Response Example Source: https://developer.employmenthero.com/api-references Example JSON response containing a list of cost centres and pagination metadata. ```json { "data": { "items": [ { "id": "7daf1397-338c-4b91-9d46-44e6cd56297a", "name": "Marketing Department" }, { "id": "b992fc49-7e98-4743-b53b-51bec9cf4dc3", "name": "Sales Department" } ], "page_index": 1, "item_per_page": 20, "total_items": 2, "total_pages": 1 }} ``` -------------------------------- ### Certification Response Example Source: https://developer.employmenthero.com/api-references Example of a successful response when retrieving certification details. It includes all attributes of a certification. ```json { "data": { "id": "6538a2bb-2b34-4437-9a00-92af3dab5b59", "name": "Full-disk encryption", "type": "check", "mandatory": true, "description": "Employees must complete full-disk encryption setup", "supporting_documentation": true, "certification_number_allowed": false, "additional_info_files": [], "use_expiry_date": true, "due_within_days": 30, "approval_required": true, "access_restricted": false, "confirm_driving_offenses": false, "state": "NSW", "frequency_attributes": { "frequency": "renewing", "repeat": "months", "timer": 12 }, "assignees": { "assigned_to_all_employees": true, "assigned_to_all_contractors": false, "employee_ids": [], "work_location_ids": [], "group_ids": [] }, "approvers": { "approvable_by_direct_managers": true, "approvable_by_indirect_managers": false, "employee_ids": [], "work_location_ids": [], "group_ids": [] } } } ``` -------------------------------- ### Work Site Response Example Source: https://developer.employmenthero.com/api-references Example JSON response structure for a work site query. ```json { "data": { "items": [ { "id": "aea965c5-c095-49ea-896e-131bc5c4cf3b", "name": "Test site", "status": "active", "roster_positions_count": 5, "hr_positions": [ { "id": "74aae202-676b-4e8e-8c56-55612ced8e2d", "status": "active", "hr_position_title": { "id": "c44cfdca-7433-46e9-9502-038fa6333dce", "name": "Position" }, "roster_positions_count": 5, "cost_centre": { "id": "0b7ef29a-5172-4437-a6fd-2c9291eb04a9", "name": "AU" }, "color": "smalt", "team_assign_mode": "auto_assign", "team_ids": [ "7d5046b1-b63c-427c-bfdd-917f733e8496" ], "member_ids": [ "fe179bf9-19e3-4779-b458-e2d418127186" ] } ], "address": { "address_type": "business", "line_1": "123 Collins Street", "line_2": "Level 5", "line_3": "Building A", "block_number": "123", "level_number": "5", "unit_number": "501", "city": "Melbourne", "postcode": "3000", "state": "VIC", "suburb": "Melbourne", "country": "AU", "is_residential": false, "street_name": "Collins Street" }, "departments": [ { "id": "8ece3e8c-c83f-4388-9fa8-c33b100ede9b", "name": "DevSquad", "assignment_count": 3, "notification_settings": { "check_in_time": "01:00 PM", "check_out_time": "01:15 PM", "days_of_week": [ "Sunday", "Saturday" ] } }, { "id": "8243b4ac-c438-48cc-af5a-f496c76b786d", "name": "New Department", "assignment_count": 0, "notification_settings": { "check_in_time": "12:00 PM", "check_out_time": "12:15 PM", "days_of_week": [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" ] } } ] } ], "page_index": 1, "item_per_page": 20, "total_items": 1, "total_pages": 1 }} ``` -------------------------------- ### Example Work Entry Response Source: https://developer.employmenthero.com/api-references This is an example of a successful response when retrieving work entries. It details a single work entry with its associated information, including time, cost center, and work site. ```json { "data": { "items": [ { "id": "16a62c0d-bb91-45e4-ad47-a325117c87eb", "date": "2018-12-17T00:00:00+00:00", "start_time": "2018-12-17T01:00:00+11:00", "end_time": "2018-12-17T07:00:00+11:00", "status": "pending", "units": 6, "unit_type": "hours", "break_units": 0.5, "breaks": [ { "start_time": "2018-12-17T03:00:00+11:00", "end_time": "2018-12-17T03:30:00+11:00" } ], "reason": null, "comment": "Working hard", "time": 21600, "cost_centre": { "id": "1b9caf3d-ebdd-4a35-9606-659501cf5629", "name": "Main Cost Centre" }, "work_site_id": "cfe11859-e9c6-46dc-867c-d47119bcda84", "work_site_name": "Downtown Office", "position_id": "a4f1a78c-c877-46f3-829f-e3921ab0a007", "position_name": "Software Engineer" } ], "summary": { "total_created": 1, "total_failed": 0 }, "errors": [] } } ``` -------------------------------- ### Leave Request Response Example Source: https://developer.employmenthero.com/api-references This is an example of a successful response when retrieving leave request details. It includes information such as dates, total hours, status, and employee details. ```json { "data": { "id": "724ec1f7-ebe9-4af6-84bf-7f071167007a", "start_date": "2017-05-29T00:00:00+00:00", "end_date": "2017-05-29T00:00:00+00:00", "total_hours": 8, "comment": "The last working day", "status": "Approved", "leave_balance_amount": 0, "leave_category_name": "Annual Leave", "reason": "Vacation", "employee_id": "0139ebb7-6f3e-4bc0-954e-9e50614fccd1", "hours_per_day": [ { "date": "2014-08-05", "hours": 7.6 }, { "date": "2014-08-06", "hours": 7.6 }, { "date": "2014-08-07", "hours": 7.6 }, { "date": "2014-08-08", "hours": 7.6 } ] } } ``` -------------------------------- ### Document Creation Response Source: https://developer.employmenthero.com/api-references Example JSON response returned after successfully creating a document. ```json { "data": { "id": "0139ebb7-6f3e-4bc0-954e-9e50614fccd1", "name": "employment_contract.pdf", "title": "Employment Contract", "url": "https://api.employmenthero.com/documents/0139ebb7-6f3e-4bc0-954e-9e50614fccd1", "member_id": "4a728243-8930-4a93-9bd8-a6843e7b59ec", "created_at": "2024-01-15T10:30:00+00:00", "updated_at": "2024-01-15T10:30:00+00:00", "access_permissions": [ "employee", "direct_managers", "payroll" ], "tag_list": [ "contract", "employment" ], "is_admin_only": false }} ``` -------------------------------- ### Get Employment Histories API Request Source: https://developer.employmenthero.com/api-references This cURL example demonstrates how to fetch an employee's complete employment history. Replace ':organisation_id' and ':employee_id' with the relevant IDs and include your authorization token. ```bash curl -X GET \n "https://api.employmenthero.com/api/v1/organisations/:organisation_id/employees/:employee_id/employment_histories" \n -H "Authorization: Bearer AUXJ3123xyrj123fdsjkl124aAJKQ" ``` -------------------------------- ### Webhook Callback Payload Example Source: https://developer.employmenthero.com/api-references Example JSON structure for a leave request approved webhook event. ```json { "data": { "id": "1c8a8e41-82c8-4311-8115-07994dd28ac2", "approved": true, "end_date": "2020-02-04", "start_date": "2020-02-04", "employee_id": "ba967883-a3db-44a0-b807-bfac746599f7" }, "event": "leave_request_approved"} ``` -------------------------------- ### Work Locations Response Example Source: https://developer.employmenthero.com/api-references This is an example of a successful response when retrieving work locations. It includes the items, pagination details, and the country code for each location. ```json { "data": { "items": [ { "id": "b992fc49-7e98-4743-b53b-51bec9cf4dc3", "name": "Sydney Office", "country": "AU" } ], "page_index": 1, "item_per_page": 20, "total_items": 1, "total_pages": 1 } } ``` -------------------------------- ### Employment History Data Source: https://developer.employmenthero.com/api-references Schema and callback example for employment history data. ```APIDOC ## Employment History Data ### Schema `event` (enum) - Valid Values: `employment_history_created` `data` (object) #### Attributes - **id** (uuid) - The employment history id - **title** (string) - The job title - **start_date** (datetime) - The start date of employment history - **end_date** (datetime) - The end date of employment history - **in_review** (boolean) - Determine employment history is being reviewed or not - **disabled** (boolean) - Determine employment history is disabled or not - **member_id** (string) - The member id of employment history - **organisation_id** (string) - The organisation id of employment history - **employment_type** (string) - The employment type of employment history (`Full-time`, `Part-time`, etc.) - **declined_at** (string) - The time when employment history is declined ### Callback Body Example ```json { "event": "employment_history_created", "data": { "id": "4f6c7312-67ab-4775-ab2e-a3761ff56385", "title": "Software Developer", "disabled": false, "end_date": "2021-12-09T00:00:00.000+00:00", "in_review": false, "member_id": "e826e79d-20d4-4b04-add2-8fa3c16cb7d8", "start_date": "2021-02-17T00:00:00.000+00:00", "declined_at": null, "employment_type": null, "organisation_id": "bdfcb02b-fcc3-4f09-8636-c06c14345b86" } } ``` ``` -------------------------------- ### Member Certification Data Source: https://developer.employmenthero.com/api-references Schema and callback example for member certification data. ```APIDOC ## Member Certification Data ### Schema `event` (enum) - Valid Values: `member_certification_approved` `data` (object) #### Attributes - **id** (uuid) - The member certification id - **certification_id** (uuid) - The id of the associated certification - **certification_name** (string) - The name of the associated certification - **mandatory** (boolean) - Returns `true` if the certification is mandatory for the employee - **status** (enum) - The current status of the member certification - **previous_status** (enum) - The previous status of the member certification before the latest update - **expiry_date** (string) - The expiry date of the member certification in `YYYY-MM-DD` format - **employee_id** (uuid) - The id of the employee who holds this certification - **organisation_id** (uuid) - The organisation id associated with the member certification - **assigned_at** (datetime) - The timestamp when the certification was assigned to the employee ### Callback Body Example ```json { "event": "member_certification_approved", "data": { "id": "b2c3d4e5-f6a7-8901-bcde-f12345678901", "certification_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "certification_name": "First Aid Certificate", "mandatory": true, "status": "active", "previous_status": "pending", "expiry_date": "2027-03-12", "employee_id": "6902b0f2-f53a-466d-a9a0-073028716a3a", "organisation_id": "c937993f-3573-40a7-a386-9f316b81b94a", "assigned_at": "2026-03-12T00:00:00.000+00:00" } } ``` ``` -------------------------------- ### Curl Request to Get Documents Source: https://developer.employmenthero.com/api-references Example cURL command to retrieve all documents associated with a specific employee. This GET request requires an Authorization header. ```curl curl -X GET \ "https://api.employmenthero.com/api/v1/organisations/:organisation_id/employees/:employee_id/documents" \ -H "Authorization: Bearer AUXJ3123xyrj123fdsjkl124aAJKQ" ``` -------------------------------- ### Initiate Employee Onboarding Source: https://developer.employmenthero.com/api-references Use this POST request to start the employee onboarding process. The request requires a bearer token for authorization and a JSON body containing comprehensive employee details. ```bash curl -X POST \ "https://api.employmenthero.com/api/v1/organisations/:organisation_id/employees/polling_onboard_employee" \ -H "Authorization: Bearer AUXJ3123xyrj123fdsjkl124aAJKQ" \ -H "Content-Type: application/json" \ -d '{ "user_attributes": { "email": "employee@example.com" }, "first_name": "John", "last_name": "Doe", "full_legal_name": "Johnathan Doe", "employing_entity_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "employment_type": "Full-time", "date_of_birth": "1990-01-15", "start_date": "2025-07-02", "anniversary_date": "2026-07-02", "job_title": "3D Artist", "industry_standard_job_title": "3D Visual Artist", "current_salary_version_currency": "AUD", "salary": 1000000, "roster": "Annum", "probation_length": 3, "primary_manager_id": "b1b2c3d4-e5f6-7890-abcd-ef1234567890", "secondary_manager_id": "c1b2c3d4-e5f6-7890-abcd-ef1234567890", "employment_detail": { "remote": "no", "province_of_employment": "Ontario", "confirmed_date": "2025-06-15" }, "work_location": { "id": "b992fc49-7e98-4743-b53b-51bec9cf4dc3", "name": "Sydney", "country": "AU" }, "teams": [ "d1b2c3d4-e5f6-7890-abcd-ef1234567890" ], "cost_centre_id": "f1b2c3d4-e5f6-7890-abcd-ef1234567890", "secondary_cost_centres_list": "g1b2c3d4-e5f6-7890-abcd-ef1234567890,h1b2c3d4-e5f6-7890-abcd-ef1234567890", "sync_with_payroll": true, "system_access_date": "2025-07-02", "hours_per_week": 40, "typical_work_day": 8, "full_time_equivalent_units": 1, "days_per_week": 5, "zero_hour_based": false, "clock_me_in": false, "annualised_salary": false, "timesheet_sync_option": "sync_timesheets_as_exceptions", "leave_allowance_template_id": "i1b2c3d4-e5f6-7890-abcd-ef1234567890", "automatically_pay_employee": false, "employee_portal_access_enabled": true, "timesheet_type": 1, "payroll_detail": { "stp_income_type": "salary_and_wages" }, "contract_type": "Permanent", "end_date": "2026-12-31", "superannuation_amount": 3, "trigger_onboarding_checklists": true, "vacation_pay_percentage": 4, "vacation_pay_method": "bankAccruedVacationPay", "employee_paid_irregularly": false, "apply_rolled_up_holiday_pay": false, "rolled_up_holiday_pay_percentage": 12, "apprentice": "not_an_apprentice", "nwm_nlw_eligibility": "eligible_for_nwm", "code": "EMP001", "pay_category_id": "j1b2c3d4-e5f6-7890-abcd-ef1234567890", "pay_schedule_id": "k1b2c3d4-e5f6-7890-abcd-ef1234567890", "kiwi_saver_attributes": { "employer_enrollment_status": "automatically_enroll", "employer_contribution": 3 }, "my_nric_details": { "residence_type": "malaysian", "residence_status": true, "worker_status": "normal", "income_tax_number": "IT12345678", "religion": "Buddhist", "ethnicity": "Chinese", "dependent_children": 2, "pcb_tax_borne": false, "employee_epf_rate": "11", "socso_type": "employment_injury_and_invalidity_scheme", "eis_exempt": false, "epf_number": "EPF123456789", "identity_card_number": "123456789012", "passport_number": "A12345678", "passport_issuing_country": "MY", "passport_expiry_date": "2030-12-31", "work_pass_type": "employment_pass", "ssfw_number": "SSFW123456", "epf_contribution_type": "member_after_august_1998" }, "nric_details": { "legal_status": "citizen", "nric_fin_number": "S1234567A", "nric_fin_type": "nric", "obtained_residency_date": "2010-01-01", "cpf_contribution_option": "graduated", "obtained_approval_date": "2010-01-01", "expiry_date": "2030-12-31", "nationality": "Singaporean", "ethnicity": "Chinese", "religion": "Buddhist", "covered_by_employment_act": "yes", "employee_group": "executive", "is_exempt_from_skills_dev_levy": false, "is_exempt_from_cpf": false } }' ``` -------------------------------- ### Leave Categories Response Source: https://developer.employmenthero.com/api-references Example response body for the Get Leave Categories endpoint, showing an array of leave category objects and pagination details. ```json { "data": { "items": [ { "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "name": "Annual Leave", "unit_type": "days" }, { "id": "b2c3d4e5-f6g7-8901-bcde-f23456789012", "name": "Sick Leave", "unit_type": "hours" }, { "id": "c3d4e5f6-g7h8-9012-cdef-345678901234", "name": "Personal Leave", "unit_type": "days" } ], "page_index": 1, "item_per_page": 20, "total_items": 3, "total_pages": 1 } } ``` -------------------------------- ### Get Leave Request Example Source: https://developer.employmenthero.com/api-references Use this endpoint to retrieve a specific leave request by its ID. Ensure you include the organisation ID and the leave request ID in the URL. ```curl curl -X GET \ "https://api.employmenthero.com/api/v1/organisations/:organisation_id/leave_requests/:id" \ -H "Authorization: Bearer AUXJ3123xyrj123fdsjkl124aAJKQ" ``` -------------------------------- ### POST /api/v1/organisations/:organisation_id/employees/quick_add_contractor Source: https://developer.employmenthero.com/api-references Creates a new contractor record with minimal required information for quick onboarding. ```APIDOC ## POST /api/v1/organisations/:organisation_id/employees/quick_add_contractor ### Description Creates a new contractor record with minimal required information for quick onboarding, including business registration details. ### Method POST ### Endpoint https://api.employmenthero.com/api/v1/organisations/:organisation_id/employees/quick_add_contractor ### Parameters #### Path Parameters - **organisation_id** (uuid) - Required - The ID of the organisation. #### Request Body - **trading_name** (string) - Required - Trading name of the contractor's business. - **first_name** (string) - Required - Contractor's first name. - **last_name** (string) - Required - Contractor's last name. - **full_legal_name** (string) - Required - Contractor's full legal name. - **email** (string) - Required - Contractor's email address. - **date_of_birth** (string) - Required - Contractor's date of birth in YYYY-MM-DD format. - **business_detail** (object) - Required - Business registration details. ### Request Example { "trading_name": "Trading name of business", "first_name": "John", "last_name": "Contractor", "full_legal_name": "John Contractor", "email": "john.contractor@example.com", "date_of_birth": "1990-01-01", "business_detail": { "country": "AU", "number": "ABN123456789", "business_type": "Company" } } ### Response #### Success Response (200) - **message** (string) - Success message. - **contractor_id** (uuid) - The ID of the newly created contractor. #### Response Example { "data": { "message": "Employee file successfully created.", "contractor_id": "60b3a532-8c18-4ed6-bd01-2aa3b29ad24b" } } ``` -------------------------------- ### Leave Requests Response Source: https://developer.employmenthero.com/api-references Example response body for the Get Leave Requests endpoint, detailing a single leave request with its associated information and custom hours per day. ```json { "data": { "items": [ { "id": "724ec1f7-ebe9-4af6-84bf-7f071167007a", "start_date": "2017-05-29T00:00:00+00:00", "end_date": "2017-05-29T00:00:00+00:00", "total_hours": 8, "comment": "The last working day", "status": "Approved", "leave_balance_amount": 0, "leave_category_name": "Annual Leave", "reason": "Vacation", "employee_id": "0139ebb7-6f3e-4bc0-954e-9e50614fccd1", "hours_per_day": [ { "date": "2014-08-05", "hours": 7.6 }, { "date": "2014-08-06", "hours": 7.6 }, { "date": "2014-08-07", "hours": 7.6 }, { "date": "2014-08-08", "hours": 7.6 } ] } ], "page_index": 1, "item_per_page": 20, "total_items": 1, "total_pages": 1 } } ``` -------------------------------- ### Get Employing Entities API Response Example Source: https://developer.employmenthero.com/api-references This JSON structure represents a successful response when fetching employing entities, including their IDs and names, along with pagination details. ```json { "data": { "items": [ { "id": "3a41ab5f-fd18-4c99-b475-040a098dac89", "name": "AU" }, { "id": "b42cc588-9485-4b72-9cb2-c232d79038f9", "name": "SG" } ], "page_index": 1, "item_per_page": 20, "total_items": 2, "total_pages": 1 } } ``` -------------------------------- ### Initiate Employee Onboarding Source: https://developer.employmenthero.com/api-references Creates a new employee record and starts the asynchronous onboarding workflow. This endpoint is polling-based, and the actual onboarding completion should be tracked using the 'Polling Onboard Result' endpoint. ```APIDOC ## POST /api/employees/onboarding ### Description Initiates the polling-based employee onboarding process by creating a new employee record and starting the onboarding workflow with the provided employment details. ### Method POST ### Endpoint /api/employees/onboarding ### Parameters #### Request Body - **user_attributes** (object) - Required - User account attributes for the employee. - **employment_detail** (object) - Employment configuration details. - **first_name** (string) - Required - Employee first name. - **last_name** (string) - Required - Employee last name. - **full_legal_name** (string) - Required - Employee full legal name as it appears on official documents. (Supported in MY, SG) - **employing_entity_id** (uuid) - ID of the employing entity. - **employment_type** (enum) - Required - Type of employment. Valid Values: [Specify valid values if known]. - **date_of_birth** (string) - Date of birth in `YYYY-MM-DD` format. - **start_date** (string) - Required - Start date in `YYYY-MM-DD` format. - **anniversary_date** (string) - Anniversary Date in `YYYY-MM-DD` format. - **job_title** (string) - Required - Employee job title. - **industry_standard_job_title** (string) - Industry standard job title. - **current_salary_version_currency** (string) - Required - Currency for salary (e.g., `AUD`, `NZD`, `GBP`, `CAD`, `SGD`, `MYR`). - **salary** (number) - Required - Employee salary amount. - **roster** (enum) - Required - Salary roster period. Valid Values: [Specify valid values if known]. - **probation_length** (number) - Length of probation period. - **primary_manager_id** (uuid) - ID of the primary manager. - **secondary_manager_id** (uuid) - ID of the secondary manager. - **work_location** (object) - Employee work location details. - **teams** (uuid[]) - Array of team IDs the employee belongs to. Required for Singapore. - **cost_centre_id** (uuid) - Primary cost centre ID. - **secondary_cost_centres** (string) - Secondary cost centres (comma-separated IDs). - **sync_with_payroll** (boolean) - Whether to sync with payroll system. - **system_access_date** (string) - System access date in `YYYY-MM-DD` format. - **hours_per_week** (number) - Number of hours worked per week. - **typical_work_day** (number) - Typical work day duration. - **full_time_equivalent_units** (number) - Full-time equivalent units. - **days_per_week** (number) - Number of days worked per week. - **zero_hour_based** (boolean) - Zero hour based flag. - **clock_me_in** (boolean) - Whether employee can clock in/out. - **annualised_salary** (boolean) - Whether salary is annualised. - **timesheet_sync_option** (enum) - Timesheet synchronization option. Valid Values: [Specify valid values if known]. - **leave_allowance_template_id** (uuid) - ID of the leave allowance template. - **automatically_pay_employee** (boolean) - Whether to automatically pay the employee. - **employee_portal_access_enabled** (boolean) - Whether employee portal access is enabled. - **timesheet_type** (number) - Type of timesheet. - **payroll_detail** (object) - Payroll detail information. - **contract_type** (enum) - Type of employment contract. (Supported in AU, NZ, UK). Valid Values: [Specify valid values if known]. - **end_date** (string) - End date in `YYYY-MM-DD` format. Required when `contract_type` is `Fixed term`. (Supported in AU, NZ, UK). - **superannuation_amount** (number) - Superannuation contribution amount. (Supported in AU). - **trigger_onboarding_checklists** (boolean) - Whether to trigger onboarding checklists. (Supported in AU, NZ, UK). - **vacation_pay_percentage** (number) - Required - Vacation pay percentage (0.01 to 100.00). (Supported in CA). - **vacation_pay_method** (string) - Required - Vacation pay method. (Supported in CA). - **employee_paid_irregularly** (boolean) - Whether the employee is paid irregularly. (Supported in UK). - **apply_rolled_up_holiday_pay** (boolean) - Whether to apply rolled up holiday pay. (Supported in UK). - **rolled_up_holiday_pay_percentage** (number) - Rolled up holiday pay percentage (0.0 to 100.0). (Supported in UK). - **apprentice** (enum) - Apprentice status. (Supported in UK). Valid Values: [Specify valid values if known]. - **nwm_nlw_eligibility** (enum) - NWM (National Wage Minimum) / NLW (National Living Wage) eligibility. (Supported in UK). Valid Values: [Specify valid values if known]. - **code** (string) - Employee code. (Supported in MY, SG, UK). - **pay_category_id** (uuid) - Pay category ID. Required for Canada. Optional for United Kingdom. (Supported in UK, CA). - **pay_schedule_id** (uuid) - Pay schedule ID. Required for Canada. Optional for United Kingdom. (Supported in UK, CA). - **kiwi_saver_attributes** (object) - KiwiSaver attributes (New Zealand only). - **my_nric_details** (object) - Malaysian NRIC details (Malaysia only). - **nric_details** (object) - NRIC (National Registration Identity Card) details (Singapore only). Required for Singapore. ### Request Example ```json { "user_attributes": { "email": "employee@example.com", "password": "securepassword123" }, "employment_detail": { "first_name": "John", "last_name": "Doe", "full_legal_name": "Johnathan Doe", "employment_type": "Full-time", "date_of_birth": "1990-05-15", "start_date": "2023-01-01", "job_title": "Software Engineer", "current_salary_version_currency": "AUD", "salary": 80000, "roster": "Monthly", "payroll_detail": { "contract_type": "Permanent", "vacation_pay_percentage": 8.0, "vacation_pay_method": "Percentage" } } } ``` ### Response #### Success Response (200) - **data** (object) - Contains the result of the onboarding initiation. - **message** (string) - Success message. - **polling_key** (string) - Polling key to track the onboarding process status. #### Response Example ```json { "data": { "message": "Employee onboarding initiated successfully.", "polling_key": "a1b2c3d4-e5f6-7890-1234-567890abcdef" } } ``` ``` -------------------------------- ### Get Employment Histories API Response Example Source: https://developer.employmenthero.com/api-references This JSON object shows a typical response for the employment histories endpoint, detailing an employee's job title, employment dates, and type. ```json { "data": { "items": [ { "id": "bf9c12e1-b40b-4fa9-abcb-d824e5cb3654", "title": "Grad Developer", "start_date": "2025-03-01T00:00:00+00:00", "end_date": "2026-08-09T00:00:00+00:00", "employment_type": "Full-time", "contract_type": "Permanent", "industry_standard_job_title": "Software Engineer" } ], "page_index": 1, "item_per_page": 20, "total_items": 1, "total_pages": 1 } } ``` -------------------------------- ### POST /api/v1/organisations/:organisation_id/employees/quick_add_employee Source: https://developer.employmenthero.com/api-references Creates a new employee record with minimal required information for quick onboarding. ```APIDOC ## POST /api/v1/organisations/:organisation_id/employees/quick_add_employee ### Description Creates a new employee record with minimal required information for quick onboarding. An invite email will be sent to the newly added employee. ### Method POST ### Endpoint https://api.employmenthero.com/api/v1/organisations/:organisation_id/employees/quick_add_employee ### Parameters #### Request Body - **employing_entity_id** (uuid) - Required - The ID of the employing entity. - **first_name** (string) - Required - Employee's first name. - **last_name** (string) - Required - Employee's last name. - **full_legal_name** (string) - Optional - Employee's full legal name. - **email** (string) - Required - Employee's email address. - **date_of_birth** (string) - Required - Employee's date of birth in YYYY-MM-DD format. - **work_location** (object) - Required - Work location details. ### Request Example { "employing_entity_id": "3a41ab5f-fd18-4c99-b475-040a098dac89", "first_name": "First Name", "last_name": "Last Name", "full_legal_name": "Full Legal Name", "email": "dev@example.com", "date_of_birth": "1995-01-01", "work_location": { "id": "b992fc49-7e98-4743-b53b-51bec9cf4dc3", "name": "Sydney Office", "country": "AU" } } ### Response #### Success Response (200) - **message** (string) - Success message. - **employee_id** (uuid) - The ID of the newly created employee. #### Response Example { "data": { "message": "Employee file successfully created.", "employee_id": "60b3a532-8c18-4ed6-bd01-2aa3b29ad24b" } } ``` -------------------------------- ### Get Work Locations Example Source: https://developer.employmenthero.com/api-references Use this endpoint to retrieve a paginated list of work locations for a specific organization. Ensure you replace ':organisation_id' with the actual organization ID and include your API token in the Authorization header. ```curl curl -X GET \n "https://api.employmenthero.com/api/v1/organisations/:organisation_id/work_locations" \n -H "Authorization: Bearer AUXJ3123xyrj123fdsjkl124aAJKQ" ``` -------------------------------- ### Get Timesheet Entries Request Example Source: https://developer.employmenthero.com/api-references This cURL command demonstrates how to retrieve a list of timesheet entries for a specific employee within an organization. Ensure you replace ':organisation_id' and ':employee_id' with actual values and provide a valid authorization token. ```curl curl -X GET \ "https://api.employmenthero.com/api/v1/organisations/:organisation_id/employees/:employee_id/timesheet_entries" \ -H "Authorization: Bearer AUXJ3123xyrj123fdsjkl124aAJKQ" ``` -------------------------------- ### Example Response Data Structure Source: https://developer.employmenthero.com/api-references This JSON snippet illustrates the structure of data returned for items, including their IDs, values, names, descriptions, and types. ```json { "data": { "items": [ { "id": "78869738-f730-4a92-8978-dd64e5asb0be", "value": [ { "id": "18e33075-7233-4c0a-9fc9-6ce48e07c807", "value": "Medium" } ], "name": "Tshirt Size", "description": "Tshirt sizing for purchasing uniforms", "type": "single_select" }, { "id": "f497b9a4-464b-4637-9c23-0e65bg9ae968", "value": [ { "id": "2c6fb761-f7b2-4ddc-a6b1-cfe734cfc54d", "value": "Friday" }, { "id": "3c0677ec-7c57-46c2-a584-1a1058ffe184", "value": "Tuesday" }, { "id": "e66bd01e-e563-429f-b476-0956be7c5d04", "value": "Wednesday" } ], "name": "Work day preference", "description": "Tracking workday preferences to help with rostering ", "type": "multi_select" } ], "page_index": 1, "item_per_page": 20, "total_items": 2, "total_pages": 1 } } ``` -------------------------------- ### Get Work Sites Example Source: https://developer.employmenthero.com/api-references Retrieve a paginated list of work sites for an organization. This endpoint supports filtering by name, archived status, and specific work site IDs. Replace ':organisation_id' with the relevant ID and include your API token. ```curl curl -X GET \n "https://api.employmenthero.com/api/v1/organisations/:organisation_id/work_sites" \n -H "Authorization: Bearer AUXJ3123xyrj123fdsjkl124aAJKQ" ```