---
title: Omni HR API Integration on Truto
slug: omnihr
category: HRIS
canonical: "https://truto.one/integrations/detail/omnihr/"
---

# Omni HR API Integration on Truto



**Category:** HRIS  
**Status:** Beta

## Unified APIs

### Unified HRIS API

- **Bank Info** — Bank info represent the Bank Account information for an Employee
- **Companies** — Companies represent the companies in HRIS
- **Dependents** — Represents a dependent of an employee, such as a spouse or child, usually recorded for benefits coverage. There is one record per employee and dependent: a person who is a dependent of two employees appears once for each. Only people the provider records as dependents are included; people recorded only as beneficiaries or emergency contacts are not.
- **Employee Compensations** — Represent the compensation configuration for an Employee
- **Employee Payroll Runs** — Employee Payroll Runs represent the Employee Payroll Runs for an Employee
- **Employees** — Represents an employee in HRIS
- **Employments** — Employments represent a job position at a company.
- **Fields** — Represent the fields for various entities in the company
- **Groups** — Groups represent the groups for an Employee
- **Job Roles** — Represent the job roles in a company
- **Locations** — Locations represent the locations in HRIS
- **Pay Groups** — Paygroups represent a subset of employees that are put together for payroll processing purposes.
- **Timeoff Balances** — Represent the time off balances for an Employee
- **Timeoff Requests** — Represent the time off requests for an Employee
- **Timeoff Types** — Represent the time off types in a company

## MCP-ready AI tools

Truto exposes 365 tools for Omni HR that AI agents can call directly.

- **list_all_omni_hr_active_expense_approvals** — List active expense approvals, with search and location, department, position and policy filters.
Paginated (up to 30 per page via limit); pass next_cursor to get the next page.
Omni expense module: the token's user needs that module's role permissions.
- **list_all_omni_hr_active_expense_reimbursements** — List active expense reimbursements, with search, location, position, department, approval-date and policy filters.
Paginated (up to 30 per page via limit); pass next_cursor to get the next page.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni expense module: the token's user needs that module's role permissions.
- **list_all_omni_hr_adhoc_pay_types** — List the one-off (ad hoc) pay types.
Not paginated.
Each record has: id, value.
Omni organization-settings module: the token's user needs that module's role permissions.
- **list_all_omni_hr_admin_form_submissions** — List a form's submissions for administration, filtered by request status, criteria and search (read via POST). Required: form_id.
Paginated: Truto sends page and page_size in the JSON body (up to 30 per page); pass next_cursor for the next page and resend the same filters.
Omni's spec shows a different response wrapper; Truto unwraps the list the way Omni's web app reads it.
Omni forms module: the token's user needs that module's role permissions.
- **get_single_omni_hr_admin_form_submission_by_id** — Get one form submission with its approval progress.
id comes from admin_form_submissions.list.
Omni forms module: the token's user needs that module's role permissions.
- **list_all_omni_hr_admin_forms** — List forms for administration, filtered by category, status and a search query (read via POST).
Not paginated.
Omni forms module: the token's user needs that module's role permissions.
- **get_single_omni_hr_admin_form_by_id** — Get a form's full admin configuration: details, form data, availability scope and approval rules.
id comes from admin_forms.list.
Omni forms module: the token's user needs that module's role permissions.
- **list_all_omni_hr_all_review_cycles** — List every performance review cycle as a lightweight id, name and org_id list.
Not paginated.
Omni performance module: the token's user needs that module's role permissions.
- **list_all_omni_hr_attendance_summaries** — Get an attendance summary per employee (total, work and overtime minutes) for the given work schedules, projects and date range. Required: work_schedule_ids, date_range_query, project_ids.
Not paginated.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni attendance module: the token's user needs that module's role permissions.
- **omni_hr_attendance_timesheets_download** — Download attendance timesheets for the given work schedules, projects and date range. Required: work_schedule_ids, date_range_query, project_ids.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Returns a file (binary), not JSON; Omni does not state the file type.
Omni attendance module: the token's user needs that module's role permissions.
- **list_all_omni_hr_bank_countries** — List countries and whether Omni has bank data for them (show_full_list is required).
Not paginated.
Omni organization-settings module: the token's user needs that module's role permissions.
- **list_all_omni_hr_banks** — List the banks of a country (country_code is required; refresh_cache refreshes the cached list).
Not paginated.
Omni organization-settings module: the token's user needs that module's role permissions.
- **list_all_omni_hr_celebration_events** — List employee celebration events between start_date and end_date. Required: start_date, end_date.
Not paginated.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni employee module: the token's user needs that module's role permissions.
- **list_all_omni_hr_companies** — List the organization's companies.
Not paginated.
Each record has: id, name, is_deletable.
Omni organization module: the token's user needs that module's role permissions.
- **create_a_omni_hr_company** — Create a company in the organization structure (companies are referenced by employee job records). Required: name.
Omni organization module: the token's user needs that module's role permissions.
- **omni_hr_companies_bulk_create** — Create companies in bulk; the body is a JSON array of companies.
Returns: id, name, is_deletable, _delete, uid.
Omni organization module: the token's user needs that module's role permissions.
- **list_all_omni_hr_compensation_events** — List the compensation events (the event reasons used on compensation records).
Not paginated.
Omni organization-settings module: the token's user needs that module's role permissions.
- **list_all_omni_hr_compensation_frequencies** — List the compensation frequencies.
Not paginated.
Each record has: id, value.
Omni organization-settings module: the token's user needs that module's role permissions.
- **omni_hr_compensation_history_report_download** — Download the compensation history report: one row per employee compensation change (effective date, event reason, amount and currency).
Returns an XLSX file, not JSON.
Omni reports module: the token's user needs that module's role permissions.
- **list_all_omni_hr_compensation_types** — List the compensation types configured for the organization.
Not paginated.
Omni organization-settings module: the token's user needs that module's role permissions.
- **list_all_omni_hr_countries** — List the countries Omni supports; each entry is a pair of two strings (Omni does not name the elements).
Not paginated.
Omni organization-settings module: the token's user needs that module's role permissions.
- **list_all_omni_hr_currencies** — List the currencies Omni supports; each entry is a pair of two strings (Omni does not name the elements).
Not paginated.
Omni organization-settings module: the token's user needs that module's role permissions.
- **list_all_omni_hr_custom_report_data** — Generate a custom report from a template and return its rows as JSON (as_of_date sets the as-of date). Required: template_id.
Not paginated.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni reports module: the token's user needs that module's role permissions.
- **list_all_omni_hr_custom_report_fields** — List the fields available to custom reports.
Not paginated.
Each record has: id, name, type, is_mandatory, fields.
Omni reports module: the token's user needs that module's role permissions.
- **list_all_omni_hr_custom_report_templates** — List custom report templates.
Not paginated.
Each record has: id, name, description, selected_fields, filter_by, field_values_to_include, sort_by, report_type and more.
Omni reports module: the token's user needs that module's role permissions.
- **get_single_omni_hr_custom_report_template_by_id** — Get one custom report template.
id comes from custom_report_templates.list.
Omni reports module: the token's user needs that module's role permissions.
- **delete_a_omni_hr_custom_report_template_by_id** — Delete a custom report template.
id comes from custom_report_templates.list.
Omni reports module: the token's user needs that module's role permissions.
- **omni_hr_custom_report_templates_duplicate** — Duplicate a custom report template under a new name. Required: template_id, name.
Omni reports module: the token's user needs that module's role permissions.
- **list_all_omni_hr_departments** — List the organization's departments.
Not paginated.
Each record has: id, name, is_deletable.
Omni organization module: the token's user needs that module's role permissions.
- **create_a_omni_hr_department** — Create a department in the organization structure (departments are referenced by employee job records). Required: name.
Omni organization module: the token's user needs that module's role permissions.
- **omni_hr_departments_bulk_create** — Create departments in bulk; the body is a JSON array of departments.
Returns: id, name, is_deletable, _delete, uid.
Omni organization module: the token's user needs that module's role permissions.
- **list_all_omni_hr_dependent_types** — List the dependent types configured for the organization.
Not paginated.
Omni organization-settings module: the token's user needs that module's role permissions.
- **list_all_omni_hr_document_request_types** — List the document request types.
Not paginated.
Each record has: id, is_deletable, value, is_editable.
Omni organization-settings module: the token's user needs that module's role permissions.
- **list_all_omni_hr_document_types** — List the organization document types.
Not paginated.
Each record has: id, is_deletable, value.
Omni organization-settings module: the token's user needs that module's role permissions.
- **create_a_omni_hr_dynamic_organization_document** — Generate a document from editor-based content and send it to an employee with a due date for acknowledgement or signature; an optional countersigner can be included. Required: due_date, recipient, name, document_type, content, text_editor.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni organization-documents module: the token's user needs that module's role permissions.
- **update_a_omni_hr_employee_about_by_id** — Update an employee's About text (PATCH); id is the employee's user id.
Returns: about.
Omni employee module: the token's user needs that module's role permissions.
- **omni_hr_employee_about_overwrite** — Replace an employee's About text (PUT); user_id is the employee's user id. Required: user_id (the employee's Omni user id).
Omni employee module: the token's user needs that module's role permissions.
- **list_all_omni_hr_employee_active_review_cycles** — List an employee's active performance review cycles. Required: user_id (the employee's Omni user id).
Paginated (up to 30 per page via limit); pass next_cursor to get the next page.
Omni requires user_id both in the path and as a query parameter; Truto sends the same value in both.
Omni performance module: the token's user needs that module's role permissions.
- **list_all_omni_hr_employee_addresses** — List an employee's addresses. Required: user_id (the employee's Omni user id).
Not paginated.
Omni employee module: the token's user needs that module's role permissions.
- **create_a_omni_hr_employee_address** — Add an address for an employee. Required: user_id (the employee's Omni user id).
Omni employee module: the token's user needs that module's role permissions.
- **list_all_omni_hr_employee_adhoc_pay_items** — List an employee's one-off (ad hoc) compensation items (show_historical includes past items). Required: user_id (the employee's Omni user id).
Not paginated.
Omni employee module: the token's user needs that module's role permissions.
- **get_single_omni_hr_employee_adhoc_pay_item_by_id** — Get one of an employee's one-off pay items by id. Required: user_id (the employee's Omni user id).
id comes from employee_adhoc_pay_items.list.
Omni employee module: the token's user needs that module's role permissions.
- **create_a_omni_hr_employee_adhoc_pay_item** — Add a one-off pay item for an employee. Required: user_id (the employee's Omni user id), frequency_id, effective_start_date, amount, amount_currency, pay_type_id, amount_type.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni employee module: the token's user needs that module's role permissions.
- **update_a_omni_hr_employee_adhoc_pay_item_by_id** — Partially update one of an employee's one-off pay items (PATCH). Required: user_id (the employee's Omni user id), frequency_id, effective_start_date, amount, amount_currency, pay_type_id, amount_type.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
id comes from employee_adhoc_pay_items.list.
Omni employee module: the token's user needs that module's role permissions.
- **omni_hr_employee_adhoc_pay_items_overwrite** — Replace one of an employee's one-off pay items (PUT: send the full record); adhoc_item_id is the one-off pay item id. Required: user_id (the employee's Omni user id), adhoc_item_id, frequency_id, effective_start_date, amount, amount_currency, pay_type_id, amount_type.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni employee module: the token's user needs that module's role permissions.
- **delete_a_omni_hr_employee_adhoc_pay_item_by_id** — Delete one of an employee's one-off pay items. Required: user_id (the employee's Omni user id).
id comes from employee_adhoc_pay_items.list.
Omni employee module: the token's user needs that module's role permissions.
- **list_all_omni_hr_employee_bank_accounts** — List an employee's bank accounts. Required: user_id (the employee's Omni user id).
Not paginated.
Omni employee module: the token's user needs that module's role permissions.
- **get_single_omni_hr_employee_bank_account_by_id** — Get one of an employee's bank accounts by id. Required: user_id (the employee's Omni user id).
id comes from employee_bank_accounts.list.
Omni employee module: the token's user needs that module's role permissions.
- **create_a_omni_hr_employee_bank_account** — Add a bank account for an employee. Required: user_id (the employee's Omni user id), user.
Omni employee module: the token's user needs that module's role permissions.
- **update_a_omni_hr_employee_bank_account_by_id** — Partially update one of an employee's bank accounts (PATCH). Required: user_id (the employee's Omni user id), user.
id comes from employee_bank_accounts.list.
Omni employee module: the token's user needs that module's role permissions.
- **omni_hr_employee_bank_accounts_overwrite** — Replace one of an employee's bank accounts (PUT: send the full record); bank_account_id is the bank account id. Required: user_id (the employee's Omni user id), bank_account_id, user.
Omni employee module: the token's user needs that module's role permissions.
- **delete_a_omni_hr_employee_bank_account_by_id** — Delete one of an employee's bank accounts. Required: user_id (the employee's Omni user id).
id comes from employee_bank_accounts.list.
Omni employee module: the token's user needs that module's role permissions.
- **list_all_omni_hr_employee_bank_accounts_v_2** — Get an employee's bank information (v2) together with whether a change request is pending. Required: user_id (the employee's Omni user id).
Omni returns one object; Truto returns it as a one-item list.
Omni employee module: the token's user needs that module's role permissions.
- **get_single_omni_hr_employee_bank_accounts_v_2_by_id** — Get one of an employee's bank accounts (v2) by id. Required: user_id (the employee's Omni user id).
id comes from employee_bank_accounts_v2.list.
Omni employee module: the token's user needs that module's role permissions.
- **delete_a_omni_hr_employee_bank_accounts_v_2_by_id** — Delete one of an employee's bank accounts (v2). Required: user_id (the employee's Omni user id).
id comes from employee_bank_accounts_v2.list.
Omni employee module: the token's user needs that module's role permissions.
- **get_single_omni_hr_employee_base_datum_by_id** — Get an employee's basic personal details (names, date of birth, gender, marital status, nationality); id is the employee's user id.
Omni employee module: the token's user needs that module's role permissions.
- **update_a_omni_hr_employee_base_datum_by_id** — Partially update an employee's basic personal details (PATCH); id is the employee's user id. Required: first_name, last_name.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni employee module: the token's user needs that module's role permissions.
- **omni_hr_employee_base_data_overwrite** — Replace an employee's basic personal details (PUT: send the full record); user_id is the employee's user id. Required: user_id (the employee's Omni user id), first_name, last_name.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni employee module: the token's user needs that module's role permissions.
- **get_single_omni_hr_employee_base_data_v_2_by_id** — Get an employee's basic personal details (v2), together with whether a change request is pending; id is the employee's user id.
Omni employee module: the token's user needs that module's role permissions.
- **list_all_omni_hr_employee_base_salaries** — List an employee's base salary records (show_historical includes past records). Required: user_id (the employee's Omni user id).
Not paginated.
Omni employee module: the token's user needs that module's role permissions.
- **get_single_omni_hr_employee_base_salary_by_id** — Get one of an employee's base salary records by id. Required: user_id (the employee's Omni user id).
id comes from employee_base_salaries.list.
Omni employee module: the token's user needs that module's role permissions.
- **create_a_omni_hr_employee_base_salary** — Add a base salary record for an employee. Required: user_id (the employee's Omni user id), frequency_id, effective_start_date, amount, amount_currency.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni employee module: the token's user needs that module's role permissions.
- **update_a_omni_hr_employee_base_salary_by_id** — Partially update one of an employee's base salary records (PATCH). Required: user_id (the employee's Omni user id), frequency_id, effective_start_date, amount, amount_currency.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
id comes from employee_base_salaries.list.
Omni employee module: the token's user needs that module's role permissions.
- **omni_hr_employee_base_salaries_overwrite** — Replace one of an employee's base salary records (PUT: send the full record); base_salary_id is the base salary record id. Required: user_id (the employee's Omni user id), base_salary_id, frequency_id, effective_start_date, amount, amount_currency.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni employee module: the token's user needs that module's role permissions.
- **delete_a_omni_hr_employee_base_salary_by_id** — Delete one of an employee's base salary records. Required: user_id (the employee's Omni user id).
id comes from employee_base_salaries.list.
Omni employee module: the token's user needs that module's role permissions.
- **get_single_omni_hr_employee_calendar_feed_by_id** — Get an employee calendar feed by its uuid (see employee_calendars); id is the feed's uuid.
Omni documents the response as a file and lists JSON and text/calendar (iCalendar) as its types.
Omni employee module: the token's user needs that module's role permissions.
- **list_all_omni_hr_employee_calendars** — List an employee's calendar feeds. Required: user_id (the employee's Omni user id).
Not paginated.
Omni employee module: the token's user needs that module's role permissions.
- **get_single_omni_hr_employee_calendar_by_id** — Get one of an employee's calendar feeds by id. Required: user_id (the employee's Omni user id).
id comes from employee_calendars.list.
Omni employee module: the token's user needs that module's role permissions.
- **create_a_omni_hr_employee_calendar** — Add a calendar feed for an employee. Required: user_id (the employee's Omni user id), configuration.
Omni employee module: the token's user needs that module's role permissions.
- **update_a_omni_hr_employee_calendar_by_id** — Partially update one of an employee's calendar feeds (PATCH). Required: user_id (the employee's Omni user id), configuration.
id comes from employee_calendars.list.
Omni employee module: the token's user needs that module's role permissions.
- **omni_hr_employee_calendars_overwrite** — Replace one of an employee's calendar feeds (PUT: send the full record); calendar_id is the calendar feed id. Required: user_id (the employee's Omni user id), calendar_id, configuration.
Omni employee module: the token's user needs that module's role permissions.
- **delete_a_omni_hr_employee_calendar_by_id** — Delete one of an employee's calendar feeds. Required: user_id (the employee's Omni user id).
id comes from employee_calendars.list.
Omni employee module: the token's user needs that module's role permissions.
- **omni_hr_employee_calendars_invalidate** — Invalidate an employee's calendar feed (POST, no body); Omni returns the resulting calendar record. Required: user_id (the employee's Omni user id).
Omni employee module: the token's user needs that module's role permissions.
- **list_all_omni_hr_employee_career_journey** — List an employee's career journey (position and department by month and year). Required: user_id (the employee's Omni user id).
Not paginated.
Omni employee module: the token's user needs that module's role permissions.
- **list_all_omni_hr_employee_compensations** — List an employee's compensation records. Required: user_id (the employee's Omni user id).
Not paginated.
Omni employee module: the token's user needs that module's role permissions.
- **get_single_omni_hr_employee_compensation_by_id** — Get one of an employee's compensation records by id. Required: user_id (the employee's Omni user id).
id comes from employee_compensations.list.
Omni employee module: the token's user needs that module's role permissions.
- **create_a_omni_hr_employee_compensation** — Add a compensation record for an employee. Required: user_id (the employee's Omni user id), user, effective_date, compensation_items.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni employee module: the token's user needs that module's role permissions.
- **update_a_omni_hr_employee_compensation_by_id** — Partially update one of an employee's compensation records (PATCH). Required: user_id (the employee's Omni user id), user, effective_date, compensation_items.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
id comes from employee_compensations.list.
Omni employee module: the token's user needs that module's role permissions.
- **omni_hr_employee_compensations_overwrite** — Replace one of an employee's compensation records (PUT: send the full record); compensation_id is the compensation record id. Required: user_id (the employee's Omni user id), compensation_id, user, effective_date, compensation_items.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni employee module: the token's user needs that module's role permissions.
- **delete_a_omni_hr_employee_compensation_by_id** — Delete one of an employee's compensation records. Required: user_id (the employee's Omni user id).
id comes from employee_compensations.list.
Omni employee module: the token's user needs that module's role permissions.
- **list_all_omni_hr_employee_dependents** — List an employee's dependents. Required: user_id (the employee's Omni user id).
Not paginated.
Omni employee module: the token's user needs that module's role permissions.
- **create_a_omni_hr_employee_dependent** — Add a dependent for an employee. Required: user_id (the employee's Omni user id).
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni employee module: the token's user needs that module's role permissions.
- **list_all_omni_hr_employee_direct_reports** — List an employee's direct reports. Required: user_id (the employee's Omni user id).
Not paginated.
Omni employee module: the token's user needs that module's role permissions.
- **create_a_omni_hr_employee_document_bulk_upload** — Upload one file (file upload, form field: file) holding documents for many employees; strategy sets how files are matched to employees and document_request_type the document type they are filed under (photo types are not allowed). Required: strategy, document_request_type.
Omni employee module: the token's user needs that module's role permissions.
- **get_single_omni_hr_employee_document_download_by_id** — Get a download link for one of an employee's documents; id is the document id. Required: user_id (the employee's Omni user id).
Omni employee module: the token's user needs that module's role permissions.
- **list_all_omni_hr_employee_documents** — List an employee's documents, sorted by document type then file name (document_request_id filters to one document request). Required: user_id (the employee's Omni user id).
Not paginated.
Omni employee module: the token's user needs that module's role permissions.
- **list_all_omni_hr_employee_emails** — List an employee's email addresses. Required: user_id (the employee's Omni user id).
Not paginated.
Omni employee module: the token's user needs that module's role permissions.
- **create_a_omni_hr_employee_email** — Add an email address for an employee. Required: user_id (the employee's Omni user id).
Omni employee module: the token's user needs that module's role permissions.
- **list_all_omni_hr_employee_emergency_contacts** — List an employee's emergency contacts. Required: user_id (the employee's Omni user id).
Not paginated.
Omni employee module: the token's user needs that module's role permissions.
- **create_a_omni_hr_employee_emergency_contact** — Add an emergency contact for an employee. Required: user_id (the employee's Omni user id).
Omni employee module: the token's user needs that module's role permissions.
- **get_single_omni_hr_employee_employment_info_by_id** — Get an employee's general employment information (status, hired and termination dates, leaving-country flag); id is the employee's user id.
Omni employee module: the token's user needs that module's role permissions.
- **update_a_omni_hr_employee_employment_info_by_id** — Partially update an employee's general employment information (PATCH); id is the employee's user id. Required: hired_date.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni employee module: the token's user needs that module's role permissions.
- **omni_hr_employee_employment_info_overwrite** — Replace an employee's general employment information (PUT: send the full record); user_id is the employee's user id. Required: user_id (the employee's Omni user id), hired_date.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni employee module: the token's user needs that module's role permissions.
- **list_all_omni_hr_employee_expense_category_policy_tree** — List the expense categories and policies that apply to an employee (policy tree). Required: user_id (the employee's Omni user id).
Not paginated.
Omni expense module: the token's user needs that module's role permissions.
- **get_single_omni_hr_employee_expense_form_config_by_id** — Get the expense form configuration of one policy for an employee (form, instructions, entitlement); id is the policy id. Required: receipt_date, user_id (the employee's Omni user id).
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni expense module: the token's user needs that module's role permissions.
- **get_single_omni_hr_employee_expense_overview_by_id** — Get an employee's expense overview per category (reimbursed, approved, for approval) for a date range; id is the employee's user id. Required: start_date, end_date, date_range_type.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni employee module: the token's user needs that module's role permissions.
- **get_single_omni_hr_employee_expense_policy_by_id** — Get an employee's expense policies with their user-policy details; id is the employee's user id. Required: has_ongoing_user_policy.
Omni expense module: the token's user needs that module's role permissions.
- **list_all_omni_hr_employee_expense_records** — List an employee's expense records in a date range (status_filters narrows by status). Required: start_date, end_date, date_range_type, user_id (the employee's Omni user id).
Paginated (up to 30 per page via limit); pass next_cursor to get the next page.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni employee module: the token's user needs that module's role permissions.
- **list_all_omni_hr_employee_filter_options** — Get the filter options for the employee list: locations, positions, departments, companies, teams and statuses.
Omni returns one object; Truto returns it as a one-item list.
Omni employee module: the token's user needs that module's role permissions.
- **list_all_omni_hr_employee_goal_reviews** — Get an employee's goal review for a goal phase (phase_id is required). Required: user_id (the employee's Omni user id).
Omni returns one object; Truto returns it as a one-item list.
Omni performance module: the token's user needs that module's role permissions.
- **list_all_omni_hr_employee_holiday_calendars** — List an employee's holiday-calendar assignments. Required: user_id (the employee's Omni user id).
Not paginated.
Omni employee module: the token's user needs that module's role permissions.
- **get_single_omni_hr_employee_holiday_calendar_by_id** — Get one of an employee's holiday-calendar assignments by id. Required: user_id (the employee's Omni user id).
id comes from employee_holiday_calendars.list.
Omni employee module: the token's user needs that module's role permissions.
- **create_a_omni_hr_employee_holiday_calendar** — Add a holiday-calendar assignment for an employee. Required: user_id (the employee's Omni user id), effective_date.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni employee module: the token's user needs that module's role permissions.
- **update_a_omni_hr_employee_holiday_calendar_by_id** — Partially update one of an employee's holiday-calendar assignments (PATCH). Required: user_id (the employee's Omni user id), effective_date.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
id comes from employee_holiday_calendars.list.
Omni employee module: the token's user needs that module's role permissions.
- **omni_hr_employee_holiday_calendars_overwrite** — Replace one of an employee's holiday-calendar assignments (PUT: send the full record); user_holiday_calendar_id is the holiday-calendar assignment id. Required: user_id (the employee's Omni user id), user_holiday_calendar_id, effective_date.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni employee module: the token's user needs that module's role permissions.
- **delete_a_omni_hr_employee_holiday_calendar_by_id** — Delete one of an employee's holiday-calendar assignments. Required: user_id (the employee's Omni user id).
id comes from employee_holiday_calendars.list.
Omni employee module: the token's user needs that module's role permissions.
- **list_all_omni_hr_employee_identity_documents** — List an employee's ID and visa records. Required: user_id (the employee's Omni user id).
Not paginated.
Omni employee module: the token's user needs that module's role permissions.
- **get_single_omni_hr_employee_identity_document_by_id** — Get one of an employee's ID and visa records by id. Required: user_id (the employee's Omni user id).
id comes from employee_identity_documents.list.
Omni employee module: the token's user needs that module's role permissions.
- **create_a_omni_hr_employee_identity_document** — Add an ID or visa record for an employee. Required: user_id (the employee's Omni user id), user, effective_date, id_information_items.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni employee module: the token's user needs that module's role permissions.
- **update_a_omni_hr_employee_identity_document_by_id** — Partially update one of an employee's ID and visa records (PATCH). Required: user_id (the employee's Omni user id), user, effective_date, id_information_items.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
id comes from employee_identity_documents.list.
Omni employee module: the token's user needs that module's role permissions.
- **omni_hr_employee_identity_documents_overwrite** — Replace one of an employee's ID and visa records (PUT: send the full record); id_information_id is the ID or visa record id. Required: user_id (the employee's Omni user id), id_information_id, user, effective_date, id_information_items.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni employee module: the token's user needs that module's role permissions.
- **delete_a_omni_hr_employee_identity_document_by_id** — Delete one of an employee's ID and visa records. Required: user_id (the employee's Omni user id).
id comes from employee_identity_documents.list.
Omni employee module: the token's user needs that module's role permissions.
- **omni_hr_employee_import_template_download** — Download the spreadsheet template for bulk-creating employees.
Returns an XLSX file, not JSON.
Omni employee module: the token's user needs that module's role permissions.
- **list_all_omni_hr_employee_important_dates** — Get an employee's important dates (hired, termination, probation end and custom dates). Required: user_id (the employee's Omni user id).
Omni returns one object; Truto returns it as a one-item list.
Omni employee module: the token's user needs that module's role permissions.
- **create_a_omni_hr_employee_import** — Import employee data from an uploaded XLSX or CSV file (file upload, form field: file); file_type selects the kind of import and files with other extensions are rejected.
Omni employee module: the token's user needs that module's role permissions.
- **list_all_omni_hr_employee_job_action_options** — List the job-related quick-action options available for an employee. Required: user_id (the employee's Omni user id).
Not paginated.
Omni employee module: the token's user needs that module's role permissions.
- **list_all_omni_hr_employee_jobs** — List an employee's job records. Required: user_id (the employee's Omni user id).
Not paginated.
Omni employee module: the token's user needs that module's role permissions.
- **get_single_omni_hr_employee_job_by_id** — Get one of an employee's job records by id. Required: user_id (the employee's Omni user id).
id comes from employee_jobs.list.
Omni employee module: the token's user needs that module's role permissions.
- **create_a_omni_hr_employee_job** — Add a job record for an employee. Required: user_id (the employee's Omni user id), effective_date.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni employee module: the token's user needs that module's role permissions.
- **omni_hr_employee_jobs_overwrite** — Replace one of an employee's job records (PUT: send the full record); job_id is the job record id. Required: user_id (the employee's Omni user id), job_id, effective_date.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni employee module: the token's user needs that module's role permissions.
- **delete_a_omni_hr_employee_job_by_id** — Delete one of an employee's job records. Required: user_id (the employee's Omni user id).
id comes from employee_jobs.list.
Omni employee module: the token's user needs that module's role permissions.
- **list_all_omni_hr_employee_localization_settings** — Get an employee's localization settings (language, currency, timezone). Required: user_id (the employee's Omni user id).
Omni returns one object; Truto returns it as a one-item list.
Omni employee module: the token's user needs that module's role permissions.
- **update_a_omni_hr_employee_localization_setting_by_id** — Set an employee's localization settings (language, currency and timezone are all required); id is the employee's user id.
Omni employee module: the token's user needs that module's role permissions.
- **delete_a_omni_hr_employee_localization_setting_by_id** — Delete an employee's localization settings; id is the employee's user id.
Omni employee module: the token's user needs that module's role permissions.
- **list_all_omni_hr_employee_manager_history** — List an employee's manager-history entries. Required: user_id (the employee's Omni user id).
Not paginated.
Omni employee module: the token's user needs that module's role permissions.
- **get_single_omni_hr_employee_manager_history_by_id** — Get one of an employee's manager-history entries by id. Required: user_id (the employee's Omni user id).
id comes from employee_manager_history.list.
Omni employee module: the token's user needs that module's role permissions.
- **create_a_omni_hr_employee_manager_history** — Add a manager-history entry for an employee. Required: user_id (the employee's Omni user id), effective_date, user.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni employee module: the token's user needs that module's role permissions.
- **update_a_omni_hr_employee_manager_history_by_id** — Partially update one of an employee's manager-history entries (PATCH). Required: user_id (the employee's Omni user id), effective_date, user.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
id comes from employee_manager_history.list.
Omni employee module: the token's user needs that module's role permissions.
- **omni_hr_employee_manager_history_overwrite** — Replace one of an employee's manager-history entries (PUT: send the full record); manager_history_id is the manager-history entry id. Required: user_id (the employee's Omni user id), manager_history_id, effective_date, user.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni employee module: the token's user needs that module's role permissions.
- **delete_a_omni_hr_employee_manager_history_by_id** — Delete one of an employee's manager-history entries. Required: user_id (the employee's Omni user id).
id comes from employee_manager_history.list.
Omni employee module: the token's user needs that module's role permissions.
- **get_single_omni_hr_employee_onboarding_task_by_id** — Get an employee's onboarding tasks with per-category task counts; id is the employee's user id.
Omni onboarding module: the token's user needs that module's role permissions.
- **list_all_omni_hr_employee_organization_documents** — List the organization documents sent to an employee. Required: user_id (the employee's Omni user id).
Not paginated.
Omni organization-documents module: the token's user needs that module's role permissions.
- **get_single_omni_hr_employee_organization_document_by_id** — Get one of the organization documents sent to an employee. Required: user_id (the employee's Omni user id).
id comes from employee_organization_documents.list.
Omni organization-documents module: the token's user needs that module's role permissions.
- **create_a_omni_hr_employee_organization_document** — Send organization documents to an employee; the body is a JSON array of documents. Required: user_id (the employee's Omni user id).
Omni organization-documents module: the token's user needs that module's role permissions.
- **list_all_omni_hr_employee_past_review_cycles** — List an employee's past performance review cycles. Required: user_id (the employee's Omni user id).
Paginated (up to 30 per page via limit); pass next_cursor to get the next page.
Omni requires user_id both in the path and as a query parameter; Truto sends the same value in both.
Omni performance module: the token's user needs that module's role permissions.
- **list_all_omni_hr_employee_payment_accounts** — List an employee's payment accounts. Required: user_id (the employee's Omni user id).
Not paginated.
Omni employee module: the token's user needs that module's role permissions.
- **get_single_omni_hr_employee_payment_account_by_id** — Get one of an employee's payment accounts by id. Required: user_id (the employee's Omni user id).
id comes from employee_payment_accounts.list.
Omni employee module: the token's user needs that module's role permissions.
- **create_a_omni_hr_employee_payment_account** — Add a payment account for an employee. Required: user_id (the employee's Omni user id), user.
Omni employee module: the token's user needs that module's role permissions.
- **update_a_omni_hr_employee_payment_account_by_id** — Partially update one of an employee's payment accounts (PATCH). Required: user_id (the employee's Omni user id), user.
id comes from employee_payment_accounts.list.
Omni employee module: the token's user needs that module's role permissions.
- **omni_hr_employee_payment_accounts_overwrite** — Replace one of an employee's payment accounts (PUT: send the full record); payment_account_id is the payment account id. Required: user_id (the employee's Omni user id), payment_account_id, user.
Omni employee module: the token's user needs that module's role permissions.
- **delete_a_omni_hr_employee_payment_account_by_id** — Delete one of an employee's payment accounts. Required: user_id (the employee's Omni user id).
id comes from employee_payment_accounts.list.
Omni employee module: the token's user needs that module's role permissions.
- **get_single_omni_hr_employee_payroll_enrollment_by_id** — Get an employee's payroll enrollment status and payroll country; id is the employee's user id.
Omni payroll module: the token's user needs that module's role permissions.
- **get_single_omni_hr_employee_payslip_download_by_id** — Get a download link for one of an employee's payslips; id is the payslip id. Required: user_id (the employee's Omni user id).
Omni payroll module: the token's user needs that module's role permissions.
- **get_single_omni_hr_employee_payslip_ref_download_by_id** — Get a download link for an employee's payslip by data source and payslip reference; id is the payslip reference id. Required: user_id (the employee's Omni user id), data_source.
Omni payroll module: the token's user needs that module's role permissions.
- **list_all_omni_hr_employee_payslips** — List an employee's payslips (year filters by year). Required: user_id (the employee's Omni user id).
Not paginated.
Omni payroll module: the token's user needs that module's role permissions.
- **list_all_omni_hr_employee_peers** — List an employee's peers. Required: user_id (the employee's Omni user id).
Not paginated.
Omni employee module: the token's user needs that module's role permissions.
- **get_single_omni_hr_employee_pending_expense_count_by_id** — Get an employee's pending expense counts (reimbursements, approvals, total); id is the employee's user id.
Omni expense module: the token's user needs that module's role permissions.
- **list_all_omni_hr_employee_phones** — List an employee's phone numbers. Required: user_id (the employee's Omni user id).
Not paginated.
Omni employee module: the token's user needs that module's role permissions.
- **create_a_omni_hr_employee_phone** — Add a phone number for an employee. Required: user_id (the employee's Omni user id).
Omni employee module: the token's user needs that module's role permissions.
- **get_single_omni_hr_employee_placeholder_context_by_id** — Get the placeholder context object for an employee; id is the employee's user id. Omni does not publish its fields.
Omni employee module: the token's user needs that module's role permissions.
- **get_single_omni_hr_employee_probation_by_id** — Get an employee's probation and notice-period details; id is the employee's user id.
Omni employee module: the token's user needs that module's role permissions.
- **update_a_omni_hr_employee_probation_by_id** — Partially update an employee's probation and notice-period details (PATCH); id is the employee's user id. Required: probation_period_number.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni employee module: the token's user needs that module's role permissions.
- **omni_hr_employee_probation_overwrite** — Replace an employee's probation and notice-period details (PUT: send the full record); user_id is the employee's user id. Required: user_id (the employee's Omni user id), probation_period_number.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni employee module: the token's user needs that module's role permissions.
- **list_all_omni_hr_employee_recurring_pay_items** — List an employee's recurring compensation items (show_historical includes past items). Required: user_id (the employee's Omni user id).
Not paginated.
Omni employee module: the token's user needs that module's role permissions.
- **get_single_omni_hr_employee_recurring_pay_item_by_id** — Get one of an employee's recurring pay items by id. Required: user_id (the employee's Omni user id).
id comes from employee_recurring_pay_items.list.
Omni employee module: the token's user needs that module's role permissions.
- **create_a_omni_hr_employee_recurring_pay_item** — Add a recurring pay item for an employee. Required: user_id (the employee's Omni user id), frequency_id, effective_start_date, amount, amount_currency, pay_type_id, amount_type.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni employee module: the token's user needs that module's role permissions.
- **update_a_omni_hr_employee_recurring_pay_item_by_id** — Partially update one of an employee's recurring pay items (PATCH). Required: user_id (the employee's Omni user id), frequency_id, effective_start_date, amount, amount_currency, pay_type_id, amount_type.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
id comes from employee_recurring_pay_items.list.
Omni employee module: the token's user needs that module's role permissions.
- **omni_hr_employee_recurring_pay_items_overwrite** — Replace one of an employee's recurring pay items (PUT: send the full record); recurring_item_id is the recurring pay item id. Required: user_id (the employee's Omni user id), recurring_item_id, frequency_id, effective_start_date, amount, amount_currency, pay_type_id, amount_type.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni employee module: the token's user needs that module's role permissions.
- **delete_a_omni_hr_employee_recurring_pay_item_by_id** — Delete one of an employee's recurring pay items. Required: user_id (the employee's Omni user id).
id comes from employee_recurring_pay_items.list.
Omni employee module: the token's user needs that module's role permissions.
- **omni_hr_employee_report_download** — Download the employee report; page and page_size select a page of employees.
Returns a CSV or XLSX file (Omni lists both), not JSON.
Omni employee module: the token's user needs that module's role permissions.
- **list_all_omni_hr_employee_schedules** — List an employee's work-schedule assignments. Required: user_id (the employee's Omni user id).
Not paginated.
Omni employee module: the token's user needs that module's role permissions.
- **get_single_omni_hr_employee_schedule_by_id** — Get one of an employee's work-schedule assignments by id. Required: user_id (the employee's Omni user id).
id comes from employee_schedules.list.
Omni employee module: the token's user needs that module's role permissions.
- **create_a_omni_hr_employee_schedule** — Add a work-schedule assignment for an employee. Required: user_id (the employee's Omni user id), effective_date.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni employee module: the token's user needs that module's role permissions.
- **update_a_omni_hr_employee_schedule_by_id** — Partially update one of an employee's work-schedule assignments (PATCH). Required: user_id (the employee's Omni user id), effective_date.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
id comes from employee_schedules.list.
Omni employee module: the token's user needs that module's role permissions.
- **omni_hr_employee_schedules_overwrite** — Replace one of an employee's work-schedule assignments (PUT: send the full record); user_schedule_id is the work-schedule assignment id. Required: user_id (the employee's Omni user id), user_schedule_id, effective_date.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni employee module: the token's user needs that module's role permissions.
- **delete_a_omni_hr_employee_schedule_by_id** — Delete one of an employee's work-schedule assignments. Required: user_id (the employee's Omni user id).
id comes from employee_schedules.list.
Omni employee module: the token's user needs that module's role permissions.
- **create_a_omni_hr_employee_self_serve_import** — Import employees through the self-serve importer (file upload, form fields: file_type and file).
Omni employee module: the token's user needs that module's role permissions.
- **get_single_omni_hr_employee_snapshot_by_id** — Get an employee's snapshot: career journey, manager, direct reports and peers; id is the employee's system id.
Omni employee module: the token's user needs that module's role permissions.
- **get_single_omni_hr_employee_task_count_by_id** — Get the number of an employee's tasks; id is the employee's user id.
Returns: result.
Omni employee module: the token's user needs that module's role permissions.
- **list_all_omni_hr_employee_tasks** — List an employee's tasks (filter with ordering, is_done and status; status takes comma-separated values). Required: user_id (the employee's Omni user id).
Paginated (up to 30 per page via limit); pass next_cursor to get the next page.
Truto always sends pagination=true, which Omni requires to return the paginated form.
Omni employee module: the token's user needs that module's role permissions.
- **get_single_omni_hr_employee_task_by_id** — Get one of an employee's tasks by id. Required: user_id (the employee's Omni user id).
id comes from employee_tasks.list.
Omni employee module: the token's user needs that module's role permissions.
- **list_all_omni_hr_employee_user_data_sections** — List an employee's custom data sections with their field values (include_preset adds Omni's preset sections). Required: user_id (the employee's Omni user id).
Not paginated.
Omni employee module: the token's user needs that module's role permissions.
- **omni_hr_employee_user_data_sections_save_values** — Save custom field values in one of an employee's data sections; the body is a JSON array of attribute/value pairs. Required: user_id (the employee's Omni user id), data_section_id.
Omni employee module: the token's user needs that module's role permissions.
- **list_all_omni_hr_employee_workflow_types** — List the workflow types that apply to an employee. Required: user_id (the employee's Omni user id).
Not paginated.
Omni organization-settings module: the token's user needs that module's role permissions.
- **list_all_omni_hr_employees** — List employees, with search, ordering and filters for location, position, department, company, team, employment status and hire-date range.
Paginated (up to 30 per page via limit); pass next_cursor to get the next page.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni employee module: the token's user needs that module's role permissions.
- **get_single_omni_hr_employee_by_id** — Get an employee's profile details; id is the employee's system id.
Returns: id, system_id, photo, first_name, last_name, preferred_name, full_name, primary_email and more.
Omni employee module: the token's user needs that module's role permissions.
- **create_a_omni_hr_employee** — Create an employee (unversioned payload: base data, emails, phones, IDs, addresses, emergency contacts, dependents, employment, manager, direct reports and more). Required: base_data, email_info, employment, job.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni employee module: the token's user needs that module's role permissions.
- **omni_hr_employees_validate** — Validate the unversioned employee-creation payload for one form step. Required: step, base_data, email_info, employment, job.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Deprecated by Omni: use employees_v1_1.validate.
Omni employee module: the token's user needs that module's role permissions.
- **list_all_omni_hr_employees_minimal** — List employees with minimal fields (for pickers), with search and the employee-list filters.
Not paginated.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni employee module: the token's user needs that module's role permissions.
- **list_all_omni_hr_employees_minimal_v_2** — List employees with minimal fields (for pickers), v2: the v1 filters plus exclude_not_started.
Not paginated.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni employee module: the token's user needs that module's role permissions.
- **create_a_omni_hr_employees_v_1_1** — Create an employee with the v1.1 payload (base data, emails, phones, IDs, addresses, emergency contacts, dependents, employment, manager, direct reports and more). Required: base_data, email_info, employment, job.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni employee module: the token's user needs that module's role permissions.
- **omni_hr_employees_v_1_1_validate** — Validate the v1.1 employee-creation payload for one form step (Omni's replacement for the deprecated employees.validate). Required: step, base_data, email_info, employment, job.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni employee module: the token's user needs that module's role permissions.
- **list_all_omni_hr_employment_types** — List the employment types.
Not paginated.
Each record has: id, is_deletable, value.
Omni organization-settings module: the token's user needs that module's role permissions.
- **list_all_omni_hr_expense_approvals** — List expense approvals (all), with search and location, department, position and policy filters.
Paginated (up to 30 per page via limit); pass next_cursor to get the next page.
Omni expense module: the token's user needs that module's role permissions.
- **get_single_omni_hr_expense_approval_by_id** — Get one expense approval with its approval progress; id is the approval id. Required: user_id (the employee's Omni user id).
Omni expense module: the token's user needs that module's role permissions.
- **create_a_omni_hr_expense_balance_adjustment** — Create a manual adjustment that increases or decreases an employee's remaining balance under an expense policy. Required: user_id (the employee's Omni user id), user_policy_id, entitlement, amount_currency, operation, amount.
Omni expense module: the token's user needs that module's role permissions.
- **list_all_omni_hr_expense_balance_histories** — List the balance history of an employee's expense policy. Required: user_id (the employee's Omni user id), user_policy_id.
Paginated (up to 30 per page via limit); pass next_cursor to get the next page.
Omni expense module: the token's user needs that module's role permissions.
- **list_all_omni_hr_expense_categories** — List expense categories with their policies (Omni documents the response as a single category object).
Not paginated.
Omni expense module: the token's user needs that module's role permissions.
- **create_a_omni_hr_expense_category** — Create an expense category. Required: category_name, color.
Returns: category_name, accounting_code, secondary_code, color.
Omni expense module: the token's user needs that module's role permissions.
- **list_all_omni_hr_expense_category_policy_tree** — List expense categories with the policies under each (policy tree).
Not paginated.
Omni expense module: the token's user needs that module's role permissions.
- **list_all_omni_hr_expense_dashboard** — Get the expense dashboard (aggregate expenses and the approval count); status filters it.
Omni returns one object; Truto returns it as a one-item list.
Omni expense module: the token's user needs that module's role permissions.
- **create_a_omni_hr_expense_document** — Upload a receipt or supporting document (file upload, form field file, plus optional expense_metadata_id to link it to an expense); files that are too large or in an unsupported format are rejected.
Omni expense module: the token's user needs that module's role permissions.
- **list_all_omni_hr_expense_fields** — List the expense form fields (custom_only limits to custom fields).
Not paginated.
Omni expense module: the token's user needs that module's role permissions.
- **get_single_omni_hr_expense_policy_by_id** — Get one expense policy with its details.
Returns: policy_name, effective_date, renewal_month, policy_instructions, status, user_groups, category, form and more.
Omni expense module: the token's user needs that module's role permissions.
- **list_all_omni_hr_expense_policy_assignees** — List the employees assigned to an expense policy. Required: policy_id.
Not paginated.
Omni expense module: the token's user needs that module's role permissions.
- **list_all_omni_hr_expense_reimbursements** — List expense reimbursements (all), with search, status, location, position, department, approval-date and policy filters.
Paginated (up to 30 per page via limit); pass next_cursor to get the next page.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni expense module: the token's user needs that module's role permissions.
- **get_single_omni_hr_expense_reimbursement_by_id** — Get one expense reimbursement with its multi-level approval progress; id is the expense id.
Omni expense module: the token's user needs that module's role permissions.
- **list_all_omni_hr_expense_submissions** — List submitted expenses organization-wide, with search, status, location, department, company, country, position, date-range and policy filters.
Paginated (up to 30 per page via limit); pass next_cursor to get the next page.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni expense module: the token's user needs that module's role permissions.
- **list_all_omni_hr_expense_submissions_v_2** — List submitted expenses (v2) with their current approvers; status_filters takes comma-separated statuses.
Paginated (up to 30 per page via limit); pass next_cursor to get the next page.
Omni's spec shows a different response wrapper; Truto unwraps the list the way Omni's web app reads it.
Omni expense module: the token's user needs that module's role permissions.
- **get_single_omni_hr_expense_by_id** — Get one of an employee's expenses with its approval progress; id is the expense id. Required: user_id (the employee's Omni user id).
Omni expense module: the token's user needs that module's role permissions.
- **omni_hr_expenses_save_draft** — Create an expense in draft status without submitting it for approval (drafts can be edited and submitted later). Required: fields.
Omni expense module: the token's user needs that module's role permissions.
- **omni_hr_expenses_submit** — Create an expense and submit it for approval, or submit a previously saved draft; the expense enters the configured approval flow. Required: fields.
Omni expense module: the token's user needs that module's role permissions.
- **list_all_omni_hr_form_categories** — List form categories for a mode (the mode path segment; Omni does not enumerate its values). Required: mode.
Not paginated.
Omni forms module: the token's user needs that module's role permissions.
- **list_all_omni_hr_form_submission_approvals** — List form-submission approvals (filter_pending_self_approval: boolean filter which, by its name, keeps the approvals pending on you).
Paginated (up to 30 per page via limit); pass next_cursor to get the next page.
Omni forms module: the token's user needs that module's role permissions.
- **delete_a_omni_hr_form_submission_by_id** — Delete one of the token user's own form submissions (Omni's web app calls this from My submissions); id is the submission id from my_form_submissions.list.
Omni does not document the response.
Omni forms module: the token's user needs that module's role permissions.
- **list_all_omni_hr_forms** — List the forms available to the token user, filtered by category and a search query (read via POST).
Not paginated.
Omni forms module: the token's user needs that module's role permissions.
- **get_single_omni_hr_form_by_id** — Get a form with its fields for filling in.
id comes from forms.list.
Returns: form_id, name, description, form_data.
Omni forms module: the token's user needs that module's role permissions.
- **omni_hr_forms_submit** — Submit a filled-in form (component values and plugin values). Required: form_id, component_values, plugin_values.
Omni does not document the response.
Omni forms module: the token's user needs that module's role permissions.
- **list_all_omni_hr_genders** — List the gender options.
Not paginated.
Each record has: id, is_deletable, value.
Omni organization-settings module: the token's user needs that module's role permissions.
- **list_all_omni_hr_global_search** — Search Omni by keyword; only employees are searchable today (modules=employee), so the matching employees are returned.
Not paginated.
Omni employee module: the token's user needs that module's role permissions.
- **omni_hr_goal_import_template_download** — Download the spreadsheet template for importing goals (levels is required).
Returns an XLSX file, not JSON.
Omni performance module: the token's user needs that module's role permissions.
- **create_a_omni_hr_goal_import** — Import goals into a performance phase from a file (file upload, form field: file). Required: phase_id.
Omni does not publish the response schema.
Omni performance module: the token's user needs that module's role permissions.
- **create_a_omni_hr_goal_phase_report** — Request the report of a goal phase (POST, no body). Required: phase_id.
Omni does not publish the response schema.
Omni performance module: the token's user needs that module's role permissions.
- **get_single_omni_hr_goal_review_document_by_id** — Get a download link for one of a goal review's documents; id is the document id. Required: review_id.
Omni performance module: the token's user needs that module's role permissions.
- **get_single_omni_hr_goal_review_goal_by_id** — Get one goal of a goal review with its progress details; id is the goal id. Required: review_id.
Omni performance module: the token's user needs that module's role permissions.
- **get_single_omni_hr_goal_review_by_id** — Get one goal review with its phase details.
Returns: reviewee_id, reviewer_id, phase_type, phase_status, start_date, end_date, goal_review_details, phase_details and more.
Omni performance module: the token's user needs that module's role permissions.
- **create_a_omni_hr_historical_payslip_import** — Import a ZIP archive of payslip files into employees' payslip history (file upload, form field: file); strategy sets how file names are matched to employees (exact name, or name followed by extra text). Required: strategy.
Omni payroll module: the token's user needs that module's role permissions.
- **list_all_omni_hr_holiday_calendars** — List the organization's holiday calendars.
Not paginated.
Each record has: id, name, country_code, type, days_count, is_deletable, holiday_items, temporary_imported_items.
Omni organization-settings module: the token's user needs that module's role permissions.
- **get_single_omni_hr_holiday_calendar_by_id** — Get one holiday calendar with its holiday items.
id comes from holiday_calendars.list.
Omni organization-settings module: the token's user needs that module's role permissions.
- **create_a_omni_hr_holiday_calendar** — Create a holiday calendar. Required: name.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni organization-settings module: the token's user needs that module's role permissions.
- **update_a_omni_hr_holiday_calendar_by_id** — Partially update a holiday calendar (PATCH). Required: name.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
id comes from holiday_calendars.list.
Omni organization-settings module: the token's user needs that module's role permissions.
- **omni_hr_holiday_calendars_overwrite** — Replace a holiday calendar (PUT: send the full record); holiday_calendar_id is the calendar id. Required: holiday_calendar_id, name.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni organization-settings module: the token's user needs that module's role permissions.
- **delete_a_omni_hr_holiday_calendar_by_id** — Delete a holiday calendar.
id comes from holiday_calendars.list.
Omni organization-settings module: the token's user needs that module's role permissions.
- **omni_hr_holiday_calendars_refresh** — Refresh a holiday calendar imported from Calendarific (one with a country code); only the current and future years are refreshed. Omni returns the refreshed calendar. Required: holiday_calendar_id, name.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni organization-settings module: the token's user needs that module's role permissions.
- **list_all_omni_hr_holiday_items** — List a holiday calendar's holiday items (year filters by year). Required: holiday_calendar_id.
Not paginated.
Omni organization-settings module: the token's user needs that module's role permissions.
- **update_a_omni_hr_holiday_item_by_id** — Partially update a holiday item (PATCH); id is the holiday item id. Required: holiday_calendar_id, name, date_from, day_type_from.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni organization-settings module: the token's user needs that module's role permissions.
- **omni_hr_holiday_items_overwrite** — Replace a holiday item (PUT: send the full record); holiday_item_id is the item id. Required: holiday_calendar_id, holiday_item_id, name, date_from, day_type_from.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni organization-settings module: the token's user needs that module's role permissions.
- **list_all_omni_hr_id_info_types** — List the ID information types configured for the organization.
Not paginated.
Omni organization-settings module: the token's user needs that module's role permissions.
- **list_all_omni_hr_id_types** — List the ID document types Omni offers on employee profiles (Omni says they are grouped by country; the spec types each entry as a plain string).
Not paginated.
Omni employee module: the token's user needs that module's role permissions.
- **list_all_omni_hr_important_date_reminders** — List the important-date reminder settings.
Not paginated.
Each record has: id, remind_before_amount, remind_before_period, email_notification, reminder_event, recipient.
Omni organization-settings module: the token's user needs that module's role permissions.
- **get_single_omni_hr_important_date_reminder_by_id** — Get one important-date reminder setting.
id comes from important_date_reminders.list.
Omni organization-settings module: the token's user needs that module's role permissions.
- **list_all_omni_hr_information_update_approvals** — List approvals for employee information-update requests (filter_pending_self_approval: boolean filter which, by its name, keeps the approvals pending on you).
Paginated (up to 30 per page via limit); pass next_cursor to get the next page.
Omni employee module: the token's user needs that module's role permissions.
- **omni_hr_job_history_report_download** — Download the job history report: one row per employee job change (effective date, event reason, company, department, position, location).
Returns an XLSX file, not JSON.
Omni reports module: the token's user needs that module's role permissions.
- **omni_hr_job_manager_compensation_report_download** — Download the job, manager and compensation report as of a date (date is required).
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Returns an XLSX file, not JSON.
Omni reports module: the token's user needs that module's role permissions.
- **list_all_omni_hr_languages** — List the languages (code and name).
Not paginated.
Each record has: code, name.
Omni organization-settings module: the token's user needs that module's role permissions.
- **list_all_omni_hr_locations** — List the organization's locations.
Not paginated.
Each record has: id, country, address, name.
Omni organization module: the token's user needs that module's role permissions.
- **get_single_omni_hr_location_by_id** — Get one location.
id comes from locations.list.
Returns: id, country, address, name.
Omni organization module: the token's user needs that module's role permissions.
- **create_a_omni_hr_location** — Create a location (country, address and name). Required: country, address, name.
Omni organization module: the token's user needs that module's role permissions.
- **delete_a_omni_hr_location_by_id** — Delete a location from the organization structure (locations are referenced by employee job records).
id comes from locations.list.
Omni organization module: the token's user needs that module's role permissions.
- **list_all_omni_hr_my_form_access** — Get whether the token user is a form editor (editors manage forms in the admin views).
Omni returns one object; Truto returns it as a one-item list.
Omni forms module: the token's user needs that module's role permissions.
- **list_all_omni_hr_my_form_submissions** — List the token user's own form submissions, filtered by request status and search (read via POST).
Paginated: Truto sends page and page_size in the JSON body (up to 30 per page); pass next_cursor for the next page and resend the same filters.
Omni forms module: the token's user needs that module's role permissions.
- **list_all_omni_hr_nationalities** — Get the nationalities Omni offers on employee profiles (one object holding the list).
Omni returns one object; Truto returns it as a one-item list.
Omni employee module: the token's user needs that module's role permissions.
- **list_all_omni_hr_notice_periods** — List the notice periods.
Not paginated.
Each record has: id, is_deletable, value.
Omni organization-settings module: the token's user needs that module's role permissions.
- **list_all_omni_hr_objective_activity_logs** — List an objective's activity log (key_result_id narrows to one key result). Required: objective_id.
Paginated (up to 30 per page via limit); pass next_cursor to get the next page.
Omni okr module: the token's user needs that module's role permissions.
- **get_single_omni_hr_objective_document_by_id** — Get a download link for one of an objective's documents; id is the document id. Required: objective_id.
Omni okr module: the token's user needs that module's role permissions.
- **list_all_omni_hr_objective_users** — List employees with their OKR objectives for a period (same scope flags and search as objectives.list).
Paginated (up to 30 per page via limit); pass next_cursor to get the next page.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni okr module: the token's user needs that module's role permissions.
- **list_all_omni_hr_objectives** — List OKR objectives in a period, scoped with include_my, include_direct_reports, include_indirect_reports or include_other, and filtered by search, users_ids and approval_status.
Paginated (up to 30 per page via limit); pass next_cursor to get the next page.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni's spec shows a different response wrapper; Truto unwraps the list the way Omni's web app reads it.
Omni okr module: the token's user needs that module's role permissions.
- **get_single_omni_hr_objective_by_id** — Get one OKR objective.
id comes from objectives.list.
Returns: user_id, name, description, priority, period_start_date, period_end_date, users_with_view_perm, weightage and more.
Omni okr module: the token's user needs that module's role permissions.
- **list_all_omni_hr_okr_config** — Get the OKR configuration (whether the approval flow is enabled).
Omni returns one object; Truto returns it as a one-item list.
Omni okr module: the token's user needs that module's role permissions.
- **list_all_omni_hr_onboarding_base_fields** — List the base field groups Omni can request from new hires in onboarding information requests.
Not paginated.
Omni onboarding module: the token's user needs that module's role permissions.
- **create_a_omni_hr_onboarding_document_upload** — Upload a document for an onboarding document request (file upload, form fields: file, document_request). Required: file, document_request.
Omni onboarding module: the token's user needs that module's role permissions.
- **list_all_omni_hr_onboarding_drafts** — List an employee's onboarding drafts; system_id is the employee's system id. Required: system_id (the employee's system id).
Not paginated.
Omni onboarding module: the token's user needs that module's role permissions.
- **get_single_omni_hr_onboarding_draft_by_id** — Get one of an employee's onboarding drafts by id. Required: system_id (the employee's system id).
id comes from onboarding_drafts.list.
Omni onboarding module: the token's user needs that module's role permissions.
- **omni_hr_onboarding_drafts_submit** — Submit an onboarding draft package as an admin (personal_email is required). Required: system_id (the employee's system id), draft_id.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni does not publish the response schema.
Omni onboarding module: the token's user needs that module's role permissions.
- **get_single_omni_hr_onboarding_info_document_request_by_id** — Get the onboarding information/document request task for an executable request id.
Omni onboarding module: the token's user needs that module's role permissions.
- **omni_hr_onboarding_info_document_requests_complete** — Complete an onboarding information/document request with the submitted information and documents. Required: info_request_id.
Omni onboarding module: the token's user needs that module's role permissions.
- **omni_hr_onboarding_information_requests_validate** — Validate the information a new hire submitted for an onboarding information request. Required: information_request_id, base_data, mobile_phone, contact_addresses, id_info, emergency_contacts, dependents, bank_information.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni onboarding module: the token's user needs that module's role permissions.
- **list_all_omni_hr_onboarding_workflows** — List onboarding and offboarding workflows (dashboard), with search, category, organization, progress, hire- and termination-date filters and is_overdue_only.
Paginated (up to 30 per page via limit); pass next_cursor to get the next page.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni onboarding module: the token's user needs that module's role permissions.
- **create_a_omni_hr_organization_document_bulk_upload** — Upload a ZIP archive of documents (file upload, form field: file); Omni files each one against an employee by matching the file name, using the strategy and document_type query parameters. Required: strategy, document_type.
Omni organization-documents module: the token's user needs that module's role permissions.
- **create_a_omni_hr_organization_document_container** — Upload a file into an organization document container (file upload, form fields: file, owner). Required: file.
Omni organization-documents module: the token's user needs that module's role permissions.
- **get_single_omni_hr_organization_document_download_by_id** — Get a download link for an organization document; id is the document id.
Omni organization-documents module: the token's user needs that module's role permissions.
- **list_all_omni_hr_pay_types** — List the compensation pay types.
Not paginated.
Each record has: id, value.
Omni organization-settings module: the token's user needs that module's role permissions.
- **list_all_omni_hr_payroll_companies** — List the payroll companies of a payroll country. Required: country_code.
Not paginated.
Omni payroll module: the token's user needs that module's role permissions.
- **get_single_omni_hr_payroll_company_by_id** — Get one payroll company with its sync status and pay-type mappings; id is the payroll company id. Required: country_code.
Omni payroll module: the token's user needs that module's role permissions.
- **list_all_omni_hr_payroll_companies_minimal** — List the payroll companies of a payroll country as id and name pairs. Required: country_code.
Not paginated.
Omni payroll module: the token's user needs that module's role permissions.
- **list_all_omni_hr_payroll_company_employees** — Get the employees enrolled in a payroll company (one object holding the list of user ids). Required: country_code, company_id.
Omni returns one object; Truto returns it as a one-item list.
Omni payroll module: the token's user needs that module's role permissions.
- **list_all_omni_hr_payroll_company_settings** — Get a payroll company's settings (pay-type mappings and enrolled user ids). Required: country_code, company_id.
Omni returns one object; Truto returns it as a one-item list.
Omni payroll module: the token's user needs that module's role permissions.
- **list_all_omni_hr_payroll_input_report_filters** — Get the companies and countries you can filter the payroll input report by.
Omni returns one object; Truto returns it as a one-item list.
Omni reports module: the token's user needs that module's role permissions.
- **create_a_omni_hr_payroll_input_report** — Create a payroll input report request for the selected companies and countries; Omni returns the criteria and does not document how the report is delivered.
Omni reports module: the token's user needs that module's role permissions.
- **list_all_omni_hr_pending_expense_policy_assignments** — Get the ids of expense policies with pending auto-assignment tasks (one object holding the list).
Omni returns one object; Truto returns it as a one-item list.
Omni expense module: the token's user needs that module's role permissions.
- **list_all_omni_hr_performance_phases** — List the phases of a performance review cycle (review_cycle_id is required).
Not paginated.
Omni performance module: the token's user needs that module's role permissions.
- **get_single_omni_hr_performance_phase_by_id** — Get one performance phase with its goal-phase details and participant count.
id comes from performance_phases.list.
Omni performance module: the token's user needs that module's role permissions.
- **get_single_omni_hr_performance_review_by_id** — Get one performance review with its phase, cycle, questions and other reviews; id is the review id.
Omni performance module: the token's user needs that module's role permissions.
- **get_single_omni_hr_performance_reviews_v_1_1_by_id** — Get one performance review (v1.1) with its cycle settings; id is the review id. Required: review_id.
Omni requires review_id both in the path and as a query parameter; Truto sends the id in both.
Omni performance module: the token's user needs that module's role permissions.
- **list_all_omni_hr_performance_user_reviews** — List the token user's team review rows (one row per team member).
Paginated (up to 30 per page via limit); pass next_cursor to get the next page.
Omni performance module: the token's user needs that module's role permissions.
- **list_all_omni_hr_performance_users** — List employees for performance management, with search, ordering and employment, probation, hire- and termination-date filters.
Not paginated.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni performance module: the token's user needs that module's role permissions.
- **list_all_omni_hr_performance_users_v_1_1** — List employees for performance management (v1.1), with search, ordering and employment, probation, hire- and termination-date filters.
Not paginated.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni performance module: the token's user needs that module's role permissions.
- **list_all_omni_hr_ph_payroll_adhoc_pay_types** — List a Philippine payroll company's ad hoc pay item types. Required: company_id.
Not paginated.
Omni payroll module: the token's user needs that module's role permissions.
- **list_all_omni_hr_ph_payroll_companies** — List Philippine payroll companies with their payroll admins.
Not paginated.
Omni payroll module: the token's user needs that module's role permissions.
- **get_single_omni_hr_ph_payroll_company_by_id** — Get one Philippine payroll company; id is the company id.
Returns: name, payroll_admins.
Omni payroll module: the token's user needs that module's role permissions.
- **list_all_omni_hr_ph_payroll_companies_minimal** — List Philippine payroll companies as id and name pairs.
Not paginated.
Each record has: id, name.
Omni payroll module: the token's user needs that module's role permissions.
- **list_all_omni_hr_ph_payroll_company_employees** — List the employees of a Philippine payroll company (entries hold lists of user ids). Required: company_id.
Not paginated.
Omni payroll module: the token's user needs that module's role permissions.
- **get_single_omni_hr_ph_payroll_deduction_schedule_by_id** — Get a Philippine payroll company's statutory deduction schedule (SSS, PhilHealth, Pag-IBIG); id is the company id.
Omni payroll module: the token's user needs that module's role permissions.
- **get_single_omni_hr_ph_payroll_pay_period_config_by_id** — Get a Philippine payroll company's custom pay-period configuration; id is the company id.
Omni payroll module: the token's user needs that module's role permissions.
- **list_all_omni_hr_ph_payroll_pay_types** — Get a Philippine payroll company's pay types (fields not published). Required: company_id.
Omni returns one object; Truto returns it as a one-item list.
Omni payroll module: the token's user needs that module's role permissions.
- **list_all_omni_hr_ph_payroll_payrun_detail_totals** — Get the totals of a Philippine payrun's details (search filters employees). Required: company_id, payrun_id.
Omni returns one object; Truto returns it as a one-item list.
Omni payroll module: the token's user needs that module's role permissions.
- **list_all_omni_hr_ph_payroll_payrun_details** — Get the details of one Philippine payrun (fields not published). Required: company_id, payrun_id.
Omni returns one object; Truto returns it as a one-item list.
Omni payroll module: the token's user needs that module's role permissions.
- **list_all_omni_hr_ph_payroll_payrun_employees** — List the employees in a Philippine payrun's details (search filters by name). Required: company_id, payrun_id.
Paginated (up to 30 per page via limit); pass next_cursor to get the next page.
Omni payroll module: the token's user needs that module's role permissions.
- **get_single_omni_hr_ph_payroll_payrun_status_by_id** — Get the status of a Philippine payrun; id is the payrun id. Required: company_id.
Omni payroll module: the token's user needs that module's role permissions.
- **list_all_omni_hr_ph_payroll_payrun_totals** — Get a Philippine payroll company's payrun totals for a month and year. Required: month, year, company_id.
Omni returns one object; Truto returns it as a one-item list.
Omni payroll module: the token's user needs that module's role permissions.
- **list_all_omni_hr_ph_payroll_payrun_user_details** — Get one employee's details within a Philippine payrun (fields not published). Required: company_id, payrun_id, payrun_user_id.
Omni returns one object; Truto returns it as a one-item list.
Omni payroll module: the token's user needs that module's role permissions.
- **list_all_omni_hr_ph_payroll_payruns** — List a Philippine payroll company's payruns for a month and year. Required: month, year, company_id.
Not paginated.
Omni payroll module: the token's user needs that module's role permissions.
- **list_all_omni_hr_ph_payroll_recurring_pay_types** — List a Philippine payroll company's recurring pay item types. Required: company_id.
Not paginated.
Omni payroll module: the token's user needs that module's role permissions.
- **get_single_omni_hr_ph_payroll_summary_by_id** — Get a Philippine payroll company's payroll summary for a month, year and pay period; id is the company id (fields not published). Required: month, year, pay_period.
Omni payroll module: the token's user needs that module's role permissions.
- **list_all_omni_hr_ph_payroll_summary_breakdowns** — Get the per-employee breakdown of a Philippine payroll summary for a month, year and pay period. Required: month, year, pay_period, page, page_size, company_id.
Not auto-paginated (Omni returns an untyped object): pass page and page_size yourself.
Omni payroll module: the token's user needs that module's role permissions.
- **get_single_omni_hr_ph_payroll_summary_status_by_id** — Get the status of a Philippine payroll company's summary for a month and year; id is the company id. Required: month, year.
Omni payroll module: the token's user needs that module's role permissions.
- **get_single_omni_hr_ph_payroll_tba_deduction_multiplier_by_id** — Get a Philippine payroll company's TBA deduction multipliers (late, absence, undertime, leave without pay); id is the company id.
Omni payroll module: the token's user needs that module's role permissions.
- **get_single_omni_hr_ph_payroll_tba_pay_multiplier_by_id** — Get a Philippine payroll company's TBA pay multipliers (regular, holiday and rest-day rates); id is the company id.
Omni payroll module: the token's user needs that module's role permissions.
- **list_all_omni_hr_ph_payroll_tba_pay_types** — List a Philippine payroll company's TBA (time-based adjustment) pay item types. Required: company_id.
Not paginated.
Omni payroll module: the token's user needs that module's role permissions.
- **list_all_omni_hr_phone_codes** — Get the phone country codes Omni offers on employee profiles (one object; its fields are not published).
Omni returns one object; Truto returns it as a one-item list.
Omni employee module: the token's user needs that module's role permissions.
- **list_all_omni_hr_positions** — List the organization's positions.
Not paginated.
Each record has: id, name, is_deletable.
Omni organization module: the token's user needs that module's role permissions.
- **create_a_omni_hr_position** — Create a position in the organization structure (positions are referenced by employee job records). Required: name.
Omni organization module: the token's user needs that module's role permissions.
- **omni_hr_positions_bulk_create** — Create positions in bulk; the body is a JSON array of positions.
Returns: id, name, is_deletable, _delete, uid.
Omni organization module: the token's user needs that module's role permissions.
- **list_all_omni_hr_project_attendance_summaries** — Get attendance totals per project (total, work and overtime minutes) for the given work schedules and date range. Required: work_schedule_ids, date_range_query.
Not paginated.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni attendance module: the token's user needs that module's role permissions.
- **list_all_omni_hr_project_options** — List projects as id and name pairs for pickers (is_active filters by status).
Not paginated.
Omni organization-settings module: the token's user needs that module's role permissions.
- **list_all_omni_hr_projects** — List projects (is_active filters by status).
Not paginated.
Each record has: id, name, is_active, is_deletable.
Omni organization-settings module: the token's user needs that module's role permissions.
- **get_single_omni_hr_project_by_id** — Get one project.
id comes from projects.list.
Returns: id, name, is_active, is_deletable.
Omni organization-settings module: the token's user needs that module's role permissions.
- **list_all_omni_hr_reminders** — Get all reminder settings grouped by area (tasks, time off, important dates, performance).
Omni returns one object; Truto returns it as a one-item list.
Omni organization-settings module: the token's user needs that module's role permissions.
- **create_a_omni_hr_review_cycle_progress_report** — Request the progress report of a performance review cycle (POST, no body). Required: review_cycle_id.
Omni does not publish the response schema.
Omni performance module: the token's user needs that module's role permissions.
- **create_a_omni_hr_review_cycle_report** — Request the report of a performance review cycle (POST, no body). Required: review_cycle_id.
Omni does not publish the response schema.
Omni performance module: the token's user needs that module's role permissions.
- **list_all_omni_hr_review_cycle_reviewee_objectives** — Get a reviewee's objectives in a performance review cycle. Required: review_cycle_id, reviewee_id.
Omni returns one object; Truto returns it as a one-item list.
Omni performance module: the token's user needs that module's role permissions.
- **list_all_omni_hr_review_cycle_reviewee_reviews** — List a reviewee's reviews in a performance review cycle, grouped by review_type (required). Required: review_cycle_id, reviewee_id.
Not paginated.
Omni performance module: the token's user needs that module's role permissions.
- **list_all_omni_hr_review_cycles** — List performance review cycles with their editors (status, search and sorting).
Paginated (up to 30 per page via limit); pass next_cursor to get the next page.
Omni performance module: the token's user needs that module's role permissions.
- **get_single_omni_hr_review_cycle_by_id** — Get one performance review cycle with its editors and goal-phase configuration.
id comes from review_cycles.list.
Omni performance module: the token's user needs that module's role permissions.
- **list_all_omni_hr_review_cycles_v_1_1** — List performance review cycles (v1.1), with status, search and sorting.
Paginated (up to 30 per page via limit); pass next_cursor to get the next page.
Omni performance module: the token's user needs that module's role permissions.
- **get_single_omni_hr_review_cycles_v_1_1_by_id** — Get one performance review cycle (v1.1).
id comes from review_cycles_v1_1.list.
Omni performance module: the token's user needs that module's role permissions.
- **create_a_omni_hr_review_phase_progress_report** — Request the progress report of a review phase (POST, no body). Required: phase_id.
Omni does not publish the response schema.
Omni performance module: the token's user needs that module's role permissions.
- **create_a_omni_hr_review_phase_results_report** — Request the results report of a review phase (POST, no body). Required: phase_id.
Omni does not publish the response schema.
Omni performance module: the token's user needs that module's role permissions.
- **list_all_omni_hr_review_phase_reviewee_reviews** — Get a reviewee's reviews in a review phase (reviewers, submissions, cycle and phase data). Required: phase_id, reviewee_id.
Omni returns one object; Truto returns it as a one-item list.
Omni performance module: the token's user needs that module's role permissions.
- **list_all_omni_hr_roster_shifts** — List rostered shifts per employee between start_date and end_date, with search and filters (read via POST). Required: start_date, end_date.
Paginated: Truto sends page and page_size in the JSON body (up to 30 per page); pass next_cursor for the next page and resend the same filters.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni schedule module: the token's user needs that module's role permissions.
- **list_all_omni_hr_states** — Get the states lookup for employee profiles, grouped by 2-letter country code (one object; its fields are not published).
Omni returns one object; Truto returns it as a one-item list.
Omni employee module: the token's user needs that module's role permissions.
- **create_a_omni_hr_survey_form_report** — Request the report of a survey form (POST, no body). Required: survey_form_id.
Omni does not publish the response schema.
Omni survey module: the token's user needs that module's role permissions.
- **list_all_omni_hr_survey_forms** — List survey forms (status and search).
Paginated (up to 30 per page via limit); pass next_cursor to get the next page.
Omni survey module: the token's user needs that module's role permissions.
- **get_single_omni_hr_survey_form_by_id** — Get one survey form.
id comes from survey_forms.list.
Returns: org_id, status, description, name, submission_deadline, recipients, survey_start_date, number_of_submissions and more.
Omni survey module: the token's user needs that module's role permissions.
- **list_all_omni_hr_task_reminders** — List the task reminder settings.
Not paginated.
Each record has: id, remind_before_amount, remind_before_period, email_notification, remind_overdue.
Omni organization-settings module: the token's user needs that module's role permissions.
- **get_single_omni_hr_task_reminder_by_id** — Get one task reminder setting.
id comes from task_reminders.list.
Omni organization-settings module: the token's user needs that module's role permissions.
- **list_all_omni_hr_team_calendar** — List team-calendar time-off entries per employee between start_date and end_date; scope with my_team, my_department, my_location, all_employees, my_direct_reports, my_indirect_reports or my_manager. Required: start_date, end_date.
Paginated (up to 30 per page via limit); pass next_cursor to get the next page.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni employee module: the token's user needs that module's role permissions.
- **list_all_omni_hr_teams** — List the organization's teams.
Not paginated.
Each record has: id, name, is_deletable.
Omni organization module: the token's user needs that module's role permissions.
- **create_a_omni_hr_team** — Create a team in the organization structure (teams are referenced by employee job records). Required: name.
Omni organization module: the token's user needs that module's role permissions.
- **omni_hr_teams_bulk_create** — Create teams in bulk; the body is a JSON array of teams.
Returns: id, name, is_deletable, _delete, uid.
Omni organization module: the token's user needs that module's role permissions.
- **create_a_omni_hr_template_image** — Upload an image for a template (file upload, form fields: image, category, optional template_id). Required: image, category.
Omni organization module: the token's user needs that module's role permissions.
- **list_all_omni_hr_termination_reasons** — List the termination reasons.
Not paginated.
Each record has: id, is_deletable, value.
Omni organization-settings module: the token's user needs that module's role permissions.
- **list_all_omni_hr_termination_types** — List the termination types.
Not paginated.
Each record has: id, is_deletable, value.
Omni organization-settings module: the token's user needs that module's role permissions.
- **list_all_omni_hr_time_off_adjustment_types** — List the time-off types you may adjust balances for.
Not paginated.
Each record has: id, name.
Omni time-off module: the token's user needs that module's role permissions.
- **list_all_omni_hr_time_off_adjustment_users** — List the employees whose balance of a time-off type you may adjust. Required: time_off_type_id.
Not paginated.
Omni time-off module: the token's user needs that module's role permissions.
- **omni_hr_time_off_adjustments_bulk_create** — Adjust the time-off balance of a time-off type for many employees at once. Required: time_off_type_id, user_ids, payload, effective_date.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni time-off module: the token's user needs that module's role permissions.
- **list_all_omni_hr_time_off_balance_json_report** — Get the time-off balance report (v1.1).
Not paginated.
Omni describes it as JSON, but its spec types the 200 response as a file; the shape is unverified.
Omni reports module: the token's user needs that module's role permissions.
- **list_all_omni_hr_time_off_balance_overview** — Preview an employee's time-off balance for a request (applying for, available, pending, remaining); user_id is required.
Omni returns one object; Truto returns it as a one-item list.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni time-off module: the token's user needs that module's role permissions.
- **omni_hr_time_off_balance_report_download** — Download the time-off balance report as of date, covering custom, preset and ad hoc time off, filterable by employment status, time-off type and department. Required: date.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Returns an XLSX file, not JSON.
Omni reports module: the token's user needs that module's role permissions.
- **omni_hr_time_off_balance_report_send** — Queue the time-off balance report (as of date, same filters as the download) and have Omni email it to the token user; Omni answers 202 once generation has started. Required: date.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni reports module: the token's user needs that module's role permissions.
- **list_all_omni_hr_time_off_requests** — List one employee's time-off requests with their current approvals (user_id is required; there is no organization-wide list).
Paginated (up to 30 per page via limit); pass next_cursor to get the next page.
Omni's spec shows a different response wrapper; Truto unwraps the list the way Omni's web app reads it.
Omni time-off module: the token's user needs that module's role permissions.
- **get_single_omni_hr_time_off_request_by_id** — Get one of an employee's time-off requests with its approval progress (user_id is required); id is the request id.
Omni time-off module: the token's user needs that module's role permissions.
- **list_all_omni_hr_time_off_transactions_json_report** — Get the time-off transactions report as JSON rows.
Not paginated.
Each record has: system_id, employee_id, first_name, last_name, employment_status_label, country, company, department and more.
Omni reports module: the token's user needs that module's role permissions.
- **omni_hr_time_off_transactions_report_download** — Download the time-off transactions report for a date range, covering custom, preset and ad hoc time off, filterable by employment status, time-off type and department. Required: start_date, end_date.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Returns an XLSX file, not JSON.
Omni reports module: the token's user needs that module's role permissions.
- **omni_hr_time_off_transactions_report_send** — Queue the time-off transactions report for a date range (same filters as the download) and have Omni email it to the token user; Omni answers 202 once generation has started. Required: start_date, end_date.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni reports module: the token's user needs that module's role permissions.
- **list_all_omni_hr_timezones** — List the timezones Omni supports.
Not paginated.
Omni does not publish the response schema.
Omni organization-settings module: the token's user needs that module's role permissions.
- **list_all_omni_hr_user_data_section_attributes** — List custom data-section fields (attributes), filtered by data_section_id or data_section_type.
Not paginated.
Omni organization-settings module: the token's user needs that module's role permissions.
- **list_all_omni_hr_user_data_sections** — List the custom data sections defined for employee profiles (include_preset adds preset sections).
Not paginated.
Omni organization-settings module: the token's user needs that module's role permissions.
- **get_single_omni_hr_user_data_section_by_id** — Get one custom data section definition.
id comes from user_data_sections.list.
Omni organization-settings module: the token's user needs that module's role permissions.
- **list_all_omni_hr_who_is_out** — List who is out between start_date and end_date: each entry holds the holidays and the employees on time off. Required: start_date, end_date.
Not paginated.
Send dates as DD/MM/YYYY (datetimes DD/MM/YYYY hh:mm:ss).
Omni employee module: the token's user needs that module's role permissions.
- **list_all_omni_hr_work_schedule_name_checks** — Check work-schedule names: Omni describes this as checking whether a schedule name already exists, but documents no name parameter, only ordering.
Not paginated.
Omni organization-settings module: the token's user needs that module's role permissions.
- **list_all_omni_hr_work_schedule_name_checks_v_2** — Check work-schedule names (v2): Omni describes this as checking whether a schedule name already exists, but documents no name parameter, only ordering.
Paginated (up to 30 per page via limit); pass next_cursor to get the next page.
Omni organization-settings module: the token's user needs that module's role permissions.
- **list_all_omni_hr_work_schedules** — List work schedules; ordering sorts by name.
Not paginated.
Each record has: id, name, schedule_type, days_count, days, is_deletable, schedule_items, schedule_grace_period_settings and more.
Omni organization-settings module: the token's user needs that module's role permissions.
- **get_single_omni_hr_work_schedule_by_id** — Get one work schedule.
id comes from work_schedules.list.
Returns: id, name, schedule_type, days_count, days, is_deletable, schedule_items, schedule_grace_period_settings and more.
Omni organization-settings module: the token's user needs that module's role permissions.
- **create_a_omni_hr_work_schedule** — Create a work schedule: the working days and hours employees can be assigned to. Required: name, schedule_type.
Omni organization-settings module: the token's user needs that module's role permissions.
- **update_a_omni_hr_work_schedule_by_id** — Partially update a work schedule with PATCH. Required: name, schedule_type.
id comes from work_schedules.list.
Omni organization-settings module: the token's user needs that module's role permissions.
- **omni_hr_work_schedules_overwrite** — Replace a work schedule with PUT (send the full record); work_schedule_id is the schedule id. Required: work_schedule_id, name, schedule_type.
Omni organization-settings module: the token's user needs that module's role permissions.
- **delete_a_omni_hr_work_schedule_by_id** — Delete a work schedule (schedules are assigned to employees through employee_schedules).
id comes from work_schedules.list.
Omni organization-settings module: the token's user needs that module's role permissions.
- **list_all_omni_hr_work_schedules_v_2** — List work schedules (v2); ordering sorts by name.
Paginated (up to 30 per page via limit); pass next_cursor to get the next page.
Omni organization-settings module: the token's user needs that module's role permissions.
- **get_single_omni_hr_work_schedules_v_2_by_id** — Get one work schedule (v2).
id comes from work_schedules_v2.list.
Omni organization-settings module: the token's user needs that module's role permissions.
- **create_a_omni_hr_work_schedules_v_2** — Create a work schedule (v2): the working days and hours employees can be assigned to. Required: name, schedule_type.
Omni organization-settings module: the token's user needs that module's role permissions.
- **update_a_omni_hr_work_schedules_v_2_by_id** — Partially update a work schedule (v2) with PATCH. Required: name, schedule_type.
id comes from work_schedules_v2.list.
Omni organization-settings module: the token's user needs that module's role permissions.
- **omni_hr_work_schedules_v_2_overwrite** — Replace a work schedule (v2) with PUT (send the full record); work_schedule_id is the schedule id. Required: work_schedule_id, name, schedule_type.
Omni organization-settings module: the token's user needs that module's role permissions.
- **delete_a_omni_hr_work_schedules_v_2_by_id** — Delete a work schedule (v2) (schedules are assigned to employees through employee_schedules).
id comes from work_schedules_v2.list.
Omni organization-settings module: the token's user needs that module's role permissions.
- **list_all_omni_hr_workflow_types** — List the workflow types (the categories of onboarding workflows).
Not paginated.
Omni organization-settings module: the token's user needs that module's role permissions.

## How it works

1. **Link your customer's Omni HR account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach Omni HR.** The Proxy API is a 1-to-1 mapping of the Omni HR API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Embed APAC payroll into your global HR platform** — Global payroll aggregators and EOR platforms can offer native Southeast Asia coverage by syncing employees, compensations, and localized payrun data from Omni HR without building country-specific payroll logic for Singapore, Malaysia, Philippines, Indonesia, or Hong Kong.
- **Push corporate card spend into Omni HR payroll** — Spend management and corporate card platforms can pull expense categories and policy trees from Omni HR, then submit reimbursable transactions directly into the employee's next payrun — eliminating manual expense entry for finance teams.
- **Sync shift and attendance data for accurate hourly payroll** — Workforce management and shift scheduling tools serving BPOs and hospitality can push project-based attendance and roster data into Omni HR so that holiday multipliers, overtime, and statutory rates are calculated correctly at payroll time.
- **Automate IT provisioning from Omni HR as source of truth** — Identity and IT asset management platforms can treat Omni HR as the HR system of record, triggering account provisioning, hardware shipment, and access revocation based on employee start dates, employment status, and termination events.
- **Mirror OKRs and performance cycles into productivity tools** — OKR and employee engagement platforms can read objectives, review cycles, and goal reviews from Omni HR to keep day-to-day productivity metrics aligned with formal performance phases without duplicate data entry.

## What you can build

- **Bi-directional employee directory sync** — Sync employees, employments, departments, locations, and teams between your product and Omni HR using both the Unified HRIS API and native endpoints for custom fields.
- **Automated expense submission with receipts** — Save draft expenses, attach receipt documents, and submit for approval directly into Omni HR, with reimbursements flowing to the employee's payrun.
- **Localized Philippines payroll ingestion** — Pull payrun details, employee breakdowns, pay types, deduction schedules, and TBA multipliers to replicate SSS, PhilHealth, and Pag-IBIG calculations in your dashboard.
- **Onboarding orchestration workflows** — Trigger provisioning on new hires by watching onboarding workflows and drafts, completing document requests, and uploading onboarding documents on behalf of employees.
- **Project-level attendance and timesheet export** — Fetch attendance summaries by work schedule and project ID to power billing, utilization dashboards, or overtime calculations for shift-based teams.
- **Time-off balance and request visibility** — Surface time-off balances, transactions, and requests inside your product to show who is out, project capacity, or trigger coverage workflows.

## FAQs

### How do end users authenticate their Omni HR account?

Truto handles the auth handshake on your behalf. Your users connect their Omni HR workspace through Truto's connect flow, and Truto manages token storage, refresh, and credential rotation — you call unified endpoints without implementing Omni HR's auth directly.

### Can I access Omni HR data through a standard HRIS model?

Yes. Truto's Unified HRIS API normalizes Omni HR data into standard models — Employees, Employments, Companies, Locations, Groups, Job Roles, Employee Compensations, Employee Payroll Runs, Bank Info, Dependents, Pay Groups, Timeoff Balances, Timeoff Requests, and Timeoff Types — so you can ship once and support multiple HRIS vendors.

### Do I have to use the Unified API, or can I call Omni HR directly?

Both. The Unified HRIS API covers common cross-vendor use cases. For Omni HR-specific workflows like Philippines payroll breakdowns, expense policy trees, OKR objectives, or project attendance summaries, you can call the native passthrough tools listed in Truto's Omni HR tool inventory.

### Can I write data back to Omni HR, or is it read-only?

Writes are supported. You can create employees, companies, departments, positions, teams, expenses, base salaries, bank accounts, work schedules, time-off adjustments, and more. Many resources also support update, overwrite, and delete operations.

### How fresh is the data — is it real-time or polled?

Truto fetches data on-demand through Omni HR's REST API. For change detection, you can poll endpoints like minimal employee lists or use Truto's event-based sync infrastructure to detect deltas without rebuilding polling logic yourself.

### Does the integration support custom fields and user-defined sections?

Yes. Omni HR's user data sections, section attributes, and custom report fields are exposed through dedicated tools so you can read user-defined attributes and save values back without hardcoding field schemas.
