Introduction
The Talenox API is organized around REST. The APIs are predictable, resource-oriented URLs, and uses HTTP response codes to indicate API errors.
Talenox API token
You can obtain the Talenox API token via the website https://app.talenox.com. Head over to the top right nav bar -> API setting.
Difference of V2 from V1
V1 authenticates requests by checking for API token in URL, V2 moved the token into Authorization request header.
Aside from authentication mechanism, V2 is functionally identical to V1. They are using the same underlying implementation.
OAuth 2.0
Introduction
Talenox supports using OAuth 2.0 to grant third-party systems to access Talenox resources. With OAuth 2.0 application, users are able to define their own permission for accessing the resources.
Where to find and create
Follow these steps to create OAuth 2.0 application for your company:
Log into Talenox https://app.talenox.com
At the top right nav > API Settings, there is a link to the OAuth 2.0 developer page
Create the OAuth 2.0 application by providing Application Name, Redirect URI, Origin URI (Optional) and Scopes
Usage
Direct the user to
https://app.talenox.com/oauth/authorize?client_id=<client ID>&redirect_uri=<redirect URI>&scope=<scope>&response_type=code
After the user login and authorize the access, it will be redirect back to the Redirect URI with the code
To obtain the Access Token, with the code from the previous step, make a POST request to
https://app.talenox.com/oauth/token?grant_type=authorization_code&code=<code>&client_id=<client ID>&client_secret=<client secret>&redirect_uri=<redirect URI>
The Access Token is valid for 30 minutes. To refresh the Access Token, make a POST to
https://app.talenox.com/oauth/token?grant_type=refresh_token&code=<access code>&refresh_token=<refresh token>&client_id=<client ID>&client_secret=<client secret>&redirect_uri=<redirect URI>
Branches
Create Branch
Request
Endpoint
POST https://api.talenox.com/api/v2/branches
Accept: application/json
Content-Type: application/json
Authorization: Bearer b08e76b632e8962cb684e91ce81ebe720378dd7a
POST https://api.talenox.com/api/v2/branches
Parameters
{
"branch": {
"name": "Sample Branch",
"address": "3611 Morissette Radial",
"postcode": "87414-5545",
"head_id": 547,
"employee_ids": [
549,
550,
551,
552
]
}
}
Name | Description |
---|---|
name required | Name of Branch |
address | Address |
postcode | Postcode |
head_id | Branch Head (Should be an Employee ID) |
employee_ids | Employee IDs (If specified, will override the existing employees in the branch). |
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"id": 597,
"name": "Sample Branch",
"employee_ids": [
549,
550,
551,
552
],
"no_of_employees": 4,
"address": "3611 Morissette Radial",
"postcode": "87414-5545",
"head_id": 547
}
Delete Branch
Request
Endpoint
DELETE https://api.talenox.com/api/v2/branches/645
Accept: application/json
Content-Type: application/json
Authorization: Bearer 0ea30b3bd17b35088ec33fc403a40d516aaaed21
DELETE https://api.talenox.com/api/v2/branches/:id
Parameters
Name | Description |
---|---|
id required | Branch ID |
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"message": "Successfully deleted branch 645"
}
List Branches
Request
Endpoint
GET https://api.talenox.com/api/v2/branches
Accept: application/json
Content-Type: application/json
Authorization: Bearer e49163efdc9267865ac440a50a6ea4af98346591
GET https://api.talenox.com/api/v2/branches
Parameters
None known.
Response
Content-Type: application/json; charset=utf-8
200 OK
[
{
"id": 576,
"name": "East Jonathanchester",
"employee_ids": [
542
],
"no_of_employees": 1,
"address": null,
"postcode": null,
"head_id": null
},
{
"id": 577,
"name": "North Lonnyberg",
"employee_ids": [
543
],
"no_of_employees": 1,
"address": null,
"postcode": null,
"head_id": null
},
{
"id": 580,
"name": "81916 Felisha Cliff",
"employee_ids": [
544,
545
],
"no_of_employees": 2,
"address": null,
"postcode": null,
"head_id": null
},
{
"id": 578,
"name": "Johnsonfort",
"employee_ids": [
],
"no_of_employees": 0,
"address": null,
"postcode": null,
"head_id": null
},
{
"id": 579,
"name": "North Nicky",
"employee_ids": [
],
"no_of_employees": 0,
"address": null,
"postcode": null,
"head_id": null
},
{
"id": 565,
"name": "Default",
"employee_ids": [
],
"no_of_employees": 0,
"address": null,
"postcode": null,
"head_id": null
},
{
"id": 567,
"name": "Chanceland",
"employee_ids": [
533
],
"no_of_employees": 1,
"address": null,
"postcode": null,
"head_id": null
},
{
"id": 568,
"name": "Agripinaberg",
"employee_ids": [
534
],
"no_of_employees": 1,
"address": null,
"postcode": null,
"head_id": null
},
{
"id": 569,
"name": "West Annalee",
"employee_ids": [
535
],
"no_of_employees": 1,
"address": null,
"postcode": null,
"head_id": null
},
{
"id": 570,
"name": "Altenwerthtown",
"employee_ids": [
536
],
"no_of_employees": 1,
"address": null,
"postcode": null,
"head_id": null
},
{
"id": 571,
"name": "Jamehaven",
"employee_ids": [
537
],
"no_of_employees": 1,
"address": null,
"postcode": null,
"head_id": null
},
{
"id": 572,
"name": "New Kurt",
"employee_ids": [
538
],
"no_of_employees": 1,
"address": null,
"postcode": null,
"head_id": null
},
{
"id": 573,
"name": "Weberville",
"employee_ids": [
539
],
"no_of_employees": 1,
"address": null,
"postcode": null,
"head_id": null
},
{
"id": 574,
"name": "West Abram",
"employee_ids": [
540
],
"no_of_employees": 1,
"address": null,
"postcode": null,
"head_id": null
},
{
"id": 575,
"name": "Shermanberg",
"employee_ids": [
541
],
"no_of_employees": 1,
"address": null,
"postcode": null,
"head_id": null
}
]
Show Branch
Request
Endpoint
GET https://api.talenox.com/api/v2/branches/613
Accept: application/json
Content-Type: application/json
Authorization: Bearer 44afb35e69b2540d4a795b4983a3c5161e72c698
GET https://api.talenox.com/api/v2/branches/:id
Parameters
Name | Description |
---|---|
id required | Branch ID |
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"id": 613,
"name": "469 Okuneva Underpass",
"employee_ids": [
572,
573
],
"no_of_employees": 2,
"address": null,
"postcode": null,
"head_id": null
}
Update Branch
Request
Endpoint
PUT https://api.talenox.com/api/v2/branches/629
Accept: application/json
Content-Type: application/json
Authorization: Bearer 726f11bbf73ff1bfa8a1d124f9cbcd250f801e1b
PUT https://api.talenox.com/api/v2/branches/:id
Parameters
{
"branch": {
"name": "New Branch Name",
"employee_ids": [
577,
578,
579,
580
]
}
}
Name | Description |
---|---|
id required | Branch ID |
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"id": 629,
"name": "New Branch Name",
"employee_ids": [
577,
578,
579,
580
],
"no_of_employees": 4,
"address": null,
"postcode": null,
"head_id": null
}
Company Holidays
Manage holidays in a company, including calendar holidays and custom created ones.
Create Company Custom Holiday
Request
Endpoint
POST https://api.talenox.com/api/v2/company_holidays
Accept: application/json
Content-Type: application/json
Authorization: Bearer 0adaacaa439b3c709d20e3f79a752bef46e51bdc
POST https://api.talenox.com/api/v2/company_holidays
Parameters
{
"custom_holiday": {
"name": "Test Holiday",
"start_at": "2024-12-31 23:59:59 +0800",
"end_at": "2024-12-31 23:59:59 +0800",
"custom_holiday_duration_attributes": {
"start_date_type": "all_day_start",
"end_date_type": "all_day_end"
}
}
}
Name | Description |
---|---|
name required | Holiday name |
start_at required | Start at |
end_at required | End at |
custom_holiday_duration_attributes[start_date_type] required | Start date type (["all_day_start", "first_part_of_the_day_start", "second_part_of_the_day_start"]) |
custom_holiday_duration_attributes[end_date_type] required | End date type (["all_day_end", "first_part_of_the_day_end", "second_part_of_the_day_end"]) |
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"id": 1,
"company_id": 180,
"calendar_holiday_id": null,
"name": "Test Holiday",
"start_at": "2024-12-31",
"end_at": "2024-12-31",
"hide": false,
"created_at": "2024-02-27T08:22:17.865Z",
"updated_at": "2024-02-27T08:22:17.865Z"
}
Delete Company Calendar Holiday
Request
Endpoint
PUT https://api.talenox.com/api/v2/company_holidays/calendar_holidays/8
Accept: application/json
Content-Type: application/json
Authorization: Bearer 01c5fa9269c730eb0c7a50bd1b21cce873c9b10e
PUT https://api.talenox.com/api/v2/company_holidays/calendar_holidays/:id
Parameters
{
"calendar_holiday": {
"hide": true
}
}
Name | Description |
---|---|
hide required | Set to true to hide the calendar holiday for company, false otherwise |
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"message": "Successfully hidden calendar holiday for company"
}
Delete Company Custom Holiday
Request
Endpoint
DELETE https://api.talenox.com/api/v2/company_holidays/5
Accept: application/json
Content-Type: application/json
Authorization: Bearer 46e6e009a2d57f3c4eaa67d5740ca225e25f32e6
DELETE https://api.talenox.com/api/v2/company_holidays/:id
Parameters
None known.
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"message": "Deleted holiday Office Closure"
}
Get Company Custom Holiday
Request
Endpoint
GET https://api.talenox.com/api/v2/company_holidays/3
Accept: application/json
Content-Type: application/json
Authorization: Bearer 665c3e8cef4445f0ec530d202a2e25e7129457ce
GET https://api.talenox.com/api/v2/company_holidays/:id
Parameters
None known.
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"id": 3,
"company_id": 184,
"calendar_holiday_id": null,
"name": "Office Closure",
"start_at": "2024-12-30",
"end_at": "2024-12-31",
"hide": false,
"created_at": "2024-02-27T08:22:27.013Z",
"updated_at": "2024-02-27T08:22:27.013Z"
}
List Company Holidays including Custom and Calendar Holidays
Request
Endpoint
GET https://api.talenox.com/api/v2/company_holidays
Accept: application/json
Content-Type: application/json
Authorization: Bearer 84377649764cb22d97d7f1d7f41ab00eb016ceb9
GET https://api.talenox.com/api/v2/company_holidays
Parameters
Name | Description |
---|---|
year | Year for filtering, defaults to current year |
Response
Content-Type: application/json; charset=utf-8
200 OK
[
{
"country_id": 2,
"name": "Calendar Holiday",
"created_at": "2024-02-27T08:22:17.923Z",
"updated_at": "2024-02-27T08:22:17.923Z",
"start_at": "2024-01-01",
"end_at": "2024-01-02",
"state_id": null,
"hk_holiday_type": null,
"type": "CalendarHoliday",
"calendar_holiday_id": 4
},
{
"id": 2,
"company_id": 182,
"calendar_holiday_id": null,
"name": "Office Closure",
"start_at": "2024-12-30",
"end_at": "2024-12-31",
"created_at": "2024-02-27T08:22:22.394Z",
"updated_at": "2024-02-27T08:22:22.394Z",
"type": "CustomHoliday",
"custom_holiday_duration": null
}
]
List Hidden Company Calendar Holidays
Request
Endpoint
GET https://api.talenox.com/api/v2/company_holidays/deleted_calendar_holidays
Accept: application/json
Content-Type: application/json
Authorization: Bearer 53c64e79514b4d5d65b17f51edab8e13711e395f
GET https://api.talenox.com/api/v2/company_holidays/deleted_calendar_holidays
Parameters
Name | Description |
---|---|
year | Year for filtering, defaults to current year |
Response
Content-Type: application/json; charset=utf-8
200 OK
[
{
"id": 12,
"country_id": 2,
"name": "Calendar Holiday",
"created_at": "2024-02-27T08:22:55.811Z",
"updated_at": "2024-02-27T08:22:55.811Z",
"start_at": "2024-01-01",
"end_at": "2024-01-02",
"state_id": null,
"hk_holiday_type": null
}
]
Retore Company Calendar Holiday
Request
Endpoint
PUT https://api.talenox.com/api/v2/company_holidays/calendar_holidays/9
Accept: application/json
Content-Type: application/json
Authorization: Bearer d2049b1ad72ff33fe920a01f9677c75d59e16e5d
PUT https://api.talenox.com/api/v2/company_holidays/calendar_holidays/:id
Parameters
{
"calendar_holiday": {
"hide": false
}
}
Name | Description |
---|---|
hide required | Set to true to hide the calendar holiday for company, false otherwise |
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"message": "Successfully restored calendar holiday for company"
}
Update Company Custom Holiday
Request
Endpoint
PUT https://api.talenox.com/api/v2/company_holidays/4
Accept: application/json
Content-Type: application/json
Authorization: Bearer bc0055b44f43c74f002607fd98dd091b5b37fa82
PUT https://api.talenox.com/api/v2/company_holidays/:id
Parameters
{
"custom_holiday": {
"name": "Change name"
}
}
None known.
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"company_id": 186,
"name": "Change name",
"id": 4,
"calendar_holiday_id": null,
"start_at": "2024-12-30",
"end_at": "2024-12-31",
"hide": false,
"created_at": "2024-02-27T08:22:31.576Z",
"updated_at": "2024-02-27T08:22:31.632Z"
}
Company Settings
List Company Settings
Request
Endpoint
GET https://api.talenox.com/api/v2/company_settings
Accept: application/json
Content-Type: application/json
Authorization: Bearer 2aad3f2cd4aae424acf1f18d7823848acf18bba7
GET https://api.talenox.com/api/v2/company_settings
Parameters
None known.
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"api_allows_employee_multiple_cost_centres": false
}
Update Company Settings
Request
Endpoint
PUT https://api.talenox.com/api/v2/company_settings
Accept: application/json
Content-Type: application/json
Authorization: Bearer b8294138a36dbfdba064e26bb59cac64f9be061b
PUT https://api.talenox.com/api/v2/company_settings
Parameters
{
"company_settings": {
"api_allows_employee_multiple_cost_centres": true
}
}
Name | Description |
---|---|
api_allows_employee_multiple_cost_centres | Set this to true for cost centres endpoint to accept multiple cost centres for any employee. (This is to avoid breaking previous API implementation) |
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"api_allows_employee_multiple_cost_centres": true
}
Cost Centres
Create Cost Centre
Request
Endpoint
POST https://api.talenox.com/api/v2/cost_centres
Accept: application/json
Content-Type: application/json
Authorization: Bearer e7fe052ac533bed51cf10a6bc54e1aa923564cb0
POST https://api.talenox.com/api/v2/cost_centres
Parameters
{
"cost_centre": {
"name": "Business",
"employee_ids": [
"2n8ntszdxl",
"509c5q1h55",
"4uftdejwfa",
"mzfd8zb2zg"
],
"enable_custom_cpf_csn": true,
"custom_cpf_csn": "123456789"
}
}
Name | Description |
---|---|
name required | Name of Cost Centre |
enable_custom_cpf_csn | Enable custom CPF Submission |
custom_cpf_scn | Custom CPF Number |
employee_ids | Employee IDs (If specified, will override the existing employees in the cost centre). Set api_allows_employee_multiple_cost_centres of Company Settings to true to allow placement the same employee in multiple cost centres. |
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"id": 3,
"name": "Business",
"employee_ids": [
682,
683,
677,
678
],
"no_of_employees": 4,
"enable_custom_cpf_csn": true,
"custom_cpf_csn": "123456789"
}
Delete Cost Centre
Request
Endpoint
DELETE https://api.talenox.com/api/v2/cost_centres/11
Accept: application/json
Content-Type: application/json
Authorization: Bearer 927412a2906a3fe1f82685033f720d17f97c2d0e
DELETE https://api.talenox.com/api/v2/cost_centres/:id
Parameters
Name | Description |
---|---|
id required | Cost Centre ID |
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"message": "Successfully deleted cost centre Parisian Summit"
}
List Cost Centre
Request
Endpoint
GET https://api.talenox.com/api/v2/cost_centres
Accept: application/json
Content-Type: application/json
Authorization: Bearer ea8bba98a8cc54af35483ec52c1609765704c777
GET https://api.talenox.com/api/v2/cost_centres
Parameters
None known.
Response
Content-Type: application/json; charset=utf-8
200 OK
[
{
"id": 1,
"name": "Blake Circle",
"employee_ids": [
],
"no_of_employees": 0,
"enable_custom_cpf_csn": null,
"custom_cpf_csn": null
}
]
Update Cost Centre
Request
Endpoint
PUT https://api.talenox.com/api/v2/cost_centres/10
Accept: application/json
Content-Type: application/json
Authorization: Bearer d8ea7bdfbea48da369e4eabf275979bbf17e7c6c
PUT https://api.talenox.com/api/v2/cost_centres/:id
Parameters
{
"cost_centre": {
"name": "Engineer",
"employee_ids": [
"bnkqiwi9r7",
"nvupssclc2",
"cu4hvorvuz",
"nrnsrdyp2s"
],
"enable_custom_cpf_csn": true,
"custom_cpf_csn": "123456788"
}
}
Name | Description |
---|---|
id required | Cost Centre ID |
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"id": 10,
"name": "Engineer",
"employee_ids": [
717,
718,
719,
720
],
"no_of_employees": 4,
"enable_custom_cpf_csn": true,
"custom_cpf_csn": "123456788"
}
Custom Pay Items
Create Custom Pay Item
Request
Endpoint
POST https://api.talenox.com/api/v2/payroll/custom_pay_items
Accept: application/json
Content-Type: application/json
Authorization: Bearer f2f795c44e8ba32d96d7bdaae9a7b331d3c52766
POST https://api.talenox.com/api/v2/payroll/custom_pay_items
Parameters
{
"custom_pay_item": {
"proration_enabled": false,
"category": "Recurring",
"item_type": "Salary/Wages",
"gross_net_settings": "gross",
"tax": true,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"overtime_rate": 1.5,
"additional_sg_info_attributes": {
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "owage"
},
"additional_hk_info_attributes": {
"mpf": true,
"adw": true
},
"additional_my_info_attributes": {
"epf": true,
"socso": true,
"eis": true,
"hrdf": true
},
"additional_id_info_attributes": {
"bpjs": true,
"thr": true
}
}
}
Name | Description |
---|---|
proration_enabled | Proration Enabled |
categoary | Category (["Recurring", "Adhoc", "Attendance"]) |
item_type | Item Type |
gross_net_settings | Gross/Net settings |
tax | Tax |
payslip_display_settings | Payslip Display Settings (["Item Name", "Remarks", "Period", "Calculation"]) |
overtime_rate | Overtime rate (for Attendance category only) |
additional_sg_info_attributes | SG pay item related fields |
cpf | CPF |
sdl | SDL |
shg | SHG |
cpf_owage_awage | OWAGE/AWAGE |
additional_hk_info_attributes | HK pay item related fields |
mpf | MPF |
adw | ADW |
additional_my_info_attributes | MY pay item related fields |
epf | EPF |
socso | SOCSO |
eis | EIS |
hrdf | HRDF |
additional_id_info_attributes | ID pay item related fields |
bpjs | BPJS |
thr | THR |
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"id": 32823,
"item_type": "Salary/Wages",
"name": null,
"category": "Recurring",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "3833cde3-0f84-434b-9428-8bc56ec92527",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31707,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "owage"
},
"additional_hk_info": {
"id": 367,
"mpf": true,
"adw": true
},
"additional_my_info": {
"id": 385,
"epf": true,
"socso": true,
"eis": true,
"hrdf": true
},
"additional_id_info": {
"id": 361,
"bpjs": true,
"thr": true
}
}
Delete Custom Pay Item
Request
Endpoint
DELETE https://api.talenox.com/api/v2/payroll/custom_pay_items/33489
Accept: application/json
Content-Type: application/json
Authorization: Bearer 9fa58f23d79a473b59c7ecba987110b89bd4727e
DELETE https://api.talenox.com/api/v2/payroll/custom_pay_items/:id
Parameters
Name | Description |
---|---|
id required | Custom Pay Item ID |
Response
Content-Type: text/plain; charset=utf-8
200 OK
Get Custom Pay Item
Request
Endpoint
GET https://api.talenox.com/api/v2/payroll/custom_pay_items/32990
Accept: application/json
Content-Type: application/json
Authorization: Bearer 2e38be07a3ebca2e99ec877895abdce83daa7556
GET https://api.talenox.com/api/v2/payroll/custom_pay_items/:id
Parameters
Name | Description |
---|---|
id required | Custom Pay Item ID |
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"id": 32990,
"item_type": "Salary/Wages",
"name": "Basic Pay",
"category": "Recurring",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": true,
"slug": "de7c47eb-ac90-4144-9a16-70315f7e4df0",
"is_default": true,
"payslip_display_settings": [
"Item Name",
"Remarks",
"Period"
],
"additional_sg_info": {
"id": 31874,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "owage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
}
List all Custom Pay Items
Request
Endpoint
GET https://api.talenox.com/api/v2/payroll/custom_pay_items
Accept: application/json
Content-Type: application/json
Authorization: Bearer 4c4b038757a27c8beebed768853c48c9c594def9
GET https://api.talenox.com/api/v2/payroll/custom_pay_items
Parameters
None known.
Response
Content-Type: application/json; charset=utf-8
200 OK
[
{
"id": 32824,
"item_type": "Salary/Wages",
"name": "Basic Pay",
"category": "Recurring",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": true,
"slug": "85948745-ccdf-436a-ad48-6825076f62f0",
"is_default": true,
"payslip_display_settings": [
"Item Name",
"Remarks",
"Period"
],
"additional_sg_info": {
"id": 31708,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "owage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32825,
"item_type": "Salary/Wages",
"name": "Basic Pay(without proration)",
"category": "Recurring",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "c01e56a2-6209-4382-99ae-e9edc8aa8f6a",
"is_default": false,
"payslip_display_settings": [
"Remarks"
],
"additional_sg_info": {
"id": 31709,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "owage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32826,
"item_type": "Allowance",
"name": "Allowance",
"category": "Recurring",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": true,
"slug": "11d687b9-747f-4449-ae54-a2877279bda1",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31710,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "owage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32827,
"item_type": "Allowance",
"name": "Allowance(without proration)",
"category": "Recurring",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "e2794ddf-e956-4fc4-8645-1c224dd62233",
"is_default": false,
"payslip_display_settings": [
"Remarks"
],
"additional_sg_info": {
"id": 31711,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "owage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32828,
"item_type": "Deduction",
"name": "Deduction",
"category": "Recurring",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "8cf08986-7fab-439e-b142-715ac4683fee",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31712,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "owage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32829,
"item_type": "Deduction",
"name": "Deduction (from Net Salary)",
"category": "Recurring",
"tax": false,
"gross_net_settings": "net",
"proration_enabled": false,
"slug": "23a11a43-f7fb-42a5-aadd-476613baa59e",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31713,
"cpf": false,
"sdl": false,
"shg": false,
"cpf_owage_awage": "owage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32830,
"item_type": "IR21 Tax Withholding",
"name": "IR21 Tax Withholding",
"category": "Recurring",
"tax": false,
"gross_net_settings": "net",
"proration_enabled": false,
"slug": "0158e04d-dbe1-47fa-bcad-6a084c9eff50",
"is_default": true,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31714,
"cpf": false,
"sdl": false,
"shg": false,
"cpf_owage_awage": "owage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32831,
"item_type": "Commission",
"name": "Commission (Daily/Weekly/Monthly)",
"category": "Recurring",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "bd0a5044-48b2-4f46-a8ca-d7e920e87946",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31715,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "owage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32832,
"item_type": "Extra Duty Allowance",
"name": "Extra Duty Allowance",
"category": "Recurring",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "3c1a8703-f356-46c7-9494-338c683934ca",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31716,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "owage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32833,
"item_type": "Housing/Rental Allowance",
"name": "Housing/ Rental Allowance",
"category": "Recurring",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "7829b241-67a2-4fd7-82ea-d379102389bd",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31717,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "owage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32834,
"item_type": "Incentive Allowance",
"name": "Incentive Allowance",
"category": "Recurring",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "5d6f1241-e2ac-4fb4-ab33-149bb9a70f7a",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31718,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "owage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32835,
"item_type": "Meal Allowance",
"name": "Meal Allowance",
"category": "Recurring",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "a81ef560-0d98-4f77-951c-eeb666201760",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31719,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "owage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32836,
"item_type": "Per Diem Allowance",
"name": "Per Diem Allowance",
"category": "Recurring",
"tax": false,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "088c45f9-eed4-4375-a107-5388e6b63265",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31720,
"cpf": true,
"sdl": false,
"shg": false,
"cpf_owage_awage": "owage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32837,
"item_type": "Transport Allowance",
"name": "Transport Allowance",
"category": "Recurring",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "bb266085-5b7c-49f6-9e5e-43fed56f8d32",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31721,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "owage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32838,
"item_type": "Tips",
"name": "Tips",
"category": "Recurring",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "967cb92b-15d2-4fba-b1cf-35f29c5ae1ec",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31722,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "owage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32839,
"item_type": "Director fees",
"name": "Director fees",
"category": "Recurring",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "9a41ba43-e9b8-433e-bde9-3c1ee3a0ff66",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31723,
"cpf": false,
"sdl": false,
"shg": false,
"cpf_owage_awage": "owage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32840,
"item_type": "Bonus",
"name": "Bonus",
"category": "Recurring",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "1ad8a1d2-88a6-4e12-8f7f-0704ff63f87e",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31724,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "awage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32841,
"item_type": "Others",
"name": "Others",
"category": "Recurring",
"tax": false,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "fb7dc586-ed30-40a4-bd5d-cb22bdf52cf5",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31725,
"cpf": false,
"sdl": false,
"shg": false,
"cpf_owage_awage": "owage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32842,
"item_type": "Deduction",
"name": "Deduction (from Net Salary)(no SHG contribution)",
"category": "Recurring",
"tax": false,
"gross_net_settings": "net",
"proration_enabled": false,
"slug": "e28d8837-bd12-4fc1-9c1c-29bac525ecb9",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31726,
"cpf": false,
"sdl": false,
"shg": false,
"cpf_owage_awage": "owage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32843,
"item_type": "Commission",
"name": "Commission (AW)",
"category": "Recurring",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "44050efa-f3fd-4292-aca5-3c6fc93a17de",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31727,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "awage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32844,
"item_type": "Medisave",
"name": "Medisave",
"category": "Recurring",
"tax": true,
"gross_net_settings": null,
"proration_enabled": false,
"slug": "1f5fbfbd-e726-4d45-a806-e35f01cf008a",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31728,
"cpf": true,
"sdl": false,
"shg": false,
"cpf_owage_awage": "owage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32845,
"item_type": "Deduction Community Chest",
"name": "Deduction Community Chest",
"category": "Recurring",
"tax": false,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "0be3d2d2-d89b-41be-8350-1acac5bc0ee9",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31729,
"cpf": false,
"sdl": false,
"shg": false,
"cpf_owage_awage": "owage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32846,
"item_type": "Reimbursements",
"name": "Reimbursements",
"category": "Adhoc",
"tax": false,
"gross_net_settings": "net",
"proration_enabled": false,
"slug": "0a456db1-2812-481d-9dc8-ff3d59b959c8",
"is_default": false,
"payslip_display_settings": [
"Remarks"
],
"additional_sg_info": {
"id": 31730,
"cpf": false,
"sdl": false,
"shg": false,
"cpf_owage_awage": "owage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32847,
"item_type": "Advance Pay",
"name": "Advance Pay",
"category": "Adhoc",
"tax": false,
"gross_net_settings": "net",
"proration_enabled": false,
"slug": "f4b7c9fb-015d-462a-a573-dc295e801c79",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31731,
"cpf": false,
"sdl": false,
"shg": false,
"cpf_owage_awage": "owage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32848,
"item_type": "Allowance",
"name": "Allowance",
"category": "Adhoc",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "d4b81807-8322-4e0e-b05e-efc3ec31c501",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31732,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "owage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32849,
"item_type": "Deduction",
"name": "Deduction",
"category": "Adhoc",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "577e34b5-2888-4814-9875-8d8d3c6fbd76",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31733,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "owage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32850,
"item_type": "Commission",
"name": "Commission (Irregular)",
"category": "Adhoc",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "5cfdff30-6983-4621-b893-c026118b30f5",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31734,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "awage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32851,
"item_type": "Extra Duty Allowance",
"name": "Extra Duty Allowance",
"category": "Adhoc",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "020eadc6-2e0b-416a-bc02-190270cea716",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31735,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "awage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32852,
"item_type": "Festive Allowance",
"name": "Festive Allowance",
"category": "Adhoc",
"tax": false,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "76b72fe8-c379-4c44-a05b-03e0ad11224f",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31736,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "awage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32853,
"item_type": "Housing/Rental Allowance",
"name": "Housing/ Rental Allowance",
"category": "Adhoc",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "6a88d0d6-e640-47c4-af7f-dea3a98dc504",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31737,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "owage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32854,
"item_type": "Incentive",
"name": "Incentive",
"category": "Adhoc",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "610a53c4-735c-4879-9082-953ad35b3e74",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31738,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "awage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32855,
"item_type": "Incentive Allowance",
"name": "Incentive Allowance",
"category": "Adhoc",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "b81028fc-600e-4031-a8df-c7e704eeefb1",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31739,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "awage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32856,
"item_type": "IR21 Tax Withholding",
"name": "IR21 Tax Withholding",
"category": "Adhoc",
"tax": false,
"gross_net_settings": "net",
"proration_enabled": false,
"slug": "1e3acb75-4267-4bd1-8cf0-62ee6bcbffbc",
"is_default": true,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31740,
"cpf": false,
"sdl": false,
"shg": false,
"cpf_owage_awage": "owage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32857,
"item_type": "Meal Allowance",
"name": "Meal Allowance",
"category": "Adhoc",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "bac38ba0-254e-4531-b34a-8fa562671087",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31741,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "owage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32858,
"item_type": "Per Diem Allowance",
"name": "Per Diem Allowance",
"category": "Adhoc",
"tax": false,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "48de1800-6978-4eec-976c-06cac17c5ea5",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31742,
"cpf": true,
"sdl": false,
"shg": false,
"cpf_owage_awage": "awage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32859,
"item_type": "Reimbursements",
"name": "Per Diem Reimbursement",
"category": "Adhoc",
"tax": false,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "e3150e2c-f650-49c5-9cb8-32283361f7c8",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31743,
"cpf": false,
"sdl": false,
"shg": false,
"cpf_owage_awage": "owage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32860,
"item_type": "Transport Allowance",
"name": "Transport Allowance",
"category": "Adhoc",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "51163ecd-da58-436e-a56f-e8aafd9e5424",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31744,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "awage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32861,
"item_type": "Referral of Employees Fees",
"name": "Referral of Employees Fees",
"category": "Adhoc",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "be8fd60c-862f-45d8-b5aa-7808f829268f",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31745,
"cpf": false,
"sdl": false,
"shg": false,
"cpf_owage_awage": "owage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32862,
"item_type": "Benefits in Kind",
"name": "Benefits in Kind",
"category": "Adhoc",
"tax": false,
"gross_net_settings": "net",
"proration_enabled": false,
"slug": "2f62f004-a3a1-4f00-b47a-de1521d09173",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31746,
"cpf": false,
"sdl": false,
"shg": false,
"cpf_owage_awage": "owage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32863,
"item_type": "Benefits in Kind",
"name": "Gifts in Kind",
"category": "Adhoc",
"tax": false,
"gross_net_settings": "net",
"proration_enabled": false,
"slug": "7cdc8fa7-b846-4b55-8278-a838ef609625",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31747,
"cpf": false,
"sdl": false,
"shg": false,
"cpf_owage_awage": "owage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32864,
"item_type": "Stock Option Sale",
"name": "Share Option Sale",
"category": "Adhoc",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "a6dd5941-681f-4189-a786-425d15b408dd",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31748,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "awage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32865,
"item_type": "Termination Benefits",
"name": "Termination Benefits",
"category": "Adhoc",
"tax": false,
"gross_net_settings": "net",
"proration_enabled": false,
"slug": "7ccb4b38-4c53-4fe0-9c22-83f8bacb341e",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31749,
"cpf": false,
"sdl": false,
"shg": false,
"cpf_owage_awage": "owage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32866,
"item_type": "Tips",
"name": "Tips",
"category": "Adhoc",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "980d0c6c-9e35-4aa5-87e5-c871e1feb9d5",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31750,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "owage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32867,
"item_type": "Annual Wage Supplement",
"name": "Annual Wage Supplement",
"category": "Adhoc",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "af5fff79-72f9-4313-8e1e-2f6bb09e908e",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31751,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "awage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32868,
"item_type": "Bonus",
"name": "Bonus",
"category": "Adhoc",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "9afb4af5-7fbb-42a0-b854-fa7d817dc1ab",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31752,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "awage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32869,
"item_type": "Bonus",
"name": "Prior Year Bonus",
"category": "Adhoc",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "52433126-663c-4e45-a75e-0d6c35c6b967",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31753,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "awage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32870,
"item_type": "Annual Wage Supplement",
"name": "Prior Year AWS",
"category": "Adhoc",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "6d205885-61f4-4146-9578-8cc031001c24",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31754,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "awage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32871,
"item_type": "Leave Pay",
"name": "Leave Pay",
"category": "Adhoc",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "95a2e18e-000b-473d-a0cd-547bb0bd2927",
"is_default": true,
"payslip_display_settings": [
"Item Name",
"Remarks",
"Calculation"
],
"additional_sg_info": {
"id": 31755,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "awage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32872,
"item_type": "Director fees",
"name": "Director fees",
"category": "Adhoc",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "bb438218-3688-4527-8572-36b29e8cf285",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31756,
"cpf": false,
"sdl": false,
"shg": false,
"cpf_owage_awage": "owage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32873,
"item_type": "Backdated Salary",
"name": "Backdated Salary Increment",
"category": "Adhoc",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "6db78e31-19fd-4502-83de-e9693123cb6f",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31757,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "awage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32874,
"item_type": "Backdated Salary",
"name": "Backdated Salary",
"category": "Adhoc",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "9a71f85f-e6f1-4503-a3b5-eec7fc869993",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31758,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "awage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32875,
"item_type": "Deduction",
"name": "Deduction (from Net Salary)",
"category": "Adhoc",
"tax": false,
"gross_net_settings": "net",
"proration_enabled": false,
"slug": "5dc07701-d29a-4b5c-918d-7b9c09a65d6c",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31759,
"cpf": false,
"sdl": false,
"shg": false,
"cpf_owage_awage": "owage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32876,
"item_type": "Others",
"name": "Others",
"category": "Adhoc",
"tax": false,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "ae17226e-1f43-4a81-bb44-1ab8a211bbf2",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31760,
"cpf": false,
"sdl": false,
"shg": false,
"cpf_owage_awage": "owage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32877,
"item_type": "Others",
"name": "Others(no gross)",
"category": "Adhoc",
"tax": false,
"gross_net_settings": "net",
"proration_enabled": false,
"slug": "50e46a4b-fe0e-46ab-afe9-9fdcc9df8dc0",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31761,
"cpf": false,
"sdl": false,
"shg": false,
"cpf_owage_awage": "owage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32878,
"item_type": "Salary in Lieu",
"name": "Salary in lieu",
"category": "Adhoc",
"tax": true,
"gross_net_settings": "net",
"proration_enabled": false,
"slug": "bd9156f6-8502-4230-b15b-19959fd3b518",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31762,
"cpf": false,
"sdl": false,
"shg": false,
"cpf_owage_awage": "owage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32879,
"item_type": "Incentive",
"name": "Onboarding incentive",
"category": "Adhoc",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "eb9adafd-7ced-4636-8540-dc0134527812",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31763,
"cpf": false,
"sdl": false,
"shg": false,
"cpf_owage_awage": "owage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32880,
"item_type": "Gratuity",
"name": "Gratuity paid for years of service",
"category": "Adhoc",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "35c44b8f-6cee-4f2e-a47e-ab3fb732be0d",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31764,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "awage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32881,
"item_type": "Compensation for loss of employment",
"name": "Compensation for loss of employment",
"category": "Adhoc",
"tax": false,
"gross_net_settings": "net",
"proration_enabled": false,
"slug": "3b97186a-3859-4196-a476-8bf611289143",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31765,
"cpf": false,
"sdl": false,
"shg": false,
"cpf_owage_awage": "owage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32882,
"item_type": "Deduction",
"name": "Deduction (from Net Salary)(no SHG contribution)",
"category": "Adhoc",
"tax": false,
"gross_net_settings": "net",
"proration_enabled": false,
"slug": "96384ff8-dcb1-40e5-b763-6c04c017dd5e",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31766,
"cpf": false,
"sdl": false,
"shg": false,
"cpf_owage_awage": "owage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32883,
"item_type": "Deduction",
"name": "NS Leave Claims Deduction",
"category": "Adhoc",
"tax": true,
"gross_net_settings": "net",
"proration_enabled": false,
"slug": "7de60d0f-7f9e-43a8-945f-71bb5ab0f5b6",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31767,
"cpf": false,
"sdl": false,
"shg": false,
"cpf_owage_awage": "owage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32884,
"item_type": "Flexi-Benefit",
"name": "Flexi-Benefit Personal Insurance",
"category": "Adhoc",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "c2b3f7a8-fa3a-411f-bd2e-eff37095b6e1",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31768,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "awage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32885,
"item_type": "Flexi-Benefit",
"name": "Flexi-Benefit Optical Expenses",
"category": "Adhoc",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "2ddf694c-3bae-49b8-a554-e92757848171",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31769,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "awage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32886,
"item_type": "Flexi-Benefit",
"name": "Flexi-Benefit Health Screening & Vaccinations",
"category": "Adhoc",
"tax": false,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "0d56d75b-0c8c-42fb-afc7-630d1905dfd6",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31770,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "awage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32887,
"item_type": "Flexi-Benefit",
"name": "Flexi-Benefit Childcare / Eldercare Fees For Dependants",
"category": "Adhoc",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "f9791e8f-d5bf-469b-9768-246331caa212",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31771,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "awage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32888,
"item_type": "Flexi-Benefit",
"name": "Flexi-Benefit Medical Expenses For Dependants",
"category": "Adhoc",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "9e27123a-eb18-4498-80fa-2b1fd199b207",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31772,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "awage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32889,
"item_type": "Flexi-Benefit",
"name": "Flexi-Benefit Dental Expenses For Dependants",
"category": "Adhoc",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "ed2fc860-6c78-4420-a250-e0c33b4ca09a",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31773,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "awage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32890,
"item_type": "Flexi-Benefit",
"name": "Flexi-Benefit Gym Membership",
"category": "Adhoc",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "3f7e35f5-a8e2-404f-a007-dc839ed1224c",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31774,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "awage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32891,
"item_type": "Flexi-Benefit",
"name": "Flexi-Benefit Holiday Expenses",
"category": "Adhoc",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "8c8f1d80-b14e-4a57-a37c-5f3b3abfaf10",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31775,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "awage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32892,
"item_type": "Flexi-Benefit",
"name": "Flexi-Benefit TCM / CHIRO/ PHYSIO",
"category": "Adhoc",
"tax": false,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "6eb3b16c-61d8-4957-b563-f4c105dba0e8",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31776,
"cpf": true,
"sdl": false,
"shg": false,
"cpf_owage_awage": "awage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32893,
"item_type": "Gratuity",
"name": "Gratuity",
"category": "Adhoc",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "0c0d20a3-8318-4784-a47c-363ec49f18d7",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31777,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "awage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32894,
"item_type": "Flexi-Benefit",
"name": "Flexi-Benefit Work From Home",
"category": "Adhoc",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "0c6b7d68-a5d5-4b6f-9ec1-d1dd4c8625ba",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31778,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "awage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32895,
"item_type": "Flexi-Benefit",
"name": "Flexi-Benefit Mental Health Awareness",
"category": "Adhoc",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "0c021539-2141-4c78-bc36-a5fe8120c6a4",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31779,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "awage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32896,
"item_type": "Flexi-Benefit",
"name": "Flexi-Benefit Personal Planning & Enrichment",
"category": "Adhoc",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "af5fd992-e396-407a-b095-563d6f70c530",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31780,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "awage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32897,
"item_type": "Flexi-Benefit",
"name": "Flexi-Benefit Home Affairs Support",
"category": "Adhoc",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "1f17028b-1aa8-47e1-b90e-ee7df59c07bb",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31781,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "awage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32898,
"item_type": "Flexi-Benefit",
"name": "Flexi-Benefit Home Family Bonding Facilitation",
"category": "Adhoc",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "4751ec8a-13ba-410f-b56c-918eff9548a6",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31782,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "awage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32899,
"item_type": "Flexi-Benefit",
"name": "Flexi-Benefit Professional Subscription",
"category": "Adhoc",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "4e8c2eea-e1c6-47a1-ba30-eec0e5440943",
"is_default": false,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"additional_sg_info": {
"id": 31783,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "awage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32900,
"item_type": "Regular Hours",
"name": "Regular Hours",
"category": "Attendance",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "0cbadc88-b658-41aa-a798-a8599cbe2525",
"is_default": true,
"payslip_display_settings": [
"Item Name",
"Calculation",
"Remarks"
],
"additional_sg_info": {
"id": 31784,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "owage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32901,
"item_type": "Overtime Hours",
"name": "Overtime Hours",
"category": "Attendance",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "c17d41f6-75b6-4ab3-aa4e-18eaf5e5516b",
"is_default": true,
"payslip_display_settings": [
"Item Name",
"Calculation",
"Remarks"
],
"additional_sg_info": {
"id": 31785,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "owage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32902,
"item_type": "Regular Days",
"name": "Regular Days",
"category": "Attendance",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "0ccb1501-af4b-4fc9-8b7b-22fdf57f48b7",
"is_default": true,
"payslip_display_settings": [
"Item Name",
"Calculation",
"Remarks"
],
"additional_sg_info": {
"id": 31786,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "owage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32903,
"item_type": "Overtime Days",
"name": "Overtime Days",
"category": "Attendance",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "0904fca9-dcb6-4e6d-be75-d832774f0b04",
"is_default": true,
"payslip_display_settings": [
"Item Name",
"Calculation",
"Remarks"
],
"additional_sg_info": {
"id": 31787,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "owage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32904,
"item_type": "Public Holiday Pay",
"name": "Public Holiday Pay",
"category": "Attendance",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "d7b9a6dc-ce43-42db-b526-528658cba35f",
"is_default": true,
"payslip_display_settings": [
"Item Name",
"Calculation",
"Remarks"
],
"additional_sg_info": {
"id": 31788,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "owage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32905,
"item_type": "Rest Day Pay",
"name": "Rest Day Pay",
"category": "Attendance",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "a29cafae-bb27-4572-856e-35edbd398626",
"is_default": true,
"payslip_display_settings": [
"Item Name",
"Calculation",
"Remarks"
],
"additional_sg_info": {
"id": 31789,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "owage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
},
{
"id": 32906,
"item_type": "Deputy",
"name": "Deputy",
"category": "Attendance",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "6077f35d-f745-40d7-bf49-6909f85498a1",
"is_default": true,
"payslip_display_settings": [
"Item Name",
"Calculation",
"Remarks"
],
"additional_sg_info": {
"id": 31790,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "owage"
},
"additional_hk_info": null,
"additional_my_info": null,
"additional_id_info": null
}
]
Update Custom Pay Item
Request
Endpoint
PATCH https://api.talenox.com/api/v2/payroll/custom_pay_items/33156
Accept: application/json
Content-Type: application/json
Authorization: Bearer 81ffa7d79e6153c463a6b6b843695c0a6b1f4ed7
PATCH https://api.talenox.com/api/v2/payroll/custom_pay_items/:id
Parameters
{
"custom_pay_item": {
"proration_enabled": false,
"category": "Recurring",
"item_type": "Allowance",
"gross_net_settings": "gross",
"tax": true,
"payslip_display_settings": [
"Item Name",
"Remarks"
],
"overtime_rate": 1.5,
"additional_sg_info_attributes": {
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "owage"
},
"additional_hk_info_attributes": {
"mpf": true,
"adw": true
},
"additional_my_info_attributes": {
"epf": true,
"socso": true,
"eis": true,
"hrdf": true
},
"additional_id_info_attributes": {
"bpjs": true,
"thr": true
}
}
}
Name | Description |
---|---|
id required | Custom Pay Item ID |
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"id": 33156,
"item_type": "Allowance",
"name": "Basic Pay",
"category": "Recurring",
"tax": true,
"gross_net_settings": "gross",
"proration_enabled": false,
"slug": "7a317ed1-39a0-4fc9-ac38-dc64f76d646e",
"is_default": true,
"payslip_display_settings": [
"Item Name",
"Remarks",
"Period"
],
"additional_sg_info": {
"id": 32206,
"cpf": true,
"sdl": true,
"shg": true,
"cpf_owage_awage": "owage"
},
"additional_hk_info": {
"id": 368,
"mpf": true,
"adw": true
},
"additional_my_info": {
"id": 386,
"epf": true,
"socso": true,
"eis": true,
"hrdf": true
},
"additional_id_info": {
"id": 362,
"bpjs": true,
"thr": true
}
}
Employee Roles
Create Role
Request
Endpoint
POST https://api.talenox.com/api/v2/roles
Accept: application/json
Content-Type: application/json
Authorization: Bearer c3ad25c2c92a0653bbd730d2dbe627b2a4ac273a
POST https://api.talenox.com/api/v2/roles
Parameters
{
"role": {
"name": "Manager",
"employee_ids": [
1206,
1205,
1207,
1208
]
}
}
Name | Description |
---|---|
name required | Role name |
employee_ids | Employee IDs (If specified, will override the existing employees for the role). |
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"id": 1204,
"name": "Manager",
"employee_ids": [
1206,
1205,
1207,
1208
],
"no_of_employees": 4
}
Delete Role
Request
Endpoint
DELETE https://api.talenox.com/api/v2/roles/1249
Accept: application/json
Content-Type: application/json
Authorization: Bearer 45125a8b0275480248b18dd2e8272c94aabfb369
DELETE https://api.talenox.com/api/v2/roles/:id
Parameters
Name | Description |
---|---|
id required | Role ID |
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"message": "Successfully deleted role 1249"
}
List Roles
Request
Endpoint
GET https://api.talenox.com/api/v2/roles
Accept: application/json
Content-Type: application/json
Authorization: Bearer dd9c2bfd19eb6c25595f0116be0c41d979d115e2
GET https://api.talenox.com/api/v2/roles
Parameters
None known.
Response
Content-Type: application/json; charset=utf-8
200 OK
[
{
"id": 1175,
"name": "actor",
"employee_ids": [
1191
],
"no_of_employees": 1
},
{
"id": 1176,
"name": "agriculturist",
"employee_ids": [
1192
],
"no_of_employees": 1
},
{
"id": 1177,
"name": "statistician",
"employee_ids": [
1193
],
"no_of_employees": 1
},
{
"id": 1178,
"name": "nurse",
"employee_ids": [
1194
],
"no_of_employees": 1
},
{
"id": 1179,
"name": "painter",
"employee_ids": [
1195
],
"no_of_employees": 1
},
{
"id": 1180,
"name": "postman",
"employee_ids": [
1196
],
"no_of_employees": 1
},
{
"id": 1181,
"name": "electrician",
"employee_ids": [
1197
],
"no_of_employees": 1
},
{
"id": 1182,
"name": "hairdresser",
"employee_ids": [
1198
],
"no_of_employees": 1
},
{
"id": 1183,
"name": "judge",
"employee_ids": [
1199
],
"no_of_employees": 1
},
{
"id": 1184,
"name": "musician",
"employee_ids": [
1200
],
"no_of_employees": 1
},
{
"id": 1185,
"name": "writer",
"employee_ids": [
1201
],
"no_of_employees": 1
},
{
"id": 1188,
"name": "Engineer",
"employee_ids": [
1202,
1203
],
"no_of_employees": 2
},
{
"id": 1186,
"name": "pjcapjxjtjqogckiersffnonjsmhgoxe",
"employee_ids": [
],
"no_of_employees": 0
},
{
"id": 1187,
"name": "iwdsxkwjfbzrlwnodgwornqeqwxutmfa",
"employee_ids": [
],
"no_of_employees": 0
}
]
Show Role
Request
Endpoint
GET https://api.talenox.com/api/v2/roles/1219
Accept: application/json
Content-Type: application/json
Authorization: Bearer a0c38848c5051bbf07c08c4760a6de7dacd44cfd
GET https://api.talenox.com/api/v2/roles/:id
Parameters
Name | Description |
---|---|
id required | Role ID |
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"id": 1219,
"name": "Engineer",
"employee_ids": [
1230,
1231
],
"no_of_employees": 2
}
Update Role
Request
Endpoint
PUT https://api.talenox.com/api/v2/roles/1234
Accept: application/json
Content-Type: application/json
Authorization: Bearer dc838a9b5762222f215db6a45e6f9b42fb1ad060
PUT https://api.talenox.com/api/v2/roles/:id
Parameters
{
"role": {
"name": "New Role Name",
"employee_ids": [
1235,
1236,
1233,
1234
]
}
}
Name | Description |
---|---|
id required | Role ID |
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"id": 1234,
"name": "New Role Name",
"employee_ids": [
1235,
1236,
1233,
1234
],
"no_of_employees": 4
}
Employees
Create HK Employee
Request
Endpoint
POST https://api.talenox.com/api/v2/employees
Accept: application/json
Content-Type: application/json
Authorization: Bearer 4b9f2fd2bac71faaf1eda02892e52d635b70ce73
POST https://api.talenox.com/api/v2/employees
Parameters
{
"invite_user": true,
"employee": {
"employee_id": 1,
"first_name": "Hafsah",
"last_name": "Haigh",
"identification_full_name": "Hafsah Haigh",
"email": "test@gmail.com",
"payment_method": "Bank Transfer",
"hired_date": "1/1/2015",
"contact_number": 123456789,
"ssn": "S1111111D",
"citizenship": "Hong Kong Permanent Resident",
"nationality": "Chinese",
"gender": "Male",
"marital_status": "Single",
"passport_number": "MA123456",
"passport_date_of_issue": "01/01/2017",
"passport_date_of_expiry": "01/12/2022",
"passport_place_of_issue": "Singapore",
"vaccination_status": "Fully Vaccinated",
"vaccine_brand": "Pfizer-BioNTech",
"date_of_first_dose": "01/01/2021",
"date_of_second_dose": "01/11/2021",
"vaccine_booster_brand": "Pfizer-BioNTech",
"date_of_booster_dose": "01/12/2021",
"vaccination_remarks": "",
"chinese_name": "Xing Zexi",
"nickname": "Jerry",
"birthdate": "01/01/2015",
"confirmation_date": "01/01/2019",
"default_cost_centre_id": "",
"custom_fields": {
"Education": {
"CGPA": "4.00",
"University": "Example University"
}
},
"current_job_attributes": {
"title": "Front-end Engineer",
"department": "Engineer",
"start_date": "01/01/2015",
"basic_pay_item_attributes": {
"rate_of_pay": "Monthly",
"currency": "SGD",
"amount": 4000
}
},
"bank_account_attributes": {
"bank_type": "DBS",
"bank_code": 1,
"account_name": "Hafsah Haigh",
"number": 131231231231231231,
"branch_code": 1,
"branch_name": "",
"swift_code": "",
"payment_code": 1,
"dbs_company_id": ""
},
"additional_hk_employee_info_attributes": {
"voluntary_employee_contribution": 100,
"voluntary_employer_contribution": 200,
"mpf_scheme": 0,
"mpf_member_account_number": 123123123,
"mpf_enrolled_date": "01/01/2015"
},
"location_attributes": {
"line_1": "Address Line 1",
"line_2": "Address Line 2",
"postal_code": 12345,
"state": null,
"country_name": "Singapore"
}
}
}
Name | Description |
---|---|
invite_user | If true will create a talenox user for the employee and invite them |
employee_id | Employee ID |
first_name required | First name |
last_name | Last name |
chinese_name | Chinese name |
nickname | Nickname |
identification_full_name | Identification full name |
email required | Email address |
hired_date | Hired date |
confirmation_date | Confirmation date |
resign_date | Resign date |
contact_number | Contact number |
office_did | Office Direct Inward Dialing (DID) Number |
ssn required | Identification number |
ssn_should_validate | Should valdate identification number |
citizenship required | Immigration status |
nationality | Nationality |
gender | Gender |
race | Race |
religion | Religion |
marital_status | Marital status |
birthdate | Birth date |
passport_number | Passport number |
passport_date_of_issue | Passport issue date |
passport_date_of_expiry | Passport expiry date |
passport_place_of_issue | Passport place of issue |
vaccination_status | Vaccination status |
vaccine_brand | Vaccine brand |
date_of_first_dose | Date of first dose |
date_of_second_dose | Date of second dose |
vaccine_booster_brand | Vaccine booster brand |
date_of_booster_dose | Date of second dose |
vaccination_remarks | Vaccination remarks |
payment_method required | Payment type |
cost_centre_id | Default Cost centre ID (Same as default_cost_centre_id) |
default_cost_centre_id | Default Cost centre ID (Set the company setting api_allows_employee_multiple_cost_centres to true to avoid resetting employee cost centres when changing default_cost_centre_id value) |
cost_centre_ids | Cost centre IDs (to assign employee to multiple cost centres) |
blood_group | Blood group |
leaving_country | Leaving country |
employee_attachment_access | Employee attachment access |
accounting_split | Accounting split |
employee_can_update_custom_fields | Employee can update custom fields |
employee_attachment_access | Employee attachment access |
reason_for_cessation | Reason for cessation |
other_reason_for_cessation | Other reason for cessation |
custom_fields | Custom fields |
current_job_parameters | Below are Employee's Job related fields |
title | Job title |
department | Department |
start_date | Job start date |
end_date | Job end date |
remarks | Remarks |
current_job_parameters[basic_pay_item_parameters] | Below are Basic Pay Item related fields |
current_job_parameters[rate_of_pay] | Rate of pay |
current_job_parameters[currency] | Currency |
current_job_parameters[amount] | Basic pay amount |
bank_account_parameters | Below are Employee's Bank Account related fields |
bank_type | Bank name |
bank_code | Bank code |
account_name | Bank account name |
number | Bank account number |
branch_code | Branch code |
branch_name | Branch name |
swift_code | Bank swift code |
payment_code | Payment code (Hang Seng and HSBC only) |
dbs_company_id | DBS company ID (DBS only) |
employee_using_cheque | Employee using cheque |
location_parameters | Below are Employee's Address related fields |
line_1 | Address line 1 |
line_2 | Address line 2 |
postal_code | Postal code |
state | State |
country_name | Country name |
additional_hk_employee_info_parameters | Below are HK Employee's related fields |
voluntary_employee_contribution_type | MPF Voluntary Employee Additional Contribution Type (["Percentage", "Fixed Amount"]) |
voluntary_employee_contribution | MPF Voluntary Employee Additional amount (If percentage is chosen, must be one of ["5%", "6%", "7%", "8%", "9%", "10%", "11%", "12%", "13%", "14%", "15%"]) |
voluntary_employee_contribution_setting | MPF Voluntary Employee Deduction Setting (["Gross Salary", "Net Salary"]) |
voluntary_employer_contribution_type | MPF Voluntary Employer Additional Contribution Type (["Percentage", "Fixed Amount"]) |
voluntary_employer_contribution | MPF Voluntary Employer Additional amount (If percentage is chosen, must be one of ["5%", "6%", "7%", "8%", "9%", "10%", "11%", "12%", "13%", "14%", "15%"]) |
voluntary_employer_contribution_setting | MPF Voluntary Employer Deduction Setting (["Gross Salary", "Net Salary"]) |
mpf_scheme required | MPF Scheme. 0 => Master trust scheme, 2 => Not contributing MPF |
mpf_employee_type | MPF employee type (["regular", "casual"]) |
mpf_member_account_number | MPF account number |
mpf_enrolled_date | MPF enrolled date |
identification_expiry_date | Identification expiry date. When you use the API to update this field, we will map to the immigration expiry field. E.g. for IANG, we will map to iang_expiry_date. |
identification_issue_date | Identification issue date. When you use the API to update this field, we will map to the immigration issue field. E.g. for IANG, we will map to iang_issue_date. |
non_pr_issue_date | Non PR Issue Date |
non_pr_expiry_date | Non PR Expiry Date |
foreigner_issue_date | Foreigner Issue Date |
foreigner_expiry_date | Foreigner Expiry Date |
iang_issue_date | IANG Issue Date |
iang_expiry_date | IANG Expiry Date |
student_issue_date | Student Issue Date |
student_expiry_date | Student Expiry Date |
dependants_issue_date | Dependants Issue Date |
dependants_expiry_date | Dependants Expiry Date |
gep_issue_date | GEP Issue Date |
gep_expiry_date | GEP Expiry Date |
qmas_issue_date | QMAS Issue Date |
qmas_expiry_date | QMAS Expiry Date |
ttps_issue_date | TTPS Issue Date |
ttps_expiry_date | TTPS Expiry Date |
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"id": 866,
"employee_id": "1",
"first_name": "Hafsah",
"middle_name": null,
"last_name": "Haigh",
"identification_full_name": "Hafsah Haigh",
"email": "test@gmail.com",
"payment_method": "Bank Transfer",
"hired_date": "2015-01-01",
"resign_date": null,
"confirmation_date": "2019-01-01",
"leaving_country": false,
"race": null,
"religion": null,
"blood_group": null,
"contact_number": "123456789",
"office_did": null,
"ssn": "S1111111D",
"ssn_should_validate": true,
"citizenship": "Hong Kong Permanent Resident",
"nationality": "Chinese",
"gender": "Male",
"marital_status": "Single",
"passport_number": "MA123456",
"passport_date_of_issue": "2017-01-01",
"passport_date_of_expiry": "2022-12-01",
"passport_place_of_issue": "Singapore",
"chinese_name": "Xing Zexi",
"nickname": "Jerry",
"birthdate": "2015-01-01",
"slug": "hafsah-haigh-282a6a90",
"vaccination_status": "Fully Vaccinated",
"vaccine_brand": "Pfizer-BioNTech",
"date_of_first_dose": "2021-01-01",
"date_of_second_dose": "2021-11-01",
"vaccine_booster_brand": "Pfizer-BioNTech",
"date_of_booster_dose": "2021-12-01",
"vaccination_remarks": "",
"employee_attachment_access": "hidden",
"accounting_split": "employee",
"employee_can_update_custom_fields": false,
"reason_for_cessation": null,
"other_reason_for_cessation": null,
"custom_fields": {
"Education": {
"CGPA": "4.00",
"University": "Example University"
}
},
"cost_centres": [
],
"default_cost_centre": null,
"current_job": {
"id": 48,
"title": "Front-end Engineer",
"department": "Engineer",
"start_date": "01/01/2015",
"end_date": null,
"rate_of_pay": "Monthly",
"currency": "SGD",
"remarks": null,
"amount": "4000.0"
},
"jobs": [
{
"id": 48,
"title": "Front-end Engineer",
"department": "Engineer",
"start_date": "01/01/2015",
"end_date": null,
"rate_of_pay": "Monthly",
"currency": "SGD",
"remarks": null,
"amount": "4000.0"
}
],
"next_of_kins": [
],
"bank_account": {
"id": 1075,
"bank_type": "DBS",
"bank_code": "1",
"branch_code": "1",
"branch_name": null,
"number": "131231231231231231",
"dbs_company_id": "",
"swift_code": "DHBKHKHH",
"account_name": "Hafsah Haigh",
"payment_code": "1",
"bnm_code": "",
"organization_code": "",
"boa_company_id": null,
"boa_eft_key": null,
"hsbc_account": "standalone_account",
"hsbc_account_type": null
},
"location": {
"id": 1284,
"line_1": "Address Line 1",
"line_2": "Address Line 2",
"postal_code": "12345",
"state": null,
"country_name": "Singapore",
"block_house_no": null,
"street_name": null,
"level_no": null,
"unit_no": null,
"line_3": null
},
"additional_hk_employee_info": {
"voluntary_employee_contribution": "100.0",
"voluntary_employer_contribution": "200.0",
"mpf_scheme": "master_trust_scheme",
"mpf_employee_type": "regular",
"mpf_member_account_number": "123123123",
"mpf_enrolled_date": "2015-01-01",
"non_pr_issue_date": null,
"non_pr_expiry_date": null,
"foreigner_issue_date": null,
"foreigner_expiry_date": null,
"iang_issue_date": null,
"iang_expiry_date": null,
"student_issue_date": null,
"student_expiry_date": null,
"dependants_issue_date": null,
"dependants_expiry_date": null,
"voluntary_employer_contribution_type": "Fixed Amount",
"voluntary_employer_contribution_rate": null,
"voluntary_employee_contribution_type": "Fixed Amount",
"voluntary_employee_contribution_rate": null,
"gep_expiry_date": null,
"gep_issue_date": null,
"qmas_issue_date": null,
"qmas_expiry_date": null,
"ttps_issue_date": null,
"ttps_expiry_date": null,
"voluntary_employer_contribution_setting": "Gross Salary",
"voluntary_employee_contribution_setting": "Gross Salary"
},
"additional_sg_employee_info": null,
"additional_my_employee_info": null,
"additional_id_employee_info": null
}
Create ID Employee
Request
Endpoint
POST https://api.talenox.com/api/v2/employees
Accept: application/json
Content-Type: application/json
Authorization: Bearer d9e08ff30c6137d376275e175045e6fccc3a8970
POST https://api.talenox.com/api/v2/employees
Parameters
{
"invite_user": true,
"employee": {
"employee_id": 1,
"first_name": "Hafsah",
"last_name": "Haigh",
"identification_full_name": "Hafsah Haigh",
"email": "test@gmail.com",
"payment_method": "Bank Transfer",
"hired_date": "1/1/2015",
"contact_number": 123456789,
"ssn": "S1111111D",
"citizenship": "KTP (Residential Identity Card)",
"nationality": "Chinese",
"gender": "Male",
"marital_status": "Single",
"passport_number": "MA123456",
"passport_date_of_issue": "01/01/2017",
"passport_date_of_expiry": "01/12/2022",
"passport_place_of_issue": "Singapore",
"vaccination_status": "Fully Vaccinated",
"vaccine_brand": "Pfizer-BioNTech",
"date_of_first_dose": "01/01/2021",
"date_of_second_dose": "01/11/2021",
"vaccine_booster_brand": "Pfizer-BioNTech",
"date_of_booster_dose": "01/12/2021",
"vaccination_remarks": "",
"chinese_name": "Xing Zexi",
"nickname": "Jerry",
"birthdate": "01/01/2015",
"confirmation_date": "01/01/2019",
"default_cost_centre_id": "",
"custom_fields": {
"Education": {
"CGPA": "4.00",
"University": "Example University"
}
},
"current_job_attributes": {
"title": "Front-end Engineer",
"department": "Engineer",
"start_date": "01/01/2015",
"basic_pay_item_attributes": {
"rate_of_pay": "Monthly",
"currency": "SGD",
"amount": 4000
}
},
"bank_account_attributes": {
"bank_type": "Standard Chartered",
"bank_code": 1,
"account_name": "Hafsah Haigh",
"number": 131231231231231231,
"branch_code": 1,
"branch_name": "",
"swift_code": "",
"payment_code": 1,
"dbs_company_id": ""
},
"additional_id_employee_info_attributes": {
"tax_processing_date": "01/01/2015",
"ptkp": "TK/0",
"npwp": "1234567891234567",
"tax_scheme": "gross",
"previous_past_net": 100,
"previous_past_tax": 100,
"previous_past_net_tax_effective_date": "01/01/2015",
"bpjs_tk_process_date": "01/01/2015",
"bpjs_tk_number": "1234567891234567",
"bpjs_tk_policy": "registered",
"work_accident_insurance_contribution_rate": "0.24%",
"bpjs_kesehatan_process_date": "01/01/2015",
"bpjs_kesehatan_number": "1234567891234567",
"bpjs_kesehatan_policy": "registered",
"no_of_bpjs_kesehatan_dependents": 1,
"bpjs_kesehatan_borne_by_employer": true,
"bpjs_tk_jht_borne_by_employer": true,
"bpjs_jp_borne_by_employer": true,
"bpjs_jkm_policy": "registered",
"bpjs_jp_policy": "registered",
"bpjs_tk_jht_policy": "registered"
},
"location_attributes": {
"line_1": "Address Line 1",
"line_2": "Address Line 2",
"postal_code": 12345,
"state": null,
"country_name": "Singapore"
}
}
}
Name | Description |
---|---|
invite_user | If true will create a talenox user for the employee and invite them |
employee_id | Employee ID |
first_name required | First name |
last_name | Last name |
chinese_name | Chinese name |
nickname | Nickname |
identification_full_name | Identification full name |
email required | Email address |
hired_date | Hired date |
confirmation_date | Confirmation date |
resign_date | Resign date |
contact_number | Contact number |
office_did | Office Direct Inward Dialing (DID) Number |
ssn required | Identification number |
ssn_should_validate | Should valdate identification number |
citizenship required | Immigration status |
nationality | Nationality |
gender | Gender |
race | Race |
religion | Religion |
marital_status | Marital status |
birthdate | Birth date |
passport_number | Passport number |
passport_date_of_issue | Passport issue date |
passport_date_of_expiry | Passport expiry date |
passport_place_of_issue | Passport place of issue |
vaccination_status | Vaccination status |
vaccine_brand | Vaccine brand |
date_of_first_dose | Date of first dose |
date_of_second_dose | Date of second dose |
vaccine_booster_brand | Vaccine booster brand |
date_of_booster_dose | Date of second dose |
vaccination_remarks | Vaccination remarks |
payment_method required | Payment type |
cost_centre_id | Default Cost centre ID (Same as default_cost_centre_id) |
default_cost_centre_id | Default Cost centre ID (Set the company setting api_allows_employee_multiple_cost_centres to true to avoid resetting employee cost centres when changing default_cost_centre_id value) |
cost_centre_ids | Cost centre IDs (to assign employee to multiple cost centres) |
blood_group | Blood group |
leaving_country | Leaving country |
employee_attachment_access | Employee attachment access |
accounting_split | Accounting split |
employee_can_update_custom_fields | Employee can update custom fields |
employee_attachment_access | Employee attachment access |
reason_for_cessation | Reason for cessation |
other_reason_for_cessation | Other reason for cessation |
custom_fields | Custom fields |
current_job_parameters | Below are Employee's Job related fields |
title | Job title |
department | Department |
start_date | Job start date |
end_date | Job end date |
remarks | Remarks |
current_job_parameters[basic_pay_item_parameters] | Below are Basic Pay Item related fields |
current_job_parameters[rate_of_pay] | Rate of pay |
current_job_parameters[currency] | Currency |
current_job_parameters[amount] | Basic pay amount |
bank_account_parameters | Below are Employee's Bank Account related fields |
bank_type | Bank name |
bank_code | Bank code |
account_name | Bank account name |
number | Bank account number |
branch_code | Branch code |
branch_name | Branch name |
swift_code | Bank swift code |
payment_code | Payment code (Hang Seng and HSBC only) |
dbs_company_id | DBS company ID (DBS only) |
employee_using_cheque | Employee using cheque |
location_parameters | Below are Employee's Address related fields |
line_1 | Address line 1 |
line_2 | Address line 2 |
postal_code | Postal code |
state | State |
country_name | Country name |
additional_id_employee_info_parameters | Below are ID Employee's related fields |
tax_processing_date required | Tax Processing Date |
ptkp required | PTKP / Tax Deductions Category |
npwp | NPWP / Tax Identification Number |
tax_scheme required | Tax Scheme |
previous_past_net | Previous Past Net |
previous_past_tax | Previous Past Tax |
previous_past_net_tax_effective_date | Previous Past Net & Tax Effective Date |
bpjs_tk_process_date | BPJS TK Process Date |
bpjs_tk_number | BPJS TK Number |
bpjs_tk_policy required | BPJS JKK Policy |
bpjs_tk_jht_borne_by_employer required | BPJS JHT borne by employer |
bpjs_jp_policy required | BPJS JP Policy |
bpjs_jp_borne_by_employer required | BPJS JP borne by employer |
work_accident_insurance_contribution_rate | BPJS JKK Contribution Rate (Required if BPJS JKK Policy is registered) |
bpjs_jkm_policy required | BPJS JKM Policy |
bpjs_tk_jht_policy required | BPJS JHT Policy |
bpjs_kesehatan_process_date | BPJS Kesehatan Process Date |
bpjs_kesehatan_number | BPJS Kesehatan Number |
bpjs_kesehatan_policy required | BPJS Kesehatan Policy |
no_of_bpjs_kesehatan_dependents | BPJS Kesehatan Additional Dependants |
bpjs_kesehatan_borne_by_employer required | BPJS Kesehatan borne by employer |
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"id": 876,
"employee_id": "1",
"first_name": "Hafsah",
"middle_name": null,
"last_name": "Haigh",
"identification_full_name": "Hafsah Haigh",
"email": "test@gmail.com",
"payment_method": "Bank Transfer",
"hired_date": "2015-01-01",
"resign_date": null,
"confirmation_date": "2019-01-01",
"leaving_country": false,
"race": null,
"religion": null,
"blood_group": null,
"contact_number": "123456789",
"office_did": null,
"ssn": "S1111111D",
"ssn_should_validate": true,
"citizenship": "KTP (Residential Identity Card)",
"nationality": "Chinese",
"gender": "Male",
"marital_status": "Single",
"passport_number": "MA123456",
"passport_date_of_issue": "2017-01-01",
"passport_date_of_expiry": "2022-12-01",
"passport_place_of_issue": "Singapore",
"chinese_name": "Xing Zexi",
"nickname": "Jerry",
"birthdate": "2015-01-01",
"slug": "hafsah-haigh-5f9e0888",
"vaccination_status": "Fully Vaccinated",
"vaccine_brand": "Pfizer-BioNTech",
"date_of_first_dose": "2021-01-01",
"date_of_second_dose": "2021-11-01",
"vaccine_booster_brand": "Pfizer-BioNTech",
"date_of_booster_dose": "2021-12-01",
"vaccination_remarks": "",
"employee_attachment_access": "hidden",
"accounting_split": "employee",
"employee_can_update_custom_fields": false,
"reason_for_cessation": null,
"other_reason_for_cessation": null,
"custom_fields": {
"Education": {
"CGPA": "4.00",
"University": "Example University"
}
},
"cost_centres": [
],
"default_cost_centre": null,
"current_job": {
"id": 50,
"title": "Front-end Engineer",
"department": "Engineer",
"start_date": "01/01/2015",
"end_date": null,
"rate_of_pay": "Monthly",
"currency": "SGD",
"remarks": null,
"amount": "4000.0"
},
"jobs": [
{
"id": 50,
"title": "Front-end Engineer",
"department": "Engineer",
"start_date": "01/01/2015",
"end_date": null,
"rate_of_pay": "Monthly",
"currency": "SGD",
"remarks": null,
"amount": "4000.0"
}
],
"next_of_kins": [
],
"bank_account": {
"id": 1101,
"bank_type": "Standard Chartered",
"bank_code": "1",
"branch_code": "1",
"branch_name": null,
"number": "131231231231231231",
"dbs_company_id": "",
"swift_code": "SCBLIDJXXXX",
"account_name": "Hafsah Haigh",
"payment_code": "1",
"bnm_code": "",
"organization_code": "",
"boa_company_id": null,
"boa_eft_key": null,
"hsbc_account": "standalone_account",
"hsbc_account_type": null
},
"location": {
"id": 1326,
"line_1": "Address Line 1",
"line_2": "Address Line 2",
"postal_code": "12345",
"state": null,
"country_name": "Singapore",
"block_house_no": null,
"street_name": null,
"level_no": null,
"unit_no": null,
"line_3": null
},
"additional_hk_employee_info": null,
"additional_sg_employee_info": null,
"additional_my_employee_info": null,
"additional_id_employee_info": {
"tax_processing_date": "2015-01-01",
"ptkp": "TK/0",
"npwp": "1234567891234567",
"tax_scheme": "gross",
"previous_past_net": "100.0",
"previous_past_tax": "100.0",
"bpjs_tk_process_date": "2015-01-01",
"bpjs_tk_number": "1234567891234567",
"bpjs_tk_policy": "registered",
"work_accident_insurance_contribution_rate": "0.24%",
"bpjs_kesehatan_process_date": "2015-01-01",
"bpjs_kesehatan_number": "1234567891234567",
"bpjs_kesehatan_policy": "registered",
"no_of_bpjs_kesehatan_dependents": 1,
"bpjs_kesehatan_borne_by_employer": true,
"bpjs_tk_jht_borne_by_employer": true,
"bpjs_jp_borne_by_employer": true,
"bpjs_jkm_policy": "registered",
"bpjs_jp_policy": "registered",
"bpjs_tk_jht_policy": "registered",
"previous_past_net_tax_effective_date": "2015-01-01"
}
}
Create MY Employee
Request
Endpoint
POST https://api.talenox.com/api/v2/employees
Accept: application/json
Content-Type: application/json
Authorization: Bearer fec7601d125554d495c0194d6061e415d130c6e5
POST https://api.talenox.com/api/v2/employees
Parameters
{
"invite_user": true,
"employee": {
"employee_id": 1,
"first_name": "Hafsah",
"last_name": "Haigh",
"identification_full_name": "Hafsah Haigh",
"email": "test@gmail.com",
"payment_method": "Bank Transfer",
"hired_date": "1/1/2015",
"contact_number": 123456789,
"ssn": "S1111111D",
"citizenship": "Resident",
"nationality": "Chinese",
"gender": "Male",
"marital_status": "Married and Spouse Not Working",
"passport_number": "MA123456",
"passport_date_of_issue": "01/01/2017",
"passport_date_of_expiry": "01/12/2022",
"passport_place_of_issue": "Singapore",
"vaccination_status": "Fully Vaccinated",
"vaccine_brand": "Pfizer-BioNTech",
"date_of_first_dose": "01/01/2021",
"date_of_second_dose": "01/11/2021",
"vaccine_booster_brand": "Pfizer-BioNTech",
"date_of_booster_dose": "01/12/2021",
"vaccination_remarks": "",
"chinese_name": "Xing Zexi",
"nickname": "Jerry",
"birthdate": "01/01/2015",
"confirmation_date": "01/01/2019",
"default_cost_centre_id": "",
"custom_fields": {
"Education": {
"CGPA": "4.00",
"University": "Example University"
}
},
"current_job_attributes": {
"title": "Front-end Engineer",
"department": "Engineer",
"start_date": "01/01/2015",
"basic_pay_item_attributes": {
"rate_of_pay": "Monthly",
"currency": "SGD",
"amount": 4000
}
},
"bank_account_attributes": {
"bank_type": "DBS",
"bank_code": 1,
"account_name": "Hafsah Haigh",
"number": 131231231231231231,
"branch_code": 1,
"branch_name": "",
"swift_code": "",
"payment_code": 1,
"dbs_company_id": ""
},
"additional_my_employee_info_attributes": {
"is_contributing_epf": true,
"epf_number": 123456789,
"employee_epf_setting": "Statutory Default",
"employer_epf_setting": "12%",
"pcb_number": 12312312,
"socso_setting": "Employment Injury Scheme and Invalidity Scheme",
"socso_number": 123123124,
"disabled_individual": false,
"disabled_spouse": false,
"has_eis": true,
"zakat_number": 123123123,
"zakat_amount": 1000,
"accumulated_remuneration_bik_vola": 50.2,
"accumulated_deductions_epf_and_other_funds": 100.9,
"accumulated_deductions_mtd": 700.22,
"accumulated_deductions_zakat_paid": 500.4,
"accumulated_year": 2018,
"accumulated_deductions_medical_treatment_special_needs_or_carer": 50.4,
"accumulated_deductions_father_relief": 2000.9,
"accumulated_deductions_mother_relief": 3020,
"accumulated_deductions_basic_supporting_equipment": 2400,
"accumulated_deductions_higher_education_fees_self": 5090,
"accumulated_deductions_medical_expenses_on_serious_diseases": 1900,
"accumulated_deductions_complete_medical_examination": 990,
"accumulated_deductions_net_deposit_in_sspn": 13123,
"accumulated_deductions_payment_of_alimony_to_former_wife": 500.12,
"accumulated_deductions_contribution_to_private_retirement_schem": 1000.2,
"accumulated_deductions_education_and_medical_insurance": 2000.59,
"accumulated_deductions_interest_on_housing_loan": 290.1,
"accumulated_deductions_tax_deduction_for_lifestyle": 900.5,
"accumulated_deductions_tax_deduction_for_purchase_of_breastfeed": 200,
"accumulated_deductions_tax_deduction_for_fees_paid_to_child_car": 1300,
"noc_under_18_full": 1,
"noc_under_18_half": 2,
"noc_18_above_studying_degree_in_malaysia_full": 3,
"noc_18_above_studying_degree_in_malaysia_half": 4,
"noc_18_above_studying_diploma_in_malaysia_full": 5,
"noc_18_above_studying_diploma_in_malaysia_half": 6,
"noc_18_above_studying_at_least_degree_outside_malaysia_full": 7,
"noc_18_above_studying_at_least_degree_outside_malaysia_half": 8,
"noc_disabled_full": 9,
"noc_disabled_half": 1,
"noc_disabled_studying_at_least_diploma_full": 2,
"noc_disabled_studying_at_least_diploma_half": 2,
"accumulated_month": "September",
"accumulated_month_year": "01/10/2018"
},
"location_attributes": {
"line_1": "Address Line 1",
"line_2": "Address Line 2",
"postal_code": 12345,
"state": null,
"country_name": "Singapore"
}
}
}
Name | Description |
---|---|
invite_user | If true will create a talenox user for the employee and invite them |
employee_id | Employee ID |
first_name required | First name |
last_name | Last name |
chinese_name | Chinese name |
nickname | Nickname |
identification_full_name | Identification full name |
email required | Email address |
hired_date | Hired date |
confirmation_date | Confirmation date |
resign_date | Resign date |
contact_number | Contact number |
office_did | Office Direct Inward Dialing (DID) Number |
ssn required | Identification number |
ssn_should_validate | Should valdate identification number |
citizenship required | Immigration status |
nationality | Nationality |
gender | Gender |
race | Race |
religion | Religion |
marital_status | Marital status |
birthdate | Birth date |
passport_number | Passport number |
passport_date_of_issue | Passport issue date |
passport_date_of_expiry | Passport expiry date |
passport_place_of_issue | Passport place of issue |
vaccination_status | Vaccination status |
vaccine_brand | Vaccine brand |
date_of_first_dose | Date of first dose |
date_of_second_dose | Date of second dose |
vaccine_booster_brand | Vaccine booster brand |
date_of_booster_dose | Date of second dose |
vaccination_remarks | Vaccination remarks |
payment_method required | Payment type |
cost_centre_id | Default Cost centre ID (Same as default_cost_centre_id) |
default_cost_centre_id | Default Cost centre ID (Set the company setting api_allows_employee_multiple_cost_centres to true to avoid resetting employee cost centres when changing default_cost_centre_id value) |
cost_centre_ids | Cost centre IDs (to assign employee to multiple cost centres) |
blood_group | Blood group |
leaving_country | Leaving country |
employee_attachment_access | Employee attachment access |
accounting_split | Accounting split |
employee_can_update_custom_fields | Employee can update custom fields |
employee_attachment_access | Employee attachment access |
reason_for_cessation | Reason for cessation |
other_reason_for_cessation | Other reason for cessation |
custom_fields | Custom fields |
current_job_parameters | Below are Employee's Job related fields |
title | Job title |
department | Department |
start_date | Job start date |
end_date | Job end date |
remarks | Remarks |
current_job_parameters[basic_pay_item_parameters] | Below are Basic Pay Item related fields |
current_job_parameters[rate_of_pay] | Rate of pay |
current_job_parameters[currency] | Currency |
current_job_parameters[amount] | Basic pay amount |
bank_account_parameters | Below are Employee's Bank Account related fields |
bank_type | Bank name |
bank_code | Bank code |
account_name | Bank account name |
number | Bank account number |
branch_code | Branch code |
branch_name | Branch name |
swift_code | Bank swift code |
payment_code | Payment code (Hang Seng and HSBC only) |
dbs_company_id | DBS company ID (DBS only) |
employee_using_cheque | Employee using cheque |
location_parameters | Below are Employee's Address related fields |
line_1 | Address line 1 |
line_2 | Address line 2 |
postal_code | Postal code |
state | State |
country_name | Country name |
additional_my_employee_info_parameters | Below are MY Employee's related fields |
is_contributing_epf | Is employee contributing to EPF (For Malaysia employee) |
epf_number | EPF number |
employee_epf_setting | Employee EPF setting |
employer_epf_setting | Employer EPF setting |
pcb_number | PCB number |
socso_setting | SOCSO setting |
socso_number | SOCSO number |
disabled_individual | Is Disabled individual |
disabled_spouse | Is Disabled spouse |
pcb_borne_by_employer | Pcb borne by employer |
has_eis | Has EIS |
zakat_number | Zakat Number |
zakat_amount | Zakat Amount |
is_contributing_hrdf | Contribute HRDF? (For Malaysia employee) |
accumulated_remuneration_bik_vola | Accumulated remuneration/Benefit-In-Kind (BIK)/Value Of Living Accomodation (VOLA) |
accumulated_deductions_epf_and_other_funds | Accumulated EPF and Other Approved Funds [include life premium insurance] |
accumulated_deductions_mtd | Accumulated MTD paid (including MTD on additional remuneration) |
accumulated_deductions_zakat_paid | Accumulated Zakat paid |
accumulated_deductions_medical_treatment_special_needs_or_carer | Accumulated Medical expenses for own parents, special need and parent care |
accumulated_deductions_father_relief | Accumulated Father Relief |
accumulated_deductions_mother_relief | Accumulated Mother Relief |
accumulated_deductions_basic_supporting_equipment | Accumulated Basic supporting equipment for disabled self, spouse, child or parent |
accumulated_deductions_higher_education_fees_self | Accumulated Education fees |
accumulated_deductions_medical_expenses_on_serious_diseases | Accumulated Medical expenses on serious diseases for self, spouse or child |
accumulated_deductions_complete_medical_examination | Accumulated Complete medical examination for self, spouse or child |
accumulated_deductions_net_deposit_in_sspn | Accumulated Net deposit in Skim Simpanan Pendidikan Nasional (SSPN) |
accumulated_deductions_payment_of_alimony_to_former_wife | Accumulated Payment of alimony to former wife |
accumulated_deductions_contribution_to_private_retirement_schem | Accumulated Deferred annuity premium or contribution to Private Retriement Scheme |
accumulated_deductions_education_and_medical_insurance | Accumulated Education and medical insurance premium |
accumulated_deductions_interest_on_housing_loan | Accumulated Interest on Housing Loan |
accumulated_deductions_tax_deduction_for_lifestyle | Accumulated Purchase of readings, computer, smartphone, tablet, sport equipment, gymnasium membership and subscription of broadband internet |
accumulated_deductions_tax_deduction_for_purchase_of_breastfeed | Accumulated Purchase of Breastfeeding Equipment(deduction is allowed once every 2 years for women tax payer only) |
accumulated_deductions_tax_deduction_for_fees_paid_to_child_car | Accumulated Fees paid to Child Care Centre and Kindergartens |
accumulated_deductions_socso_payment | Accumulated SOCSO Contribution |
accumulated_deductions_life_insurance_for_retired_civil_servant | Accumulated life insurance for retired civil servant |
accumulated_deductions_life_insurance_for_other_than_retired_ci | Accumulated life insurance for other than retired civil servant |
accumulated_deductions_sports_equipment_rental_registration_fee | Accumulated sports equipment for sports activities |
accumulated_deductions_purchase_of_personal_computer_smartphone | Accumulated purchase of personal computer, smartphone or tablet |
accumulated_deductions_fee_at_registered_premises_and_tourist_a | Accumulated accommodation fee at the accommodation premises registered |
accumulated_deductions_expenses_on_electric_vehicle_charging_fa | Accumulated expenses on Electric Vehicle Charging Facilities and equipment |
noc_under_18_full | Eligible children full deduction(RM2000 each) |
noc_under_18_half | Eligible children half deduction(RM2000 each) |
noc_18_above_studying_degree_in_malaysia_full | Above 18 years and studying full time in Degree level onwards (inside Malaysia) (Full deduction) |
noc_18_above_studying_degree_in_malaysia_half | Above 18 years and studying full time in Degree level onwards (inside Malaysia) (Half deduction) |
noc_18_above_studying_diploma_in_malaysia_full | Above 18 years and studying full time in diploma level onwards (inside Malaysia) (Full deduction) |
noc_18_above_studying_diploma_in_malaysia_half | Above 18 years and studying full time in diploma level onwards (inside Malaysia) (Half deduction) |
noc_18_above_studying_at_least_degree_outside_malaysia_full | Above 18 years and studying full time in Degree level onwards (outside Malaysia) (Full deduction) |
noc_18_above_studying_at_least_degree_outside_malaysia_half | Above 18 years and studying full time in Degree level onwards (outside Malaysia) (Half deduction) |
noc_disabled_full | Disabled children (Full deduction) |
noc_disabled_half | Disabled children (Half deduction) |
noc_disabled_studying_at_least_diploma_full | Disabled child studying in diploma or higher level (in Malaysia)/degree or its equivalent (outside Malaysia) |
noc_disabled_studying_at_least_diploma_half | Disabled child studying in diploma or higher level (in Malaysia)/degree or its equivalent (outside Malaysia) |
accumulated_month | Accumulated month |
accumulated_year | Accumulated year |
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"id": 871,
"employee_id": "1",
"first_name": "Hafsah",
"middle_name": null,
"last_name": "Haigh",
"identification_full_name": "Hafsah Haigh",
"email": "test@gmail.com",
"payment_method": "Bank Transfer",
"hired_date": "2015-01-01",
"resign_date": null,
"confirmation_date": "2019-01-01",
"leaving_country": false,
"race": null,
"religion": null,
"blood_group": null,
"contact_number": "123456789",
"office_did": null,
"ssn": "S1111111D",
"ssn_should_validate": true,
"citizenship": "Resident",
"nationality": "Chinese",
"gender": "Male",
"marital_status": "Married and Spouse Not Working",
"passport_number": "MA123456",
"passport_date_of_issue": "2017-01-01",
"passport_date_of_expiry": "2022-12-01",
"passport_place_of_issue": "Singapore",
"chinese_name": "Xing Zexi",
"nickname": "Jerry",
"birthdate": "2015-01-01",
"slug": "hafsah-haigh-0ad1ff54",
"vaccination_status": "Fully Vaccinated",
"vaccine_brand": "Pfizer-BioNTech",
"date_of_first_dose": "2021-01-01",
"date_of_second_dose": "2021-11-01",
"vaccine_booster_brand": "Pfizer-BioNTech",
"date_of_booster_dose": "2021-12-01",
"vaccination_remarks": "",
"employee_attachment_access": "hidden",
"accounting_split": "employee",
"employee_can_update_custom_fields": false,
"reason_for_cessation": null,
"other_reason_for_cessation": null,
"custom_fields": {
"Education": {
"CGPA": "4.00",
"University": "Example University"
}
},
"cost_centres": [
],
"default_cost_centre": null,
"current_job": {
"id": 49,
"title": "Front-end Engineer",
"department": "Engineer",
"start_date": "01/01/2015",
"end_date": null,
"rate_of_pay": "Monthly",
"currency": "SGD",
"remarks": null,
"amount": "4000.0"
},
"jobs": [
{
"id": 49,
"title": "Front-end Engineer",
"department": "Engineer",
"start_date": "01/01/2015",
"end_date": null,
"rate_of_pay": "Monthly",
"currency": "SGD",
"remarks": null,
"amount": "4000.0"
}
],
"next_of_kins": [
],
"bank_account": {
"id": 1088,
"bank_type": "DBS",
"bank_code": "1",
"branch_code": "1",
"branch_name": null,
"number": "131231231231231231",
"dbs_company_id": "",
"swift_code": "DBSSMY2A",
"account_name": "Hafsah Haigh",
"payment_code": "1",
"bnm_code": "",
"organization_code": "",
"boa_company_id": null,
"boa_eft_key": null,
"hsbc_account": "standalone_account",
"hsbc_account_type": null
},
"location": {
"id": 1305,
"line_1": "Address Line 1",
"line_2": "Address Line 2",
"postal_code": "12345",
"state": null,
"country_name": "Singapore",
"block_house_no": null,
"street_name": null,
"level_no": null,
"unit_no": null,
"line_3": null
},
"additional_hk_employee_info": null,
"additional_sg_employee_info": null,
"additional_my_employee_info": {
"is_contributing_epf": true,
"epf_number": "123456789",
"employee_epf_setting": "Statutory Default",
"employer_epf_setting": "12%",
"pcb_number": "12312312",
"socso_setting": "Employment Injury Scheme and Invalidity Scheme",
"socso_number": "123123124",
"citizenship": "Resident",
"disabled_individual": false,
"disabled_spouse": false,
"pcb_borne_by_employer": false,
"has_eis": true,
"zakat_number": "123123123",
"is_contributing_hrdf": true,
"zakat_amount": "1000.0",
"accumulated_remuneration_bik_vola": "50.2",
"accumulated_deductions_epf_and_other_funds": "100.9",
"accumulated_deductions_mtd": "700.22",
"accumulated_deductions_zakat_paid": "500.4",
"accumulated_year": "2018",
"accumulated_deductions_socso_payment": "0.0",
"accumulated_deductions_medical_treatment_special_needs_or_carer": "50.4",
"accumulated_deductions_father_relief": "2000.9",
"accumulated_deductions_mother_relief": "3020.0",
"accumulated_deductions_basic_supporting_equipment": "2400.0",
"accumulated_deductions_higher_education_fees_self": "5090.0",
"accumulated_deductions_medical_expenses_on_serious_diseases": "1900.0",
"accumulated_deductions_complete_medical_examination": "990.0",
"accumulated_deductions_net_deposit_in_sspn": "13123.0",
"accumulated_deductions_payment_of_alimony_to_former_wife": "500.12",
"accumulated_deductions_contribution_to_private_retirement_schem": "1000.2",
"accumulated_deductions_education_and_medical_insurance": "2000.59",
"accumulated_deductions_interest_on_housing_loan": "290.1",
"accumulated_deductions_tax_deduction_for_lifestyle": "900.5",
"accumulated_deductions_tax_deduction_for_purchase_of_breastfeed": "200.0",
"accumulated_deductions_tax_deduction_for_fees_paid_to_child_car": "1300.0",
"accumulated_deductions_skills_improvement_self_improvement_cour": "0.0",
"accumulated_deductions_vaccination_expenses": "0.0",
"accumulated_deductions_sports_equipment_rental_registration_fee": "0.0",
"accumulated_deductions_purchase_of_personal_computer_smartphone": "0.0",
"accumulated_deductions_fee_at_registered_premises_and_tourist_a": "0.0",
"accumulated_deductions_expenses_on_electric_vehicle_charging_fa": "0.0",
"noc_under_18_full": 1,
"noc_under_18_half": 2,
"noc_18_above_studying_degree_in_malaysia_full": 3,
"noc_18_above_studying_degree_in_malaysia_half": 4,
"noc_18_above_studying_diploma_in_malaysia_full": 5,
"noc_18_above_studying_diploma_in_malaysia_half": 6,
"noc_18_above_studying_at_least_degree_outside_malaysia_full": 7,
"noc_18_above_studying_at_least_degree_outside_malaysia_half": 8,
"noc_disabled_full": 9,
"noc_disabled_half": 1,
"noc_disabled_studying_at_least_diploma_full": 2,
"noc_disabled_studying_at_least_diploma_half": 2,
"accumulated_month": "September",
"accumulated_month_year": "2018-09-01",
"accumulated_deductions_life_insurance_for_retired_civil_servant": "0.0",
"accumulated_deductions_life_insurance_for_other_than_retired_ci": "0.0"
},
"additional_id_employee_info": null
}
Create SG Employee
Request
Endpoint
POST https://api.talenox.com/api/v2/employees
Accept: application/json
Content-Type: application/json
Authorization: Bearer 7c18e16e34008601d79cb44beb528a64ec749e15
POST https://api.talenox.com/api/v2/employees
Parameters
{
"invite_user": true,
"employee": {
"employee_id": 1,
"first_name": "Hafsah",
"last_name": "Haigh",
"identification_full_name": "Hafsah Haigh",
"email": "test@gmail.com",
"payment_method": "Bank Transfer",
"hired_date": "1/1/2015",
"contact_number": 123456789,
"ssn": "S1111111D",
"citizenship": "S Pass",
"nationality": "Chinese",
"gender": "Male",
"marital_status": "Single",
"passport_number": "MA123456",
"passport_date_of_issue": "01/01/2017",
"passport_date_of_expiry": "01/12/2022",
"passport_place_of_issue": "Singapore",
"vaccination_status": "Fully Vaccinated",
"vaccine_brand": "Pfizer-BioNTech",
"date_of_first_dose": "01/01/2021",
"date_of_second_dose": "01/11/2021",
"vaccine_booster_brand": "Pfizer-BioNTech",
"date_of_booster_dose": "01/12/2021",
"vaccination_remarks": "",
"chinese_name": "Xing Zexi",
"nickname": "Jerry",
"birthdate": "01/01/2015",
"confirmation_date": "01/01/2019",
"default_cost_centre_id": 12,
"custom_fields": {
"Education": {
"CGPA": "4.00",
"University": "Example University"
}
},
"current_job_attributes": {
"title": "Front-end Engineer",
"department": "Engineer",
"start_date": "01/01/2015",
"basic_pay_item_attributes": {
"rate_of_pay": "Monthly",
"currency": "SGD",
"amount": 4000
}
},
"bank_account_attributes": {
"bank_type": "DBS",
"bank_code": 1,
"account_name": "Hafsah Haigh",
"number": 131231231231231231,
"branch_code": 1,
"branch_name": "",
"swift_code": "",
"payment_code": 1,
"dbs_company_id": ""
},
"additional_sg_employee_info_attributes": {
"cpf_donation_type": "N/A",
"cpf_additional_donation_type": "N/A",
"identification_issue_date": "",
"identification_expiry_date": "",
"spass_expiry_date": "01/01/2022",
"spass_issue_date": "01/01/2015",
"spass_dcs": "",
"epass_expiry_date": "",
"epass_issue_date": "",
"pr_status": "",
"pr_effective_date": "",
"pr_expiry_date": "",
"pepass_issue_date": "",
"pepass_expiry_date": "",
"wp_issue_date": "",
"wp_expiry_date": "",
"wp_worker_category": "",
"wp_dcs": "",
"wp_number": "",
"shg_override_amount": 0,
"letter_of_consent_issue_date": "",
"letter_of_consent_expiry_date": "",
"halal_certification_issue_date": "",
"halal_certification_expiry_date": "",
"hygiene_certification_issue_date": "",
"hygiene_certification_expiry_date": ""
},
"location_attributes": {
"line_1": "Address Line 1",
"line_2": "Address Line 2",
"postal_code": 12345,
"state": null,
"country_name": "Singapore"
},
"cost_centre_ids": [
12,
13
]
}
}
Name | Description |
---|---|
invite_user | If true will create a talenox user for the employee and invite them |
employee_id | Employee ID |
first_name required | First name |
last_name | Last name |
chinese_name | Chinese name |
nickname | Nickname |
identification_full_name | Identification full name |
email required | Email address |
hired_date | Hired date |
confirmation_date | Confirmation date |
resign_date | Resign date |
contact_number | Contact number |
office_did | Office Direct Inward Dialing (DID) Number |
ssn required | Identification number |
ssn_should_validate | Should valdate identification number |
citizenship required | Immigration status |
nationality | Nationality |
gender | Gender |
race | Race |
religion | Religion |
marital_status | Marital status |
birthdate | Birth date |
passport_number | Passport number |
passport_date_of_issue | Passport issue date |
passport_date_of_expiry | Passport expiry date |
passport_place_of_issue | Passport place of issue |
vaccination_status | Vaccination status |
vaccine_brand | Vaccine brand |
date_of_first_dose | Date of first dose |
date_of_second_dose | Date of second dose |
vaccine_booster_brand | Vaccine booster brand |
date_of_booster_dose | Date of second dose |
vaccination_remarks | Vaccination remarks |
payment_method required | Payment type |
cost_centre_id | Default Cost centre ID (Same as default_cost_centre_id) |
default_cost_centre_id | Default Cost centre ID (Set the company setting api_allows_employee_multiple_cost_centres to true to avoid resetting employee cost centres when changing default_cost_centre_id value) |
cost_centre_ids | Cost centre IDs (to assign employee to multiple cost centres) |
blood_group | Blood group |
leaving_country | Leaving country |
employee_attachment_access | Employee attachment access |
accounting_split | Accounting split |
employee_can_update_custom_fields | Employee can update custom fields |
employee_attachment_access | Employee attachment access |
reason_for_cessation | Reason for cessation |
other_reason_for_cessation | Other reason for cessation |
custom_fields | Custom fields |
current_job_parameters | Below are Employee's Job related fields |
title | Job title |
department | Department |
start_date | Job start date |
end_date | Job end date |
remarks | Remarks |
current_job_parameters[basic_pay_item_parameters] | Below are Basic Pay Item related fields |
current_job_parameters[rate_of_pay] | Rate of pay |
current_job_parameters[currency] | Currency |
current_job_parameters[amount] | Basic pay amount |
bank_account_parameters | Below are Employee's Bank Account related fields |
bank_type | Bank name |
bank_code | Bank code |
account_name | Bank account name |
number | Bank account number |
branch_code | Branch code |
branch_name | Branch name |
swift_code | Bank swift code |
payment_code | Payment code (Hang Seng and HSBC only) |
dbs_company_id | DBS company ID (DBS only) |
employee_using_cheque | Employee using cheque |
location_parameters | Below are Employee's Address related fields |
line_1 | Address line 1 |
line_2 | Address line 2 |
postal_code | Postal code |
state | State |
country_name | Country name |
additional_sg_employee_info_parameters | Below are SG Employee's related fields |
cpf_donation_type | SHG donation type |
cpf_additional_donation_type | Additional SHG donation type |
identification_expiry_date | Identification expiry date. When you use the API to update this field, we will map to the immigration expiry field. E.g. for Spass holders, we will map to spass_expiry_date. |
identification_issue_date | Identification issue date. When you use the API to update this field, we will map to the immigration issue field. E.g. for Spass holders, we will map to spass_issue_date. |
spass_expiry_date | S Pass expiry date |
spass_issue_date | S Pass issue date |
spass_dcs | S Pass Dependency Ceiling |
epass_number | E Pass Number |
epass_expiry_date | E Pass expiry date |
epass_issue_date | E Pass issue date |
pr_status | PR status |
pr_effective_date | PR effective date |
pr_expiry_date | PR expiry date |
pepass_issue_date | PE Pass issue date |
pepass_expiry_date | PE Pass expiry date |
wp_expiry_date | Work Pass expiry date |
wp_issue_date | Work Pass issue date |
techpass_expiry_date | Tech Pass expiry date |
techpass_issue_date | Tech Pass issue date |
onepass_expiry_date | ONE Pass expiry date |
onepass_issue_date | ONE Pass issue date |
wp_worker_category | Work Pass worker category |
wp_dcs | Work Pass dependency ceiling |
wp_number | Work Pass Number |
shg_contribution_amount_option | SHG contribution amount option (["statutory_default", "custom_shg_amount"]) |
shg_override_amount | Special cases where SHG needs to be overriden with CPF approval |
letter_of_consent_expiry_date | Letter of consent expiry date |
letter_of_consent_issue_date | Letter of consent issue date |
halal_certification_issue_date | Halal certification issue date |
halal_certification_expiry_date | Halal certification expiry date |
hygiene_certification_issue_date | Hygiene certification issue date |
hygiene_certification_expiry_date | Hygiene certification expiry date |
additional_shg_contribution_amount_option | Additional SHG contribution amount option (["statutory_default", "custom_shg_amount"]) |
additional_shg_override_amount | Additional SHG override amount |
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"id": 861,
"employee_id": "1",
"first_name": "Hafsah",
"middle_name": null,
"last_name": "Haigh",
"identification_full_name": "Hafsah Haigh",
"email": "test@gmail.com",
"payment_method": "Bank Transfer",
"hired_date": "2015-01-01",
"resign_date": null,
"confirmation_date": "2019-01-01",
"leaving_country": false,
"race": null,
"religion": null,
"blood_group": null,
"contact_number": "123456789",
"office_did": null,
"ssn": "S1111111D",
"ssn_should_validate": true,
"citizenship": "S Pass",
"nationality": "Chinese",
"gender": "Male",
"marital_status": "Single",
"passport_number": "MA123456",
"passport_date_of_issue": "2017-01-01",
"passport_date_of_expiry": "2022-12-01",
"passport_place_of_issue": "Singapore",
"chinese_name": "Xing Zexi",
"nickname": "Jerry",
"birthdate": "2015-01-01",
"slug": "hafsah-haigh-dfb61e1e",
"vaccination_status": "Fully Vaccinated",
"vaccine_brand": "Pfizer-BioNTech",
"date_of_first_dose": "2021-01-01",
"date_of_second_dose": "2021-11-01",
"vaccine_booster_brand": "Pfizer-BioNTech",
"date_of_booster_dose": "2021-12-01",
"vaccination_remarks": "",
"employee_attachment_access": "hidden",
"accounting_split": "employee",
"employee_can_update_custom_fields": false,
"reason_for_cessation": null,
"other_reason_for_cessation": null,
"custom_fields": {
"Education": {
"CGPA": "4.00",
"University": "Example University"
}
},
"cost_centres": [
{
"id": 12,
"name": "Debroah Port",
"employee_ids": [
861
],
"no_of_employees": 1,
"enable_custom_cpf_csn": null,
"custom_cpf_csn": null
},
{
"id": 13,
"name": "Tyree Corners",
"employee_ids": [
861
],
"no_of_employees": 1,
"enable_custom_cpf_csn": null,
"custom_cpf_csn": null
}
],
"default_cost_centre": {
"id": 12,
"name": "Debroah Port",
"employee_ids": [
861
],
"no_of_employees": 1,
"enable_custom_cpf_csn": null,
"custom_cpf_csn": null
},
"current_job": {
"id": 47,
"title": "Front-end Engineer",
"department": "Engineer",
"start_date": "01/01/2015",
"end_date": null,
"rate_of_pay": "Monthly",
"currency": "SGD",
"remarks": null,
"amount": "4000.0"
},
"jobs": [
{
"id": 47,
"title": "Front-end Engineer",
"department": "Engineer",
"start_date": "01/01/2015",
"end_date": null,
"rate_of_pay": "Monthly",
"currency": "SGD",
"remarks": null,
"amount": "4000.0"
}
],
"next_of_kins": [
],
"bank_account": {
"id": 1062,
"bank_type": "DBS",
"bank_code": "1",
"branch_code": "1",
"branch_name": null,
"number": "131231231231231231",
"dbs_company_id": "",
"swift_code": "DBSSSGSGXXX",
"account_name": "Hafsah Haigh",
"payment_code": "1",
"bnm_code": "",
"organization_code": "",
"boa_company_id": null,
"boa_eft_key": null,
"hsbc_account": "standalone_account",
"hsbc_account_type": null
},
"location": {
"id": 1263,
"line_1": "Address Line 1",
"line_2": "Address Line 2",
"postal_code": "12345",
"state": null,
"country_name": "Singapore",
"block_house_no": null,
"street_name": null,
"level_no": null,
"unit_no": null,
"line_3": null
},
"additional_hk_employee_info": null,
"additional_sg_employee_info": {
"cpf_donation_type": "N/A",
"cpf_additional_donation_type": "N/A",
"identification_expiry_date": "2022-01-01",
"identification_issue_date": "2015-01-01",
"spass_expiry_date": "2022-01-01",
"spass_issue_date": "2015-01-01",
"spass_dcs": "",
"epass_expiry_date": null,
"epass_issue_date": null,
"pr_status": "",
"pr_effective_date": null,
"pr_expiry_date": null,
"wp_issue_date": null,
"wp_expiry_date": null,
"wp_worker_category": "",
"wp_dcs": "",
"wp_number": "",
"shg_override_amount": "0.0",
"letter_of_consent_issue_date": null,
"letter_of_consent_expiry_date": null,
"pepass_issue_date": null,
"pepass_expiry_date": null,
"halal_certification_issue_date": null,
"halal_certification_expiry_date": null,
"hygiene_certification_issue_date": null,
"hygiene_certification_expiry_date": null
},
"additional_my_employee_info": null,
"additional_id_employee_info": null
}
Delete Employee
Request
Endpoint
DELETE https://api.talenox.com/api/v2/employees/892
Accept: application/json
Content-Type: application/json
Authorization: Bearer 71a584924d4d5deb2c76a33ff550b017cebf70f7
DELETE https://api.talenox.com/api/v2/employees/:id
Parameters
None known.
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"message": "Successfully deleted employee 00001"
}
Get Employee
Request
Endpoint
GET https://api.talenox.com/api/v2/employees/882
Accept: application/json
Content-Type: application/json
Authorization: Bearer 08316591aa93b84613c31d26ace67d7cba95ae39
GET https://api.talenox.com/api/v2/employees/:id
Parameters
None known.
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"id": 882,
"employee_id": "00001",
"first_name": "Myrtie",
"middle_name": null,
"last_name": "Ullrich",
"identification_full_name": null,
"email": "julio_kutch@talenox.com",
"payment_method": "Bank Transfer",
"hired_date": "2022-08-14",
"resign_date": null,
"confirmation_date": null,
"leaving_country": false,
"race": null,
"religion": null,
"blood_group": null,
"contact_number": null,
"office_did": null,
"ssn": "S1234567D",
"ssn_should_validate": true,
"citizenship": "Singapore Citizen",
"nationality": null,
"gender": "Male",
"marital_status": null,
"passport_number": null,
"passport_date_of_issue": null,
"passport_date_of_expiry": null,
"passport_place_of_issue": null,
"chinese_name": null,
"nickname": null,
"birthdate": "2000-02-27",
"slug": "myrtie-ullrich-6196c98c",
"vaccination_status": null,
"vaccine_brand": null,
"date_of_first_dose": null,
"date_of_second_dose": null,
"vaccine_booster_brand": null,
"date_of_booster_dose": null,
"vaccination_remarks": null,
"employee_attachment_access": "hidden",
"accounting_split": "employee",
"employee_can_update_custom_fields": false,
"reason_for_cessation": null,
"other_reason_for_cessation": null,
"custom_fields": {
},
"cost_centres": [
],
"default_cost_centre": null,
"current_job": null,
"jobs": [
],
"next_of_kins": [
],
"bank_account": {
"id": 1115,
"bank_type": null,
"bank_code": null,
"branch_code": null,
"branch_name": null,
"number": null,
"dbs_company_id": null,
"swift_code": null,
"account_name": "Myrtie Ullrich",
"payment_code": null,
"bnm_code": "",
"organization_code": "",
"boa_company_id": null,
"boa_eft_key": null,
"hsbc_account": "standalone_account",
"hsbc_account_type": null
},
"location": {
"id": 1348,
"line_1": null,
"line_2": null,
"postal_code": null,
"state": null,
"country_name": null,
"block_house_no": null,
"street_name": null,
"level_no": null,
"unit_no": null,
"line_3": null
},
"additional_hk_employee_info": null,
"additional_sg_employee_info": {
"cpf_donation_type": "CDAC",
"cpf_additional_donation_type": "N/A",
"identification_expiry_date": null,
"identification_issue_date": null,
"spass_expiry_date": null,
"spass_issue_date": null,
"spass_dcs": null,
"epass_expiry_date": null,
"epass_issue_date": null,
"pr_status": "Graduated",
"pr_effective_date": "2024-02-27",
"pr_expiry_date": null,
"wp_issue_date": null,
"wp_expiry_date": null,
"wp_worker_category": null,
"wp_dcs": null,
"wp_number": null,
"shg_override_amount": "0.0",
"letter_of_consent_issue_date": null,
"letter_of_consent_expiry_date": null,
"pepass_issue_date": null,
"pepass_expiry_date": null,
"halal_certification_issue_date": null,
"halal_certification_expiry_date": null,
"hygiene_certification_issue_date": null,
"hygiene_certification_expiry_date": null
},
"additional_my_employee_info": null,
"additional_id_employee_info": {
"tax_processing_date": "2022-08-14",
"ptkp": "TK/0",
"npwp": null,
"tax_scheme": "gross",
"previous_past_net": null,
"previous_past_tax": null,
"bpjs_tk_process_date": null,
"bpjs_tk_number": null,
"bpjs_tk_policy": "registered",
"work_accident_insurance_contribution_rate": "0.24%",
"bpjs_kesehatan_process_date": null,
"bpjs_kesehatan_number": null,
"bpjs_kesehatan_policy": "registered",
"no_of_bpjs_kesehatan_dependents": null,
"bpjs_kesehatan_borne_by_employer": false,
"bpjs_tk_jht_borne_by_employer": false,
"bpjs_jp_borne_by_employer": false,
"bpjs_jkm_policy": "registered",
"bpjs_jp_policy": "registered",
"bpjs_tk_jht_policy": "registered",
"previous_past_net_tax_effective_date": null
}
}
List All Employees
Request
Endpoint
GET https://api.talenox.com/api/v2/employees
Accept: application/json
Content-Type: application/json
Authorization: Bearer ee18b7ce942346de53a40d6aaaf1fe05c308a798
GET https://api.talenox.com/api/v2/employees
Parameters
None known.
Response
Content-Type: application/json; charset=utf-8
200 OK
[
{
"id": 878,
"employee_id": "00001",
"first_name": "Kaitlin",
"middle_name": null,
"last_name": "Zulauf",
"identification_full_name": null,
"email": "risa@talenox.com",
"payment_method": "Bank Transfer",
"hired_date": "2023-03-29",
"resign_date": null,
"confirmation_date": null,
"leaving_country": false,
"race": null,
"religion": null,
"blood_group": null,
"contact_number": null,
"office_did": null,
"ssn": "S1234567D",
"ssn_should_validate": true,
"citizenship": "Singapore Citizen",
"nationality": null,
"gender": "Male",
"marital_status": null,
"passport_number": null,
"passport_date_of_issue": null,
"passport_date_of_expiry": null,
"passport_place_of_issue": null,
"chinese_name": null,
"nickname": null,
"birthdate": "2003-02-27",
"slug": "kaitlin-zulauf-a111d715",
"vaccination_status": null,
"vaccine_brand": null,
"date_of_first_dose": null,
"date_of_second_dose": null,
"vaccine_booster_brand": null,
"date_of_booster_dose": null,
"vaccination_remarks": null,
"employee_attachment_access": "hidden",
"accounting_split": "employee",
"employee_can_update_custom_fields": false,
"reason_for_cessation": null,
"other_reason_for_cessation": null,
"custom_fields": {
},
"cost_centres": [
],
"default_cost_centre": null,
"current_job": null,
"jobs": [
],
"next_of_kins": [
],
"bank_account": {
"id": 1106,
"bank_type": null,
"bank_code": null,
"branch_code": null,
"branch_name": null,
"number": null,
"dbs_company_id": null,
"swift_code": null,
"account_name": "Kaitlin Zulauf",
"payment_code": null,
"bnm_code": "",
"organization_code": "",
"boa_company_id": null,
"boa_eft_key": null,
"hsbc_account": "standalone_account",
"hsbc_account_type": null
},
"location": {
"id": 1334,
"line_1": null,
"line_2": null,
"postal_code": null,
"state": null,
"country_name": null,
"block_house_no": null,
"street_name": null,
"level_no": null,
"unit_no": null,
"line_3": null
},
"additional_hk_employee_info": null,
"additional_sg_employee_info": {
"cpf_donation_type": "CDAC",
"cpf_additional_donation_type": "N/A",
"identification_expiry_date": null,
"identification_issue_date": null,
"spass_expiry_date": null,
"spass_issue_date": null,
"spass_dcs": null,
"epass_expiry_date": null,
"epass_issue_date": null,
"pr_status": "Graduated",
"pr_effective_date": "2024-02-27",
"pr_expiry_date": null,
"wp_issue_date": null,
"wp_expiry_date": null,
"wp_worker_category": null,
"wp_dcs": null,
"wp_number": null,
"shg_override_amount": "0.0",
"letter_of_consent_issue_date": null,
"letter_of_consent_expiry_date": null,
"pepass_issue_date": null,
"pepass_expiry_date": null,
"halal_certification_issue_date": null,
"halal_certification_expiry_date": null,
"hygiene_certification_issue_date": null,
"hygiene_certification_expiry_date": null
},
"additional_my_employee_info": null,
"additional_id_employee_info": {
"tax_processing_date": "2023-03-29",
"ptkp": "TK/0",
"npwp": null,
"tax_scheme": "gross",
"previous_past_net": null,
"previous_past_tax": null,
"bpjs_tk_process_date": null,
"bpjs_tk_number": null,
"bpjs_tk_policy": "registered",
"work_accident_insurance_contribution_rate": "0.24%",
"bpjs_kesehatan_process_date": null,
"bpjs_kesehatan_number": null,
"bpjs_kesehatan_policy": "registered",
"no_of_bpjs_kesehatan_dependents": null,
"bpjs_kesehatan_borne_by_employer": false,
"bpjs_tk_jht_borne_by_employer": false,
"bpjs_jp_borne_by_employer": false,
"bpjs_jkm_policy": "registered",
"bpjs_jp_policy": "registered",
"bpjs_tk_jht_policy": "registered",
"previous_past_net_tax_effective_date": null
}
},
{
"id": 879,
"employee_id": "00002",
"first_name": "Shaquana",
"middle_name": null,
"last_name": "Beatty",
"identification_full_name": null,
"email": "amina_schowalter@talenox.com",
"payment_method": "Bank Transfer",
"hired_date": "2021-12-02",
"resign_date": null,
"confirmation_date": null,
"leaving_country": false,
"race": null,
"religion": null,
"blood_group": null,
"contact_number": null,
"office_did": null,
"ssn": "S1234567D",
"ssn_should_validate": true,
"citizenship": "Singapore Citizen",
"nationality": null,
"gender": "Female",
"marital_status": null,
"passport_number": null,
"passport_date_of_issue": null,
"passport_date_of_expiry": null,
"passport_place_of_issue": null,
"chinese_name": null,
"nickname": null,
"birthdate": "1993-02-27",
"slug": "shaquana-beatty-e4efdd9a",
"vaccination_status": null,
"vaccine_brand": null,
"date_of_first_dose": null,
"date_of_second_dose": null,
"vaccine_booster_brand": null,
"date_of_booster_dose": null,
"vaccination_remarks": null,
"employee_attachment_access": "hidden",
"accounting_split": "employee",
"employee_can_update_custom_fields": false,
"reason_for_cessation": null,
"other_reason_for_cessation": null,
"custom_fields": {
},
"cost_centres": [
],
"default_cost_centre": null,
"current_job": null,
"jobs": [
],
"next_of_kins": [
],
"bank_account": {
"id": 1108,
"bank_type": null,
"bank_code": null,
"branch_code": null,
"branch_name": null,
"number": null,
"dbs_company_id": null,
"swift_code": null,
"account_name": "Shaquana Beatty",
"payment_code": null,
"bnm_code": "",
"organization_code": "",
"boa_company_id": null,
"boa_eft_key": null,
"hsbc_account": "standalone_account",
"hsbc_account_type": null
},
"location": {
"id": 1337,
"line_1": null,
"line_2": null,
"postal_code": null,
"state": null,
"country_name": null,
"block_house_no": null,
"street_name": null,
"level_no": null,
"unit_no": null,
"line_3": null
},
"additional_hk_employee_info": null,
"additional_sg_employee_info": {
"cpf_donation_type": "CDAC",
"cpf_additional_donation_type": "N/A",
"identification_expiry_date": null,
"identification_issue_date": null,
"spass_expiry_date": null,
"spass_issue_date": null,
"spass_dcs": null,
"epass_expiry_date": null,
"epass_issue_date": null,
"pr_status": "Graduated",
"pr_effective_date": "2024-02-27",
"pr_expiry_date": null,
"wp_issue_date": null,
"wp_expiry_date": null,
"wp_worker_category": null,
"wp_dcs": null,
"wp_number": null,
"shg_override_amount": "0.0",
"letter_of_consent_issue_date": null,
"letter_of_consent_expiry_date": null,
"pepass_issue_date": null,
"pepass_expiry_date": null,
"halal_certification_issue_date": null,
"halal_certification_expiry_date": null,
"hygiene_certification_issue_date": null,
"hygiene_certification_expiry_date": null
},
"additional_my_employee_info": null,
"additional_id_employee_info": {
"tax_processing_date": "2021-12-02",
"ptkp": "TK/0",
"npwp": null,
"tax_scheme": "gross",
"previous_past_net": null,
"previous_past_tax": null,
"bpjs_tk_process_date": null,
"bpjs_tk_number": null,
"bpjs_tk_policy": "registered",
"work_accident_insurance_contribution_rate": "0.24%",
"bpjs_kesehatan_process_date": null,
"bpjs_kesehatan_number": null,
"bpjs_kesehatan_policy": "registered",
"no_of_bpjs_kesehatan_dependents": null,
"bpjs_kesehatan_borne_by_employer": false,
"bpjs_tk_jht_borne_by_employer": false,
"bpjs_jp_borne_by_employer": false,
"bpjs_jkm_policy": "registered",
"bpjs_jp_policy": "registered",
"bpjs_tk_jht_policy": "registered",
"previous_past_net_tax_effective_date": null
}
},
{
"id": 880,
"employee_id": "00003",
"first_name": "Jaqueline",
"middle_name": null,
"last_name": "Stiedemann",
"identification_full_name": null,
"email": "chasidy_boyer@talenox.com",
"payment_method": "Bank Transfer",
"hired_date": "2023-08-18",
"resign_date": null,
"confirmation_date": null,
"leaving_country": false,
"race": null,
"religion": null,
"blood_group": null,
"contact_number": null,
"office_did": null,
"ssn": "S1234567D",
"ssn_should_validate": true,
"citizenship": "Singapore Citizen",
"nationality": null,
"gender": "Female",
"marital_status": null,
"passport_number": null,
"passport_date_of_issue": null,
"passport_date_of_expiry": null,
"passport_place_of_issue": null,
"chinese_name": null,
"nickname": null,
"birthdate": "2000-02-27",
"slug": "jaqueline-stiedemann-2d05fac0",
"vaccination_status": null,
"vaccine_brand": null,
"date_of_first_dose": null,
"date_of_second_dose": null,
"vaccine_booster_brand": null,
"date_of_booster_dose": null,
"vaccination_remarks": null,
"employee_attachment_access": "hidden",
"accounting_split": "employee",
"employee_can_update_custom_fields": false,
"reason_for_cessation": null,
"other_reason_for_cessation": null,
"custom_fields": {
},
"cost_centres": [
],
"default_cost_centre": null,
"current_job": null,
"jobs": [
],
"next_of_kins": [
],
"bank_account": {
"id": 1110,
"bank_type": null,
"bank_code": null,
"branch_code": null,
"branch_name": null,
"number": null,
"dbs_company_id": null,
"swift_code": null,
"account_name": "Jaqueline Stiedemann",
"payment_code": null,
"bnm_code": "",
"organization_code": "",
"boa_company_id": null,
"boa_eft_key": null,
"hsbc_account": "standalone_account",
"hsbc_account_type": null
},
"location": {
"id": 1340,
"line_1": null,
"line_2": null,
"postal_code": null,
"state": null,
"country_name": null,
"block_house_no": null,
"street_name": null,
"level_no": null,
"unit_no": null,
"line_3": null
},
"additional_hk_employee_info": null,
"additional_sg_employee_info": {
"cpf_donation_type": "CDAC",
"cpf_additional_donation_type": "N/A",
"identification_expiry_date": null,
"identification_issue_date": null,
"spass_expiry_date": null,
"spass_issue_date": null,
"spass_dcs": null,
"epass_expiry_date": null,
"epass_issue_date": null,
"pr_status": "Graduated",
"pr_effective_date": "2024-02-27",
"pr_expiry_date": null,
"wp_issue_date": null,
"wp_expiry_date": null,
"wp_worker_category": null,
"wp_dcs": null,
"wp_number": null,
"shg_override_amount": "0.0",
"letter_of_consent_issue_date": null,
"letter_of_consent_expiry_date": null,
"pepass_issue_date": null,
"pepass_expiry_date": null,
"halal_certification_issue_date": null,
"halal_certification_expiry_date": null,
"hygiene_certification_issue_date": null,
"hygiene_certification_expiry_date": null
},
"additional_my_employee_info": null,
"additional_id_employee_info": {
"tax_processing_date": "2023-08-18",
"ptkp": "TK/0",
"npwp": null,
"tax_scheme": "gross",
"previous_past_net": null,
"previous_past_tax": null,
"bpjs_tk_process_date": null,
"bpjs_tk_number": null,
"bpjs_tk_policy": "registered",
"work_accident_insurance_contribution_rate": "0.24%",
"bpjs_kesehatan_process_date": null,
"bpjs_kesehatan_number": null,
"bpjs_kesehatan_policy": "registered",
"no_of_bpjs_kesehatan_dependents": null,
"bpjs_kesehatan_borne_by_employer": false,
"bpjs_tk_jht_borne_by_employer": false,
"bpjs_jp_borne_by_employer": false,
"bpjs_jkm_policy": "registered",
"bpjs_jp_policy": "registered",
"bpjs_tk_jht_policy": "registered",
"previous_past_net_tax_effective_date": null
}
}
]
Update Employee
Request
Endpoint
PUT https://api.talenox.com/api/v2/employees/886
Accept: application/json
Content-Type: application/json
Authorization: Bearer f055bae91eb4ed4d7b3f70685090bc5fa2dd2977
PUT https://api.talenox.com/api/v2/employees/:id
Parameters
{
"employee": {
"first_name": "Mary",
"last_name": "Lan"
}
}
None known.
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"id": 886,
"employee_id": "00001",
"first_name": "Mary",
"middle_name": null,
"last_name": "Lan",
"identification_full_name": null,
"email": "stephane.emard@talenox.com",
"payment_method": "Bank Transfer",
"hired_date": "2023-08-07",
"resign_date": null,
"confirmation_date": null,
"leaving_country": false,
"race": null,
"religion": null,
"blood_group": null,
"contact_number": null,
"office_did": null,
"ssn": "S1234567D",
"ssn_should_validate": true,
"citizenship": "Singapore Citizen",
"nationality": null,
"gender": "Male",
"marital_status": null,
"passport_number": null,
"passport_date_of_issue": null,
"passport_date_of_expiry": null,
"passport_place_of_issue": null,
"chinese_name": null,
"nickname": null,
"birthdate": "2003-02-27",
"slug": "mary-lan-14c6ada1",
"vaccination_status": null,
"vaccine_brand": null,
"date_of_first_dose": null,
"date_of_second_dose": null,
"vaccine_booster_brand": null,
"date_of_booster_dose": null,
"vaccination_remarks": null,
"employee_attachment_access": "hidden",
"accounting_split": "employee",
"employee_can_update_custom_fields": false,
"reason_for_cessation": null,
"other_reason_for_cessation": null,
"custom_fields": {
},
"cost_centres": [
],
"default_cost_centre": null,
"current_job": null,
"jobs": [
],
"next_of_kins": [
],
"bank_account": {
"id": 1125,
"bank_type": null,
"bank_code": null,
"branch_code": null,
"branch_name": null,
"number": null,
"dbs_company_id": null,
"swift_code": null,
"account_name": "Georgann Koepp",
"payment_code": null,
"bnm_code": "",
"organization_code": "",
"boa_company_id": null,
"boa_eft_key": null,
"hsbc_account": "standalone_account",
"hsbc_account_type": null
},
"location": {
"id": 1364,
"line_1": null,
"line_2": null,
"postal_code": null,
"state": null,
"country_name": null,
"block_house_no": null,
"street_name": null,
"level_no": null,
"unit_no": null,
"line_3": null
},
"additional_hk_employee_info": null,
"additional_sg_employee_info": {
"cpf_donation_type": "CDAC",
"cpf_additional_donation_type": "N/A",
"identification_expiry_date": null,
"identification_issue_date": null,
"spass_expiry_date": null,
"spass_issue_date": null,
"spass_dcs": null,
"epass_expiry_date": null,
"epass_issue_date": null,
"pr_status": "Graduated",
"pr_effective_date": "2024-02-27",
"pr_expiry_date": null,
"wp_issue_date": null,
"wp_expiry_date": null,
"wp_worker_category": null,
"wp_dcs": null,
"wp_number": null,
"shg_override_amount": "0.0",
"letter_of_consent_issue_date": null,
"letter_of_consent_expiry_date": null,
"pepass_issue_date": null,
"pepass_expiry_date": null,
"halal_certification_issue_date": null,
"halal_certification_expiry_date": null,
"hygiene_certification_issue_date": null,
"hygiene_certification_expiry_date": null
},
"additional_my_employee_info": null,
"additional_id_employee_info": {
"tax_processing_date": "2023-08-07",
"ptkp": "TK/0",
"npwp": null,
"tax_scheme": "gross",
"previous_past_net": null,
"previous_past_tax": null,
"bpjs_tk_process_date": null,
"bpjs_tk_number": null,
"bpjs_tk_policy": "registered",
"work_accident_insurance_contribution_rate": "0.24%",
"bpjs_kesehatan_process_date": null,
"bpjs_kesehatan_number": null,
"bpjs_kesehatan_policy": "registered",
"no_of_bpjs_kesehatan_dependents": null,
"bpjs_kesehatan_borne_by_employer": false,
"bpjs_tk_jht_borne_by_employer": false,
"bpjs_jp_borne_by_employer": false,
"bpjs_jkm_policy": "registered",
"bpjs_jp_policy": "registered",
"bpjs_tk_jht_policy": "registered",
"previous_past_net_tax_effective_date": null
}
}
Jobs
Create Job
Request
Endpoint
POST https://api.talenox.com/api/v2/jobs
Accept: application/json
Content-Type: application/json
Authorization: Bearer fea42f15858c728e84593e9cd7fcf6f11470fd56
POST https://api.talenox.com/api/v2/jobs
Parameters
{
"title": "",
"employee_id": 946,
"job": {
"title": "Testing job",
"department": "Testing Department",
"start_date": "03/05/2019",
"end_date": "31/05/2020",
"currency": "SGD",
"amount": 1000,
"rate_of_pay": "Monthly",
"remarks": "Testing remark"
}
}
Name | Description |
---|---|
employee_id required | Employee ID |
title | Job Title |
department | Job Department |
start_date required | Job Start Date |
end_date required | Job End Date |
rate_of_pay | Rate of pay |
amount | Basic pay amount |
currency | Currency |
remarks | Job Remarks |
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"id": 57,
"title": "Testing job",
"department": "Testing Department",
"start_date": "03/05/2019",
"end_date": "31/05/2020",
"rate_of_pay": "Monthly",
"currency": "SGD",
"remarks": "Testing remark",
"amount": "1000.0"
}
Delete Job
Request
Endpoint
DELETE https://api.talenox.com/api/v2/jobs/61
Accept: application/json
Content-Type: application/json
Authorization: Bearer f56ea334497154d7a85806b9d0385c99bae473b2
DELETE https://api.talenox.com/api/v2/jobs/:id
Parameters
None known.
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"message": "Successfully deleted job 61"
}
Get Job
Request
Endpoint
GET https://api.talenox.com/api/v2/jobs/59
Accept: application/json
Content-Type: application/json
Authorization: Bearer 8493e67728f6fb49f5b9ff5febcebab118787437
GET https://api.talenox.com/api/v2/jobs/:id
Parameters
None known.
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"id": 59,
"title": "Title1",
"department": null,
"start_date": "27/02/2024",
"end_date": null,
"rate_of_pay": "Monthly",
"currency": "SGD",
"remarks": null,
"amount": "9895.0"
}
Update Job
Request
Endpoint
PUT https://api.talenox.com/api/v2/jobs/60
Accept: application/json
Content-Type: application/json
Authorization: Bearer b26ae6dca8637fc1c55632c11f7bd9658ae6b6fe
PUT https://api.talenox.com/api/v2/jobs/:id
Parameters
{
"job": {
"title": "Updated job",
"department": "Updated Department",
"currency": "HKD",
"start_date": "01/01/2017",
"end_date": "03/01/2019",
"amount": 2000,
"rate_of_pay": "Daily"
}
}
None known.
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"id": 60,
"title": "Updated job",
"department": "Updated Department",
"start_date": "01/01/2017",
"end_date": "03/01/2019",
"rate_of_pay": "Daily",
"currency": "HKD",
"remarks": null,
"amount": "2000.0"
}
Leave
List All Leave Applications
Request
Endpoint
GET https://api.talenox.com/api/v2/leave??employee_ids[]=1076
Accept: application/json
Content-Type: application/json
Authorization: Bearer 33b7bc8d01a0e010ef25957a62a15f9f608d69dc
GET https://api.talenox.com/api/v2/leave?
Parameters
?employee_ids: ["1076"]
Name | Description |
---|---|
employee_ids required | Employee IDs |
Response
Content-Type: application/json; charset=utf-8
200 OK
[
{
"id": 27,
"leave_type": "Annual Leave",
"company_id": 384,
"employee_id": 1076,
"amount_type": "day",
"amount": "1.0",
"remarks": null,
"total_non_working_days": "0.0",
"start_at": "2024-02-27",
"start_date_which_half": "AM",
"end_at": "2024-02-27",
"end_date_which_half": "PM",
"is_single_day": true,
"status": "pending",
"derived_duration_listing": [
{
"working_day_type": "Working Full Day",
"date": "2024-02-27",
"leave_duration_type": "All Day",
"derived_duration_qty": 1
}
],
"number_of_levels": 1,
"approvers": [
],
"admin_approver": null
},
{
"id": 28,
"leave_type": "Annual Leave",
"company_id": 384,
"employee_id": 1076,
"amount_type": "day",
"amount": "1.0",
"remarks": null,
"total_non_working_days": "0.0",
"start_at": "2024-02-27",
"start_date_which_half": "AM",
"end_at": "2024-02-27",
"end_date_which_half": "PM",
"is_single_day": true,
"status": "pending",
"derived_duration_listing": [
{
"working_day_type": "Working Full Day",
"date": "2024-02-27",
"leave_duration_type": "All Day",
"derived_duration_qty": 1
}
],
"number_of_levels": 1,
"approvers": [
],
"admin_approver": null
},
{
"id": 29,
"leave_type": "Annual Leave",
"company_id": 384,
"employee_id": 1076,
"amount_type": "day",
"amount": "1.0",
"remarks": null,
"total_non_working_days": "0.0",
"start_at": "2024-02-27",
"start_date_which_half": "AM",
"end_at": "2024-02-27",
"end_date_which_half": "PM",
"is_single_day": true,
"status": "pending",
"derived_duration_listing": [
{
"working_day_type": "Working Full Day",
"date": "2024-02-27",
"leave_duration_type": "All Day",
"derived_duration_qty": 1
}
],
"number_of_levels": 1,
"approvers": [
],
"admin_approver": null
}
]
Leave Applications (BETA)
Approve leave
This approves a pending leave application
Request
Endpoint
PATCH https://api.talenox.com/api/v2/leave_beta/applications/approve/19
Accept: application/json
Content-Type: application/json
Authorization: Bearer FCMcCOJYHdEtRz4EI_h5SXFU3ax3sp-XOiIpOD8Nb30
PATCH https://api.talenox.com/api/v2/leave_beta/applications/approve/:id
Parameters
None known.
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"id": 19,
"timestamp": "2024-02-27T16:27:01.591+08:00"
}
Create leave application
Request
Endpoint
POST https://api.talenox.com/api/v2/leave_beta/applications
Accept: application/json
Content-Type: application/json
Authorization: Bearer FCMcCOJYHdEtRz4EI_h5SXFU3ax3sp-XOiIpOD8Nb30
POST https://api.talenox.com/api/v2/leave_beta/applications
Parameters
{
"employee_id": 1015,
"category_id": 51,
"category": "type",
"start_date": "2023-03-09",
"end_date": "2023-03-09",
"remarks": "test",
"working_days": [
{
"date": "2023-03-09",
"type": "full_day"
}
],
"applied_durations": [
{
"date": "2023-03-09",
"type": "full_day"
}
],
"approvers": [
{
"approver_id": 1022,
"level": 1
}
]
}
Name | Description |
---|---|
approver_id required | Employee ID |
category required | 'type' or 'oil' |
employee_id required | Employee ID |
applied_durations | json array of duration json object with date (YYYY-MM-DD) and type as attributes. type must be 'full_day', 'first_half' or 'second_half'. See Leave Application flow for details |
working_days | json array of working_day json object with date (YYYY-MM-DD) and type as attributes. type must be 'full_day', 'first_half', 'second_half', 'holiday' or 'not_working' |
category_id | Leave Type ID for 'type' category, Off In Lieu ID for 'oil' category |
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"leave_application_id": 18
}
Delete leave application
Request
Endpoint
DELETE https://api.talenox.com/api/v2/leave_beta/applications/13
Accept: application/json
Content-Type: application/json
Authorization: Bearer FCMcCOJYHdEtRz4EI_h5SXFU3ax3sp-XOiIpOD8Nb30
DELETE https://api.talenox.com/api/v2/leave_beta/applications/:id
Parameters
Name | Description |
---|---|
id required | Leave Application ID |
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"id": 13,
"status": "success",
"timestamp": "2024-02-27T16:26:44.935+08:00"
}
Get leave application by id
Request
Endpoint
GET https://api.talenox.com/api/v2/leave_beta/applications/10
Accept: application/json
Content-Type: application/json
Authorization: Bearer FCMcCOJYHdEtRz4EI_h5SXFU3ax3sp-XOiIpOD8Nb30
GET https://api.talenox.com/api/v2/leave_beta/applications/:id
Parameters
Name | Description |
---|---|
overlap_from required | Date in YYYY-MM-DD |
overlap_to required | Date in YYYY-MM-DD |
employee_id | Employee ID |
approver_id | Employee ID of leave approver |
category | 'type' or 'oil' |
category_id | Leave Type ID for 'type' category, Off In Lieu ID for 'oil' category |
last_seen_id | For pagination. Results returned will start from this last seen id + 1 |
limit | For pagination. Number of items per page (default: 20, max:50) |
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"amount": "1.0",
"approvers": null,
"category_class": "type",
"category_id": 70,
"created_at": "2024-02-27T08:26:40.682Z",
"employee_id": 1015,
"end_date": "2024-02-27",
"id": 10,
"non_working_amount": "0.0",
"remarks": null,
"start_date": "2024-02-27",
"status": "pending",
"updated_at": "2024-02-27T08:26:40.682Z"
}
List all leave applications
Request
Endpoint
GET https://api.talenox.com/api/v2/leave_beta/applications?overlap_from=2024-02-27&overlap_to=2024-02-28
Accept: application/json
Content-Type: application/json
Authorization: Bearer FCMcCOJYHdEtRz4EI_h5SXFU3ax3sp-XOiIpOD8Nb30
GET https://api.talenox.com/api/v2/leave_beta/applications
Parameters
overlap_from: 2024-02-27
overlap_to: 2024-02-28
Name | Description |
---|---|
overlap_from required | Date in YYYY-MM-DD |
overlap_to required | Date in YYYY-MM-DD |
created_start | UTC timestamp in YYYY-MM-DD HH:MM:SSZ |
created_end | UTC timestamp in YYYY-MM-DD HH:MM:SSZ |
modified_start | UTC timestamp in YYYY-MM-DD HH:MM:SSZ |
modified_end | UTC timestamp in YYYY-MM-DD HH:MM:SSZ |
leave_application_status | leave application status - pending, approved or rejected |
employee_id | Employee ID |
approver_id | Employee ID |
category | 'type' or 'oil' |
category_id | Leave Type ID for 'type' category, Off In Lieu ID for 'oil' category |
last_seen_id | For pagination. Results returned will start from this last seen id + 1 |
limit | For pagination. Number of items per page (default: 20, max:50) |
Response
Content-Type: application/json; charset=utf-8
200 OK
[
{
"amount": "1.0",
"approvers": null,
"category_class": "type",
"category_id": 61,
"created_at": "2024-02-27T08:26:29.940Z",
"employee_id": 1015,
"end_date": "2024-02-27",
"id": 1,
"non_working_amount": "0.0",
"remarks": null,
"start_date": "2024-02-27",
"status": "pending",
"updated_at": "2024-02-27T08:26:29.940Z"
},
{
"amount": "1.0",
"approvers": null,
"category_class": "type",
"category_id": 62,
"created_at": "2024-02-27T08:26:30.802Z",
"employee_id": 1015,
"end_date": "2024-02-27",
"id": 2,
"non_working_amount": "0.0",
"remarks": null,
"start_date": "2024-02-27",
"status": "pending",
"updated_at": "2024-02-27T08:26:30.802Z"
},
{
"amount": "1.0",
"approvers": null,
"category_class": "type",
"category_id": 63,
"created_at": "2024-02-27T08:26:31.599Z",
"employee_id": 1015,
"end_date": "2024-02-27",
"id": 3,
"non_working_amount": "0.0",
"remarks": null,
"start_date": "2024-02-27",
"status": "pending",
"updated_at": "2024-02-27T08:26:31.599Z"
}
]
List all leave applications by application status and created dates
Request
Endpoint
GET https://api.talenox.com/api/v2/leave_beta/applications?overlap_from=2024-02-27&overlap_to=2024-02-28&created_start=2024-02-27&created_end=2024-02-28&leave_application_status=pending
Accept: application/json
Content-Type: application/json
Authorization: Bearer FCMcCOJYHdEtRz4EI_h5SXFU3ax3sp-XOiIpOD8Nb30
GET https://api.talenox.com/api/v2/leave_beta/applications
Parameters
overlap_from: 2024-02-27
overlap_to: 2024-02-28
created_start: 2024-02-27
created_end: 2024-02-28
leave_application_status: pending
Name | Description |
---|---|
overlap_from required | Date in YYYY-MM-DD |
overlap_to required | Date in YYYY-MM-DD |
created_start | UTC timestamp in YYYY-MM-DD HH:MM:SSZ |
created_end | UTC timestamp in YYYY-MM-DD HH:MM:SSZ |
modified_start | UTC timestamp in YYYY-MM-DD HH:MM:SSZ |
modified_end | UTC timestamp in YYYY-MM-DD HH:MM:SSZ |
leave_application_status | leave application status - pending, approved or rejected |
employee_id | Employee ID |
approver_id | Employee ID |
category | 'type' or 'oil' |
category_id | Leave Type ID for 'type' category, Off In Lieu ID for 'oil' category |
last_seen_id | For pagination. Results returned will start from this last seen id + 1 |
limit | For pagination. Number of items per page (default: 20, max:50) |
Response
Content-Type: application/json; charset=utf-8
200 OK
[
{
"amount": "1.0",
"approvers": null,
"category_class": "type",
"category_id": 64,
"created_at": "2024-02-27T08:26:32.531Z",
"employee_id": 1015,
"end_date": "2024-02-27",
"id": 4,
"non_working_amount": "0.0",
"remarks": null,
"start_date": "2024-02-27",
"status": "pending",
"updated_at": "2024-02-27T08:26:32.531Z"
},
{
"amount": "1.0",
"approvers": null,
"category_class": "type",
"category_id": 65,
"created_at": "2024-02-27T08:26:33.320Z",
"employee_id": 1015,
"end_date": "2024-02-27",
"id": 5,
"non_working_amount": "0.0",
"remarks": null,
"start_date": "2024-02-27",
"status": "pending",
"updated_at": "2024-02-27T08:26:33.320Z"
},
{
"amount": "1.0",
"approvers": null,
"category_class": "type",
"category_id": 66,
"created_at": "2024-02-27T08:26:34.165Z",
"employee_id": 1015,
"end_date": "2024-02-27",
"id": 6,
"non_working_amount": "0.0",
"remarks": null,
"start_date": "2024-02-27",
"status": "pending",
"updated_at": "2024-02-27T08:26:34.165Z"
}
]
Reject leave
This rejects a pending leave application
Request
Endpoint
PATCH https://api.talenox.com/api/v2/leave_beta/applications/reject/21
Accept: application/json
Content-Type: application/json
Authorization: Bearer FCMcCOJYHdEtRz4EI_h5SXFU3ax3sp-XOiIpOD8Nb30
PATCH https://api.talenox.com/api/v2/leave_beta/applications/reject/:id
Parameters
None known.
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"id": 21,
"timestamp": "2024-02-27T16:27:09.836+08:00"
}
Leave Approvers (BETA)
List a leave approver for an employee
Request
Endpoint
GET https://api.talenox.com/api/v2/leave_beta/approvers?employee_id=1042&approver_id=10
Accept: application/json
Content-Type: application/json
Authorization: Bearer 13biebVpwV2G6ZpS5Ge9Z_MJ1YaVtgs9_oFeAT2VjzA
GET https://api.talenox.com/api/v2/leave_beta/approvers
Parameters
employee_id: 1042
approver_id: 10
Name | Description |
---|---|
employee_id required | Employee ID |
approver_id | Employee ID for Approver |
Response
Content-Type: application/json; charset=utf-8
200 OK
[
{
"approver_ids": [
1041
],
"level": 1,
"flexible": false
}
]
List all leave approvers for an employee
This returns an array of leave approval structures for an authorized user's company
Request
Endpoint
GET https://api.talenox.com/api/v2/leave_beta/approvers?employee_id=1042
Accept: application/json
Content-Type: application/json
Authorization: Bearer 13biebVpwV2G6ZpS5Ge9Z_MJ1YaVtgs9_oFeAT2VjzA
GET https://api.talenox.com/api/v2/leave_beta/approvers
Parameters
employee_id: 1042
Name | Description |
---|---|
employee_id required | Employee ID |
approver_id | Employee ID for Approver |
Response
Content-Type: application/json; charset=utf-8
200 OK
[
{
"approver_ids": [
1041
],
"level": 1,
"flexible": false
}
]
Leave Off in Lieus (BETA)
Get off in lieu balance for all off in lieus of an employee
Request
Endpoint
GET https://api.talenox.com/api/v2/leave_beta/off_in_lieus/balance?employee_id=1068&query_date=20240227&limit=5
Accept: application/json
Content-Type: application/json
Authorization: Bearer pRv6_MYZpWo1FSQisSZaqqbovLV8QQVGSUtcQpmNrco
GET https://api.talenox.com/api/v2/leave_beta/off_in_lieus/balance
Parameters
employee_id: 1068
query_date: 20240227
limit: 5
Name | Description |
---|---|
employee_id required | Employee ID |
id | Off In Lieu ID |
query_date required | Query Date in YYYY-MM-DD format |
last_seen_id | Last seen Employee ID for pagination. Results returned will start from this last seen id + 1 |
limit | For pagination. Number of items per page (default: 20, max:50) |
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"employee_id": 1068,
"query_date": "2024-02-27",
"timestamp": "2024-02-27T16:27:56.046+08:00",
"results": [
{
"balance": 1.0,
"errors": [
],
"leave_type_id": 4
}
]
}
Get off in lieu balance for an employee
Request
Endpoint
GET https://api.talenox.com/api/v2/leave_beta/off_in_lieus/balance?employee_id=1068&query_date=20240227&limit=5
Accept: application/json
Content-Type: application/json
Authorization: Bearer pRv6_MYZpWo1FSQisSZaqqbovLV8QQVGSUtcQpmNrco
GET https://api.talenox.com/api/v2/leave_beta/off_in_lieus/balance
Parameters
employee_id: 1068
query_date: 20240227
limit: 5
Name | Description |
---|---|
employee_id required | Employee ID |
id | Off In Lieu ID |
query_date required | Query Date in YYYY-MM-DD format |
last_seen_id | Last seen Employee ID for pagination. Results returned will start from this last seen id + 1 |
limit | For pagination. Number of items per page (default: 20, max:50) |
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"employee_id": 1068,
"query_date": "2024-02-27",
"timestamp": "2024-02-27T16:27:56.225+08:00",
"results": [
{
"balance": 1.0,
"errors": [
],
"leave_type_id": 5
}
]
}
Get off in lieu by id
Request
Endpoint
GET https://api.talenox.com/api/v2/leave_beta/off_in_lieus/3
Accept: application/json
Content-Type: application/json
Authorization: Bearer pRv6_MYZpWo1FSQisSZaqqbovLV8QQVGSUtcQpmNrco
GET https://api.talenox.com/api/v2/leave_beta/off_in_lieus/:id
Parameters
None known.
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"application_allowed": "allowed",
"half_day_allowed": true,
"id": 3,
"name": "Off day",
"policy_end_date": "2024-03-27",
"policy_start_date": "2024-02-27",
"quantity_type": "day"
}
Get off in lieu entitlement for an employee
Request
Endpoint
GET https://api.talenox.com/api/v2/leave_beta/off_in_lieus/entitlement_period?employee_id=1068&id=6&query_date=20240227
Accept: application/json
Content-Type: application/json
Authorization: Bearer pRv6_MYZpWo1FSQisSZaqqbovLV8QQVGSUtcQpmNrco
GET https://api.talenox.com/api/v2/leave_beta/off_in_lieus/entitlement_period
Parameters
employee_id: 1068
id: 6
query_date: 20240227
Name | Description |
---|---|
employee_id required | Employee ID |
id required | Off In Lieu ID |
query_date required | Query Date in YYYY-MM-DD format |
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"employee_id": 1068,
"leave_type_id": 6,
"query_date": "2024-02-27",
"timestamp": "2024-02-27T16:27:56.394+08:00",
"valid_periods": {
"end_date": "2024-03-27",
"errors": [
],
"start_date": "2024-02-27"
}
}
List all off in lieus
Request
Endpoint
GET https://api.talenox.com/api/v2/leave_beta/off_in_lieus
Accept: application/json
Content-Type: application/json
Authorization: Bearer pRv6_MYZpWo1FSQisSZaqqbovLV8QQVGSUtcQpmNrco
GET https://api.talenox.com/api/v2/leave_beta/off_in_lieus
Parameters
Name | Description |
---|---|
employee_id | Employee ID |
id | Off in Lieu ID |
last_seen_id | For pagination. Results returned will start from this last seen id + 1 |
Response
Content-Type: application/json; charset=utf-8
200 OK
[
{
"application_allowed": "allowed",
"half_day_allowed": true,
"id": 1,
"name": "Off day",
"policy_end_date": "2024-03-27",
"policy_start_date": "2024-02-27",
"quantity_type": "day"
}
]
List off in lieus for an employee
Request
Endpoint
GET https://api.talenox.com/api/v2/leave_beta/off_in_lieus?employee_id=1068&id=2
Accept: application/json
Content-Type: application/json
Authorization: Bearer pRv6_MYZpWo1FSQisSZaqqbovLV8QQVGSUtcQpmNrco
GET https://api.talenox.com/api/v2/leave_beta/off_in_lieus
Parameters
employee_id: 1068
id: 2
Name | Description |
---|---|
employee_id | Employee ID |
id | Off in Lieu ID |
last_seen_id | For pagination. Results returned will start from this last seen id + 1 |
Response
Content-Type: application/json; charset=utf-8
200 OK
[
{
"application_allowed": "allowed",
"half_day_allowed": true,
"id": 2,
"name": "Off day",
"policy_end_date": "2024-03-27",
"policy_start_date": "2024-02-27",
"quantity_type": "day"
}
]
Leave Types (BETA)
Get leave balance for a leave type of an employee
Request
Endpoint
GET https://api.talenox.com/api/v2/leave_beta/types/balance?employee_id=1058&id=96&query_date=20240227
Accept: application/json
Content-Type: application/json
Authorization: Bearer oainyMT9cXimZjA1lhz6XB3w8DLWZ7vfXO8M374PjWQ
GET https://api.talenox.com/api/v2/leave_beta/types/balance
Parameters
employee_id: 1058
id: 96
query_date: 20240227
Name | Description |
---|---|
employee_id required | Employee ID |
id | Leave Type ID |
query_date required | Query Date in YYYY-MM-DD format |
last_seen_id | Last seen Employee ID for pagination. Results returned will start from this last seen id + 1 |
limit | For pagination. Number of items per page (default: 20, max:50) |
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"employee_id": 1058,
"query_date": "2024-02-27",
"timestamp": "2024-02-27T16:27:45.436+08:00",
"results": [
{
"balance": 12.0,
"errors": [
],
"leave_type_id": 96
}
]
}
Get leave balance for all leave types of an employee
Request
Endpoint
GET https://api.talenox.com/api/v2/leave_beta/types/balance?employee_id=1058&query_date=20240227&limit=5
Accept: application/json
Content-Type: application/json
Authorization: Bearer oainyMT9cXimZjA1lhz6XB3w8DLWZ7vfXO8M374PjWQ
GET https://api.talenox.com/api/v2/leave_beta/types/balance
Parameters
employee_id: 1058
query_date: 20240227
limit: 5
Name | Description |
---|---|
employee_id required | Employee ID |
id | Leave Type ID |
query_date required | Query Date in YYYY-MM-DD format |
last_seen_id | Last seen Employee ID for pagination. Results returned will start from this last seen id + 1 |
limit | For pagination. Number of items per page (default: 20, max:50) |
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"employee_id": 1058,
"query_date": "2024-02-27",
"timestamp": "2024-02-27T16:27:45.299+08:00",
"results": [
{
"balance": 12.0,
"errors": [
],
"leave_type_id": 96
},
{
"balance": null,
"errors": [
"Employee has no registered children (requires date of birth and nationality).",
"Unverified next-of-kin, please contact your admin.",
"Required conditional date(s) not found."
],
"leave_type_id": 97
},
{
"balance": null,
"errors": [
"Employee has no registered children (requires date of birth and nationality).",
"Unverified next-of-kin, please contact your admin.",
"Required conditional date(s) not found."
],
"leave_type_id": 98
},
{
"balance": null,
"errors": [
"Employee has no registered children (requires date of birth and nationality).",
"Unverified next-of-kin, please contact your admin.",
"Required conditional date(s) not found."
],
"leave_type_id": 99
},
{
"balance": 365.0,
"errors": [
],
"leave_type_id": 100
}
]
}
Get leave entitlement for an employee and leave type
Request
Endpoint
GET https://api.talenox.com/api/v2/leave_beta/types/entitlement_period?employee_id=1058&id=96&query_date=20240227
Accept: application/json
Content-Type: application/json
Authorization: Bearer oainyMT9cXimZjA1lhz6XB3w8DLWZ7vfXO8M374PjWQ
GET https://api.talenox.com/api/v2/leave_beta/types/entitlement_period
Parameters
employee_id: 1058
id: 96
query_date: 20240227
Name | Description |
---|---|
employee_id required | Employee ID |
id required | Leave Type ID |
query_date required | Query Date in YYYY-MM-DD format |
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"employee_id": 1058,
"leave_type_id": 96,
"query_date": "2024-02-27",
"timestamp": "2024-02-27T16:27:45.493+08:00",
"valid_periods": [
{
"end_date": "2023-12-31",
"errors": [
],
"start_date": "2023-02-27"
},
{
"end_date": "2024-12-31",
"errors": [
],
"start_date": "2024-01-01"
}
]
}
Get leave type by id
Request
Endpoint
GET https://api.talenox.com/api/v2/leave_beta/types/96
Accept: application/json
Content-Type: application/json
Authorization: Bearer oainyMT9cXimZjA1lhz6XB3w8DLWZ7vfXO8M374PjWQ
GET https://api.talenox.com/api/v2/leave_beta/types/:id
Parameters
None known.
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"application_allowed": "allowed",
"half_day_allowed": true,
"id": 96,
"name": "Annual Leave",
"policy_end_date": null,
"policy_start_date": null,
"quantity_type": "day"
}
List all leave types
Request
Endpoint
GET https://api.talenox.com/api/v2/leave_beta/types
Accept: application/json
Content-Type: application/json
Authorization: Bearer oainyMT9cXimZjA1lhz6XB3w8DLWZ7vfXO8M374PjWQ
GET https://api.talenox.com/api/v2/leave_beta/types
Parameters
Name | Description |
---|---|
employee_id | Employee ID |
last_seen_id | For pagination. Results returned will start from this last seen id + 1 |
limit | For pagination. Number of items per page (default: 20, max:50) |
Response
Content-Type: application/json; charset=utf-8
200 OK
[
{
"application_allowed": "allowed",
"half_day_allowed": true,
"id": 96,
"name": "Annual Leave",
"policy_end_date": null,
"policy_start_date": null,
"quantity_type": "day"
},
{
"application_allowed": "allowed",
"half_day_allowed": true,
"id": 97,
"name": "Child Care Leave",
"policy_end_date": null,
"policy_start_date": null,
"quantity_type": "day"
},
{
"application_allowed": "allowed",
"half_day_allowed": false,
"id": 98,
"name": "Extended Child Care Leave",
"policy_end_date": null,
"policy_start_date": null,
"quantity_type": "day"
},
{
"application_allowed": "allowed",
"half_day_allowed": false,
"id": 99,
"name": "Maternity Leave",
"policy_end_date": null,
"policy_start_date": null,
"quantity_type": "week"
},
{
"application_allowed": "allowed",
"half_day_allowed": false,
"id": 100,
"name": "No Pay Leave",
"policy_end_date": null,
"policy_start_date": null,
"quantity_type": "day"
},
{
"application_allowed": "allowed",
"half_day_allowed": false,
"id": 101,
"name": "Paternity Leave",
"policy_end_date": null,
"policy_start_date": null,
"quantity_type": "week"
},
{
"application_allowed": "allowed",
"half_day_allowed": false,
"id": 102,
"name": "Shared Parental Leave",
"policy_end_date": null,
"policy_start_date": null,
"quantity_type": "week"
},
{
"application_allowed": "allowed",
"half_day_allowed": false,
"id": 103,
"name": "Sick Leave - Outpatient",
"policy_end_date": null,
"policy_start_date": null,
"quantity_type": "day"
},
{
"application_allowed": "allowed",
"half_day_allowed": false,
"id": 104,
"name": "Sick Leave - Hospitalisation",
"policy_end_date": null,
"policy_start_date": null,
"quantity_type": "day"
},
{
"application_allowed": "allowed",
"half_day_allowed": false,
"id": 105,
"name": "Unpaid Infant Care Leave",
"policy_end_date": null,
"policy_start_date": null,
"quantity_type": "day"
}
]
List all leave types for an employee
Request
Endpoint
GET https://api.talenox.com/api/v2/leave_beta/types?employee_id=1058&last_seen_id=97&limit=5
Accept: application/json
Content-Type: application/json
Authorization: Bearer oainyMT9cXimZjA1lhz6XB3w8DLWZ7vfXO8M374PjWQ
GET https://api.talenox.com/api/v2/leave_beta/types
Parameters
employee_id: 1058
last_seen_id: 97
limit: 5
Name | Description |
---|---|
employee_id | Employee ID |
last_seen_id | For pagination. Results returned will start from this last seen id + 1 |
limit | For pagination. Number of items per page (default: 20, max:50) |
Response
Content-Type: application/json; charset=utf-8
200 OK
[
{
"application_allowed": "allowed",
"half_day_allowed": false,
"id": 98,
"name": "Extended Child Care Leave",
"policy_end_date": null,
"policy_start_date": null,
"quantity_type": "day"
},
{
"application_allowed": "allowed",
"half_day_allowed": false,
"id": 99,
"name": "Maternity Leave",
"policy_end_date": null,
"policy_start_date": null,
"quantity_type": "week"
},
{
"application_allowed": "allowed",
"half_day_allowed": false,
"id": 100,
"name": "No Pay Leave",
"policy_end_date": null,
"policy_start_date": null,
"quantity_type": "day"
},
{
"application_allowed": "allowed",
"half_day_allowed": false,
"id": 101,
"name": "Paternity Leave",
"policy_end_date": null,
"policy_start_date": null,
"quantity_type": "week"
},
{
"application_allowed": "allowed",
"half_day_allowed": false,
"id": 102,
"name": "Shared Parental Leave",
"policy_end_date": null,
"policy_start_date": null,
"quantity_type": "week"
}
]
Metadata
To fetch all possible values for the given fields
Get Metadata Items
Request
Endpoint
POST https://api.talenox.com/api/v2/metadata/get_items
Accept: application/json
Content-Type: application/json
Authorization: Bearer f60194fbf067d48999a2e3014edba8149b7455ae
POST https://api.talenox.com/api/v2/metadata/get_items
Parameters
{
"fields": [
"company",
"marital_status",
"gender",
"payment_method",
"rate_of_pay",
"country_name",
"region",
"citizenship",
"nationality",
"race",
"religion",
"bank_type",
"currency",
"relationship",
"wp_worker_category",
"cpf_donation_type",
"wp_dcs",
"spass_dcs",
"voluntary_employer_contribution_type",
"voluntary_employee_contribution_type",
"voluntary_employer_contribution_rate",
"voluntary_employee_contribution_rate",
"socso_setting",
"employee_epf_setting",
"employer_epf_setting",
"period",
"pay_item_types"
]
}
Name | Description |
---|---|
fields required | List of parameters |
Response
Content-Type: application/json; charset=utf-8
200 OK
[
{
"company": {
"id": 389,
"name": "Simonis-Daugherty"
}
},
{
"marital_status": [
"Single",
"Widowed",
"Separated",
"Married",
"Divorced"
]
},
{
"gender": [
"Male",
"Female"
]
},
{
"payment_method": [
"Cheque",
"Cash",
"Bank Transfer",
"Forex Transfer"
]
},
{
"rate_of_pay": [
"Monthly",
"Daily",
"Hourly"
]
},
{
"country_name": [
"Ã…land Islands",
"Afghanistan",
"Albania",
"Algeria",
"American Samoa",
"Andorra",
"Angola",
"Anguilla",
"Antarctica",
"Antigua and Barbuda",
"Argentina",
"Armenia",
"Aruba",
"Australia",
"Austria",
"Azerbaijan",
"Bahamas",
"Bahrain",
"Bangladesh",
"Barbados",
"Belarus",
"Belgium",
"Belize",
"Benin",
"Bermuda",
"Bhutan",
"Bolivia",
"Bonaire, Sint Eustatius and Saba",
"Bosnia and Herzegovina",
"Botswana",
"Bouvet Island",
"Brazil",
"British Indian Ocean Territory",
"Brunei",
"Bulgaria",
"Burkina Faso",
"Burundi",
"Cambodia",
"Cameroon",
"Canada",
"Canary Islands",
"Cape Verde",
"Cayman Islands",
"Central African Republic",
"Chad",
"Channel Islands",
"Chile",
"China",
"Christmas Island",
"Cocos (Keeling Islands)",
"Colombia",
"Comoros",
"Cook Islands",
"Costa Rica",
"Cote D'Ivoire (Ivory Coast)",
"Croatia",
"Cuba",
"Curaco",
"Cyprus",
"Czech Republic",
"Democratic Republic of the Congo",
"Denmark",
"Djibouti",
"Dominica",
"Dominican Republic",
"East Timor",
"Ecuador",
"Egypt",
"El Salvador",
"Equatorial Guinea",
"Eritrea",
"Estonia",
"Ethiopia",
"Falkland Islands (Islas Malvinas)",
"Faroe Islands",
"Fiji",
"Finland",
"France",
"France, Metropolitan",
"French Guiana",
"French Polynesia",
"French Southern Territories",
"French West Indies",
"Gabon",
"Gambia",
"Georgia",
"Germany",
"Ghana",
"Gibraltar",
"Great Britain",
"Greece",
"Greenland",
"Grenada",
"Guadeloupe",
"Guam",
"Guatemala",
"Guernsey",
"Guinea",
"Guinea-Bissau",
"Guyana",
"Haiti",
"Hawaii",
"Heard and McDonald Islands",
"Honduras",
"Hong Kong",
"Hungary",
"Iceland",
"India",
"Indonesia",
"Iran",
"Iraq",
"Ireland",
"Isle of Man",
"Israel",
"Italy",
"Jamaica",
"Japan",
"Jersey",
"Jordan",
"Kazakhstan",
"Kenya",
"Kiribati",
"Korea North",
"Korea South",
"Kosovo",
"Kurdistan",
"Kuwait",
"Kyrgyzstan",
"Laos",
"Latvia",
"Lebanon",
"Lesotho",
"Liberia",
"Libya",
"Liechtenstein",
"Lithuania",
"Luxembourg",
"Macau",
"Macedonia",
"Madagascar",
"Malaysia",
"Malawi",
"Maldives",
"Mali",
"Malta",
"Marshall Islands",
"Martinique",
"Mauritania",
"Mauritius",
"Mayotte",
"Mexico",
"Micronesia",
"Midway Islands",
"Moldova",
"Monaco",
"Mongolia",
"Montenegro",
"Montserrat",
"Morocco",
"Mozambique",
"Myanmar",
"Namibia",
"Nauru",
"Nepal",
"Netherlands Antilles",
"Netherlands",
"Nevis",
"New Caledonia",
"New Zealand",
"Nicaragua",
"Niger",
"Nigeria",
"Niue",
"Norfolk Island",
"Northern Mariana Islands",
"Norway",
"Oman",
"Pakistan",
"Palau",
"Palestinian Territories",
"Panama",
"Papua New Guinea",
"Paraguay",
"Peru",
"Philippines",
"Pitcairn Islands",
"Poland",
"Portugal",
"Puerto Rico",
"Qatar",
"Republic of Serbia",
"Republic of the Congo",
"Reunion",
"Romania",
"Russia",
"Rwanda",
"Saint Barthelemy",
"Saint Helena",
"Saint Kitts and Nevis",
"Saint Lucia",
"Saint Martin (French part)",
"Sint Maarten (Dutch part)",
"Saint Pierre and Miquelon",
"Saint Vincent and the Grenadines",
"Saipan",
"Samoa",
"Samoa American",
"San Marino",
"Sao Tome and Principe",
"Saudi Arabia",
"Senegal",
"Serbia",
"Seychelles",
"Sierra Leone",
"Singapore",
"Slovakia",
"Slovenia",
"Solomon Islands",
"Somalia",
"South Africa",
"South Georgia and the South Sandwich Islands",
"South Sudan",
"Spain",
"Sri Lanka",
"Sudan",
"Suriname",
"Svalbard",
"Swaziland",
"Sweden",
"Switzerland",
"Syria",
"Tahiti",
"Taiwan",
"Tajikistan",
"Tanzania",
"Thailand",
"Togo",
"Tokelau",
"Tonga",
"Trinidad and Tobago",
"Tunisia",
"Turkey",
"Turkmenistan",
"Turks and Caicos Islands",
"Tuvalu",
"Uganda",
"Ukraine",
"United Arab Emirates",
"United Kingdom",
"United States",
"Uruguay",
"US Minor Outlying Islands",
"Uzbekistan",
"Vanuatu",
"Vatican City State",
"Venezuela",
"Vietnam",
"Virgin Islands (British)",
"Virgin Islands (US)",
"Wake Island",
"Wallis and Futuna Islands",
"Western Sahara",
"Yemen",
"Yugoslavia",
"Zaire",
"Zambia",
"Zimbabwe"
]
},
{
"region": [
]
},
{
"citizenship": [
"Singapore Citizen",
"Singapore PR",
"S Pass",
"E Pass",
"Personalised Employment Pass",
"Letter of Consent(Dependent Pass, Long term visit pass)",
"Work Permit",
"Student Visa (No CPF, No SDL)",
"Contract (No CPF, No SDL)",
"Contract With SDL (No CPF, W/SDL)",
"Work Holiday Pass(No CPF)",
"EntrePass",
"Intern",
"Passport (Oversea Director)",
"Tech Pass",
"Overseas Networks & Expertise Pass",
"Training Employment Pass",
"Training Work Permit"
]
},
{
"nationality": [
"Afghan",
"Albanian",
"Algerian",
"American",
"Andorran",
"Angolan",
"Anguillan",
"Antiguan",
"Argentine",
"Armenian",
"Arubian",
"Australian",
"Austrian",
"Azerbaijani",
"Bahamian",
"Bahraini",
"Bangladeshi",
"Barbadian",
"Barbudans",
"Batswana",
"Belarusian",
"Belgian",
"Belizean",
"Beninese",
"Bermudan",
"Bhutanese",
"Bolivian",
"Bosnian",
"Brazilian",
"British",
"British National (Overseas)",
"Bruneian",
"Bulgarian",
"Burkinabe",
"Burmese",
"Burundian",
"Cambodian",
"Cameroonian",
"Canadian",
"Cape Verdean",
"Caymanian",
"Central African",
"Chadian",
"Chilean",
"Chinese",
"Christmas Islander",
"Cocossian",
"Colombian",
"Cook Islander",
"Comoran",
"Congolese",
"Costa Rican",
"Croatian",
"Cuban",
"Cypriot",
"Czech",
"Danish",
"Djibouti",
"Dominican",
"Dutch",
"Ecuadorean",
"Egyptian",
"Emirian",
"Equatorial Guinean",
"Eritrean",
"Estonian",
"Ethiopian",
"Falkland Irishslander",
"Faroese",
"Fijian",
"Filipino",
"Finnish",
"French",
"French Guianese",
"French Polynesian",
"Gabonese",
"Gambian",
"Georgian",
"German",
"Ghanaian",
"Gibraltarian",
"Greek",
"Greenlander",
"Grenadian",
"Guadeloupean",
"Guamanian",
"Guatemalan",
"Guinea Bissauan",
"Guinean",
"Guyanese",
"Haitian",
"Herzegovinian",
"Honduran",
"Hong Kongers",
"Hong Kong Chinese",
"Hungarian",
"I-kiribati",
"Icelander",
"Indian",
"Indonesian",
"Iranian",
"Iraqi",
"Irish",
"Israeli",
"Italian",
"Ivorian",
"Jamaican",
"Japanese",
"Jordanian",
"Kazakhstani",
"Kenyan",
"Kittian And Nevisian",
"Kuwaiti",
"Kyrgyz",
"Laotian",
"Latvian",
"Lebanese",
"Liberian",
"Libyan",
"Liechtensteiner",
"Lithuanian",
"Luxembourger",
"Macau",
"Macedonian",
"Malagasy",
"Malawian",
"Malaysian",
"Maldivan",
"Malian",
"Maltese",
"Manx",
"Marshallese",
"Martinican",
"Mauritanian",
"Mauritian",
"Mexican",
"Micronesian",
"Moldovan",
"Monacan",
"Mongolian",
"Montenegrin",
"Montserratian",
"Moroccan",
"Mosotho",
"Motswana",
"Mozambican",
"Myanmarese",
"Namibian",
"Nauruan",
"Nepalese",
"Nevisian",
"New Caledonian",
"New Zealander",
"Ni Vanuatu",
"Nicaraguan",
"Nigerian",
"Nigerien",
"Niuean",
"Norfolk Islander",
"North Korean",
"Northern Irish",
"Norwegian",
"Omani",
"Pakistani",
"Palauan",
"Palestinian",
"Panamanian",
"Papua New Guinean",
"Paraguayan",
"Peruvian",
"Polish",
"Portuguese",
"Puerto Rican",
"Qatari",
"Romanian",
"Russian",
"Rwandan",
"Saint Lucian",
"Saint Vincentian",
"Salvadorean",
"Samoan",
"Sanmarinese",
"Sao Tomean",
"Saudi",
"Scottish",
"Senegalese",
"Serbian",
"Seychellois",
"Sierra Leonean",
"Singaporean",
"Slovakian",
"Slovenian",
"Solomon Islander",
"Somali",
"South African",
"South Korean",
"Spanish",
"Sri Lankan",
"Sudanese",
"Surinamer",
"Swazi",
"Swedish",
"Swiss",
"Syrian",
"Taiwanese",
"Tajik",
"Tanzanian",
"Thai",
"Timorese",
"Togolese",
"Tokelauan",
"Tongan",
"Trinidadian Or Tobagonian",
"Tunisian",
"Turkish",
"Turkmen",
"Tuvaluan",
"Ugandan",
"Ukrainian",
"Uruguayan",
"Uzbekistani",
"Venezuelan",
"Vietnamese",
"Welsh",
"Western Saharan",
"Yemenite",
"Zambian",
"Zimbabwean"
]
},
{
"race": [
"African",
"African-American",
"Bidayuh",
"Bumiputra",
"Caucasian",
"Chinese",
"Eurasian",
"Filipino",
"Iban",
"Indian",
"Japanese",
"Korean",
"Malay",
"Thai",
"Others"
]
},
{
"religion": [
"Taoism",
"Buddhism",
"Confucianism",
"Bahá'à Faith",
"Islam",
"Catholicism",
"Christianity",
"Hinduism",
"Sikhism",
"Judaism",
"Jainism",
"Others",
"No Religion"
]
},
{
"bank_type": [
"CA Indosuez",
"DBS",
"HSBC",
"Standard Chartered",
"RHB",
"POSB",
"POSB Plus",
"OCBC",
"Maybank - Singapore Branch",
"CIMB",
"UOB",
"Citibank N.A Singapore Branch (CNAS)",
"Crédit Agricole",
"Commerzbank",
"Allahabad",
"ANZ",
"HSBC Corporate",
"Bank of China",
"India - HDFC Bank",
"ASB Bank Limited(New Zealand)",
"UBS AG",
"India - State Bank of India",
"India - The Federal Bank Ltd",
"India - Canara Bank",
"ICICI Bank",
"Sydbank",
"Sumitomo Mitsui Banking Corporation",
"Mizuho Corporate Bank, Ltd",
"AXIS Bank",
"DnB NOR Bank ASA",
"Shinhan",
"BNP Paribas",
"The Bank of Tokyo-Mitsubishi UFJ, Ltd",
"Citibank Singapore Limited (CSL)",
"Pakistan - Bank AlHabib",
"Pakistan - Habib Limited Bank",
"Industrial and Commercial Bank of China Limited",
"JP Morgan Chase Bank, N.A",
"Pakistan - Bank Alfalah Limited",
"Italy - Banca Prealpi SanBiagio",
"Commonwealth Bank of Australia",
"Pakistan - Meezan Bank",
"Vietnam - Asia Commercial Joint Stock Bank",
"State Bank of India",
"Pakistan - MCB Bank Limited",
"United Kingdom - Nationwide Building Society",
"Indonesia - BCA",
"Thailand - Bangkok Bank",
"Sri Lanka - Commercial Bank of Ceylon",
"Sri Lanka - Sampath Bank",
"Sri Lanka - National Development Bank",
"Bangkok Bank",
"Vietnam Techcombank",
"Indonesia - Mandiri Bank",
"Brazil - Banco Maxima Bank",
"United Kingdom - Monzo Bank Limited",
"United Kingdom - Barclays Bank",
"Thailand - Krungthai Bank",
"Indonesia - OCBC NISP",
"Bangkok Bank Public Company Limited",
"Malaysia - Maybank",
"Vietnam - Vietcombank",
"Indonesia - Bank Negara",
"Thailand - Kasikornbank",
"Indonesia - Permata Bank",
"Malaysia - UOB",
"Malaysia - RHB Bank",
"Thailand - Siam Commercial Bank",
"Australia - National Australia Bank",
"Malaysia - HSBC Amanah",
"Denmark - Lan and Spar Bank",
"United States - Bank of America",
"India - Indian Overseas Bank",
"Wise",
"Korea - KEB Hana Bank",
"Switzerland - Sygnum Bank",
"Malaysia - Public Bank",
"Airwallex",
"Maybank - Singapore Limited",
"Bank of America"
]
},
{
"currency": [
"SGD",
"HKD",
"MYR",
"USD",
"QAR",
"EUR",
"AUD",
"THB",
"PHP",
"IDR",
"INR",
"GBP",
"CAD",
"NZD",
"VND",
"BND",
"CNY",
"MMK",
"KRW",
"TWD",
"DKK",
"KHR",
"JPY",
"AED",
"PKR",
"SEK",
"ZAR",
"LKR",
"CHF",
"NPR",
"KES",
"RUB"
]
},
{
"relationship": [
"Wife",
"Husband",
"Daughter",
"Son",
"Mother",
"Father",
"Sister",
"Brother",
"Others"
]
},
{
"wp_worker_category": [
"Skilled",
"Unskilled"
]
},
{
"cpf_donation_type": [
"MBMF",
"CDAC",
"SINDA",
"ECF",
"N/A"
]
},
{
"wp_dcs": [
"Basic Tier / Tier 1: Up to 10% of the total workforce",
"Tier 2: Above 10% to 25% of the total workforce",
"Tier 3: Above 25% to 40% of the total workforce"
]
},
{
"spass_dcs": [
"Basic Tier / Tier 1: Up to 10% of the total workforce",
"Tier 2: Above 10% to 25% of the total workforce",
"Tier 3: Above 25% to 40% of the total workforce"
]
},
{
"voluntary_employer_contribution_type": [
"Percentage",
"Fixed Amount"
]
},
{
"voluntary_employee_contribution_type": [
"Percentage",
"Fixed Amount"
]
},
{
"voluntary_employer_contribution_rate": [
"5%",
"6%",
"7%",
"8%",
"9%",
"10%",
"11%",
"12%",
"13%",
"14%",
"15%"
]
},
{
"voluntary_employee_contribution_rate": [
"5%",
"6%",
"7%",
"8%",
"9%",
"10%",
"11%",
"12%",
"13%",
"14%",
"15%"
]
},
{
"socso_setting": [
"N/A",
"Employment Injury Scheme and Invalidity Scheme",
"Employment Injury Scheme",
"Foreign Workers Social Security"
]
},
{
"employee_epf_setting": [
"Statutory Default",
"4%",
"5.5%",
"7%",
"8%",
"9%",
"10%",
"11%",
"12%",
"13%",
"14%",
"15%",
"16%",
"17%",
"18%",
"19%",
"20%",
"21%",
"22%",
"23%",
"24%",
"25%",
"26%",
"27%",
"28%",
"29%",
"30%",
"32%"
]
},
{
"employer_epf_setting": [
"Statutory Default",
"N/A",
"6%",
"6.5%",
"12%",
"13%",
"14%",
"15%",
"16%",
"17%",
"18%",
"19%",
"20%",
"21%",
"22%",
"23%",
"24%",
"25%",
"26%",
"27%",
"28%",
"29%",
"30%",
"32%"
]
},
{
"period": [
"Whole Month",
"Whole Month (no monthly pay items)",
"1st Half of Month",
"2nd Half of Month"
]
},
{
"pay_item_types": {
"Recurring": [
"Basic Pay",
"Basic Pay(without proration)",
"Allowance",
"Allowance(without proration)",
"Deduction",
"Deduction (from Net Salary)",
"IR21 Tax Withholding",
"Commission (Daily/Weekly/Monthly)",
"Extra Duty Allowance",
"Housing/ Rental Allowance",
"Incentive Allowance",
"Meal Allowance",
"Per Diem Allowance",
"Transport Allowance",
"Tips",
"Director fees",
"Bonus",
"Others",
"Deduction (from Net Salary)(no SHG contribution)",
"Commission (AW)",
"Medisave",
"Deduction Community Chest"
],
"Adhoc": [
"Reimbursements",
"Advance Pay",
"Allowance",
"Deduction",
"Commission (Irregular)",
"Extra Duty Allowance",
"Festive Allowance",
"Housing/ Rental Allowance",
"Incentive",
"Incentive Allowance",
"IR21 Tax Withholding",
"Meal Allowance",
"Per Diem Allowance",
"Per Diem Reimbursement",
"Transport Allowance",
"Referral of Employees Fees",
"Benefits in Kind",
"Gifts in Kind",
"Share Option Sale",
"Termination Benefits",
"Tips",
"Annual Wage Supplement",
"Bonus",
"Prior Year Bonus",
"Prior Year AWS",
"Leave Pay",
"Director fees",
"Backdated Salary Increment",
"Backdated Salary",
"Deduction (from Net Salary)",
"Others",
"Others(no gross)",
"Salary in lieu",
"Onboarding incentive",
"Gratuity paid for years of service",
"Compensation for loss of employment",
"Deduction (from Net Salary)(no SHG contribution)",
"NS Leave Claims Deduction",
"Flexi-Benefit Personal Insurance",
"Flexi-Benefit Optical Expenses",
"Flexi-Benefit Health Screening & Vaccinations",
"Flexi-Benefit Childcare / Eldercare Fees For Dependants",
"Flexi-Benefit Medical Expenses For Dependants",
"Flexi-Benefit Dental Expenses For Dependants",
"Flexi-Benefit Gym Membership",
"Flexi-Benefit Holiday Expenses",
"Flexi-Benefit TCM / CHIRO/ PHYSIO",
"Gratuity",
"Flexi-Benefit Work From Home",
"Flexi-Benefit Mental Health Awareness",
"Flexi-Benefit Personal Planning & Enrichment",
"Flexi-Benefit Home Affairs Support",
"Flexi-Benefit Home Family Bonding Facilitation",
"Flexi-Benefit Professional Subscription"
],
"Attendance": [
"Regular Hours",
"Overtime Hours",
"Regular Days",
"Overtime Days",
"Public Holiday Pay",
"Rest Day Pay",
"Deputy"
]
}
}
]
Next of Kins
Create Next of Kin
Request
Endpoint
POST https://api.talenox.com/api/v2/next_of_kins
Accept: application/json
Content-Type: application/json
Authorization: Bearer 5aeae93e19fe749dc3100110216bb6218603130d
POST https://api.talenox.com/api/v2/next_of_kins
Parameters
{
"employee_id": 1089,
"next_of_kin": {
"name": "NOK Name",
"birthdate": "01/01/2018",
"relationship": "Wife",
"gender": "Male",
"citizenship": "Singaporean",
"ssn": "12345678"
}
}
Name | Description |
---|---|
employee_id required | Employee ID |
name required | Name |
birthdate | Birth Date |
relationship required | Relationship |
gender | Gender |
citizenship | Citizenship |
ssn | Identification Number |
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"id": 2,
"employee_id": 1089,
"name": "NOK Name",
"relationship": "Wife",
"contact_number": null,
"alternate_contact_number": null,
"birthdate": "2018-01-01",
"gender": "Male",
"marriage_date": null,
"ssn": "12345678",
"passport": null,
"citizenship": "Singaporean"
}
Delete Next of Kin
Request
Endpoint
DELETE https://api.talenox.com/api/v2/next_of_kins/5
Accept: application/json
Content-Type: application/json
Authorization: Bearer 5bb743971d20bd6dc65ebcd4a5e3bf112c934902
DELETE https://api.talenox.com/api/v2/next_of_kins/:id
Parameters
None known.
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"message": "Successfully deleted next of kin Name"
}
Get Next of Kin
Request
Endpoint
GET https://api.talenox.com/api/v2/next_of_kins/3
Accept: application/json
Content-Type: application/json
Authorization: Bearer abc9817979c161c09f434cccc53d14fc5dfe8618
GET https://api.talenox.com/api/v2/next_of_kins/:id
Parameters
None known.
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"id": 3,
"employee_id": 1101,
"name": "Name",
"relationship": "Son",
"contact_number": null,
"alternate_contact_number": null,
"birthdate": "2024-02-27",
"gender": null,
"marriage_date": null,
"ssn": null,
"passport": null,
"citizenship": "Singaporean"
}
Update Next of Kin
Request
Endpoint
PUT https://api.talenox.com/api/v2/next_of_kins/4
Accept: application/json
Content-Type: application/json
Authorization: Bearer 6c1fac150c2b18ab22a07313dd070d6253838716
PUT https://api.talenox.com/api/v2/next_of_kins/:id
Parameters
{
"next_of_kin": {
"name": "Change name"
}
}
None known.
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"id": 4,
"employee_id": 1113,
"name": "Change name",
"relationship": "Son",
"contact_number": null,
"alternate_contact_number": null,
"birthdate": "2024-02-27",
"gender": null,
"marriage_date": null,
"ssn": null,
"passport": null,
"citizenship": "Singaporean"
}
Payroll
Create Adhoc Payment
Request
Endpoint
POST https://api.talenox.com/api/v2/payroll/adhoc_payment
Accept: application/json
Content-Type: application/json
Authorization: Bearer a92df01b92210db6ef32dc44a8f69d6ea1015b38
POST https://api.talenox.com/api/v2/payroll/adhoc_payment
Parameters
{
"payment": {
"year": 2018,
"month": "September",
"period": "Whole Month",
"pay_group": null,
"id": 18
},
"pay_items": [
{
"employee_id": "K00001",
"item_type": "Allowance",
"amount": 1000,
"remarks": ""
}
]
}
Name | Description |
---|---|
payment required | Payment related fields |
id | Payment ID (If not specified, last payment created by API will be used) |
month | Month of payment (Mandatory if id not specified) |
year | Year of payment (Mandatory if id not specified) |
period | Period of payment (Mandatory if id not specified) |
pay_group | Pay group of payment |
pay_items required | Below are pay items related fields |
employee_id required | Employee ID |
item_type required | Pay Item Type |
remarks | Remarks |
amount required | Amount |
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"payment_id": 18,
"month": "September",
"year": "2018",
"period": "Whole Month",
"pay_group": null,
"status": "Draft",
"message": "Successfully updated payment.",
"pay_items": [
{
"id": 4,
"employee_id": 1175,
"item_type": "Allowance",
"remarks": "",
"amount": "1000.0",
"rate_of_pay": "0.0",
"currency": "SGD"
}
]
}
Create Attendance Payment
Request
Endpoint
POST https://api.talenox.com/api/v2/payroll/attendance_payment
Accept: application/json
Content-Type: application/json
Authorization: Bearer 7f3bbc406676a54f5968449420061fe9372ca58e
POST https://api.talenox.com/api/v2/payroll/attendance_payment
Parameters
{
"payment": {
"year": 2018,
"month": "September",
"period": "Whole Month",
"pay_group": null,
"id": 19
},
"pay_items": [
{
"employee_id": "K00001",
"item_type": "Regular Hours",
"amount": 1000,
"rate_of_pay": 20,
"no_of_hours_slash_days": 8,
"remarks": null
}
]
}
Name | Description |
---|---|
payment required | Payment related fields |
id | Payment ID (If not specified, last payment created by API will be used) |
month | Month of payment (Mandatory if id not specified) |
year | Year of payment (Mandatory if id not specified) |
period | Period of payment (Mandatory if id not specified) |
pay_group | Pay group of payment |
pay_items required | Below are pay items related fields |
employee_id required | Employee ID |
item_type required | Pay Item Type |
remarks | Remarks |
amount required | Amount |
no_of_hours_slash_days | Number of days or hours worked |
rate_of_pay | Rate of pay |
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"payment_id": 19,
"month": "September",
"year": "2018",
"period": "Whole Month",
"pay_group": null,
"status": "Draft",
"message": "Successfully updated payment.",
"pay_items": [
{
"id": 4,
"employee_id": 1177,
"item_type": "Regular Hours",
"remarks": null,
"amount": "1000.0",
"rate_of_pay": "20.0",
"no_of_hours_slash_days": "8.0",
"currency": "SGD"
}
]
}
Create Leave Payment or Deduction
Request
Endpoint
POST https://api.talenox.com/api/v2/payroll/leave_payment_or_deduction
Accept: application/json
Content-Type: application/json
Authorization: Bearer dc8eed4c096f9270300fb5e7ffdcb8fab14ef330
POST https://api.talenox.com/api/v2/payroll/leave_payment_or_deduction
Parameters
{
"payment": {
"year": 2018,
"month": "September",
"period": "Whole Month",
"pay_group": null,
"id": 20
},
"pay_items": [
{
"employee_id": "K00001",
"item_type": "No Pay Leave(Unpaid Leave)",
"remarks": "1/9/2018",
"amount": 2000,
"override_working_days": 21
}
]
}
Name | Description |
---|---|
payment required | Payment related fields |
id | Payment ID (If not specified, last payment created by API will be used) |
month | Month of payment (Mandatory if id not specified) |
year | Year of payment (Mandatory if id not specified) |
period | Period of payment (Mandatory if id not specified) |
pay_group | Pay group of payment |
pay_items required | Below are pay items related fields |
employee_id required | Employee ID |
item_type required | Pay Item Type |
remarks | Remarks |
amount | If provided, the system will use this amount instead of the calculated value |
override_working_days | If provided, will override the NPL calculation working days |
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"payment_id": 20,
"month": "September",
"year": "2018",
"period": "Whole Month",
"pay_group": null,
"status": "Draft",
"message": "Successfully updated payment.",
"pay_items": [
{
"id": 4,
"employee_id": 1179,
"item_type": "No Pay Leave(Unpaid Leave)",
"remarks": "01/09/2018",
"amount": "-2000.0",
"override_working_days": "21.0",
"currency": "SGD"
}
]
}
Create Payroll Payment
Request
Endpoint
POST https://api.talenox.com/api/v2/payroll/payroll_payment
Accept: application/json
Content-Type: application/json
Authorization: Bearer 478579635934c95ce3826a859df7e8a649261e7d
POST https://api.talenox.com/api/v2/payroll/payroll_payment
Parameters
{
"payment": {
"year": 2018,
"month": "September",
"period": "Whole Month",
"pay_group": null,
"with_pay_items": true
},
"employee_ids": [
"K00001"
]
}
Name | Description |
---|---|
payment required | Payment related fields |
month required | Month of payment |
year required | Year of payment |
period required | Period of payment |
pay_group | Pay group of payment |
with_pay_items | With Monthly pay items |
employee_ids | Employee IDs to create payment for |
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"payment_id": 4,
"month": "September",
"year": "2018",
"period": "Whole Month",
"pay_group": null,
"status": "Draft",
"message": "Successfully created payment."
}
Create Recurring Payment
Request
Endpoint
POST https://api.talenox.com/api/v2/payroll/recurring_payment
Accept: application/json
Content-Type: application/json
Authorization: Bearer 1ed5aef286cd1ec863cc2ac59b7acaf2e6e27cb2
POST https://api.talenox.com/api/v2/payroll/recurring_payment
Parameters
{
"payment": {
"year": 2018,
"month": "September",
"period": "Whole Month",
"pay_group": null,
"id": 17
},
"pay_items": [
{
"employee_id": "K00001",
"item_type": "Basic Pay",
"amount": 1000,
"remarks": null,
"actual_no_of_working_days": 22,
"total_no_of_working_days": 30
}
]
}
Name | Description |
---|---|
payment required | Payment related fields |
id | Payment ID (If not specified, last payment created by API will be used) |
month | Month of payment (Mandatory if id not specified) |
year | Year of payment (Mandatory if id not specified) |
period | Period of payment (Mandatory if id not specified) |
pay_group | Pay group of payment |
pay_items required | Below are pay items related fields |
employee_id required | Employee ID |
item_type required | Pay Item Type |
remarks | Remarks |
amount required | Amount |
actual_no_of_working_days | Actual number of working days (If provided, the default calculated value will be overridden) |
total_no_of_working_days | Total number of working days (If provided, the default calculated value will be overridden) |
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"payment_id": 17,
"month": "September",
"year": "2018",
"period": "Whole Month",
"pay_group": null,
"status": "Draft",
"message": "Successfully updated payment.",
"pay_items": [
{
"id": 6,
"employee_id": 1173,
"item_type": "Salary/Wages",
"remarks": null,
"amount": "1000.0",
"actual_no_of_working_days": 22,
"total_no_of_working_days": 30,
"rate_of_pay": "Monthly",
"currency": "SGD"
}
]
}
Delete Adhoc Pay Item
Request
Endpoint
DELETE https://api.talenox.com/api/v2/payroll/adhoc_payment/3
Accept: application/json
Content-Type: application/json
Authorization: Bearer cfa80d51390b3a32928d7d48b99cb17b159abe25
DELETE https://api.talenox.com/api/v2/payroll/adhoc_payment/:id
Parameters
Name | Description |
---|---|
id required | Pay item ID |
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"id": 3,
"employee_id": 1161,
"item_type": "Allowance",
"remarks": "",
"amount": "1000.0",
"rate_of_pay": "0.0",
"currency": "SGD"
}
Delete Attendance Pay Item
Request
Endpoint
DELETE https://api.talenox.com/api/v2/payroll/attendance_payment/3
Accept: application/json
Content-Type: application/json
Authorization: Bearer 88e259944e84dcddeaa8a2de5351ef843580478b
DELETE https://api.talenox.com/api/v2/payroll/attendance_payment/:id
Parameters
Name | Description |
---|---|
id required | Pay item ID |
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"id": 3,
"employee_id": 1163,
"item_type": "Regular Hours",
"remarks": null,
"amount": "1000.0",
"rate_of_pay": "20.0",
"no_of_hours_slash_days": "8.0",
"currency": "SGD"
}
Delete Leave Pay Item
Request
Endpoint
DELETE https://api.talenox.com/api/v2/payroll/leave_payment_or_deduction/3
Accept: application/json
Content-Type: application/json
Authorization: Bearer 0b20e23cd1ab920dec016a3051b34003482170a2
DELETE https://api.talenox.com/api/v2/payroll/leave_payment_or_deduction/:id
Parameters
Name | Description |
---|---|
id required | Pay item ID |
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"id": 3,
"employee_id": 1165,
"item_type": "No Pay Leave(Unpaid Leave)",
"remarks": "1/9/2018",
"amount": "2000.0",
"override_working_days": "21.0",
"currency": null
}
Delete Payroll Payment
Request
Endpoint
DELETE https://api.talenox.com/api/v2/payroll/payroll_payment/7
Accept: application/json
Content-Type: application/json
Authorization: Bearer b27a4df13917c435165f00df987d43b05122e809
DELETE https://api.talenox.com/api/v2/payroll/payroll_payment/:id
Parameters
Name | Description |
---|---|
id required | Payment ID |
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"payment_id": 7,
"month": "September",
"year": "2018",
"period": "Whole Month",
"pay_group": null,
"status": "Draft",
"message": "Successfully deleted payment."
}
Delete Recurring Pay Item
Request
Endpoint
DELETE https://api.talenox.com/api/v2/payroll/recurring_payment/5
Accept: application/json
Content-Type: application/json
Authorization: Bearer 28d024d5e008d64d6217fdda0c15990fb5fb4e39
DELETE https://api.talenox.com/api/v2/payroll/recurring_payment/:id
Parameters
Name | Description |
---|---|
id required | Pay item ID |
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"id": 5,
"employee_id": 1159,
"item_type": "Salary/Wages",
"remarks": null,
"amount": "1000.0",
"actual_no_of_working_days": 20.0,
"total_no_of_working_days": 20.0,
"rate_of_pay": "Monthly",
"currency": "SGD"
}
Export Payroll
Request
Endpoint
POST https://api.talenox.com/api/v2/payroll/export_payroll
Accept: application/json
Content-Type: application/json
Authorization: Bearer e9b7a1b54d08f55aba829f4a88874fd1cc3bbd8c
POST https://api.talenox.com/api/v2/payroll/export_payroll
Parameters
{
"month": "September",
"year": 2018,
"period": "Whole Month"
}
Name | Description |
---|---|
month required | Month of payment |
year required | Year of payment |
period required | Period of payment |
pay_date | Pay date |
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"payslips": [
{
"ytd_gross_salary": "$1,000.00",
"ytd_bonus": "$0.00",
"ytd_net_payment": "$799.50",
"total_recurring_full": "$1,000.00",
"total_recurring_prorated": "$1,000.00",
"total_adhoc": "$0.00",
"total_attendance": "$0.00",
"total_gross": "$1,000.00",
"total_bonus": "$0.00",
"total_net_payment": "$799.50",
"total_deductions": "$0.00",
"ytd_cpf_employee": "$200.00",
"ytd_cpf_employer": "$170.00",
"total_sg_fwl": "$0.00",
"total_sg_cpf_owage": "$1,000.00",
"total_sg_cpf_awage": "$0.00",
"total_sg_cpf_employee": "$200.00",
"total_sg_cpf_employer": "$170.00",
"total_sg_cpf_donation": "$0.50",
"total_sg_additional_cpf_donation": "$0.00",
"total_sg_cpf_sdl": "$2.50",
"employee_final_cpf": "$200.50",
"sg_total_sdl_contributable": "$1,000.00",
"id": 1181,
"employee_id": "K00001",
"name": "Roxann Lubowitz",
"job_title": null,
"department": null,
"country_code": "SG",
"currency_unit": "$",
"attendance_pay_items": [
],
"recurring_pay_items": [
{
"id": 7,
"employee_id": 1181,
"currency_value": "sgd",
"item_type": "Salary/Wages",
"amount": "1000.0",
"prorated_amount": "1000.0",
"remarks": null,
"preferences": {
"sg_cpf": true,
"sg_sdl": true,
"sg_shg": true,
"sg_tax": true
},
"working_days_setting": {
"total_no_of_working_days": 20.0,
"actual_no_of_working_days": 20.0
},
"custom_pay_item_id": 37057
}
],
"adhoc_pay_items": [
],
"overtime_pay": "0.0",
"payment_method": "Bank Transfer",
"published": false,
"payslip_pay_date": null,
"payslip_remarks": "",
"payslip_remarks_maximum_length": 500,
"total_leave_pay": "0.0",
"total_reimbursements": "0.0",
"total_basic_salary": "1000.0",
"total_allowances": "0.0",
"total_commissions": "0.0",
"total_directors_fees": "0.0",
"total_gross_full": "1000.0",
"total_leave_payments_or_deductions": "0.0",
"total_others": "0.0",
"total_employee_benefits": "0.0",
"sg_cpf_donation_type": "CDAC",
"sg_additional_cpf_donation_type": "N/A",
"total_sums_owage_awage": {
"awage": "0.0",
"owage": "1000.0"
},
"sg_cpf_contribution_type": "Year2018::Citizen::Age50",
"total_sg_cpf_owage_subjected": "1000.0",
"total_sg_cpf_awage_subjected": "0.0",
"total_sg_cpf_employee_awage": "0.0",
"total_sg_cpf_employer_awage": "0.0",
"total_sg_cpf_employee_owage": "200.0",
"total_sg_cpf_employer_owage": "170.0",
"sg_total_shg_contributable": "1000.0",
"total_sg_mandatory_cpf_employee": "200.0",
"total_sg_mandatory_cpf_employer": "170.0",
"total_sg_voluntary_cpf_employee": "0.0",
"total_sg_voluntary_cpf_employer": "0.0",
"total_sg_voluntary_cpf_employee_rate": "0.0",
"total_sg_voluntary_cpf_employer_rate": "0.0",
"total_sg_cpf_employee_employer": "370.0",
"total_sg_voluntary_cpf_employer_medisave": "0.0",
"total_taxable": "1000.0",
"payment_reconciliation": "0.0",
"total_sg_cpf_withholding": "200.5",
"total_net_payment_converted": "799.5",
"total_recurring_full_converted": "1000.0",
"total_recurring_prorated_converted": "1000.0",
"total_adhoc_converted": "0.0",
"total_attendance_converted": "0.0",
"total_leave_payments_or_deductions_converted": "0.0",
"total_deductions_converted": "0.0",
"total_gross_converted": "1000.0",
"total_bonus_converted": "0.0",
"total_leave_pay_converted": "0.0",
"total_reimbursements_converted": "0.0",
"total_allowances_converted": "0.0",
"total_basic_salary_converted": "1000.0",
"total_commissions_converted": "0.0",
"total_directors_fees_converted": "0.0",
"total_taxable_converted": "1000.0",
"total_others_converted": "0.0",
"total_employee_benefits_converted": "0.0",
"total_sg_cpf_employee_owage_reverted": "200.0",
"total_sg_cpf_employee_awage_reverted": "0.0",
"total_sg_cpf_employee_reverted": "200.0",
"total_sg_mandatory_cpf_employee_reverted": "200.0",
"total_sg_mandatory_cpf_employer_reverted": "170.0",
"total_sg_voluntary_cpf_employee_reverted": "0.0",
"total_sg_voluntary_cpf_employer_reverted": "0.0",
"total_sg_voluntary_cpf_employer_medisave_reverted": "0.0",
"total_sg_cpf_employer_owage_reverted": "170.0",
"total_sg_cpf_employer_awage_reverted": "0.0",
"total_sg_cpf_employer_reverted": "170.0",
"total_sg_cpf_sdl_reverted": "2.5",
"total_sg_cpf_awage_reverted": "0.0",
"total_sg_cpf_owage_reverted": "1000.0",
"total_sg_cpf_donation_reverted": "0.5",
"payment_reconciliation_reverted": "0.0",
"total_sg_additional_cpf_donation_reverted": "0.0",
"total_sg_fwl_reverted": "0.0",
"total_sg_cpf_withholding_reverted": "200.5",
"employee_final_cpf_reverted": "200.5"
}
],
"total_gross_salary": "$1,000.00",
"total_ytd_gross_salary": "$1,000.00",
"total_ytd_bonus": "$0.00",
"total_ytd_net_payment": "$799.50",
"total_ytd_cpf_employee": "$200.00",
"total_ytd_cpf_employer": "$170.00",
"month": "September",
"year": "2018",
"company_payroll_setting": {
"id": 452,
"company_id": 452,
"employers_contribute_shg_on_behalf": "employers_do_not_contribute_shg_on_behalf",
"payslip_update_on_address_change": "need_to_update_payslips_for_address_change",
"payslip_update_on_image_change": "need_to_update_payslips_for_image_change",
"payslip_footer_message": "show",
"payslip_period_display": "show_to_from_dates",
"payslip_ytd_use_gross_salary": "show_ytd_gross_salary",
"payslip_ytd_display": "show_ytd",
"payslip_employee_id_display": "show_id",
"payslip_employee_address_display": "show_address",
"payslip_leave_balance": "show_leave_balance",
"hk_mpf_first_contribution": "first_contribution_default_payment",
"npl_rounding": "no_rounding",
"sick_leave_rounding": "no_rounding",
"maternity_leave_rounding": "no_rounding",
"paternity_leave_rounding": "no_rounding",
"annual_leave_rounding": "no_rounding",
"created_at": "2024-02-27T08:29:53.803Z",
"updated_at": "2024-02-27T08:29:53.914Z",
"payslip_job_display": "show_job",
"working_days_rounding": "no_rounding",
"overtime_contribute_to_adw": false,
"leave_encashment_settings": "disabled",
"payslip_employee_company_id_display": "hide_emp_company_id",
"currency_conversion_enabled": true,
"npl_decimal_precision": 2,
"sick_leave_decimal_precision": 2,
"maternity_leave_decimal_precision": 2,
"paternity_leave_decimal_precision": 2,
"annual_leave_decimal_precision": 2,
"payslip_payment_method_display": "show_payment_method",
"payslips_sort_settings": "employee_id",
"rate_of_pay_decimal_precision": 4,
"payslip_display_country_name": true,
"tax_ir21_filing_reminder_email_notification": "enable_notification",
"hk_statutory_holiday_pay_settings": "enabled",
"payslip_sdl_display": "hide_sdl",
"payslip_branch_display": "show_branch",
"idr_format_toggle": 0,
"payslip_withholding_display": "show_withholding",
"bank_file_holiday_setting": "follow_holiday_state",
"apex_enabled": true,
"my_2023_tax_settings": "new_rate",
"attendance_rop_follow_working_hours_days_calculation": false,
"memeco_payslip_enabled": null
}
}
Get Payroll Payment
Request
Endpoint
GET https://api.talenox.com/api/v2/payroll/payroll_payment/6
Accept: application/json
Content-Type: application/json
Authorization: Bearer ff10eddd46a98e130379296babf811345766b8d7
GET https://api.talenox.com/api/v2/payroll/payroll_payment/:id
Parameters
Name | Description |
---|---|
id required | Payment ID |
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"payment_id": 6,
"month": "September",
"year": "2018",
"period": "Whole Month",
"pay_group": null,
"status": "Draft",
"created_by_webhook": true,
"bank_file_exported": false,
"bank_file_value_date": null,
"cheque_payment_exported": false,
"cheque_payment_value_date": null,
"recurring_pay_items": [
{
"id": 3,
"employee_id": 1151,
"item_type": "Salary/Wages",
"remarks": null,
"amount": "1000.0",
"actual_no_of_working_days": 20.0,
"total_no_of_working_days": 20.0,
"rate_of_pay": "Monthly",
"currency": "SGD"
}
],
"adhoc_pay_items": [
{
"id": 1,
"employee_id": 1151,
"item_type": "Allowance",
"remarks": "",
"amount": "1000.0",
"rate_of_pay": "0.0",
"currency": "SGD"
}
],
"attendance_pay_items": [
{
"id": 1,
"employee_id": 1151,
"item_type": "Regular Hours",
"remarks": null,
"amount": "1000.0",
"rate_of_pay": "20.0",
"no_of_hours_slash_days": "8.0",
"currency": "SGD"
}
],
"leave_pay_items": [
{
"id": 1,
"employee_id": 1151,
"item_type": "No Pay Leave(Unpaid Leave)",
"remarks": "1/9/2018",
"amount": "2000.0",
"override_working_days": "21.0",
"currency": null
}
]
}
Get Payslips Data
Request
Endpoint
POST https://api.talenox.com/api/v2/payroll/get_payslips_data
Accept: application/json
Content-Type: application/json
Authorization: Bearer 415b14d45a560beede68cbf6944b228fe4c5f2ea
POST https://api.talenox.com/api/v2/payroll/get_payslips_data
Parameters
{
"month": "September",
"year": 2018,
"employee_ids": [
"K00001"
]
}
Name | Description |
---|---|
employee_ids | Employee IDs |
month required | Month of payment |
year required | Year of payment |
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"payslips": [
{
"ytd_gross_salary": "$1,000.00",
"ytd_bonus": "$0.00",
"ytd_net_payment": "$799.50",
"total_recurring_full": "$1,000.00",
"total_recurring_prorated": "$1,000.00",
"total_adhoc": "$0.00",
"total_attendance": "$0.00",
"total_gross": "$1,000.00",
"total_bonus": "$0.00",
"total_net_payment": "$799.50",
"total_deductions": "$0.00",
"ytd_cpf_employee": "$200.00",
"ytd_cpf_employer": "$170.00",
"total_sg_fwl": "$0.00",
"total_sg_cpf_owage": "$1,000.00",
"total_sg_cpf_awage": "$0.00",
"total_sg_cpf_employee": "$200.00",
"total_sg_cpf_employer": "$170.00",
"total_sg_cpf_donation": "$0.50",
"total_sg_additional_cpf_donation": "$0.00",
"total_sg_cpf_sdl": "$2.50",
"employee_final_cpf": "$200.50",
"sg_total_sdl_contributable": "$1,000.00",
"id": 1187,
"employee_id": "K00001",
"name": "Fredric Kerluke",
"job_title": null,
"department": null,
"country_code": "SG",
"currency_unit": "$",
"attendance_pay_items": [
],
"recurring_pay_items": [
{
"id": 10,
"employee_id": 1187,
"currency_value": "sgd",
"item_type": "Salary/Wages",
"amount": "1000.0",
"prorated_amount": "1000.0",
"remarks": null,
"preferences": {
"sg_cpf": true,
"sg_sdl": true,
"sg_shg": true,
"sg_tax": true
},
"working_days_setting": {
"total_no_of_working_days": 20.0,
"actual_no_of_working_days": 20.0
},
"custom_pay_item_id": 37555
}
],
"adhoc_pay_items": [
],
"overtime_pay": "0.0",
"payment_method": "Bank Transfer",
"published": false,
"payslip_pay_date": null,
"payslip_remarks": "",
"payslip_remarks_maximum_length": 500,
"total_leave_pay": "0.0",
"total_reimbursements": "0.0",
"total_basic_salary": "1000.0",
"total_allowances": "0.0",
"total_commissions": "0.0",
"total_directors_fees": "0.0",
"total_gross_full": "1000.0",
"total_leave_payments_or_deductions": "0.0",
"total_others": "0.0",
"total_employee_benefits": "0.0",
"sg_cpf_donation_type": "CDAC",
"sg_additional_cpf_donation_type": "N/A",
"total_sums_owage_awage": {
"awage": "0.0",
"owage": "1000.0"
},
"sg_cpf_contribution_type": "Year2018::Citizen::Age50",
"total_sg_cpf_owage_subjected": "1000.0",
"total_sg_cpf_awage_subjected": "0.0",
"total_sg_cpf_employee_awage": "0.0",
"total_sg_cpf_employer_awage": "0.0",
"total_sg_cpf_employee_owage": "200.0",
"total_sg_cpf_employer_owage": "170.0",
"sg_total_shg_contributable": "1000.0",
"total_sg_mandatory_cpf_employee": "200.0",
"total_sg_mandatory_cpf_employer": "170.0",
"total_sg_voluntary_cpf_employee": "0.0",
"total_sg_voluntary_cpf_employer": "0.0",
"total_sg_voluntary_cpf_employee_rate": "0.0",
"total_sg_voluntary_cpf_employer_rate": "0.0",
"total_sg_cpf_employee_employer": "370.0",
"total_sg_voluntary_cpf_employer_medisave": "0.0",
"total_taxable": "1000.0",
"payment_reconciliation": "0.0",
"total_sg_cpf_withholding": "200.5",
"total_net_payment_converted": "799.5",
"total_recurring_full_converted": "1000.0",
"total_recurring_prorated_converted": "1000.0",
"total_adhoc_converted": "0.0",
"total_attendance_converted": "0.0",
"total_leave_payments_or_deductions_converted": "0.0",
"total_deductions_converted": "0.0",
"total_gross_converted": "1000.0",
"total_bonus_converted": "0.0",
"total_leave_pay_converted": "0.0",
"total_reimbursements_converted": "0.0",
"total_allowances_converted": "0.0",
"total_basic_salary_converted": "1000.0",
"total_commissions_converted": "0.0",
"total_directors_fees_converted": "0.0",
"total_taxable_converted": "1000.0",
"total_others_converted": "0.0",
"total_employee_benefits_converted": "0.0",
"total_sg_cpf_employee_owage_reverted": "200.0",
"total_sg_cpf_employee_awage_reverted": "0.0",
"total_sg_cpf_employee_reverted": "200.0",
"total_sg_mandatory_cpf_employee_reverted": "200.0",
"total_sg_mandatory_cpf_employer_reverted": "170.0",
"total_sg_voluntary_cpf_employee_reverted": "0.0",
"total_sg_voluntary_cpf_employer_reverted": "0.0",
"total_sg_voluntary_cpf_employer_medisave_reverted": "0.0",
"total_sg_cpf_employer_owage_reverted": "170.0",
"total_sg_cpf_employer_awage_reverted": "0.0",
"total_sg_cpf_employer_reverted": "170.0",
"total_sg_cpf_sdl_reverted": "2.5",
"total_sg_cpf_awage_reverted": "0.0",
"total_sg_cpf_owage_reverted": "1000.0",
"total_sg_cpf_donation_reverted": "0.5",
"payment_reconciliation_reverted": "0.0",
"total_sg_additional_cpf_donation_reverted": "0.0",
"total_sg_fwl_reverted": "0.0",
"total_sg_cpf_withholding_reverted": "200.5",
"employee_final_cpf_reverted": "200.5"
}
],
"total_gross_salary": "$1,000.00",
"total_ytd_gross_salary": "$1,000.00",
"total_ytd_bonus": "$0.00",
"total_ytd_net_payment": "$799.50",
"total_ytd_cpf_employee": "$200.00",
"total_ytd_cpf_employer": "$170.00",
"month": "September",
"year": "2018",
"company_payroll_setting": {
"id": 458,
"company_id": 458,
"employers_contribute_shg_on_behalf": "employers_do_not_contribute_shg_on_behalf",
"payslip_update_on_address_change": "need_to_update_payslips_for_address_change",
"payslip_update_on_image_change": "need_to_update_payslips_for_image_change",
"payslip_footer_message": "show",
"payslip_period_display": "show_to_from_dates",
"payslip_ytd_use_gross_salary": "show_ytd_gross_salary",
"payslip_ytd_display": "show_ytd",
"payslip_employee_id_display": "show_id",
"payslip_employee_address_display": "show_address",
"payslip_leave_balance": "show_leave_balance",
"hk_mpf_first_contribution": "first_contribution_default_payment",
"npl_rounding": "no_rounding",
"sick_leave_rounding": "no_rounding",
"maternity_leave_rounding": "no_rounding",
"paternity_leave_rounding": "no_rounding",
"annual_leave_rounding": "no_rounding",
"created_at": "2024-02-27T08:30:05.636Z",
"updated_at": "2024-02-27T08:30:05.726Z",
"payslip_job_display": "show_job",
"working_days_rounding": "no_rounding",
"overtime_contribute_to_adw": false,
"leave_encashment_settings": "disabled",
"payslip_employee_company_id_display": "hide_emp_company_id",
"currency_conversion_enabled": true,
"npl_decimal_precision": 2,
"sick_leave_decimal_precision": 2,
"maternity_leave_decimal_precision": 2,
"paternity_leave_decimal_precision": 2,
"annual_leave_decimal_precision": 2,
"payslip_payment_method_display": "show_payment_method",
"payslips_sort_settings": "employee_id",
"rate_of_pay_decimal_precision": 4,
"payslip_display_country_name": true,
"tax_ir21_filing_reminder_email_notification": "enable_notification",
"hk_statutory_holiday_pay_settings": "enabled",
"payslip_sdl_display": "hide_sdl",
"payslip_branch_display": "show_branch",
"idr_format_toggle": 0,
"payslip_withholding_display": "show_withholding",
"bank_file_holiday_setting": "follow_holiday_state",
"apex_enabled": true,
"my_2023_tax_settings": "new_rate",
"attendance_rop_follow_working_hours_days_calculation": false,
"memeco_payslip_enabled": null
}
}
Get Payslips PDF
Request
Endpoint
POST https://api.talenox.com/api/v2/payroll/get_payslips
Accept: application/json
Content-Type: application/json
Authorization: Bearer e7298d32fa2d8a995da2410b1da03b085a2a67f3
POST https://api.talenox.com/api/v2/payroll/get_payslips
Parameters
{
"month": "September",
"year": 2018,
"employee_ids": [
1183
]
}
Name | Description |
---|---|
employee_ids required | Employee IDs |
month required | Month of payment |
year required | Year of payment |
include_employee_data | Returns employee data along with payslip URL |
Response
Content-Type: application/json; charset=utf-8
200 OK
[
{
"1183": null
}
]
Get Payslips PDF with Employee Details
Request
Endpoint
POST https://api.talenox.com/api/v2/payroll/get_payslips
Accept: application/json
Content-Type: application/json
Authorization: Bearer 552cc1540494a63aae75127fb72d177bf710064e
POST https://api.talenox.com/api/v2/payroll/get_payslips
Parameters
{
"month": "September",
"year": 2018,
"employee_ids": [
1185
],
"include_employee_data": true
}
Name | Description |
---|---|
employee_ids required | Employee IDs |
month required | Month of payment |
year required | Year of payment |
include_employee_data | Returns employee data along with payslip URL |
Response
Content-Type: application/json; charset=utf-8
200 OK
[
{
"1185": {
"payslip_url": null,
"employee_id": null,
"employee_first_name": null,
"employee_last_name": null,
"employee_birthdate": null
}
}
]
List All Payroll Payments
Request
Endpoint
GET https://api.talenox.com/api/v2/payroll/payroll_payment?month=September&year=2018&created_by_webhook=true
Accept: application/json
Content-Type: application/json
Authorization: Bearer 7ffaabcd4f9f500cb1f54817001ab73544a481d1
GET https://api.talenox.com/api/v2/payroll/payroll_payment
Parameters
month: September
year: 2018
created_by_webhook: true
Name | Description |
---|---|
month required | Month of payment |
year required | Year of payment |
created_by_webhook | Filter for querying only the payments created by webhook |
Response
Content-Type: application/json; charset=utf-8
200 OK
[
{
"payment_id": 5,
"month": "September",
"year": "2018",
"period": "Whole Month",
"pay_group": null,
"status": "Draft",
"created_by_webhook": true,
"bank_file_exported": false,
"bank_file_value_date": null,
"cheque_payment_exported": false,
"cheque_payment_value_date": null,
"recurring_pay_items": [
],
"adhoc_pay_items": [
],
"attendance_pay_items": [
],
"leave_pay_items": [
]
}
]
Process Payroll Payment
Request
Endpoint
POST https://api.talenox.com/api/v2/payroll/payroll_payment/8/process
Accept: application/json
Content-Type: application/json
Authorization: Bearer 8e802ca5edb374007103253826867469dee3f62e
POST https://api.talenox.com/api/v2/payroll/payroll_payment/:id/process
Parameters
Name | Description |
---|---|
id required | Payment ID |
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"payment_id": 8,
"month": "September",
"year": "2018",
"period": "Whole Month",
"pay_group": null,
"status": "Processed",
"message": "Successfully processed payment."
}
Publish Payslips
Request
Endpoint
POST https://api.talenox.com/api/v2/payroll/publish_payslips
Accept: application/json
Content-Type: application/json
Authorization: Bearer 49ee6b85319215c56e1329f03f6dffa8717daa0b
POST https://api.talenox.com/api/v2/payroll/publish_payslips
Parameters
{
"month": "September",
"year": "2018",
"payslip_pay_date": "30/09/2018",
"payslip_send_on_pd_setting": 0,
"attach_payslip_to_email": 0
}
Name | Description |
---|---|
month required | Month of payment |
year required | Year of payment |
payslip_pay_date required | Payslip Pay Date |
payslip_send_on_pd_setting required | payslip Send On Pay Date Setting |
attach_payslip_to_email required | Attach Payslip To Email |
employee_ids | Employee IDs |
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"message": "Payslips published",
"published": true
}
Pull Leave Applications
Request
Endpoint
POST https://api.talenox.com/api/v2/payroll/pull_leave_applications
Accept: application/json
Content-Type: application/json
Authorization: Bearer 6dc3c2e37ede1ec1b81ffc2d700e6635efa06a8f
POST https://api.talenox.com/api/v2/payroll/pull_leave_applications
Parameters
{
"payment": {
"month": "September",
"year": 2018,
"period": "Whole Month",
"pay_group": null
}
}
Name | Description |
---|---|
payment required | Payment related fields |
id | Payment ID (If not specified, last payment created by API will be used) |
month | Month of payment (Mandatory if id not specified) |
year | Year of payment (Mandatory if id not specified) |
period | Period of payment (Mandatory if id not specified) |
pay_group | Pay group of payment |
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"message": "Leave applications pulled successfully"
}
Set Payment to Draft
Request
Endpoint
POST https://api.talenox.com/api/v2/payroll/payroll_payment/9/draft
Accept: application/json
Content-Type: application/json
Authorization: Bearer c16c20f06f4e6f2a39bb81c05709deb0e5491bb7
POST https://api.talenox.com/api/v2/payroll/payroll_payment/:id/draft
Parameters
Name | Description |
---|---|
id required | Payment ID |
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"payment_id": 9,
"month": "September",
"year": "2018",
"period": "Whole Month",
"pay_group": null,
"status": "Draft",
"message": "Successfully updated payment."
}
Unpublish Payslips
Request
Endpoint
POST https://api.talenox.com/api/v2/payroll/unpublish_payslips
Accept: application/json
Content-Type: application/json
Authorization: Bearer c27a8226418bf29ce01d7a60083c2c3438a40b6a
POST https://api.talenox.com/api/v2/payroll/unpublish_payslips
Parameters
{
"month": "September",
"year": "2018"
}
Name | Description |
---|---|
month required | Month of payment |
year required | Year of payment |
employee_ids | Employee IDs |
Response
Content-Type: text/plain; charset=utf-8
200 OK
Update Payment Settings
Request
Endpoint
POST https://api.talenox.com/api/v2/payroll/update_payment_settings
Accept: application/json
Content-Type: application/json
Authorization: Bearer e8b475763b3fba993108217ea982cc38b9938525
POST https://api.talenox.com/api/v2/payroll/update_payment_settings
Parameters
{
"payment": {
"year": 2018,
"month": "September",
"period": "Whole Month",
"pay_group": null,
"id": 14
},
"settings": [
{
"employee_id": "K00001",
"is_bank_payment": false,
"selected_cost_centre_id": 47,
"employees_payment_methods": "Bank Transfer"
}
]
}
Name | Description |
---|---|
payment required | Payment related fields |
id | Payment ID (If not specified, last payment created by API will be used) |
month | Month of payment (Mandatory if id not specified) |
year | Year of payment (Mandatory if id not specified) |
period | Period of payment (Mandatory if id not specified) |
pay_group | Pay group of payment |
settings required | Settings related fields |
employee_id | Employee ID |
employees_payment_methods | Indicate payment mode for employee: Bank/Cheque/Forex/Cash payment |
selected_cost_centre_id | Cost centre ID to process the employee under (defaults to default cost centre) |
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"payment_id": 14,
"month": "September",
"year": "2018",
"period": "Whole Month",
"pay_group": null,
"status": "Draft",
"message": "Successfully updated payment.",
"settings": [
{
"employee_id": 1167,
"selected_cost_centre_id": 47,
"employees_payment_methods": "Bank Transfer"
}
]
}
Update without payment methods - is_bank_payment set to false
Request
Endpoint
POST https://api.talenox.com/api/v2/payroll/update_payment_settings
Accept: application/json
Content-Type: application/json
Authorization: Bearer 3f782a73ab11d949d6b747f762e75627debafa76
POST https://api.talenox.com/api/v2/payroll/update_payment_settings
Parameters
{
"payment": {
"year": 2018,
"month": "September",
"period": "Whole Month",
"pay_group": null,
"id": 16
},
"settings": [
{
"employee_id": "K00001",
"is_bank_payment": false,
"selected_cost_centre_id": 51
}
]
}
Name | Description |
---|---|
payment required | Payment related fields |
id | Payment ID (If not specified, last payment created by API will be used) |
month | Month of payment (Mandatory if id not specified) |
year | Year of payment (Mandatory if id not specified) |
period | Period of payment (Mandatory if id not specified) |
pay_group | Pay group of payment |
settings required | Settings related fields |
employee_id | Employee ID |
employees_payment_methods | Indicate payment mode for employee: Bank/Cheque/Forex/Cash payment |
selected_cost_centre_id | Cost centre ID to process the employee under (defaults to default cost centre) |
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"payment_id": 16,
"month": "September",
"year": "2018",
"period": "Whole Month",
"pay_group": null,
"status": "Draft",
"message": "Successfully updated payment.",
"settings": [
{
"employee_id": 1171,
"selected_cost_centre_id": 51,
"employees_payment_methods": "Cheque"
}
]
}
Update without payment methods - is_bank_payment set to true
Request
Endpoint
POST https://api.talenox.com/api/v2/payroll/update_payment_settings
Accept: application/json
Content-Type: application/json
Authorization: Bearer b205539fe01a987452af6331805e3493fb7fc6f8
POST https://api.talenox.com/api/v2/payroll/update_payment_settings
Parameters
{
"payment": {
"year": 2018,
"month": "September",
"period": "Whole Month",
"pay_group": null,
"id": 15
},
"settings": [
{
"employee_id": "K00001",
"is_bank_payment": true,
"selected_cost_centre_id": 49
}
]
}
Name | Description |
---|---|
payment required | Payment related fields |
id | Payment ID (If not specified, last payment created by API will be used) |
month | Month of payment (Mandatory if id not specified) |
year | Year of payment (Mandatory if id not specified) |
period | Period of payment (Mandatory if id not specified) |
pay_group | Pay group of payment |
settings required | Settings related fields |
employee_id | Employee ID |
employees_payment_methods | Indicate payment mode for employee: Bank/Cheque/Forex/Cash payment |
selected_cost_centre_id | Cost centre ID to process the employee under (defaults to default cost centre) |
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"payment_id": 15,
"month": "September",
"year": "2018",
"period": "Whole Month",
"pay_group": null,
"status": "Draft",
"message": "Successfully updated payment.",
"settings": [
{
"employee_id": 1169,
"selected_cost_centre_id": 49,
"employees_payment_methods": "Bank Transfer"
}
]
}
User Info (OAuth)
Get user info
Request
Endpoint
GET https://api.talenox.com/api/v2/user_info
Accept: application/json
Content-Type: application/json
Authorization: Bearer SR2v-XwlGKxHribcK5tru87awpDGT8m4bhUdUPjlLMA
GET https://api.talenox.com/api/v2/user_info
Parameters
None known.
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"company": {
"id": 490
},
"employee": {
"id": 1320,
"employee_id": "75tcpnsjlg"
}
}
Working Days
Create Working Day
Request
Endpoint
POST https://api.talenox.com/api/v2/working_days
Accept: application/json
Content-Type: application/json
Authorization: Bearer 18411fdd9981209e1b9c26c7b53b2ae8404fd40a
POST https://api.talenox.com/api/v2/working_days
Parameters
{
"working_day": {
"name": "New working day",
"company_default": false,
"week_schedule": [
"not_working",
"second_half",
"full_day",
"full_day",
"full_day",
"first_half",
"not_working"
],
"employee_ids": [
1466
]
}
}
Name | Description |
---|---|
name required | Working Day Name |
company_default | Company Default |
week_schedule required | Week schedule (An array of 7 elements corresponding to each day in a week starting from Sunday, supported values are not_working, full_day, first_half, second_half) |
employee_ids | Employee IDs (This will override the working day's employee) |
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"id": 325,
"name": "New working day",
"employee_ids": [
1466
],
"no_of_employees": 1,
"week_schedule": [
"not_working",
"second_half",
"full_day",
"full_day",
"full_day",
"first_half",
"not_working"
],
"company_default": false
}
Delete Working Day
Request
Endpoint
DELETE https://api.talenox.com/api/v2/working_days/339
Accept: application/json
Content-Type: application/json
Authorization: Bearer bb8460222db1a5594481634c41d44fcd0415f261
DELETE https://api.talenox.com/api/v2/working_days/:id
Parameters
None known.
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"message": "Successfully deleted working day 4"
}
Get Working Day
Request
Endpoint
GET https://api.talenox.com/api/v2/working_days/328
Accept: application/json
Content-Type: application/json
Authorization: Bearer 0ffc9cb54d0ef8324a2bd0fee8c640755883ec68
GET https://api.talenox.com/api/v2/working_days/:id
Parameters
None known.
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"id": 328,
"name": "1",
"employee_ids": [
],
"no_of_employees": 0,
"week_schedule": [
"not_working",
"full_day",
"full_day",
"full_day",
"full_day",
"full_day",
"not_working"
],
"company_default": false
}
List Working Days
Request
Endpoint
GET https://api.talenox.com/api/v2/working_days
Accept: application/json
Content-Type: application/json
Authorization: Bearer 31c277ab2878d0ac61cf21d8bd880c2a71ad329b
GET https://api.talenox.com/api/v2/working_days
Parameters
None known.
Response
Content-Type: application/json; charset=utf-8
200 OK
[
{
"id": 321,
"name": "Test Working Day",
"employee_ids": [
],
"no_of_employees": 0,
"week_schedule": [
"not_working",
"full_day",
"full_day",
"full_day",
"full_day",
"full_day",
"not_working"
],
"company_default": true
}
]
Update Working Day
Request
Endpoint
PUT https://api.talenox.com/api/v2/working_days/331
Accept: application/json
Content-Type: application/json
Authorization: Bearer 5dab54f01415d0dc204c6d1bbe213b88cb7b2522
PUT https://api.talenox.com/api/v2/working_days/:id
Parameters
{
"working_day": {
"name": "Change name",
"week_schedule": [
"not_working",
"full_day",
"full_day",
"full_day",
"full_day",
"not_working",
"not_working"
]
}
}
None known.
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"id": 331,
"name": "Change name",
"employee_ids": [
],
"no_of_employees": 0,
"week_schedule": [
"not_working",
"full_day",
"full_day",
"full_day",
"full_day",
"not_working",
"not_working"
],
"company_default": false
}
Working Hours
Create Working Hour
Request
Endpoint
POST https://api.talenox.com/api/v2/working_hours
Accept: application/json
Content-Type: application/json
Authorization: Bearer a2495dadccff491227dd310cdfb59ca9f9bd8ade
POST https://api.talenox.com/api/v2/working_hours
Parameters
{
"working_hour": {
"name": "New Working Hour",
"company_default": false,
"hours_per_week": 44.0,
"employee_ids": [
1541
]
}
}
Name | Description |
---|---|
name required | Working Hour Name |
company_default | Company Default |
hours_per_week required | Hours Per Week |
hours_per_day required | Hours per day (For Part Time ADW Calculation) |
employee_ids | Employee IDs (This will override the Working Hour's employee) |
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"id": 334,
"name": "New Working Hour",
"employee_ids": [
1541
],
"no_of_employees": 1,
"hours_per_week": "44.0",
"company_default": false,
"hours_per_day": 8.0
}
Delete Working Hour
Request
Endpoint
DELETE https://api.talenox.com/api/v2/working_hours/348
Accept: application/json
Content-Type: application/json
Authorization: Bearer 89a1e9cb2183c82d7ee209cf2508387cc177a37d
DELETE https://api.talenox.com/api/v2/working_hours/:id
Parameters
None known.
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"message": "Successfully deleted working hour Default"
}
Get Working Hour
Request
Endpoint
GET https://api.talenox.com/api/v2/working_hours/337
Accept: application/json
Content-Type: application/json
Authorization: Bearer eb1e01652b45c830ccc44cb7f8114c76425f0c7f
GET https://api.talenox.com/api/v2/working_hours/:id
Parameters
None known.
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"id": 337,
"name": "Default",
"employee_ids": [
],
"no_of_employees": 0,
"hours_per_week": "44.0",
"company_default": false,
"hours_per_day": 8.0
}
List Working Hours
Request
Endpoint
GET https://api.talenox.com/api/v2/working_hours
Accept: application/json
Content-Type: application/json
Authorization: Bearer 5201cfc47f6050dc70e1b0811e8f1f16548dcf7e
GET https://api.talenox.com/api/v2/working_hours
Parameters
None known.
Response
Content-Type: application/json; charset=utf-8
200 OK
[
{
"id": 330,
"name": "Test Working Hour",
"employee_ids": [
],
"no_of_employees": 0,
"hours_per_week": "44.0",
"company_default": true,
"hours_per_day": 8.0
}
]
Update Working Hour
Request
Endpoint
PUT https://api.talenox.com/api/v2/working_hours/340
Accept: application/json
Content-Type: application/json
Authorization: Bearer fe0e68ae4ad13c69d4e61b1ae61b0c76bdb96d39
PUT https://api.talenox.com/api/v2/working_hours/:id
Parameters
{
"working_hour": {
"name": "Change name",
"hours_per_week": 40.0
}
}
None known.
Response
Content-Type: application/json; charset=utf-8
200 OK
{
"id": 340,
"name": "Change name",
"employee_ids": [
],
"no_of_employees": 0,
"hours_per_week": "40.0",
"company_default": false,
"hours_per_day": 8.0
}
Leave Application Flow (BETA)
To apply leave using the create leave application api, developers should have the following information ready to be submitted as payload. The create leave application endpoint checks and block if payload has issues, such as applied leave dates are overlapping with existing applications. However, the developer will still need to do necessary checks before they call the endpoint for a smoother api experience.
This guide suggests a flow developers can follow to call Talenox's APIs to get these information ready:
- Leave Employee ID
- Leave Approver Employee ID
- Leave Category ("type" for Leave Type and "oil" for Off in lieu)
- Leave Catgory ID (Leave Type or Off in lieu ID)
1. Get Leave Employee Information
Follow instructions on List All Employees
2. Get Leave Approver Information
With the employee id in step 1, query leave approvers
3. Get available leave types and off in lieus for leave employee
retrieve leave types and off in lieus for the employee with the following end points. - List available leave types for an employee - List off line lieus for an employee
4. Check that leave employee's leave type has leave balance and entitlement for the leave employee's leave type
Check that the selected leave type has sufficient leave balance and has a valid entitlement period in Talenox. If the leave type is off in lieu use the endpoints in Off in lieus section.
Leave types
- Get leave balance for a leave type of an employee
- Get leave entitlement period for a leave type of an employee
Off in lieus
- Get off in lieu balance for all off in lieus of an employee
- Get leave entitlement period for an off in lieu of an employee
5. Get leave applications for the leave employee to check if dates applied are overlapping
Supply the leave employee's id to the endpoint in Get leave applications for an employee
6. Apply leave with create leave application
Once you completed the previous steps, you can refer to Create leave application to apply leave with Talenox API.
Note that the category
field should be "oil" for off in lieus and "type" for leave type.
Optional - Creating Leave Application with self-supplied leave durations and working days
// A sample payload for a single day leave application:
{
"employee_id": 272,
"category_id": 11,
"category": "type",
"start_date": "2023-03-09",
"end_date": "2023-03-09",
"remarks": "test",
"working_days": [
{
"date": "2023-03-09",
"type": "full_day" // or "first_half" or "second_half" or "holiday" or "not_working"
}
],
"applied_durations": [
{
"date": "2023-03-09",
"type": "full_day" // or "first_half" or "second_half
}
]
}
// A sample payload for multiple day leave application
{
"employee_id": 272,
"category_id": 11,
"category": "type",
"start_date": "2023-03-09",
"end_date": "2023-03-11",
"remarks": "test",
"working_days": [
{
"date": "2023-03-09",
"type": "full_day" // or "first_half" or "second_half" or "holiday" or "not_working"
},
{
"date": "2023-03-10",
"type": "full_day" // or "first_half" or "second_half" or "holiday" or "not_working"
},
{
"date": "2023-03-11",
"type": "full_day" // or "first_half" or "second_half" or "holiday" or "not_working"
}
],
"applied_durations": [
{
"date": "2023-03-09",
"type": "full_day" // or "second_half"
},
{
"date": "2023-03-11",
"type": "full_day" // or "first_half"
}
]
}
Developers can also supply their own applied leave durations and working days.
Notes on creating leave applications with self-supplied working days
Working_days should contain the number of instances as defined by start_date and end_date. Each working day instance "type" must be one of the values "full_day", "first_half", "second_half" , "holiday" or "not_working"
- e.g. if the start_date is 2023-03-09, and end_date is 2023-03-10, working_days should contain 2 instances to reflect this.
- Providing working days is optional, and depends on how your app is integrated with Talenox. If no working days is provided, it is assumed Talenox will be the source of truth for working days, and leave applications will be created based on working days defined by Talenox.
Notes on creating leave applications with self-supplied applied durations
For applied durations, type must be one of the values 'full_day', 'first_half' or 'second_half'.
- For single day leave applications, type must be one of the values 'full_day', 'first_half' or 'second_half'.
- For multiple day leave applications, developers only need to provide the start and end applied durations as Talenox treats this as a continuous block of days and generate the days in between. Specifically,
- the first day of your leave application, applied duration type can only be 'full_day' or 'second_half'
- the last day of your leave application, type can only be 'full_day' or 'first_half'
7. Approve leave application
After the leave application is created, track the leave application id returned. Use the leave application id as the input for the approve leave endpoint, and approve the leave as the leave approver. This means you submit with the oauth authorization, or use the leave approver api token as the Bearer token to process this request.