---
title: Deel API Integration on Truto
slug: deel
category: HRIS
canonical: "https://truto.one/integrations/detail/deel/"
---

# Deel API Integration on Truto



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

## Unified APIs

### Unified HRIS API

- **Companies** — Companies represent the companies in HRIS
- **Employee Compensations** — Represent the compensation configuration 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
- **Group Types** — Group types represent the types of group.
- **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.
- **Payroll Runs** — Payrollruns represent  a group of pay statements for a specific pay schedule.
- **Timeoff Balances** — Represent the time off balances for an Employee
- **Timeoff Policies** — Represent the time off policies in a company
- **Timeoff Requests** — Represent the time off requests for an Employee
- **Timeoff Types** — Represent the time off types in a company
- **Timesheet Entries** — Represents a block of time an employee worked or reported, such as a shift, a punch or a timesheet line, attributed to a single work date

## MCP-ready AI tools

Truto exposes 668 tools for Deel that AI agents can call directly.

- **list_all_deel_people** — List people records in Deel. Returns: id, state, emails, country, is_pwac, timezone, addresses, full_name, job_title, last_name, seniority, worker_id, birth_date, created_at, department, first_name, start_date, updated_at, employments, external_id, hiring_type, hiring_status, nationalities, person_status, work_location, direct_manager, direct_reports, completion_date, new_hiring_status,…
- **get_single_deel_person_by_id** — Get a single Deel person record by id. Returns: id, state, emails, country, timezone, addresses, full_name, job_title, last_name, seniority, worker_id, birth_date, created_at, department, first_name, start_date, updated_at, employments, external_id, hiring_type, hiring_status, nationalities, work_location, direct_manager, direct_reports, completion_date, new_hiring_status, additional_details,…
- **create_a_deel_person** — Create a new person record in Deel. Returns: id, employee, employment, compensation_details, created_at, updated_at.
- **list_all_deel_contracts** — List deel contracts with optional filtering by status, type, team, country, currency, or search term. Returns: id, scale, title, client, status, worker, created_at, signatures, external_id, invitations, is_archived, is_shielded, who_reports, cost_centers, notice_period, fte_percentage, termination_date, amount, reported_by, reviewed_by, approval_requested.
- **get_single_deel_contract_by_id** — Retrieve a single deel contract by id. Returns the full contract record including id, title, type, status, created_at, updated_at, start_date, termination_date, client, worker, signatures, invitations, is_archived, special_clause, compensation_details, employment_details, and optional cost_centers. Required: id.
- **create_a_deel_contract** — Create a new contract in deel. Returns: id, quote, title, client, status, worker, job_title, seniority, created_at, signatures, start_date, external_id, invitations, is_archived, who_reports, custom_fields, notice_period, scope_of_work, special_clause, termination_date, work_statement_id, employment_details, compensation_details, updated_at, is_shielded, scale, fte_percentage, cost_centers,…
- **update_a_deel_contract_by_id** — Update an existing deel contract by id using a partial PATCH request. Returns: id, quote, title, client, status, worker, job_title, seniority, created_at, signatures, start_date, updated_at, external_id, invitations, is_archived, who_reports, cost_centers, custom_fields, notice_period, scope_of_work, work_schedule, special_clause, employment_type, termination_date, contract_template,…
- **deel_contracts_get_invite** — Get the worker signing invitation link for a Deel contract. Returns the invitation link in an opaque JSON object; the upstream docs do not enumerate its fields. Required: contract_id. Optional: locale (2-5 lowercase letters) localizes the link.
- **deel_contracts_get_preview** — Preview a Deel IC or EOR contract agreement as rendered HTML. Returns the rendered HTML content in an opaque JSON object (upstream documents no field structure). Required: contract_id. Optional: templateId selects a template; the default or currently assigned template is used when omitted. Global Payroll contract types are not supported.
- **deel_contracts_partial_update** — Set the external ID on a Deel contract to link an internal reference, such as an employee number or ERP key, to the worker. Returns an opaque success JSON object. Required: id and data. The external ID must be unique and, once set, can be used as a filter when listing contracts.
- **list_all_deel_time_offs** — List time-off requests for the authenticated Deel organization with optional filtering by status, date ranges, policy types, and specific IDs. Returns: id, amount, reason, status, is_paid, end_date, created_at, start_date, updated_at, approved_at, description, contract_oid, requested_at, half_end_date, time_off_type, half_start_date, deduction_amount, entitlement_unit, time_off_dailies,…
- **create_a_deel_time_off** — Create a new time-off request for a worker in Deel. Returns the created record including id, status, start_date, end_date, amount, is_paid, attachments, time_off_dailies, recipient_profile, created_at, and updated_at. Required: data.recipient_profile_id, data.start_date, data.end_date.
- **update_a_deel_time_off_by_id** — Update an existing time-off request in Deel by id. Returns the updated record including id, status, start_date, end_date, amount, is_paid, entitlement_unit, time_off_type, recipient_profile, created_at, and updated_at. Required: id.
- **delete_a_deel_time_off_by_id** — Delete a time-off request in Deel by id. Returns an empty 204 response on success. Required: id.
- **deel_time_offs_partial_update** — Update a deel time-off request, correcting details such as its dates, amount, reason, or time-off type without requiring the worker to cancel and resubmit it. Partial update: only fields included in the body's data object are modified. Returns the updated record's id, status, and deleted_at (set only for soft-deleted records). Required: id (time-off request id, UUID).
- **list_all_deel_webhooks** — List Deel webhook subscriptions. Returns each subscription including id, url, description, events, signing_key, created_at, and updated_at.
- **get_single_deel_webhook_by_id** — Get a single Deel webhook subscription by id. Returns id, url, description, events, signing_key, created_at, and updated_at. Required: id.
- **create_a_deel_webhook** — Create a new Deel webhook subscription. Returns the created subscription including id, url, description, events, signing_key, created_at, and updated_at. Required: url, events.
- **update_a_deel_webhook_by_id** — Edit an existing Deel webhook subscription by id. Returns the updated subscription including id, url, description, events, signing_key, created_at, and updated_at. Required: id.
- **delete_a_deel_webhook_by_id** — Delete a Deel webhook subscription by id. Returns a 200 success response on deletion. Required: id.
- **deel_webhooks_partial_update** — Partially update an existing Deel webhook subscription, such as its status or whether it also receives events from child organizations. Returns: id, url, name, events, hidden, status, internal, created_at, deleted_at, updated_at, api_version, description, signing_key, include_child_orgs. Required: id.
- **list_all_deel_groups** — List groups in the Deel organization. Returns: id, name, status, managers, created_at, updated_at, archived_at, external_metadata. Archived groups are included by default and can be excluded via include_archived_groups.
- **create_a_deel_group** — Create a new group in the Deel organization. Returns: id, name, created_at, updated_at, external_metadata. Required: data.name (max 48 characters).
- **update_a_deel_group_by_id** — Apply a partial update to an existing Deel group. Only fields included in the request body are modified; omitted fields retain their current values. Returns: id, name, created_at, updated_at, external_metadata. Required: id, data.name.
- **delete_a_deel_group_by_id** — Soft-delete (archive) a Deel group by id. The group is not permanently removed. Returns: archived_at. Required: id.
- **deel_groups_clone** — Clone a deel group: creates a new group copying the structure and settings of the source group, independent of the original after creation. Returns the new group record including id, name, created_at, and updated_at. Required: group_id, id, and data.
- **deel_groups_partial_update** — Partially update a deel group by id: only fields included in the request body are modified; omitted fields retain their current values. Returns the updated group record including id, name, and archived_at. Required: id and data.
- **list_all_deel_legal_entities** — List deel legal entities with optional filtering by country, entity type, global payroll flag, and archived status. Returns: id, name, phone, vat_id, address, country, created_at, sic_number, updated_at, archived_at, entity_type, industry_name, entity_subtype, registrationNumber, company_identifiers.
- **create_a_deel_legal_entity** — Create a new legal entity in deel. Returns: id, name, phone, address, created_at, sic_number, updated_at, entity_type, company_identifiers. Pass all fields inside a `data` wrapper object; Required: data (name, entity_type, address — street, city, country, zip — phone, company_identifiers — registration_number, tax_number — and sic_number).
- **update_a_deel_legal_entity_by_id** — Apply a partial update to an existing deel legal entity by id; only fields included in the request body are modified. Returns: id, name, phone, address, sic_number, entity_type, industry_name, company_identifiers. Required: id.
- **delete_a_deel_legal_entity_by_id** — Archive a deel legal entity by id, marking it as inactive without permanently removing it. Returns: archived_at. Required: id.
- **get_single_deel_legal_entity_by_id** — Retrieve a legal entity. Returns: id, name, phone, status, vat_id, address, country, cdd_status. Required: id.
- **deel_legal_entities_partial_update** — Apply a partial update to an existing legal entity in deel by id; only the fields included in the request body are modified. Returns the updated record including its id, cdd_status, and status. Required: id.
- **list_all_deel_departments** — List all departments within the authenticated user's Deel organization. Returns: id, name, parent.
- **deel_departments_bulk_update** — Assign a worker to a department in deel by their HRIS profile ID. By default the new assignment appends to existing positions; set replace_other_positions to replace all current positions instead. Returns the assigned department record: id, name, parent. Required: people_id, data.
- **list_all_deel_invoices** — List Deel invoices. By default only paid invoices are returned; pass status=all to include all statuses. Returns: id, label, total, amount, status, vat_id, paid_at, currency, deel_fee, due_date, issued_at, vat_total, created_at, is_overdue, contract_id, vat_percentage, recipient_legal_entity_id.
- **get_single_deel_invoice_by_id** — Get a single Deel invoice by id. Returns the full invoice record including id, label, total, status, currency, created_at, paid_at, issued_at, due_date, worker_id, line_items, and recipient_legal_entity_id. Required: id.
- **list_all_deel_payments** — List payment receipts in Deel. Returns a paginated list of payments including id, label, status, paid_at, created_at, total, total_due, payment_currency, deel_reference, workers, invoices, payment_method, and credit usage breakdowns. Optionally filter by date_from, date_to, currencies, entities, or statuses.
- **list_all_deel_managers** — List all managers in a deel organization. Returns: id, email, last_name, first_name.
- **create_a_deel_manager** — Create a new manager in a deel organization. Returns: id, email, last_name, first_name. Required: data (containing first_name, last_name, and email).
- **list_all_deel_organizations** — Get the current organization in Deel associated with the authentication token. The organization is resolved automatically from the token — no additional identifier is required. Returns: id, name.
- **list_all_deel_onboarding_trackers** — List workers currently going through onboarding in Deel. Returns: name, unique_id, hiring_type, contract, progress, hris_profile, app_experience.
- **get_single_deel_onboarding_tracker_by_id** — Get a Deel onboarding tracker by id. Returns the full onboarding detail including profile (name, email, country, previously_onboarded), contract (id, status, created_at, employee_agreement, first_early_invoice), progress (status, reference_date, subject_to_overdue, is_action_required_from_client), checklist (steps), stepper, summary, hiring_type, and hris_profile. Required: id.
- **list_all_deel_offboarding_trackers** — List deel offboarding trackers for contracts currently in the offboarding process. Returns: name, unique_id, hiring_type, offboarding_type, termination_id, contract, progress, hris_profile, app_experience. By default results are scoped to a 45-day date range; set ignore_date_range to true to retrieve all terminations regardless of date.
- **get_single_deel_offboarding_tracker_by_id** — Get termination details for a specific deel offboarding tracker by its unique id. Returns: summary, contract, progress, hiring_type, termination, hris_profile, app_experience. Required: id.
- **list_all_deel_hris_organization_structures** — List Deel HRIS organization structures, returning the organization's hierarchical structure including departments and teams. Returns: id, name, roles, teams, created_at, external_id, teams_count, enable_roles, is_multiselect, value, currency, raw_value, updated_at, is_editable, is_required, is_inherited, inherited_from.
- **get_single_deel_hris_organization_structure_by_id** — Get a single Deel HRIS organization structure by id. Returns: id, name, roles, teams, external_id, teams_count, enable_roles, is_multiselect, value, currency, raw_value, created_at, updated_at, is_editable, is_required, is_inherited, inherited_from. Required: id.
- **create_a_deel_hris_organization_structure** — Create a new Deel HRIS organization structure. Returns the created record including id, name, type, created_at, updated_at, external_id, enable_roles, is_multi_select, and organization_id.
- **update_a_deel_hris_organization_structure_by_id** — Update an existing Deel HRIS organization structure including its name, settings, and teams hierarchy. Returns: id, name, teams, external_id, enable_roles, is_multiselect, value, currency, raw_value, created_at, updated_at, is_editable, is_required, is_inherited, inherited_from. Required: id.
- **delete_a_deel_hris_organization_structure_by_id** — Delete a Deel HRIS organization structure by id. Returns an empty 204 response on success. Required: id.
- **deel_hris_organization_structures_partial_update** — Apply a partial update to a deel HRIS organization structure by id, modifying only the fields provided in the request body while omitted fields retain their current values. Returns the updated structure including its id, organization_id, name, settings, and teams. Required: id.
- **list_all_deel_currencies** — List the bank account form guide fields for a specific country and currency combination in Deel. Returns an array of field descriptors including key, type, is_required, ui_guide (with label, order, and helper_text), validations, and values_allowed. Required: country, currency.
- **list_all_deel_invoice_adjustments** — List invoice adjustments in Deel, filtered by contract, type, status, invoice, reporter, or date range. Returns: id, scale, status, contract, quantity, worksheet, attachment, created_at, invoice_id, description, reported_by, reviewed_by, custom_scale, total_amount, currency_code, payment_cycle, date_submitted, hourlyReportPreset, approvers, invoice_public_id.
- **get_single_deel_invoice_adjustment_by_id** — Get a single Deel invoice adjustment by id. Returns: id, scale, status, contract, quantity, approvers, worksheet, attachment, created_at, invoice_id, description, reported_by, reviewed_by, custom_scale, total_amount, currency_code, payment_cycle, date_submitted, invoice_public_id, hourlyReportPreset. Required: id.
- **create_a_deel_invoice_adjustment** — Create a Deel invoice adjustment — such as a bonus, commission, VAT percentage, or deduction — against a contract. Returns: id, status, created, created_at. Required: contract_id, date_submitted, type, description, amount. Pass recurring=true in the query to apply the adjustment automatically to future invoices.
- **update_a_deel_invoice_adjustment_by_id** — Update an existing Deel invoice adjustment by id. Returns: updated, id, scale, status, contract, quantity, worksheet, attachment, created_at, invoice_id, description, reported_by, reviewed_by, custom_scale, total_amount, currency_code, payment_cycle, date_submitted, approvers, invoice_public_id, hourlyReportPreset. Required: id.
- **delete_a_deel_invoice_adjustment_by_id** — Delete a Deel invoice adjustment by id. Returns an empty 204 response on success. Required: id.
- **deel_invoice_adjustments_partial_update** — Update an invoice adjustment in Deel by id, applying a partial update — only fields included in the request body are modified. Returns the updated adjustment object including its id and adjustment-specific attribute fields. Required: id and data (details of the adjustment to update).
- **get_single_deel_adjustment_by_id** — Retrieve a specific Deel adjustment by its id. Returns: id, file, title, amount, status, created_at, updated_at, contract_id, description, cycle_reference, move_next_cycle, date_of_adjustment, actual_end_cycle_date, adjustment_category_id, actual_start_cycle_date. Required: id.
- **create_a_deel_adjustment** — Create a new payroll adjustment for a Deel contract, modifying the payment amount on the next payment cycle. Returns: id, file, title, amount, status, created_at, updated_at, contract_id, description, cycle_reference, move_next_cycle, date_of_adjustment, actual_end_cycle_date, adjustment_category_id, actual_start_cycle_date. Required: contract_id, amount, title, description,…
- **update_a_deel_adjustment_by_id** — Apply a partial update to an existing Deel adjustment; only fields included in the request body are modified and omitted fields retain their current values. Returns: updated. Required: id.
- **delete_a_deel_adjustment_by_id** — Permanently delete a Deel adjustment by its id. Returns: data. Required: id.
- **deel_adjustments_partial_update** — Update an existing adjustment in deel with a partial update; only fields included in the request body are modified and omitted fields retain their current values. Returns: updated. Required: id, data.
- **list_all_deel_benefits** — List benefits associated with a Deel EOR contract. Returns: id, name, plan, provider, offer_status, enrollment_details. Required: contract_id.
- **list_all_deel_entitlements** — List time-off entitlements for a Deel HRIS profile, including balances and allocations per time-off type. Returns: id, used, accrued, expired, approved, allowance, available, requested, accrual_amount, accrual_unit, balance_adjusted, upcoming_accruals, total_entitlements, is_allowance_unlimited, tracking_period, tracking_period_end_date, time_off_event_id, past_tracking_periods, events,…
- **list_all_deel_people_custom_fields** — List all people custom field definitions configured for the organization in deel. Returns each field's id, name, type, settings (including access, required, is_enabled, countries, worker_types), placement, created_at, and description. No required parameters.
- **get_single_deel_people_custom_field_by_id** — Get a single people custom field definition by its id in deel. Returns the field's id, name, type, settings (including access, required, is_enabled, countries, worker_types), placement, created_at, and description. Required: id.
- **list_all_deel_events_types** — List all webhook event types available in Deel. Returns: id, module_name, module_label, name, description, payload_example, created_at, updated_at, alias, label, options, input_type, local_name, is_optional, required_by, display_order, can_be_skipped, validation_rule, validation_error_message.
- **list_all_deel_contract_off_cycle_payments** — List all off-cycle payments for a Deel contract. Returns: id, amount, status, created_at, description, reported_by, currency_code, date_submitted. Required: contract_id.
- **get_single_deel_contract_off_cycle_payment_by_id** — Retrieve a single off-cycle payment by id for a Deel contract. Returns: id, amount, status, created_at, description, reported_by, currency_code, date_submitted, title, reviewed_by, approval_requested. Required: contract_id, id.
- **create_a_deel_contract_off_cycle_payment** — Create a new off-cycle payment for a Deel contract outside the regular payment schedule. Returns: id, created. Required: contract_id, data.amount, data.description, data.date_submitted.
- **list_all_deel_it_orders** — List all IT equipment orders in Deel for the organization, spanning both historical and current procurement requests. Returns: id, status, created_at, updated_at, user, order_items.
- **get_single_deel_it_order_by_id** — Get a single Deel IT equipment order by id. Returns: id, status, created_at, updated_at, user, order_items. Required: id.
- **deel_it_orders_cancel** — Cancel a pre-shipment IT order in Deel by id; on success the order and its related sales order are cancelled, and the request is rejected if the order is paid, in payment, or already shipped. Returns: id, user, status, public_id, created_at, updated_at, order_items, delivery_address. Requires: order_id and a data object with the cancellation reason.
- **create_a_deel_it_order** — Create an IT equipment order in Deel; the order is created already approved and assigned via assign_to (only USER is wired today, delivering to the worker identified by destination.hris_profile_id). Returns: id, user, status, public_id, created_at, updated_at, order_items, delivery_address. Requires: data with assign_to and destination.hris_profile_id. Only Pro-plan organizations with paid IT…
- **list_all_deel_it_assets** — List all IT assets historically or currently managed by the organization in Deel. Returns: id, grade, status, product, location, ownership, created_at, updated_at, assigned_user, purchase_date, serial_number, purchase_value, assigned_warehouse. Optionally filter by hris_profile_id, location, category, or status. Max 100 assets per page.
- **get_single_deel_it_asset_by_id** — Get a single Deel IT asset by id. Returns the full asset record including id, grade, status, product details, location, ownership, assigned_user, purchase_date, serial_number, purchase_value, and assigned_warehouse. Required: id.
- **create_a_deel_it_asset** — Create a new IT asset in Deel, assigned either to a worker (WITH_USER) or stored at an organization warehouse (AT_WAREHOUSE); device categories (laptops, desktops, mobile devices, tablets) require a serial number and, where the category supports one, an operating system. Returns the created asset record with its id and attributes. Required: data.
- **deel_it_assets_archive** — Archive a Deel IT asset, retiring it from active tracking with a terminal status and an optional note; archived assets no longer appear in the active inventory and can be restored via unarchive. Returns the archived asset record with its id and attributes. Required: asset_id, data.
- **update_a_deel_it_asset_by_id** — Update detail fields of a Deel IT asset by id; omitted fields keep their current values, locked assets (archived, Deel-owned, or under an active service package) are rejected, and changing serial_number unenrolls the asset from MDM. Returns the updated asset record with its id and attributes. Required: id, data. Beta: requires the X-Beta: true header until stable on 2026-12-29.
- **get_single_deel_contract_preview_by_id** — Get a preview of a Deel IC or EOR contract agreement as rendered HTML. Returns the HTML string content of the contract document for the given id; the response is text/html and cannot be enumerated as structured JSON fields. Required: id. Global Payroll contract types are not supported.
- **get_single_deel_contract_invite_by_id** — Get the worker signing invite link for a specific Deel contract. Returns the signing invitation link as a string URL. Required: id.
- **create_a_deel_group_clone** — Clone an existing Deel group by id, creating a duplicate of the specified group. Returns: id, name, created_at, updated_at, external_metadata. Required: id.
- **list_all_deel_contracts_custom_fields** — List all contract custom field definitions configured in deel. Returns field metadata (not per-contract values) including id, name, type, settings, placement, created_at, and description for each defined field.
- **get_single_deel_contracts_custom_field_by_id** — Get a single contract custom field definition by id in deel. Returns the field's id, name, type, settings, placement, created_at, and description. Required: id.
- **list_all_deel_contract_custom_fields** — List all custom fields associated with a Deel contract. Returns: id, data, name, title, amount, status, created_at, reported_by, reviewed_by, approval_requested. Required: contract_id.
- **update_a_deel_contract_custom_field_by_id** — Create or update a custom field value on a Deel contract. This is a full replacement operation — any custom field values not included in the request body will be removed. Returns an empty 200 response on success. Required: contract_id, data.
- **delete_a_deel_contract_custom_field_by_id** — Delete (clear) the value of a custom field on a Deel contract by custom field id. Returns an empty 204 response on success. Required: contract_id, id.
- **deel_contract_custom_fields_bulk_update** — Set custom field values on a Deel contract by id. Creates or updates custom field values on the contract; this is a full replacement operation, so any custom field values not included in the request body are removed. Returns a 200 response confirming the custom field values now set on the contract. Required: contract_id, data.
- **list_all_deel_eor_contract_amendments** — List all amendments for a Deel EOR contract. Returns each amendment record including id, type, items, scope, salary, currency, effective_date, created_at, employment_type, fixed_adjustments, variable_compensation, and amendment_statuses. Required: contract_id.
- **get_single_deel_eor_contract_amendment_by_id** — Get a single amendment for a Deel EOR contract by id. Returns the amendment record including id, type, items, scope, salary, currency, effective_date, created_at, employment_type, fixed_adjustments, variable_compensation, and amendment_statuses. Required: contract_id, id.
- **create_a_deel_eor_contract_amendment** — Create a new amendment for a Deel EOR contract. Returns the created amendment record including id, type, items, scope, salary, currency, effective_date, created_at, employment_type, fixed_adjustments, variable_compensation, and amendment_statuses. Required: contract_id.
- **update_a_deel_eor_contract_amendment_by_id** — Update an existing amendment on a Deel EOR contract. Returns: data, id, created_at, updated_at, success, contractOid, is_employee_onboarding_delayed. Required: contract_id, id.
- **delete_a_deel_eor_contract_amendment_by_id** — Delete an amendment from a Deel EOR contract by id. Returns an empty 204 response on success. Required: contract_id, id.
- **list_all_deel_contract_amendments** — List all amendments for a deel IC contract with optional filtering by status and sign status. Returns: id, rate, scale, status, created_at, updated_at, sign_status, contract_name, contract_type, currency_code, effective_date, title, amount, reported_by, reviewed_by, approval_requested. Required: contract_id.
- **create_a_deel_contract_amendment** — Create an amendment for a deel IC contract, supporting changes to rate, scale, currency, effective date, scope of work, and job title. Returns: id, rate, scale, status, created, job_title, worker_id, created_at, updated_at, currency_code, scope_of_work, special_clause, termination_notice_days, amount, attachment, date_submitted. Required: contract_id.
- **deel_contract_amendments_bulk_delete** — Cancel a pending EOR contract amendment in deel, voiding the request so it can no longer be reviewed or applied. Returns the cancelled amendment's id, status, and effective_date. Required: contract_id, amendment_id.
- **deel_contract_amendments_bulk_update** — Update an EOR contract amendment in deel with a partial PATCH. Returns: id, type, items, scope, salary, source, currency, end_date, holidays, job_code, job_title, created_at, net_salary, start_date, updated_at, description, hourly_rate, custom_items, job_category, requested_by, seniority_id, document_type, legal_context, time_off_type, void_deadline, effective_date, seniority_date,…
- **get_single_deel_contract_amendment_by_id** — Get an EOR contract amendment in deel by its id, with full details of the request. Returns: id, type, items, scope, salary, source, currency, end_date, holidays, job_code, job_title, created_at, net_salary, start_date, updated_at, description, hourly_rate, custom_items, job_category, requested_by, seniority_id, document_type, legal_context, time_off_type, void_deadline, effective_date,…
- **list_all_deel_contract_milestones** — List all milestones associated with a specific Deel contract, including each milestone's title, amount, status, dates, and creator/reviewer information. Returns: id, title, amount, status, created_at, description, reported_by, reviewed_by, approval_requested. Required: contract_id.
- **get_single_deel_contract_milestone_by_id** — Get a single milestone from a Deel contract by id. Returns: id, title, amount, status, created_at, description, reported_by, reviewed_by, approval_requested. Required: contract_id, id.
- **create_a_deel_contract_milestone** — Create a new payment milestone on a Deel milestone-based contract. After creation the milestone enters a review workflow before payment is processed. Returns: created, id, amount, status, attachment, date_submitted, description. Required: contract_id, data.
- **delete_a_deel_contract_milestone_by_id** — Permanently delete a specific milestone from a Deel contract. This operation is irreversible. Returns: data. Required: contract_id, id.
- **deel_contract_milestones_bulk_delete** — Permanently delete a milestone from a Deel contract; the operation is irreversible and removes all associated milestone data. Returns a 200 confirmation on success. Required: contract_id, milestone_id.
- **create_a_deel_contract_invitation** — Send a signing invitation email to a worker for a Deel contract, setting their email as the expected signer. If the contract was previously rejected, resets it to a signing-eligible state. Returns: created, id, amount, status, attachment, date_submitted. Required: contract_id.
- **delete_a_deel_contract_invitation_by_id** — Remove the active signing invitation from a Deel contract, allowing a new invitation to be issued to the worker. Returns: deleted, id, amount, status, attachment, date_submitted. Required: contract_id.
- **deel_contract_invitations_bulk_delete** — Remove the active signing invitation from a deel contract so a new invitation can be issued to the worker. Returns a JSON body reflecting the contract's invitation state after removal; the field set is not enumerated in the upstream documentation. Required: contract_id.
- **create_a_deel_contract_signature** — Sign a Deel employee contract on behalf of a contractor, transitioning the contract status to active and completing the contractor onboarding workflow. Returns: created, id, amount, status, attachment, date_submitted. Required: contract_id, signature.
- **create_a_deel_eor_worker_contract_signature** — Create a signature on a deel EOR worker contract. Returns: created, id, amount, status, attachment, date_submitted. Required: contract_id.
- **create_a_deel_worker_contract_signature** — Sign a worker contract in Deel, recording the worker's signature on the contract identified by contract_id. Returns: id, is_signed, created_at, updated_at, amount, status, attachment, date_submitted. Required: contract_id and worker_signature.
- **get_single_deel_personal_by_id** — Get personal information for a Deel worker by id. Returns: id, kyc, ooo, addresses, worker_id, work_email, external_id, demographics, date_of_birth, nationalities, phone_numbers, personal_email, preferred_name, legal_last_name, legal_first_name, emergency_contacts. Required: id.
- **update_a_deel_personal_by_id** — Partially update personal information for a Deel worker by id; only fields included in the request body are modified. Returns an empty 204 response on success. Required: id, data.
- **deel_personals_bulk_update** — Update a Deel worker's personal information by worker ID; only fields included in the request body are modified. Requires worker_id and a data object containing the fields to update. Returns an empty 204 response on success.
- **list_all_deel_personals** — Get a Deel worker's personal information using a system-wide external worker identifier. Requires external_id. Returns an empty 204 response on success.
- **deel_personals_partial_update** — Partially update a Deel worker's personal information by external ID; only fields included in the request body are modified. Requires worker_id and a data object containing the fields to update. Returns an empty 204 response on success.
- **get_single_deel_external_personal_by_id** — Get a worker's personal information record by external ID in Deel. Returns an empty 204 response on success. Required: id.
- **update_a_deel_external_personal_by_id** — Update the personal information record for an external worker in Deel by id. Returns: id. Required: id.
- **list_all_deel_contract_ic_invoicing_taxes** — Get the VAT and withholding tax settings configured for a Deel independent contractor contract. Returns: id, vat, withholding_tax, title, amount, status, created_at, reported_by, reviewed_by, approval_requested. Required: contract_id.
- **create_a_deel_contract_ic_invoicing_tax** — Create an IC invoicing tax entry for a Deel independent contractor contract. Returns an empty 201 response on success. Required: contract_id, data.tax_type, data.percentage.
- **update_a_deel_contract_ic_invoicing_tax_by_id** — Partially update an IC invoicing tax for a Deel independent contractor contract by specifying the tax type and revised percentage. Returns an empty 204 response on success. Required: contract_id, data.tax_type, data.percentage.
- **delete_a_deel_contract_ic_invoicing_tax_by_id** — Permanently delete a specific IC invoicing tax from a Deel independent contractor contract. This action is irreversible and takes effect on future invoices. Returns an empty 204 response on success. Required: contract_id, id, tax_type.
- **deel_contract_ic_invoicing_taxes_bulk_delete** — Permanently delete an IC invoicing tax type from a deel contract's invoicing tax configuration; the deletion is irreversible and takes effect on future invoices. Returns an empty 204 response on success. Required: contract_id, tax_type.
- **deel_contract_ic_invoicing_taxes_bulk_update** — Update the invoicing tax on a deel independent contractor contract via a partial update, supplying tax_type (WITHHOLDING_TAX or VAT) and percentage to change how taxes are calculated on future invoices. Returns an empty 204 response on success. Required: contract_id.
- **list_all_deel_ats_candidates** — List Deel ATS candidates with optional filters by search text, job IDs, department IDs, tag IDs, stage category or default type slugs, or update timestamp. Returns each candidate's id, email, first_name, last_name, numeric_id, created_at, updated_at, phone_number, applications, candidate_tags, and total_applications_count. Max 100 per page.
- **create_a_deel_ats_candidate** — Create a new Deel ATS candidate record. Returns the created candidate object including id, first_name, last_name, email, numeric_id, source, phone_number, pic_url, linkedin_profile_url, created_at, and updated_at. Required: data.first_name, data.last_name, data.email.
- **deel_ats_candidates_attach_attachment** — Upload a CV file for an existing ATS candidate in deel; the file is stored as the candidate's primary CV attachment for later retrieval and processing. Returns the created attachment record: id, created_at, updated_at. Required: candidate_id, data.
- **deel_ats_candidates_attach_tag** — Replace all tags on an ATS candidate in deel with the provided tag_ids — this is a full replacement, so any tags not included are removed. Returns the created record: id, created_at, updated_at. Required: candidate_id, tag_ids. Deprecated: scheduled for removal on 2027-08-10.
- **get_single_deel_ats_candidate_by_id** — Get a single ATS candidate in deel by id, retrieving the complete candidate detail in one call. Returns: id, email, pic_url, last_name, created_at, first_name, numeric_id, updated_at, attachments, imported_id, applications, phone_number, anonymized_at, candidate_tags, import_session_id, origin_source_slug, final_archivation_at, linkedin_profile_url, referred_by_hris_organization_user_id.…
- **update_a_deel_ats_candidate_by_id** — Update an existing ATS candidate in deel by id — only the fields provided in data are changed. Returns the updated candidate record: id, created_at, updated_at. Required: id, data. At least one field must be provided; use origin_source_slug to set or correct the candidate source (e.g. sourced_internally).
- **create_a_deel_ats_candidate_tag** — Create a tag for a candidate in Deel ATS by posting to the candidate's tags sub-resource. Returns: id, tag_id, created_at, candidate_id, tag, job, candidate, numeric_id, job_posting, source_slug, job_employment_type, submitter_ip_address, submitter_user_agent, moved_to_current_stage_at, application_form_submission, application_job_criterias_matchings, created_by_hris_organization_user_id,…
- **list_all_deel_ats_applications** — List ATS applications in Deel across all open positions, with optional filtering by job, interview plan stage, candidate tags, source slugs, stage type, and last-updated timestamp. Returns each application's id, numeric_id, candidate, job, source_slug, created_at, moved_to_current_stage_at, and current_application_interview_plan_stage. Max 100 per page.
- **get_single_deel_ats_application_by_id** — Retrieve a single ATS application by id in Deel. Returns the full application record including id, job, candidate (with tags and attachments), notes, source_slug, job_board, created_at, updated_at, numeric_id, application_form_submission answers, application_job_criterias_matchings, current_application_interview_plan_stage, all_application_interview_plan_stages (with offers), and…
- **create_a_deel_ats_application** — Create a new ATS application in Deel. Returns the created application record including id, numeric_id, candidate, job, source_slug, created_at, moved_to_current_stage_at, and current_application_interview_plan_stage.
- **update_a_deel_ats_application_by_id** — Update an ATS application in deel by id — currently the only supported change is the application source (data.source_slug), e.g. to mark it as internally sourced or as an internal referral. Returns the updated application including id, created_at, and updated_at. Required: id and data.source_slug.
- **list_all_deel_ats_jobs** — List ATS jobs in Deel with optional filtering by search text, interview plan, locations, teams, employment types, departments, status, and updated_after timestamp. Returns: id, title, status, job_teams, created_at, updated_at, job_locations, hiring_members, is_confidential, job_departments, approval_rule_id, applications_count, approval_request_id, current_compensation, job_employment_types,…
- **create_a_deel_ats_job** — Create a new ATS job in Deel. Returns: id, title, status, job_teams, created_at, updated_at, job_locations, is_confidential, job_departments, approval_rule_id, approval_request_id, job_employment_types, richtext_description, created_by_hris_organization_user_id, job, candidate, numeric_id, job_posting, source_slug, job_employment_type, submitter_ip_address, submitter_user_agent,…
- **list_all_deel_contractors_methods** — List all payout methods in deel associated with the authenticated contractor account. Returns: address, payload, is_default, method_name, payment_method, selectedOption, id, status. Optionally filter to only the default method using is_default.
- **create_a_deel_contractors_method** — Create a new bank transfer payout method in deel. The request payload structure is dynamic and determined by the selected_option; retrieve field requirements before submitting. Returns: id, status. Required: data.
- **update_a_deel_contractors_method_by_id** — Fully replace a bank transfer payout method in deel by id. All fields must be supplied as this is a complete replacement, not a partial update. Returns: id, status. Required: id, data.
- **list_all_deel_eor_workers_compliance_documents** — List compliance documents required for EOR workers in Deel. Returns a documents array where each item includes id, name, status, country, is_optional, uploaded_at, has_template, fillable, filenames, rejection_message, required_in_30_days, and is_acknowledgement_only_document.
- **create_a_deel_eor_workers_compliance_document** — Upload a compliance document for a specific EOR worker in Deel. Accepts PNG, JPG, JPEG, HEIC, or PDF files as a multipart upload. Returns: success, id, name, plan, provider, offer_status, enrollment_details. Required: id.
- **list_all_deel_worker_compliance_documents** — List compliance documents for workers in deel. Returns a `documents` array where each item includes id, name, status, country, is_optional, uploaded_at, has_template, rejection_message, and is_acknowledgement_only_document. Applicable for both independent contractors and EOR employees.
- **list_all_deel_four_oh_one_k_plans** — List 401k plans for a specific legal entity in deel. Returns: id, name, details, end_date, start_date, contribution_type, contribution_value, contribution_value_for_match_rate. Required: id (the legal entity identifier).
- **create_a_deel_four_oh_one_k_plan** — Create a new 401k plan for a legal entity in deel. Returns: id, name, details, currency, start_date, contribution_type, contribution_limit, contribution_value, contribution_value_for_match_rate. Required: legal_entity_id.
- **update_a_deel_four_oh_one_k_plan_by_id** — Update an existing 401k plan for a legal entity in deel. Returns: id, name, details, end_date, start_date, contribution_type, contribution_limit, contribution_value, contribution_value_for_match_rate. Required: legal_entity_id, id.
- **get_single_deel_contract_plan_enrollment_by_id** — Get 401(k) enrollment settings for a Deel contract under a legal entity. Returns the enrollment object including id, type, contribution_type, contribution_limit, and contribution_value. Required: legal_entity_id, contract_id, id.
- **create_a_deel_contract_plan_enrollment** — Enroll an employee in a Deel 401(k) plan for a specific contract under a legal entity. Returns the enrollment object including id, type, contribution_type, contribution_limit, and contribution_value. Required: legal_entity_id, contract_id, id, type, contribution_limit.
- **get_single_deel_onboarding_tracker_hris_profile_by_id** — Get a single Deel onboarding tracker HRIS profile field by id. Returns: profile, stepper, summary, contract, progress, checklist, hiring_type, hris_profile, id, name, value, currency, raw_value, created_at, updated_at, is_editable, is_required, is_inherited, inherited_from. Required: id.
- **get_single_deel_offboarding_tracker_hris_profile_by_id** — Get a single HRIS profile record from the Deel offboarding tracker by id. Returns: summary, contract, progress, hiring_type, termination, hris_profile, app_experience, id, name, value, currency, raw_value, created_at, updated_at, is_editable, is_required, is_inherited, inherited_from. Required: id.
- **list_all_deel_contract_invoice_adjustments** — List invoice line items (adjustments) for a deel contract. Returns: id, scale, status, contract, quantity, worksheet, attachment, created_at, invoice_id, description, reported_by, reviewed_by, custom_scale, total_amount, currency_code, payment_cycle, date_submitted, title, amount, approval_requested. Required: contract_id. Supports optional filtering by contract_types, types, statuses,…
- **list_all_deel_contract_adjustments** — List all adjustments associated with a specific Deel contract, optionally scoped to a date range. Returns: id, file, title, amount, status, created_at, updated_at, contract_id, description, cycle_reference, move_next_cycle, date_of_adjustment, actual_end_cycle_date, adjustment_category_id, actual_start_cycle_date, reported_by, reviewed_by, approval_requested. Required: contract_id.
- **list_all_deel_contract_payment_cycles** — List scheduled payment cycles for a specific Deel contract. Returns: id, status, due_date, title, amount, created_at, reported_by, reviewed_by, approval_requested. Required: contract_id.
- **list_all_deel_contract_details** — Retrieve EOR contract details for a specific Deel contract, including basic contract information and associated employment costs. Returns: id, name, status, team, employee, job_title_name, employment_country, salary, currency, monthly_employer_cost, employment_costs, start_date, end_date, created_at, updated_at. Required: contract_id.
- **list_all_deel_lookups_seniorities** — List predefined seniority levels supported by the Deel platform. Returns: id, name, level. When is_eor_contract is true, C-level seniorities are excluded from the response.
- **list_all_deel_adjustments_categories** — List available adjustment categories in Deel, optionally filtered by contract type. Returns: id, name, label, unit_type. Category IDs returned here are required when creating adjustments.
- **list_all_deel_offboarding_time_offs** — List time off entitlements, balances, and upcoming time offs for an employee contract in Deel, scoped to offboarding. Returns: contract_id, tracking_type, has_external_integration, remaining_balance, policy_settings, entitlements, upcoming_time_offs. Required: contract_id.
- **list_all_deel_eor_job_scopes** — List EOR job scope templates in deel, returning predefined and custom templates available for EOR contracts. Returns: id, created_at, updated_at, name, plan, provider, offer_status, enrollment_details. Optionally filter results to a specific team using the team parameter.
- **list_all_deel_eor_additional_costs** — List EOR additional costs available for a specified country in deel, returning the allowances and non-statutory costs eligible for inclusion in an EOR contract quote. Returns: allowances, nonStatutory, id, name, plan, provider, offer_status, enrollment_details. Required: country.
- **list_all_deel_eor_create_contracts** — Fetch the versioned EOR contract form definition for a specified country in Deel, including fields, validation rules, and conditional logic. Returns: pages, id, title, amount, status, created_at, reported_by, reviewed_by, approval_requested. Required: country_code.
- **get_single_deel_eor_create_contract_by_id** — Get the deel EOR contract creation form definition for a country, including fields, validation rules, and conditional logic. Returns: pages. Required: id (two-letter ISO 3166-1 alpha-2 country code, e.g. US). The state query parameter is only required for countries that mandate it.
- **list_all_deel_validation_settings** — List amendment validation settings for an EOR contract in Deel, returning the editable data points and their constraints. Returns: data_point, rules, salary, holiday, currency, probation, health_insurance. Required: contract_id.
- **list_all_deel_amendment_effective_date_limitations** — Retrieve effective date validation rules for a specific EOR contract amendment in deel. Returns: message, is_hidden, is_disabled, max_effective_date, min_effective_date, default_effective_date. Required: contract_id, amendment_id.
- **list_all_deel_visa_requirement_businesses** — Get business visa eligibility and requirements in Deel for a trip, given the destination, nationality, residence, trip dates and trip reason. Returns: qualification, name, description, fee, fee_currency, visa_type_id, estimated_timeline. Required: destination_country, nationality, residence_country, trip_start_date, trip_end_date, trip_reason.
- **list_all_deel_knowledge_hub_country_guides** — List Deel Knowledge Hub country guides for a given country, returning audience records segmented by contract type and category. Returns: name, value, categories, contract_types, allowances, nonStatutory. Required: country_code.
- **get_single_deel_knowledge_hub_country_guide_by_id** — Get the deel Knowledge Hub country guides for a country, segmented by audience and contract type. Returns: name, value, categories, contract_types. Required: id (country_code).
- **list_all_deel_kyc_details** — Get a worker's KYC verification details in Deel by supplying either worker_profile_id or profile_id (mutually exclusive). Returns: kyc_status, identity_document_type, identity_document_name, identity_document_number, submission_date, approval_date, rejection_date, expiration_date, document_extracted_first_name, document_extracted_last_name, document_extracted_middle_name, created_at, updated_at.
- **list_all_deel_ats_application_sources** — List available ATS application sources in Deel. Returns: id, slug, created_at, updated_at.
- **list_all_deel_ats_reasons** — List ATS rejection and archivation reasons in Deel. Returns: id, label, created_at, jobs_count, updated_at, subgroup_slug, email_template, candidates_count, reason_group_slug, job, candidate, numeric_id, job_posting, source_slug, job_employment_type, submitter_ip_address, submitter_user_agent, moved_to_current_stage_at, application_form_submission, application_job_criterias_matchings,…
- **list_all_deel_ats_attachments** — List ATS attachment files in Deel for a specific entity, scoped by entity type and attachment type. Returns: id, url, file_name, ai_summary, created_at, updated_at, attachable_id, file_content_type, attachable_type_slug, attachment_type_slug, created_by_hris_organization_user_id, job, candidate, numeric_id, job_posting, source_slug, job_employment_type, submitter_ip_address, submitter_user_agent,…
- **create_a_deel_ats_attachment** — Upload a file to Deel and attach it to an ATS candidate, offer, or job activity — preferred over the candidate CV endpoint for any non-CV file type. Returns the created attachment with its id, attachable_type_slug, and attachment_type_slug. Required: attachable_type_slug, attachable_id, attachment_type_slug, and data. Beta: requires the X-Beta: true header.
- **list_all_deel_ats_employment_types** — List employment types available in the Deel ATS. Returns a paginated collection of employment type records including id, name, created_at, and updated_at.
- **list_all_deel_ats_offers** — List ATS offers in Deel associated with the organization. Returns: id, email, job_title, created_at, start_date, updated_at, worker_type, country_code, offer_status, attachment_id, approval_rule_id, approval_request_id, compensation_amount, rejection_reason_id, compensation_currency, application_interview_plan_stage_id, job, candidate, numeric_id, job_posting, source_slug, job_employment_type,…
- **list_all_deel_ats_interviews** — List Deel ATS interviews for the organization. Returns: id, ends_at, timezone, starts_at, created_at, updated_at, application, meeting_url, status_enum, application_activity, application_activity_id, job, candidate, numeric_id, job_posting, source_slug, job_employment_type, submitter_ip_address, submitter_user_agent, moved_to_current_stage_at, application_form_submission,…
- **list_all_deel_ats_locations** — List all ATS work locations in Deel associated with the organization, suitable for use when constructing job postings or filtering by location. Returns: id, city, name, is_remote, created_at, updated_at, country_code, location_group, province_or_region_text, job, candidate, numeric_id, job_posting, source_slug, job_employment_type, submitter_ip_address, submitter_user_agent,…
- **list_all_deel_ats_openings** — List job openings (requisitions/headcount requests) in Deel for the authenticated organization. Returns: id, team, title, status, job_ids, team_id, location, created_at, updated_at, location_id, opening_prefix, employment_type, filled_by_offer, is_confidential, target_hire_date, opening_type_slug, target_start_date, employment_type_id, opening_numeric_id, compensation_period,…
- **list_all_deel_legal_entitie_payroll_events** — List payroll events (cycles) for a specified legal entity in Deel, optionally filtered by date range. Returns: id, date_end, date_start, has_g2n_report, legal_entity_id, payroll_group_id. Required: legal_entity_id. date_start must not be earlier than 5 years ago and date_end must not exceed 5 years in the future.
- **list_all_deel_legal_entitie_year_to_date_pays** — List aggregated year-to-date payroll figures for employees in a deel legal entity over a caller-specified date range. Returns: start_date, end_date, employees. Required: legal_entity_id, date_start, date_end.
- **list_all_deel_payouts_auto_withdrawal_settings** — Get the current auto-withdrawal configuration for the authenticated worker in deel. Returns: method_id, is_auto_withdraw_enabled, id, status, address, is_default, method_name.
- **update_a_deel_payouts_auto_withdrawal_setting_by_id** — Update the auto-withdrawal configuration in deel, enabling or disabling auto-withdrawal and changing the target withdrawal method. Returns the updated settings object in data, containing method_id and is_auto_withdraw_enabled.
- **deel_payouts_auto_withdrawal_settings_bulk_update** — Update the deel auto-withdrawal setting, partially changing whether auto-withdrawal is enabled and the target withdrawal method. Returns the updated setting record: id plus attributes holding the setting fields defined by the deel Payouts API.
- **list_all_deel_bank_transfers_supported_routes** — List all bank transfer supported routes available to the authenticated contractor in Deel. Returns a dynamic mapping of ISO country codes to arrays of supported currency codes — for example, AE maps to [AED, GBP, USD] and AR maps to [ARS, EUR, USD]. No required parameters.
- **list_all_deel_templates_downloads** — Download a compliance document template in Deel by retrieving a time-limited URL for the template associated with a specific compliance document. Returns: url, expires_at, updated_at. Required: document_id.
- **get_single_deel_templates_download_by_id** — Download the template for a Deel EOR worker compliance document by id. Returns a time-limited download URL for the template together with its expires_at expiry time. Only available when a template exists for that document. Required: id (the Deel compliance document identifier).
- **list_all_deel_contract_cost_centers** — List cost center allocations assigned to a Deel employment contract. Returns: id, title, amount, status, created_at, reported_by, reviewed_by, approval_requested. Required: contract_id.
- **create_a_deel_contract_cost_center** — Assign cost centers to a Deel employment contract, specifying per-center allocation percentages and an effective date. Returns: id, amount, status, attachment, date_submitted. Required: contract_id, data.value (array of cost_center_id and allocation_percentage), data.effective_date.
- **create_a_deel_worker** — Create a new worker record in Deel. Returns: user_id, profile_id, contract_id, id, to, from, status. Required: data (a wrapper object containing the worker's personal and contract details).
- **create_a_deel_workers_individual** — Create an individual contractor profile in deel by completing address, tax details, and legal status in a single call during the IC-embedded onboarding flow. Returns: profile_id, company_type, legal_status, tax_residence, onboarding_step, street, city, zip, country, citizen, province, phone, timezone, id_type, personal_id, abn, ssn, entity_tax_residence, id, to, from, status. Required: data.
- **create_a_deel_eor** — Create an EOR (Employee of Record) contract in Deel and receive a cost quote. Accepts employment, employee, job_title, seniority, client, and compensation_details within the data body. Returns: id, costs, name, plan, provider, offer_status, enrollment_details. Required: data.
- **create_a_deel_candidate** — Create a candidate record in Deel for contractor onboarding outside of an ATS flow. Returns: created, id, status. Required: data.id, data.first_name, data.last_name, data.status, data.start_date, data.link.
- **create_a_deel_consent_token** — Create a time-bounded consent token in Deel that authorizes third-party service connections on behalf of an organization. Returns: unique_consent_token, created_at, updated_at, expires_at. Requires a data object containing user_id, profile_id, and contract_id.
- **create_a_deel_magic_link** — Create a time-limited magic link in Deel for password-free worker authentication. Returns: magic_link, expires_at. Optionally accepts a redirect_path to send the user to a specific page after login.
- **create_a_deel_task_review** — Create a task review in Deel by submitting an approval or rejection for a task associated with a contract. Returns: id, amount, status, description, date_submitted, attachment. Required: contract_id, task_id, and data.status.
- **create_a_deel_terminations_resignation** — Submit a resignation request for a Deel EOR contract on behalf of a team member. The fields are sent nested under data.data. Returns: id, contract_id, end_date, desired_end_date, request_data. Required: oid, data.data.reason, data.data.used_time_off, data.data.is_employee_staying_with_deel.
- **create_a_deel_project_assignment_accept** — Accept a Deel EOR project assignment as client, recording approval of the project assignment terms for a specific contract. Optionally supply a version string to validate that the PDF version matches the one received from the webhook (a mismatch returns a 409 error). Returns an empty 204 response on success. Required: contract_id.
- **create_a_deel_project_assignment_acknowledge** — Acknowledge an assignment agreement in Deel for an EOR contract worker, confirming all terms have been reviewed before project initiation. Returns an empty 204 response on success. Required: contract_id.
- **create_a_deel_workers_session** — Create a scoped worker access token (session) in Deel, issuing a JWT that grants a specific worker access to worker-side API endpoints. Returns: token, expires_at, id, to, from, status. Requires a data object containing the worker's profile_id.
- **create_a_deel_upsertions_bulk_tag** — Upsert tags in bulk for candidates, jobs, or openings in Deel. Returns resolved tags grouped by group: candidate_tags, job_tags, and opening_tags, each containing tag_id and tag_name. Required: data (must include at least one of candidate_tags, job_tags, or opening_tags). Max 500 tags per group; omit tag_id to create or case-insensitively match an existing tag.
- **list_all_deel_bank_transfers_requirements** — List bank transfer field requirements for a given contractor country and currency combination in Deel, including fee information per available transfer type. Returns: title, fields, total_fee, intermediary. Required: country, currency.
- **create_a_deel_bank_transfers_requirement** — Retrieve progressive dynamic bank transfer requirements for employee payout method configuration in Deel based on the current state provided. Returns: steps, is_final, requirements_id.
- **update_a_deel_profile_by_id** — Update the authenticated Deel user's profile by supplying only the fields to change. Returns the updated profile in a data object including first_name, last_name, preferred_name, phone, currency, and timezone. Required: data.
- **deel_profiles_bulk_update** — Partially update the authenticated user's profile in Deel; only the fields supplied in the request body are modified. Returns the updated profile record including id, created_at, and updated_at. Required: data.
- **update_a_deel_delay_onboarding_by_id** — Delay or un-delay an EOR employee's onboarding in Deel by updating the delay status on the specified contract. Returns: success, contractOid, is_employee_onboarding_delayed. Required: oid, data.is_employee_onboarding_delayed.
- **deel_delay_onboardings_bulk_update** — Delay the onboarding of a Deel EOR employee by deferring the scheduled onboarding start date for the specified contract. Returns the updated onboarding delay status with Deel-defined response fields. Required: oid, data.
- **update_a_deel_task_by_id** — Partially update a Deel task by id, modifying fields such as amount, description, or hourly_report_preset_id. Returns the data object containing the task's created_at and updated_at timestamps confirming the update was applied. Required: id.
- **deel_tasks_partial_update** — Update a task by id in Deel. Applies a partial update to the specified task and returns whether the update was successful. Required: id, data.
- **delete_a_deel_worker_session_by_id** — Delete (revoke) the active access token for a Deel worker, immediately terminating all API access granted by that token. Returns an empty 204 response on success. Required: worker_id.
- **deel_worker_sessions_bulk_delete** — Revoke the active worker access token for a worker in deel, immediately terminating all API access granted by that token. Returns an empty 204 response on success. Required: worker_id.
- **update_a_deel_types_external_by_id** — Update a Deel worker relation type by external id. Applies a partial update — only fields included in the request body are modified; omitted fields retain their current values. Returns the updated type in a data envelope containing id, child_name, parent_name, is_default, and external_id. Required: id.
- **delete_a_deel_types_external_by_id** — Delete a Deel worker relation type by external id. Permanently removes the record. Returns an empty 204 response on success. Required: id.
- **deel_types_externals_partial_update** — Partially update a worker relation type by external id in deel. Only fields included in the request body are modified; omitted fields retain their current values. Returns an empty 204 response on success. Required: id (the worker relation type's external ID).
- **list_all_deel_worker_relations_profiles** — List all worker relations associated with a deel HrisProfile, returning both parent and child hierarchical relationships. Returns: id, name, is_parent, is_default, child_relationships, parent_relationship. Required: hris_profile_oid.
- **create_a_deel_worker_relations_profile** — Create a hierarchical worker relation in deel linking a parent HrisProfile to one or more subordinate profiles. Returns an empty 201 response on success. Required: data.parent_hris_profile_id, data.child_hris_profile_ids, data.hris_relationship_type_id.
- **delete_a_deel_worker_relations_profile_by_id** — Delete all worker relations associated with a deel HrisProfile by id, removing all parent and child hierarchical associations linked to that profile. Returns an empty 204 response on success. Required: id.
- **deel_worker_relations_profiles_bulk_delete** — Delete a worker relation profile in deel by hris_profile_oid. Removes the worker relation along with all hierarchical parent and child associations linked to it. Returns an empty 204 response on success. Required: hris_profile_oid.
- **create_a_deel_accounts_payable_vendor_bill** — Create a new vendor bill in Deel accounts payable, associating it with a vendor and subsidiary. Returns the created bill including id, vendor_id, subsidiary_id, amount, currency, reference, is_active, exchange_rate, created_at, updated_at, and line_items. Required: vendor_id, subsidiary_id, amount, subtotal, currency, date, description, due_date, reference, external_id, line_items.
- **deel_accounts_payable_vendor_bills_attach_attachment** — Upload a PDF invoice file as an attachment to an existing Deel vendor bill. The bill must already exist before the file is attached. Required: vendor_bill_id, data. Returns the upload confirmation payload; its field-level shape is not documented upstream.
- **list_all_deel_working_locations** — Retrieve working locations. Returns: id, name.
- **deel_working_locations_bulk_update** — Update the working location for a Deel worker identified by their HRIS profile ID. Sets the working location and returns the successful-operation response body; its fields are not enumerated in the source. Required: people_id, data.
- **list_all_deel_time_off_policies** — List the organization's time off policies with their time off types and allowances.
- **list_all_deel_profile_time_offs** — List the time off requests of one worker profile. Requires query.hris_profile_id.
- **list_all_deel_timesheets** — List of timesheets. Returns: id, type, scale, status, contract, quantity, worksheet, attachment.
- **get_single_deel_timesheet_by_id** — Retrieve a single timesheet entry. Returns: id, type, scale, status, contract, quantity, worksheet, attachment. Required: id.
- **create_a_deel_timesheet** — Create a timesheet entry. Returns: id, status, created, created_at. Required: data.
- **update_a_deel_timesheet_by_id** — Update a timesheet entry. Returns: updated. Required: id, data.
- **delete_a_deel_timesheet_by_id** — Delete a timesheet entry. Returns: deleted. Required: id.
- **deel_timesheets_partial_update** — Partially update a timesheet entry in deel by id; only fields supplied in the request body are modified. Returns: updated. Required: id, data.
- **list_all_deel_payroll_groups** — List the Global Payroll payroll groups of a legal entity. Requires query.legalEntityId.
- **list_all_deel_adjustments_categories_adjustments** — List Deel adjustment categories, optionally filtered by contract type. Returns: id, name, label, unit_type. When contract_types is omitted, only EOR categories are returned by default.
- **create_a_deel_adjustments_rest** — Create a new payroll adjustment for a Deel contract, modifying the payment amount on the next payment cycle. Returns the created adjustment with id, amount, status, and contract_id. Requires file, title, amount, vendor, country, contract_id, description, and adjustment_category_id (a valid category id from the adjustment categories list).
- **delete_a_deel_adjustments_rest_by_id** — Permanently delete a Deel adjustment by id. Returns an adjustment object including id, amount, status, and contract_id on success. Required: id.
- **get_single_deel_adjustments_rest_by_id** — Get a specific Deel adjustment by id. Returns the adjustment with its id, title, amount, status, contract_id, description, cycle_reference, and payment cycle fields (date_of_adjustment, actual_start_cycle_date, actual_end_cycle_date). Required: id.
- **create_a_deel_case_required_document** — Upload a required document for a deel worker's immigration case and submit it for review against a specific document requirement. Returns: id, status, created_at, updated_at. Required: worker_id, case_id, document_request_id, and data.
- **get_single_deel_case_required_document_by_id** — Get the required-document details for a deel worker's immigration case, including the requirement's current status and information about any previously rejected document. Returns: id, name, document, created_at, updated_at, description, previous_rejected_document, immigration_document_requirement_id. Required: worker_id and id (the case's unique identifier).
- **list_all_deel_client_cases** — List deel immigration cases, optionally filtered by applicant name or code, case type, status, and country. Returns each case with its id and case attributes. Max 100 per page.
- **create_a_deel_client_case** — Create an immigration case for a worker in deel. Returns the created case including its id and case attributes. The case payload is passed in the data field. The appropriate visa type must be determined before calling.
- **get_single_deel_client_case_by_id** — Get the details of a deel immigration case by id. Returns the case including its id and case attributes. Required: id.
- **list_all_deel_contract_adjustments_contracts** — List payroll adjustments for a specific Deel contract, optionally narrowed to a date range. Returns each adjustment with its id, title, amount, status, and associated contract_id. Required: contract_id. Supports optional from/to date filters.
- **list_all_deel_events_types_events** — List all webhook event types in deel that can be subscribed to. Each entry returns its event_name, description, category, and a payload example.
- **list_all_deel_groups_rest** — List groups in the deel organization. Archived groups are included by default and can be excluded from results. Returns group records including id, external_metadata, and archived_at. Max 100 per page.
- **create_a_deel_groups_rest** — Create a group in deel. Returns the created group record including its assigned id, external_metadata, and archived_at. Requires data.
- **delete_a_deel_groups_rest_by_id** — Archive (soft-delete) a group by id in deel; the group is not permanently removed. Returns the archived group record including id, archived_at, and external_metadata. Required: id.
- **get_single_deel_immigration_document_by_id** — Get a single immigration case document in deel by its document id. Returns the record's id plus its remaining document detail fields under attributes (the upstream docs do not enumerate them individually). Required: id.
- **get_single_deel_immigration_visa_type_by_id** — Get the visa types deel supports for immigration processing in a country, identified by its Alpha-2 country code. Returns the supported visa types for that country. Required: id (the Alpha-2 country_code).
- **list_all_deel_industries** — List Deel industry subcategories with their parent category details and NAICS codes. Returns each subcategory's name, category name, and NAICS code, with cursor-based pagination. Supports optional order and sort_by query parameters; no required parameters. Maximum 100 items per page.
- **list_all_deel_kyc_details_kyc** — Get a worker's KYC verification details in deel. Returns the KYC details record including kyc_status, submission_date, expiration_date, and identity document fields. worker_profile_id and profile_id are mutually exclusive — supply exactly one of them to identify the worker; contract_id is required when the worker has multiple associated profiles, otherwise a 409 conflict error is returned.
- **list_all_deel_legal_entitie_cost_centers** — List all cost centers configured for a legal entity in deel. Returns the collection of cost center records, each identified by its id. Required: legal_entity_id.
- **list_all_deel_legal_entities_legal_entities** — List the legal entities in the Deel account, with optional filtering by country, entity type, global payroll flag and archived state. Returns each entity's id, status, cdd_status, address, industry, incorporation_date and archived_at. Max 100 per page; archived entities are included by default.
- **create_a_deel_legal_entities_legal_entity** — Create a new legal entity under the Deel organization. Returns the created entity record including its id, status, cdd_status, address and incorporation_date. Required: data — the wrapper object carrying the entity's registration/tax identifier fields (per country), address, industry and incorporation details.
- **delete_a_deel_legal_entities_legal_entity_by_id** — Archive a Deel legal entity by id, marking it inactive without permanently removing it. Returns the archived record including its id, status and archived_at timestamp. Required: id.
- **get_single_deel_legal_entities_legal_entity_by_id** — Get the full record for a single Deel legal entity by id, including registration and tax identifiers, address, industry, incorporation date and lifecycle status. Returns: id, name, phone, status, vat_id, address, country, cdd_status, created_at, legal_name, legal_type, updated_at, archived_at, entity_type, industry_name, incorporation_date, registration_number, industry. Required: id.
- **list_all_deel_lookups_countries** — List all countries supported by Deel, including each country's visa support status, Employer of Record availability, sub-territories, and classification. Returns country records identified by id.
- **list_all_deel_lookups_currencies** — List all currencies supported by Deel, including their ISO codes and names. Returns: code, name, id.
- **list_all_deel_lookups_job_titles** — List predefined job titles from the Deel lookups catalogue. Returns job title entries including id and attributes.
- **list_all_deel_lookups_seniorities_lookups** — List the predefined seniority levels available in Deel. Returns: id, name, level. By default C-level seniorities are excluded; set is_eor_contract to false to return all seniorities.
- **list_all_deel_lookups_time_off_types** — List the predefined time-off types available for time-off registration in Deel. Returns each type's lookup record with its id and the remaining upstream-defined fields (attributes).
- **create_a_deel_magic_links_magic_link** — Create a magic link for a user in deel. Generates a time-limited link for password-free worker authentication. Returns the generated link and its expiry timestamp. Required: data.
- **list_all_deel_managers_rest** — List all managers in the Deel organization. Returns a paginated collection of manager records, each including the assigned id.
- **create_a_deel_managers_rest** — Create a manager in a Deel organization. Returns the created manager's identity fields, including the assigned id. Required: data (the new manager's details). Fails with a conflict if a manager with the same email already exists.
- **create_a_deel_organizations_children** — Create a child organization under the authenticated parent organization in deel, provisioning its API token, a default group, and an initial user assignment in one operation. Returns the created child organization including its id, token (returned only this once — store it), and created_at. Required: data.
- **list_all_deel_organizations_rest** — Get the current organization in deel. Returns the details of the organization associated with the authentication token — the organization is resolved automatically from the token, so no additional identifier is required. Returns: id, name, created_at, updated_at.
- **list_all_deel_screenings_amls** — Get the most recent AML screening details for an entity in deel. Returns the screening result recorded for the specified entity type and ID. Required: entity_type (one of profile, hris_profile, legal_entity) and entity_id (UUID v4 of the entity).
- **create_a_deel_screenings_manual_verification** — Create a manual identity verification screening in deel as a fallback when automated verification has failed multiple times or the document's issuing country is not supported by the automated solution. Returns the created screening record including id, created_at, and updated_at. Requires front, document_type, operation_type, selfie_with_id, and translation_required; document files are uploaded…
- **list_all_deel_screenings_verification_methods** — Get the KYC verification method Deel supports for a given document's issuing country and document type. Returns the verification method as a response object whose fields are not enumerated in the Deel API reference. Required: country (ISO 3166-1 alpha-2), document_type.
- **create_a_deel_veriff_session** — Create a Veriff identity verification session in Deel. Returns the session's verification URL to redirect the worker to in order to complete the verification flow. Required: data.
- **list_all_deel_visa_requirement_busineses** — Get deel business visa eligibility and requirements for a trip based on the traveller's nationality, residence country, destination, and trip dates. Returns each available visa option with its name, description, fee, fee_currency, visa_type_id, qualification, and estimated_timeline. Required: destination_country, nationality, residence_country, trip_start_date, trip_end_date, trip_reason.
- **list_all_deel_webhooks_rest** — List all webhook subscriptions configured for the deel organization. Returns each subscription's id, url, events, status, api_version, signing_key, and include_child_orgs.
- **create_a_deel_webhooks_rest** — Create a webhook subscription in deel for the specified URL and events. Returns the created webhook including its id, url, events, status, and signing_key. Requires url, name, events, status, api_version, and description.
- **get_single_deel_webhooks_rest_by_id** — Get a single webhook subscription in deel by id. Returns the webhook's id, url, events, status, api_version, and signing_key. Required: id.
- **delete_a_deel_webhooks_rest_by_id** — Delete a webhook subscription in deel by id. This action cannot be undone. Returns the deleted webhook record (id, url, events, status). Required: id.
- **get_single_deel_worker_onboarding_case_by_id** — Get a worker's right-to-work onboarding case in deel, including any associated documents. Returns: id, status, process, contract, applicant, case_type, documents, visa_type, created_at, updated_at, country_code, estimated_completion_date. Required: id (the worker's hris profile oid). Supply contract_id when the worker has multiple contracts; returns an empty response if no open case exists.
- **get_single_deel_workers_case_by_id** — Get detailed information for a specific deel immigration case by id, enriched with applicant profile, visa type, case status, estimated completion date, process details, and compliance document details. Returns: id, status, process, contract, applicant, case_type, documents, visa_type, created_at, updated_at, country_code, estimated_completion_date. Required: id (case UUID).
- **list_all_deel_workers_cases** — List worker immigration cases in deel with filters for applicant name or code, case type, status, and country. Returns: id, status, closure, process, applicant, case_type, created_at, updated_at.
- **create_a_deel_amendment_accept** — Accept a pending amendment on a Deel EOR worker contract on the client's behalf. Returns the amendment info object including its id, type, effective_date, and status. Required: contract_id, amendment_id. The amendment must already exist and be in a pending state before calling.
- **create_a_deel_amendment_confirm** — Confirm a draft amendment on a Deel EOR contract and start its review process, routing it to Deel and the employee for acknowledgment and approval. Returns the confirmed amendment record: id plus amendment-specific attributes. Required: contract_id, amendment_id. The amendment must already be in a confirmable state.
- **amendment_effective_date_limitations_effective_date_limitations_** — Retrieve the effective date limitations for a deel EOR contract amendment. Returns the effective date limits object, including its vendor-defined attributes, that constrains which effective dates the amendment may use. Required: contract_id, amendment_id (UUID).
- **get_single_deel_amendment_pdf_by_id** — Get the PDF download URL for a specific Deel EOR contract amendment. Generates a secure, time-limited link to the exported amendment PDF. Returns: url. Required: contract_id and id (the amendment identifier).
- **create_a_deel_amendment_sign** — Sign a pending deel worker amendment by recording the worker's signature. Returns the signed amendment record with id, status, created_at, and updated_at. Required: amendment_id. Once signed, the status change is reflected in the associated contract.
- **create_a_deel_amendment_signs_sign** — Sign a pending Global Payroll contract amendment in deel on the client's behalf, applying the change. Returns the signed amendment record including its id, status, and created_at and updated_at timestamps. Required: contract_id, amendment_id (the id returned when the amendment was created). Global Payroll amendments only — IC contracts use the worker amendment sign endpoint instead.
- **create_a_deel_amendments_validate** — Validate proposed amendment data points for a Deel EOR contract against external validation rules before creating an amendment. Returns a validation result whose shape depends on the data points validated and Deel's external validation rules; fields are not enumerated in the upstream spec. Required: contract_id.
- **list_all_deel_benefits_eor** — List benefits for a Deel EOR contract by contract_id. Returns: id, name, plan, provider, offer_status, enrollment_details.
- **create_a_deel_contract_amendments_contract** — Create an amendment for an existing Deel contract, specifying any combination of contract data points that need changing. Returns the created amendment's id, which is later used to sign the amendment. If the contract is already signed or active, the amendment must be approved and re-signed before the changes take effect. Required: contract_id, data.
- **list_all_deel_contract_amendments_contracts** — List the amendments associated with a Deel contract, optionally filtered by amendment status and sign status. Returns amendment records including id. Max 100 per page. Required: contract_id.
- **list_all_deel_contract_details_contracts** — Get the details of a specific Deel EOR contract, including its basic contract information and associated employment costs. Returns: id, attributes. Required: contract_id.
- **create_a_deel_contract_document** — Attach a file to a deel contract as a contract document by creating an amendment with the attachment. Returns the created document record with its id and attributes. Only supported for ongoing_time_based, milestones, payg_tasks, time_based, pay_as_you_go_time_based, and eor contract types. Required: contract_id, file.
- **list_all_deel_contract_documents** — List all documents associated with a specific deel EOR contract. Returns each document record with its id and attributes. Required: contract_id.
- **list_all_deel_contract_documents_contracts** — Fetch a specific Deel EOR contract document as a PDF. Returns the raw document as a binary PDF stream rather than a JSON object. Only the FRAMEWORK_AGREEMENT document type is currently supported. Required: contract_id, type.
- **deel_contract_employee_informations_bulk_update** — Apply a partial update to employee information on a deel EOR contract. Returns the updated employee-information record: id plus country/state-specific attributes. Requires contract_id and data; undocumented fields are rejected. Only permitted while contract status is new, under_review, awaiting_deposit_payment, rejected, or any waiting_for_* status.
- **create_a_deel_contract_offboarding** — Submit a resignation on behalf of an EOR worker in deel, formally initiating the offboarding process for the contract. Returns the submitted offboarding request record with its id and attributes. Required: contract_id and data (the resignation submission payload).
- **get_single_deel_contract_offboarding_by_id** — Retrieve the offboarding request associated with a deel EOR contract by id. Returns the offboarding request record with its id and attributes, covering termination details, document review status, offboarding request data, and pending employee notification state. Required: id (the EOR contract identifier).
- **get_single_deel_contract_project_assignment_by_id** — Get the project assignment PDF for a deel EOR contract pending client approval. Returns the raw PDF file as binary content (application/octet-stream), not a JSON record. Required: id (the EOR contract id).
- **create_a_deel_document_sign** — Sign a Deel EOR contract document by applying the signer's signature and job title supplied in the data request body. Returns the signed-document confirmation; the exact response fields are not documented upstream. Required: contract_id, type. Currently only the FRAMEWORK_AGREEMENT document type is supported.
- **list_all_deel_eor_additional_costs_additional_costs** — List the allowances and non-statutory additional costs Deel offers for inclusion in an EOR contract quote in the specified country. Returns a country-specific collection of cost options; option fields vary by country. Required: country (two-letter uppercase ISO code, e.g. US).
- **list_all_deel_eor_benefits** — List benefits available in a specific country in deel, scoped by work-visa requirement, weekly hours, employment type, team, and legal entity. Returns a benefits array whose item shape is not enumerated in the docs. Required: country_code, work_visa, work_hours_per_week, employment_type, team_id, legal_entity_id.
- **deel_eor_contracts_cancel** — Cancel an EOR contract in deel by its oid. The contract must be in an active or pending state to be eligible for cancellation. Returns an empty 204 response on success. Required: oid.
- **update_a_deel_eor_contract_by_id** — Update mutable fields of an EOR contract in deel, such as salary, job title, or benefits; only fields included in the request body are modified. Returns the updated contract's id and status. Required: id.
- **deel_eor_contracts_update_reject** — Reject the quote of an EOR contract in deel. Returns the contract's id and status. Rejection is terminal and cannot be undone; only accepted while the contract is in new, under_review, waiting_for_client_sign, waiting_for_eor_sign, waiting_for_employee_contract, waiting_for_employee_sign, or awaiting_deposit_payment. Required: contract_id.
- **create_a_deel_eor_employment_cost** — Calculate the total employment cost for an EOR arrangement in a specified country in deel. Returns a cost breakdown that includes employer costs, benefits, platform fees, and severance accrual. Required: data.
- **list_all_deel_eor_job_scopes_job_scopes** — List predefined and custom job scope templates available for EOR contracts in Deel. Returns each template's id and its attributes. No required parameters.
- **list_all_deel_eor_start_dates** — Get the earliest allowed start date for a new EOR contract in Deel based on employment country, nationality, and visa requirements. Returns the payroll timing parameters: start_date_buffer, first_payroll_lock, and is_same_month_payment_country. Required: employment_country, team_id.
- **get_single_deel_eor_validation_by_id** — Get the detailed Deel hiring guide for a country to validate EOR contract quotes. Returns the guide record including its id (the ISO country code) and attributes covering salary requirements, holidays, probation terms, health insurance, and currency. Required: id (two-letter ISO country_code, e.g. US).
- **create_a_deel_eors_eor** — Create an EOR contract in deel: submits the employee and employment details and returns a quote with pricing, compensation, and health plan details for review before the contract is activated. Returns the created quote object including its id and country-specific attributes. Required: data. Fields within data vary by employment country — consult the country's EOR contract form definition.
- **create_a_deel_job_scopes_validate** — Validate an EOR job scope description in Deel. Returns: quote_validation_log_public_id and data_for_corrected_job_scope_endpoint (included when validation errors are found) to support subsequent correction. Required: data (details of job scope).
- **list_all_deel_offboarding_attachments** — Download the content of a specific offboarding attachment associated with a termination for a deel EOR contract. Returns the raw binary file content of the attachment. Required: contract_id, attachment_id.
- **get_single_deel_offboarding_required_information_by_id** — Get the additional information deel requires to request termination of an EOR contract: the country-specific mandatory and optional questions and supporting documents needed to initiate offboarding. Returns a country-specific requirements payload whose exact fields vary by the contract's country (shape defined in deel's EOR offboarding schema). Required: id (the employee contract id).
- **list_all_deel_offboarding_restricted_dates** — Retrieve the country-specific dates unavailable for EOR offboarding end-date selection in deel — including weekends and public holidays — along with the earliest available end date, optionally filtered by offboarding type. Returns the restricted-dates payload; Deel's documentation does not enumerate the individual response fields. Required: contract_id.
- **create_a_deel_offboarding_review_client_sign_off** — Submit a client sign-off decision (approval or change request) for the offboarding documents of a Deel EOR contract during the client sign-off step. Returns a confirmation record with id, created_at, and updated_at. Required: contract_id, data.
- **create_a_deel_offboarding_review_employee_sign_off** — Submit an employee sign-off review for a Deel EOR contract's offboarding document set, recording the employee's approval or change request with feedback. Returns a 200 confirmation payload whose fields are not enumerated in the available documentation. Required: contract_id.
- **create_a_deel_offboarding_termination** — Initiate a termination request for a deel EOR contract, beginning the offboarding process for the employee associated with the contract. Returns the created termination request record including its id, created_at, and updated_at. Required: contract_id, data.
- **list_all_deel_offboarding_time_offs_time_offs** — Retrieve an EOR employee's time off data for offboarding in Deel — entitlements, balances, and upcoming time offs, plus the policy settings and tracking configuration needed to complete an offboarding request. Returns: contract_id, entitlements, tracking_type, policy_settings, remaining_balance, upcoming_time_offs, has_external_integration. Required: contract_id.
- **create_a_deel_project_assignment_accepts_accept** — Record the client's acceptance of a project assignment for a Deel EOR contract, confirming the assignment terms have been reviewed and accepted. Returns an empty 204 response on success. Required: contract_id. A 409 error is returned if the accepted document no longer matches the current version.
- **create_a_deel_project_assignment_checkin** — Submit completed answers for a Deel EOR project assignment checkin questionnaire for a contract. Returns an empty 204 response on success. All required questionnaire fields must be included; partial submissions are not accepted. Required: contract_id.
- **get_single_deel_project_assignment_checkin_by_id** — Get the project assignment checkin questionnaire for a Deel EOR contract by id, including all sections and questions required for completion. Returns: id, sections, created_at, updated_at. Required: id. Passing version validates against the version received from the webhook and fails with 409 on mismatch.
- **create_a_deel_resignations_review_pto** — Submit the PTO review for a deel EOR contract resignation, triggering related notifications and finalizing the PTO review step. Only callable while the resignation status is AWAITING_PTO. Returns the PTO review confirmation payload defined by Deel's upstream response schema; its fields are not enumerated in the available documentation. Required: contract_id.
- **get_single_deel_termination_by_id** — Get a termination record for a Deel EOR contract by its public contract oid and termination id. Returns the termination record including its id, created_at, and updated_at. Required: oid, id.
- **list_all_deel_validation_settings_validation** — Get the amendment validation settings for a Deel EOR contract to see which amendment data points are editable and what constraints apply before constructing an amendment request. Returns: rules, data_point. Required: contract_id.
- **list_all_deel_worker_payslips** — List the payslip history for a Global Payroll (GP) worker in deel. Returns payslip records, each including an id (used by the payslip download endpoint) plus content-type-specific fields such as the pay-period date range and status. Restricted to GP contract types. Required: worker_id.
- **list_all_deel_worker_payslips_workers** — List the payslip records for a Deel EOR worker. Returns the payslip records, each identified by its id, which can be used to request the payslip PDF download link. Required: worker_id.
- **get_single_deel_banks_guide_by_id** — Get the country-specific bank account form guide for a deel global payroll worker by id. Returns the guide (attributes) that determines which fields are required when adding a bank account. Required: id (worker UUID).
- **list_all_deel_banks_guides** — Get the bank account form guide for a deel EOR employee. Returns the guide (attributes) that specifies the field structure required to add a new bank account.
- **get_single_deel_banks_guides_guide_by_id** — Retrieve the bank account form guide for a deel Global Payroll contract to learn which fields are required when adding a bank account in the contract's country. Returns: key, type, label, is_required, validations, values_allowed. Required: id.
- **create_a_deel_compliance_document_acknowledgement** — Acknowledge a deel EOR compliance document by submitting the worker's consent acknowledgement; required for documents marked as needing acknowledgement before they are considered complete. Returns an empty 204 response on success. Required: document_id.
- **get_single_deel_compliance_document_download_by_id** — Download a submitted compliance document for a Deel EOR worker. Returns a time-limited download URL (url) together with its expiry timestamp (expires_at); request a new URL once it lapses. Required: id (the compliance document id).
- **list_all_deel_compliance_document_downloads** — Get a short-lived download URL for a file submitted against a compliance document on a Deel worker Global Payroll contract. Returns the URL and its expiry (expires_at); the URL is valid for about 15 minutes. Documents in the PASSPORT_OR_NATIONAL_ID category are never downloadable. Required: contract_id, compliance_document_id.
- **deel_contract_additional_informations_bulk_update** — Update country-specific additional information on a Deel Global Payroll worker contract; only fields sent in data are modified, and effective-dated fields need a matching effective_dates entry (past dates apply immediately, future dates are scheduled). By default returns an empty 204 response; passing include_completion_status=true returns is_additional_data_done and missing_keys instead.…
- **deel_contract_additional_informations_bulk_update_eor** — Update additional information on a Deel EOR employee contract; submit any subset of fields, with keys matching the public keys of the EOR worker additional-fields form for the employment country. Only permitted while the contract status is new, under_review, or waiting_for_employee_contract. Returns the updated fields under data. Required: contract_id, data.
- **create_a_deel_contract_additional_information** — Create additional information fields on a Deel worker contract record; values are country/state-specific and validated against the worker additional fields form for the employment country. Returns the created record including its created_at submission timestamp. Required: contract_id, data.
- **create_contract_additional_informations_additional_information** — Add country/state-specific supplemental information fields to a deel EOR employee's contract record. Values are validated against the worker additional fields form for the employment country. Returns the saved record with its id and country-specific attributes. Required: contract_id, data.
- **list_all_deel_contract_hr_documents** — List the HR verification letters and documents associated with a Deel employee contract. Each item includes its id and document-specific attributes (field-level shape is defined upstream by document type). Required: contract_id.
- **create_a_deel_contract_invitations_contract** — Send a signing invitation to the worker on a deel contract, emailing their address as the expected signer; a previously rejected contract is reset to a signing-eligible state. Returns: created. Required: contract_id. Can only be called if the worker has not already signed the contract.
- **list_all_deel_contract_invoice_adjustments_invoice_adjustments** — List invoice adjustment line items (such as bonuses or deductions) associated with a Deel contract. Returns: id, type, scale, status, contract, quantity, worksheet, attachment, created_at, invoice_id, description, reported_by, reviewed_by, custom_scale, total_amount, currency_code, payment_cycle, date_submitted. Required: contract_id.
- **list_all_deel_contract_milestones_contracts** — List all milestones for a deel contract. Returns each milestone's id, title, amount, and status. Required: contract_id.
- **create_a_deel_contract_milestones_contract** — Create a payment milestone on a milestone-based deel contract. Returns the created milestone with id, title, amount, and status; the milestone enters a review workflow before payment is processed. Required: contract_id, data.
- **get_single_deel_contract_milestones_contract_by_id** — Get a single milestone on a deel contract by id. Returns the milestone's id, title, amount, and status. Required: id and contract_id.
- **get_single_deel_contract_offer_letter_by_id** — Get the job offer letter for a Deel EOR contract by id. Returns the offer letter rendered in HTML format — a content-specific document payload rather than a fixed field set. IC and Global Payroll contract types are unsupported and return no result. Required: id (the Deel contract id).
- **list_all_deel_contract_payment_cycles_contracts** — List the payment cycles for a Deel contract, including each cycle's scheduled payment dates and current status. Returns: id, status, due_date. Required: contract_id.
- **create_a_deel_contract_signatures_contract** — Sign a Deel contract on behalf of the client (employer), advancing it through the hiring workflow or signing a pending amendment on an active contract. Returns the signature record including its id and upstream-defined attributes. Required: contract_id. In sandbox, e-signatures are simulated and not legally binding; production signs via real DocuSign/SignNow integration.
- **create_a_deel_contracts_rest** — Create a new contractor contract in Deel. Returns the created contract including its id, status, name, and external_id. Required: data (the contract definition). After creation, send the contractor a signing invitation via the contract invitations endpoint.
- **get_single_deel_contracts_rest_by_id** — Get the full record for a single Deel contract by id, including status, compensation, worker details, and metadata. Returns: id, type, quote, title, client, status, worker, location, job_title, seniority, created_at, signatures, start_date, updated_at, external_id, invitations, is_archived, who_reports, cost_centers, product_area, custom_fields, notice_period, scope_of_work, work_schedule,…
- **list_all_deel_contracts_rest** — List Deel contracts for the organization, with optional filtering by status, type, team, legal entity, country, currency, external ID, or a name search term. Returns contract records including id, status, name, and external_id.
- **list_all_deel_currencies_currency** — Retrieve the bank account form guide for a specific country and currency combination in Deel. Returns a country- and currency-specific structure of the bank account fields required when adding a new bank account for an EOR employee — use it to render the bank account form before submitting. Required: country, currency.
- **get_single_deel_employee_agreement_download_by_id** — Get a time-limited download URL for a Deel EOR worker's employee agreement PDF. Returns: data. Required: id, contract_id (the employee contract id). If version is supplied and mismatches the agreement version, the API returns an error.
- **create_a_deel_eor_worker** — Create an EOR worker in deel. Returns the identifiers linking the newly created worker record: user_id, profile_id, and hris_profile_id. Required: data (the object holding the EOR worker's details).
- **create_a_deel_invoice_adjustments_invoice_adjustment** — Create a Deel invoice adjustment — such as a bonus, commission, VAT percentage, or deduction — against a contract. Returns: id, status, created, created_at, contract_id, invoice_id, reporter_id, updated_at. Required: data.
- **delete_a_deel_invoice_adjustments_invoice_adjustment_by_id** — Permanently delete a Deel invoice adjustment by id. Returns: data. Required: id.
- **get_single_deel_invoice_adjustments_invoice_adjustment_by_id** — Get a single Deel invoice adjustment (invoice line item) by id. Returns: id, type, scale, status, contract, quantity, approvers, worksheet, attachment, created_at, invoice_id, description, reported_by, reviewed_by, custom_scale, total_amount, currency_code, payment_cycle, date_submitted, invoice_public_id, contract_id, reporter_id, updated_at. Required: id.
- **list_all_deel_invoice_adjustments_invoice_adjustments** — List Deel invoice adjustments, optionally filtered by contract, adjustment type, status, invoice, reporter, or submission date range. Returns: id, type, scale, status, contract, quantity, worksheet, attachment, created_at, invoice_id, description, reported_by, reviewed_by, custom_scale, total_amount, currency_code, payment_cycle, date_submitted, hourlyReportPreset, contract_id, reporter_id,…
- **create_a_deel_mailboxes_change_password** — Change the mailbox password for a deel EOR worker. Returns an empty 204 response on success. Required: data (the new password to be set).
- **get_single_deel_offboarding_resignation_letter_by_id** — Get a preview of the resignation letter for a Deel EOR contract before the worker submits their signature. Returns the resignation letter as a binary file download. Required: id (the unique identifier of the employee contract).
- **create_a_deel_offboarding_resignation** — Create a resignation request for a Deel EOR contract, initiating the contract's offboarding resignation flow. Returns the resignation request confirmation payload from Deel; the available source does not document its field-level structure. Required: contract_id, data.
- **get_single_deel_payslip_download_by_id** — Get a download link for a Deel EOR worker payslip. Returns a download-link payload containing a URL for the payslip PDF rather than an enumerable record object, so the response has no fixed field set. Required: id (the payslip id) and worker_id.
- **list_all_deel_payslip_downloads** — Get a pre-signed download link for a Deel Global Payroll worker payslip PDF. Returns a temporary pre-signed URL payload rather than an enumerable record object, so the response has no fixed field set — use the URL promptly instead of storing it. Required: worker_id and payslip_id (from the payslips list). Supports GP contract types only.
- **create_a_deel_resignation_letter_sign** — Sign the resignation letter for a Deel EOR contract, recording the worker's signature required to finalize the resignation process; on success the signed letter is queued for PDF generation and further processing. Returns a 201 confirmation response via the data envelope. Required: contract_id, data.
- **create_a_deel_terminations_regular** — Create a regular termination request for a Deel EOR contract. Returns the created termination record with id, created_at, and updated_at. Required: oid, data.
- **create_a_deel_terminations_resignations_resignation** — Create a resignation request for a Deel EOR contract on behalf of a team member. Returns the resignation confirmation object with field definitions defined by Deel upstream. Required: oid, data.
- **list_all_deel_worker_benefits** — List the benefits assigned to the authenticated employee in Deel. Returns benefit records with their id and benefit-specific attributes. Must be called with an employee-scoped worker token; the employee identity is inferred from the token.
- **create_a_deel_workers_bank** — Create a bank account for a deel EOR employee. Returns the id of the newly created bank account record. Required: data (an array of key-value properties describing the bank account).
- **update_a_deel_workers_bank_by_id** — Update a deel EOR employee's bank account by id, modifying only the properties whose values you want to adjust. Returns the id, created_at, and updated_at of the updated bank account record. Required: id (the bank account's UUID) and data (key-value pairs of the fields to set).
- **create_a_deel_workers_compliance_document** — Upload a compliance document file for a Deel EOR employee against the specified compliance document. Returns the upload confirmation payload, whose field-level shape is defined by Deel's upstream response schema. Required: compliance_document_id, document_id.
- **list_all_deel_workers_compliance_documents** — List the compliance documents for a Deel worker, including all required and optional documents with their current submission status, grouped by country. Returns: documents. Works for independent contractors and EOR employees.
- **list_all_deel_workers_compliance_documents_compliance_documents** — List the compliance documents associated with an EOR employee in Deel. Returns the collection of compliance document records; each record includes its id, which serves as the document_id for the matching upload, acknowledgement, and download endpoints. The endpoint takes no query parameters.
- **list_all_deel_workers_resignations** — List resignations submitted by EOR workers in Deel, optionally filtered by resignation letter status. Returns: id, status, end_date, created_at, updated_at, contract_id, desired_end_date, resignation_letter.
- **list_all_deel_workers_tax_documents** — List tax documents for the authenticated EOR employee in deel. Returns the retrieved collection of tax documents resolved from the caller's worker access token. No query parameters are accepted.
- **create_a_deel_contract_off_cycle_payments_off_cycle_payment** — Create an off-cycle payment for a Deel contract, adding an invoice line item for a payment issued outside the regular payment schedule. Returns the created off-cycle payment record including its id. Required: contract_id.
- **get_contract_off_cycle_payments_off_cycle_payment_by_id** — Get a single off-cycle payment by id for a Deel contract. Returns the off-cycle payment record including its id. Required: contract_id and id.
- **list_all_deel_contract_off_cycle_payments_off_cycle_payments** — List all off-cycle payments for a Deel contract — payments made outside the regular payment schedule, such as exceptional or one-time expenses. Returns off-cycle payment records including their id. Required: contract_id.
- **deel_contract_terminations_bulk_delete** — Cancel a pending termination request for a deel contract, reverting the contract to its pre-termination state. Only termination requests that have not yet reached their effective date can be cancelled. Returns an empty 204 response on success. Required: contract_id.
- **create_a_deel_contract_termination** — Terminate an active contractor contract in deel, recording the termination reason, effective date, and any final payment details. Returns the created termination with id and created_at. Required: contract_id, data (provide either terminate_now: true for immediate termination or completion_date for scheduled termination). Only active contracts can be terminated.
- **deel_contract_tasks_bulk_delete** — Delete a specific task from a Deel contract. Returns an empty 204 response on success. Required: contract_id, task_id.
- **create_a_deel_contract_task** — Create a new task for the contractor associated with a Deel contract. Returns the created task's id. Required: contract_id.
- **list_all_deel_contract_tasks** — List all tasks for a specific contract in Deel. Returns: id, amount, status, attachment, description, date_submitted, submission_date. Required: contract_id.
- **list_all_deel_contract_timesheets** — List the timesheets for a deel contract. Returns each timesheet's id, status, and attributes (contract, date, hours worked, and description). Optional filters include contract types, statuses, reporter_id, and a date_from/date_to range. Required: contract_id.
- **create_a_deel_timesheet_review** — Create a review for a timesheet entry in deel. Returns the created review's id. Required: timesheet_id.
- **create_a_deel_timesheet_reviews_review** — Approve or reject a submitted Deel timesheet as a single operation; only timesheets in PENDING_REVIEW status are eligible. Returns updated timesheet details: id, review_status, reviewed_at. Required: timesheet_id and data.review_status; data.review_reason is required when the decision is REJECTED.
- **create_a_deel_timesheets_preset** — Create a new hourly report preset in deel. Returns the id assigned to the newly created preset. Required: data (preset configuration, wrapped under a data key).
- **delete_a_deel_timesheets_preset_by_id** — Delete an hourly report preset in deel by id. Permanently removes the preset and returns a success body containing the deleted preset's id. Required: id (UUID).
- **get_single_deel_timesheets_preset_by_id** — Get a single hourly report preset in deel by id. Returns the preset object including its id, title, and created_at. Required: id (UUID).
- **list_all_deel_timesheets_presets** — List hourly report presets saved for a Deel contract, optionally scoped to a work statement and orderable by title or created_at. Returns: id, file, rate, title, description, hourly_report_root_preset, created_at. Required: contract_id.
- **update_a_deel_timesheets_preset_by_id** — Update an hourly report preset in Deel by id, applying a partial update where only fields included in the request body are modified. Returns: id, title, created_at. Required: id and data.
- **create_a_deel_timesheets_rest** — Create a timesheet entry in Deel for an hourly contractor, recording the contract, date, hours worked, and an optional description; the entry is placed into review immediately upon creation. Returns: id, status, created, created_at, contract_id, date, hours, description, reporter_id, updated_at. Required: data.
- **delete_a_deel_timesheets_rest_by_id** — Permanently delete a Deel timesheet entry by id. Returns: data. Required: id.
- **get_single_deel_timesheets_rest_by_id** — Get a single Deel timesheet entry by id. Returns: id, type, scale, status, contract, quantity, worksheet, attachment, created_at, description, reported_by, reviewed_by, custom_scale, total_amount, currency_code, payment_cycle, date_submitted, hourly_report_preset, approvers, contract_id, date, hours, reporter_id, updated_at. Required: id.
- **list_all_deel_timesheets_rest** — List Deel timesheets in the account, optionally filtered by contract_id, contract_types, statuses, reporter_id, or a date range. Returns each entry's id, contract_id, date, hours, and status.
- **create_a_deel_timesheets_root_preset** — Create an hourly report root preset in deel and start asynchronous processing of its presets. Returns: id, async_task. Required: title.
- **get_single_deel_timesheets_root_preset_by_id** — Get a single hourly report root preset in deel by id, including its current status. Returns: id, file, type, title, status, description, created_at, updated_at. Required: id.
- **list_all_deel_timesheets_root_presets** — List hourly report root presets in deel, filterable by work statement status and ordered by field and direction. Returns: id, file, type, title, description, contracts_count, hourly_report_presets_count, status, created_at, updated_at. Max 100 per page.
- **delete_a_deel_contract_custom_fields_contract_by_id** — Clear a custom field's value on a contract in deel. Deletes the value identified by the custom field id. Returns an empty 204 response on success. Required: contract_id, id (the custom field id).
- **list_all_deel_contract_custom_fields_contracts** — List the custom fields set on a contract in deel. Returns each field's id, data (the stored value), name, and type (text, list, multiselect, number, percentage, currency, or date). Required: contract_id.
- **get_single_deel_contracts_custom_fields_contract_by_id** — Get a single contract custom field definition in Deel by its id. Returns the definition's id, name, type, settings, placement, and description. Required: id (custom field UUID).
- **list_all_deel_contracts_custom_fields_contracts** — List all custom field definitions configured for contracts in Deel. Returns definition metadata — not specific contract field values — including id, name, type, settings, placement, and description; supported types include text, list, multiselect, number, percentage, currency, and date.
- **deel_custom_fields_bulk_update** — Create or update a custom field value for a Deel worker; if a value already exists for the specified field it is overwritten. Returns the saved custom field value with its id. Required: worker_id and data.
- **delete_a_deel_custom_field_by_id** — Delete a custom field value from a Deel worker record by the custom field's id. Returns an empty 204 response on success. Required: worker_id and id.
- **list_all_deel_custom_fields** — Retrieve all custom field values currently set for a Deel worker. Returns: id, data, name, type. Required: worker_id.
- **get_single_deel_people_custom_fields_person_by_id** — Get a single person custom field definition in Deel by its id. Returns the definition record including id, created_at, and updated_at. Required: id (UUID).
- **list_all_deel_people_custom_fields_people** — List the custom field definitions configured for people records in Deel — field metadata only, not the values set on individual workers. Definitions cover supported types such as text, list, multiselect, number, percentage, currency, and date. Returns: id, name, type, settings, placement, created_at, description, updated_at.
- **deel_team_custom_fields_bulk_update** — Update the custom field values of a team in a Deel organization structure. Updates can be scheduled to take effect on a future effective date, and setting a field's value to null deletes that field value. Returns the updated team record including its id and the applied custom field attributes. Required: team_id, data.
- **list_all_deel_departments_rest** — List the departments in your Deel organization. Returns each department's id, name, and parent_department (included only when the department has a parent). No required parameters.
- **create_a_deel_hris_organization_structures_hri** — Create a new HRIS organization structure in deel. Returns the created structure record including id, organization_id, name, teams, and roles. The is_multi_select and enable_roles body flags control multiple team assignments and role management.
- **delete_a_deel_hris_organization_structures_hri_by_id** — Delete an HRIS organization structure from deel by id. Structures with profiles still assigned require the force flag to be removed. Returns: id, name, organization_id, teams, roles. Required: id.
- **get_single_deel_hris_organization_structures_hri_by_id** — Get a single deel HRIS organization structure by id, including its associated teams and roles. Returns: id, name, type, roles, teams, external_id, teams_count, enable_roles, is_multiselect, organization_id. Required: id.
- **list_all_deel_hris_organization_structures_hris** — List the deel HRIS organization structures configured for the organization, each including its teams and roles. Returns: id, name, type, roles, teams, created_at, external_id, teams_count, enable_roles, is_multiselect, organization_id. Max 200 per page.
- **delete_a_deel_organization_structures_external_by_id** — Permanently delete an organization structure from the deel organization by its external id. Returns the deleted structure including its id, name, roles, and teams. Required: id (the structure's external ID).
- **get_single_deel_organization_structures_external_by_id** — Get a single organization structure in deel by its external id, including associated roles and teams. Returns: id, name, type, roles, teams, external_id, teams_count, enable_roles, is_multiselect, organization_id, settings. Required: id (the structure's external ID).
- **update_a_deel_organization_structures_external_by_id** — Partially update an organization structure in deel by its external id; only fields provided in the request body are modified, omitted fields keep their current values. Returns the updated structure including its id, name, roles, and teams. Required: id (the structure's external ID) and teams (inside data).
- **create_a_deel_pwac** — Create a person without a contract in Deel, adding a people-only HRIS record for tracking individuals in your organization's directory before or without formalizing an employment or agreement — e.g. pre-boarding or contingent workers. Returns: id, person. Required: data.
- **create_a_deel_task_reviews_task** — Create a review for a task associated with a Deel contract, approving or declining the submitted task. Returns whether the review was created (created). Required: contract_id, task_id, and status (approved or declined).
- **create_a_deel_application_note** — Add a note to a Deel ATS application. Returns the created note record with id, created_at, and updated_at. Required: application_id and data, including author_id, which must correspond to a valid HRIS user.
- **list_all_deel_ats_application_sources_application_sources** — List the application sources configured in the Deel ATS to discover the valid source slugs for the source_slugs filter when listing applications. Returns: id, slug, created_at, updated_at. Max 100 per page.
- **create_a_deel_ats_applications_at** — Create an ATS application in deel linking an existing candidate to an existing job; both records must already exist. Returns the created application including its id, source_slug, job and candidate metadata, and created_at. Requires a data payload referencing the candidate and job.
- **get_single_deel_ats_applications_at_by_id** — Get a single deel ATS application by id, including job, candidate, and submission metadata. Returns: id, job, notes, hired_at, candidate, job_board, created_at, created_by, numeric_id, updated_at, job_posting, referred_by, source_slug, archivation_reason, job_employment_type, submitter_ip_address, submitter_user_agent, archivation_reason_id, job_posting_publication, referral_form_submission,…
- **list_all_deel_ats_applications_ats** — List deel ATS applications to trace where candidates stand in the hiring pipeline and how they got there. Returns: id, job, hired_at, candidate, created_at, numeric_id, updated_at, job_posting, source_slug, stage_history, job_employment_type, submitter_ip_address, submitter_user_agent, archivation_reason_id, moved_to_current_stage_at, application_form_submission,…
- **deel_children_bulk_update** — Create or replace child worker relations for a deel HRIS profile by hris_profile_oid. All existing child relationships of a given type not included in the request are removed. Returns an empty 204 response on success. Required: hris_profile_oid, data.
- **deel_children_bulk_update_external** — Create or replace the child worker relation for a deel HRIS profile identified by its external ID. If a child relation already exists for the profile, it is overwritten with the supplied data. Returns an empty 204 response on success. Required: profile_id, data.
- **list_all_deel_entitlements_profile** — List a worker's time-off entitlements in deel for an HRIS profile, showing the leave balance — entitlement granted, days used, and days remaining — across all active policies for a given tracking period. Returns: id, attributes. Required: hris_profile_id.
- **create_a_deel_global_payroll_sync** — Sync time-off records from an external HRIS into Deel for Global Payroll contracts. Each record is upserted or deleted based on its external ID — records with deleted: true are removed — and Deel calculates the payroll cycle impact of each operation. Returns the processed sync results in data. Required: data.
- **deel_parents_bulk_update** — Create or replace the parent worker relation on a Deel HRIS profile identified by its internal id; an existing parent relation for the profile is overwritten with the supplied data. Returns an empty 204 response on success. Required: hris_profile_oid. Parent relation fields go in the request data object.
- **deel_parents_bulk_update_external** — Set or replace the parent worker relation on a Deel HRIS profile identified by its external id. Returns an empty 204 response on success. Required: profile_id. Hard limitation: pass null as parent_profile_external_id in data to remove the existing parent relationship.
- **create_a_deel_people** — Create a direct employee in Deel's HRIS under the organization's own legal entity, provisioning both a person and an associated employment contract. Returns the created person record with id, employments, custom_fields, and worker_relations. Required: data.
- **get_single_deel_people_by_id** — Get a single person in Deel by their public ID. Returns the person record with id, employments, custom_fields, and worker_relations. Required: id (the person's hris_profile_id).
- **list_all_deel_peoples** — List people records in the Deel organization, with filters for search term, teams, hiring status, band placement, hiring type, and person status. Returns each person record with id, employments, custom_fields, and worker_relations. Max 200 per page.
- **get_single_deel_peoples_me_by_id** — Get the personal profile of the currently authenticated Deel user, covering identity, organization membership, and identifiers for connected services such as Slack. Returns: id. Takes no parameters.
- **get_single_deel_personals_personal_by_id** — Get a worker's personal information in deel by id. Returns the personal-information record including its id and an attributes object holding the personal-information fields defined upstream. Required: id.
- **list_all_deel_policies** — List the Deel time-off policies assigned to a worker's HRIS profile, including policy details such as allowed types, accrual rules, and balances. Results can be filtered by policy type name or policy type id. Returns each policy's id and its attributes object. Required: hris_profile_id.
- **create_a_deel_positions_apply_change** — Apply a batch of add, edit, and delete changes to Deel positions in a single request; multiple operation types may be submitted together. Returns an empty 204 response on success. Each operation in the batch must target a valid, existing position where applicable.
- **get_single_deel_positions_profile_by_id** — Get all positions assigned to an HRIS profile in deel, including the associated role, team, and organization structure for each position. Returns the position records with their id, role, and team. Required: id.
- **create_a_deel_profile_external** — Create a hierarchical worker relation in Deel between a worker and their subordinates using external IDs for all parties. Returns: id. Required: data — the payload supplying the parent and child workers' external IDs and the relation type.
- **delete_a_deel_profile_external_by_id** — Delete a Deel worker relation by its external ID, removing all linked parent and child associations. Returns an empty 204 response on success. Required: id (the Worker Relation external ID).
- **get_single_deel_profile_external_by_id** — Fetch all worker relationships for a Deel HRIS profile by its external ID, including parent and child relations. Returns: id, name, is_parent, is_default, child_relationships, parent_relationship. Required: id (the HrisProfile external ID).
- **list_all_deel_time_offs_dailies** — List Deel work schedules, holidays, and time-off dailies for a given date range, optionally scoped to one or more HRIS profiles or countries. Returns: holidays, work_schedule, time_off_dailies, work_schedule_entries, dailies. All query filters are optional.
- **list_all_deel_time_offs_policy_validation_templates** — Retrieve Deel time-off policy validation templates and the policy types available for one or more countries. Returns: policy_types, policy_validation_templates. Required: countries (array of ISO 3166-1 alpha-2 codes).
- **get_single_deel_time_offs_profile_by_id** — List a Deel worker's time-off requests scoped to a single HRIS profile. Returns the paginated time-off records for the profile, each including id, status, start_date, and end_date. Required: id (the worker's hris_profile_id). Page size is limited to 5–200.
- **create_a_deel_time_offs_rest** — Create a new time-off request for a worker in Deel by sending the request details in the `data` object. Returns the created request record: id, status, deleted_at.
- **delete_a_deel_time_offs_rest_by_id** — Cancel a time-off request in Deel by id. Returns an empty 204 response on success. The request is set to CANCELED immediately regardless of its current status and cannot be reversed. Required: id.
- **list_all_deel_time_offs_rest** — List time-off requests for the authenticated Deel organization, filterable by status, time_off_ids, date ranges, approval ranges, and policy types. Returns: id, amount, reason, status, is_paid, end_date, created_at, deleted_at, start_date, updated_at, approved_at, canceled_at, description, contract_oid, requested_at, half_end_date, time_off_type, half_start_date, time_off_origin,…
- **create_a_deel_time_offs_review** — Approve or reject a batch of Deel time-off requests in a single call. Returns: data.g. time-offs not in REQUESTED status). Required: data. Each entry's desired status must be APPROVED or REJECTED, and rejection is irreversible.
- **list_all_deel_time_offs_time_off_events** — List Deel time-off events for a worker profile. Returns the collection of time-off event records, each with an id and upstream-defined attributes. Required: hris_profile_id.
- **create_a_deel_time_offs_validate** — Validate a time-off request in deel against policy compliance, available balance, and blackout dates before it is created. Returns the validation result including the is_valid flag. Send the time-off request payload in the data body property.
- **delete_a_deel_types_externals_external_by_id** — Permanently delete a worker relation type in deel by its external id. Returns an empty 204 response on success. Required: id.
- **get_single_deel_user_by_id** — Get a single user in Deel's HRIS by id. Returns the user record including id and email. Required: id (the HRIS profile OID).
- **list_all_deel_users** — List users in Deel's HRIS. Returns user records including id, userName, name, emails, and meta. Max 100 per page.
- **create_a_deel_worker_relations_profiles_profile** — Create a worker relation in deel that links a parent worker with one or more subordinate profiles. Returns the created relation record with its id and relationship attributes. Required: data — the relationship details identifying the parent worker and subordinates. Invalid bodies or circular relationships are rejected.
- **list_all_deel_worker_relations_profiles_profile** — List all worker relations for an HRIS profile in deel, including both parent and child relationships. Returns worker relation records with their id and relationship attributes. Required: hris_profile_oid (the HRIS profile UUID).
- **create_a_deel_worker_relations_type** — Create a worker relation type in Deel, defining a named parent–child relationship structure that can be applied to worker associations. Returns: id, child_name, is_default, external_id, parent_name. Required: data.
- **delete_a_deel_worker_relations_type_by_id** — Delete a worker relation type from Deel by id. Returns an empty 204 response on success. Required: id.
- **list_all_deel_worker_relations_types** — List all worker relation types configured in the Deel organization — the valid relationship categories assignable when creating or upserting worker relations. Returns: id, child_name, is_default, external_id, parent_name, created_at, updated_at.
- **update_a_deel_worker_relations_type_by_id** — Update a worker relation type in Deel by id. Only fields provided in the data payload are modified; omitted fields retain their current values. Returns an empty 204 response on success. Required: id, data.
- **list_all_deel_working_locations_working_locations** — List the working locations available in deel for the organization. Returns location option records with upstream-defined fields (id, attributes); use them to populate location choices when creating or editing people or contract records.
- **create_a_deel_application_interview_plan_stage** — Assign a deel application to a specific interview plan stage, optionally advancing it as the application's current stage. Returns the created application interview plan stage record including id, created_at, and updated_at. Required: application_id and a data object.
- **list_all_deel_ats_attachments_ats** — List ATS attachment files (such as resumes, cover letters, or offer letters) attached to a specific entity in deel, scoped by entity type and attachment type. Returns per file: id, created_at, updated_at. Required: attachable_type_slug, attachable_id, attachment_type_slug.
- **create_a_deel_ats_candidates_at** — Create an ATS candidate in deel with the required name and email plus optional phone, LinkedIn profile, and CV details. Returns the candidate's unique id, used later for creating job applications and managing candidate records. Required: data.
- **list_all_deel_ats_candidates_ats** — List deel ATS candidates, optionally filtered by search text, job_ids, department_ids, tag_ids, current_stage_category_type_slugs, current_stage_default_type_slugs, or updated_after. Returns each candidate's id. Max 100 per page (default 20).
- **list_all_deel_ats_departments** — List the ATS departments configured in a Deel organization; use the returned ids in the department_ids filter when listing or creating ATS jobs. Returns a paginated list of department records with: id, name, created_at, updated_at. Max 100 per page.
- **list_all_deel_ats_email_templates** — List published Deel ATS email templates for the organization. Returns: id, title, created_at, updated_at. Max 100 per page.
- **list_all_deel_ats_employment_types_employment_types** — List the employment types available in the organization's ATS in deel, to resolve employment type ids for job creation and for the employment_type_ids filter when listing jobs. Returns: id, name, created_at, updated_at. Results are paginated.
- **list_all_deel_ats_hiring_members** — List hiring members (recruiters, hiring managers, and interviewers) configured in a Deel organization to support screening tasks, interview scheduling, and hiring workflows. Returns hiring-member records identified by id, with member details under attributes. Max 100 per page.
- **get_single_deel_ats_job_posting_by_id** — Get a single Deel ATS job posting by id. Returns the complete posting record including its publication status across job boards, associated job information, and application form configuration. Required: id (job posting UUID).
- **list_all_deel_ats_job_postings** — List ATS job postings across the Deel organization, optionally narrowed by job board or job. Returns: id, job, title, job_id, created_at, updated_at, publications, application_form, richtext_description, is_compensation_visible. Max 100 per page.
- **create_a_deel_ats_jobs_at** — Create a new job in the Deel ATS once its interview plan, team, location, and employment type have been determined. Returns the created job with id, status, created_at, and updated_at. Requires a data payload with the job details.
- **list_all_deel_ats_jobs_ats** — List ATS jobs in Deel, filterable by search text, interview plan, locations, teams, employment types, departments, status, work arrangements, or last-updated time. Returns each job with id, status, created_at, and updated_at. Max 100 per page (default 20).
- **list_all_deel_ats_locations_ats** — List the work locations configured in deel, typically used to populate job postings or filter jobs and openings by location. Returns: id, city, name, is_remote, created_at, updated_at, country_code, location_group, province_or_region_text. Max 100 per page. This endpoint version is deprecated and scheduled for removal on 2027-09-01.
- **list_all_deel_ats_offers_ats** — List ATS offers in deel, including each offer's worker type and status, to support pre-onboarding and contract creation workflows. Returns: id, email, job_title, created_at, expires_at, replied_at, start_date, updated_at, worker_type, country_code, offer_status, attachment_id, custom_fields, approval_rule_id, additional_details, approval_request_id, compensation_amount, rejection_reason_id,…
- **list_all_deel_ats_reasons_ats** — List Deel ATS rejection and archivation reasons for the organization, filterable by reason group and subgroup. Returns: id, label, created_at, jobs_count, updated_at, subgroup_slug, email_template, candidates_count, reason_group_slug. Required: reason_group_slug. Max 100 per page.
- **list_all_deel_ats_tags** — List ATS tags for the deel organization. Returns each tag's id, label, and candidates_count (when include_counts is true). Filter by search_text or tag_group_slug (use CANDIDATE for candidate tags); max 100 per page.
- **list_all_deel_job_board_job_postings** — List Deel ATS job postings for a specific job board to monitor publication state and nested job details. Returns: id, job, title, job_id, created_at, updated_at, publications, application_form, richtext_description, is_compensation_visible. Required: job_board_id (UUID).
- **create_a_deel_contracts_gp** — Create a Global Payroll (GP) contract in deel. Returns the created contract including its unique id. Required: data (the GP contract object). Country-specific fields inside data must be retrieved in advance from the worker additional fields form for the target country.
- **get_single_deel_gross_to_net_csv_by_id** — Download the deel gross-to-net calculation report for a specified payroll report as a CSV file, with optional currency conversion applied. Returns the report as a downloadable CSV file with content-type-specific fields. Required: id.
- **list_all_deel_it_assets_it** — List the Deel IT assets your organization owns or rents, current and historical, filterable by holder, location, category, and status. Returns: id, grade, status, product, location, ownership, public_id, created_at, updated_at, assigned_user, purchase_date, serial_number, purchase_value, assigned_warehouse, category. Max 100 per page.
- **get_single_deel_it_assets_it_by_id** — Retrieve a single Deel IT asset by id, including its structured product specifications. Returns: id, grade, status, actions, product, location, ownership, public_id, created_at, updated_at, assigned_user, purchase_date, serial_number, purchase_value, assigned_warehouse, category. Required: id.
- **list_all_deel_legal_entitie_reports** — List Deel Global Payroll payroll events for a legal entity to prepare payroll reports or audit pay cycles. Returns a paginated list of payroll event records, each including an id. Required: legal_entity_id. Max 200 per page.
- **list_all_deel_report_gross_to_nets** — List the gross-to-net calculation rows for a global payroll report in Deel, with amounts convertible to a requested currency. Returns paginated report rows, each with an id and report-specific attributes. Required: report_id. Max 200 rows per page.
- **create_a_deel_shifts_raw** — Create raw time tracking shifts in Deel for a contract by submitting uncategorized clock-in and clock-out times; Deel classifies the hours (e.g., regular or overtime). Returns the creation result payload from Deel's time-tracking API, whose field set is not enumerated in the available documentation. Required: data (containing the contract ID and shifts to create).
- **create_a_deel_time_tracking_shift_rate** — Create a new time tracking shift rate in deel with attributes such as name, type, value, and a unique external identifier. Returns: name, type, value, external_id. Required: data.
- **delete_a_deel_time_tracking_shift_rate_by_id** — Delete a deel time tracking shift rate by id (the external_id assigned at creation time). Returns an empty 204 response on success. Deletion is blocked if the shift rate is currently associated with any active shift. Required: id.
- **get_single_deel_time_tracking_shift_rate_by_id** — Get a single deel time tracking shift rate by id (the external_id assigned at creation time). Returns: name, type, value, external_id, id, created_at, updated_at. Required: id.
- **list_all_deel_time_tracking_shift_rates** — List deel time tracking shift rates with details such as rate name, type, value, and timestamps. Returns: name, type, value, created_at, updated_at, external_id, id. Max 200 per page.
- **update_a_deel_time_tracking_shift_rate_by_id** — Partially update a time tracking shift rate in deel by id (the external_id assigned at creation time), modifying only the fields provided in the request body. Returns: name, type, value, created_at, updated_at, external_id. Required: id.
- **create_a_deel_time_tracking_shift** — Create one or more time tracking shifts for a contract in Deel, supporting regular shift submissions and correction shifts that adjust hours for previously processed shifts. Returns the created shift records including external_id, start_time, end_time, breaks, metadata, and summary metrics. Required: data.
- **delete_a_deel_time_tracking_shift_by_id** — Delete a time tracking shift in Deel by id (the shift's external_id). The shift is permanently deleted and cannot be retrieved or modified afterwards. Returns an empty 204 response on success. Required: id.
- **get_single_deel_time_tracking_shift_by_id** — Get a single Deel time tracking shift by id (the shift's external_id). Returns the shift details including external_id, contract_id, start_time, end_time, breaks, and metadata. Required: id.
- **list_all_deel_time_tracking_shifts** — List Deel time tracking shifts with details such as start and end times, breaks, metadata, and summary metrics. Returns each shift with external_id, contract_id, start_time, end_time, breaks, and metadata.
- **update_a_deel_time_tracking_shift_by_id** — Update a Deel time tracking shift by id (the shift's external_id), modifying only the fields supplied in the request body; fields omitted from the request are left unchanged. Returns the updated shift including external_id, start_time, end_time, breaks, metadata, and summary metrics. Required: id and data.
- **get_single_deel_time_tracking_timesheet_by_id** — Get a time-tracking timesheet in deel by id, including its submission, review, and processing status. Returns: id, end_date, file_data, created_at, start_date, updated_at, contract_id, review_status, submission_status, validation_errors. Required: id.
- **create_a_deel_timesheets_upload_url** — Generate a pre-signed upload URL for a Deel timesheet file, creating a new timesheet record from the supplied file metadata. Returns: id, created_at, updated_at, upload_url, upload_fields. Required: data (timesheet file metadata). Currently limited to EOR contracts.
- **deel_worker_addreses_bulk_update** — Update the address on record for a Global Payroll worker in deel. Partially applies only the address fields provided in the payload. Returns the updated address record, including id, created_at, and updated_at. Required: worker_id and data (the desired address).
- **deel_worker_banks_bulk_update** — Modify a GP worker's bank account in deel; only fields provided in the request body are modified. Returns the updated bank account record with its id, bank_name, account_number, swift_bic, and more. Required: worker_id and bank_id.
- **create_a_deel_worker_bank** — Add a bank account for a GP worker in deel. Country-specific field requirements must be retrieved from the worker's bank guide before submitting. Returns the created bank account record with its id, created_at, and updated_at. Required: worker_id and data.
- **list_all_deel_worker_banks** — List all bank accounts associated with a GP worker in deel. Returns each bank account record with its id, bank_name, account_number, currency_code, bank_country_code, and more. Required: worker_id.
- **list_all_deel_worker_banks_workers** — List the active bank accounts of a Deel HRIS worker for payroll payment disbursement. Returns the bank account records with schema-specific fields defined by the upstream bank-accounts schema. Required: worker_id.
- **deel_worker_compensations_bulk_update** — Update the compensation for a Global Payroll worker in deel. Returns the complete compensation history including the applied change, with each entry's salary, scale, effective_date, and status. Required: worker_id, data.
- **deel_worker_employee_informations_bulk_update** — Update employee information for a deel Global Payroll worker, partially modifying personal details, tax information, and employment-related fields. Requires worker_id and a data object with the fields to change. Returns a 202 Accepted response with an unspecified body.
- **deel_worker_pto_policies_bulk_update** — Update the PTO policy assigned to a Global Payroll worker in deel via a partial update — only fields included in the request body are modified; omitted fields retain their current values. Returns: updated. Required: worker_id and data.
- **create_a_deel_worker_termination** — Create a termination request for a Global Payroll worker in deel. Returns a 201 confirmation that the request was accepted and the termination process has begun — not that the termination is complete — including the confirmation's id; the documentation does not enumerate further confirmation fields. Required: worker_id, data.
- **create_a_deel_agreement_reassign** — Reassign a Deel rental agreement to a new worker via store-and-reuse, passing the rented device to a new joiner instead of returning it. Transitions store_and_reuse.status from READY to IN_PROGRESS and returns the updated agreement including id, store_and_reuse, and actions. Required: agreement_id and a data payload with variant_id (chosen from reusable_variants on the retrieve-agreement…
- **list_all_deel_application_feedbacks** — List the feedback a hiring panel has recorded against a deel application's interviews and evaluations. Returns: id, status, reviewer, created_at, revoked_at, stage_name, dismissed_at, submitted_at, activity_type, feedback_form, form_responses, dismissal_reason, overall_recommendation, revocation_reason_enum, scheduled_interview_id, application_activity_id, attributes. Required: application_id.…
- **create_a_deel_asset_clear** — Create a clearance request for a deel IT asset to retire the device for recovery, resale value, or certified data erasure. Returns the created clearance request record: id plus content-specific attributes not enumerated in the docs. Required: asset_id, data. Clearance must be enabled for the organization; the referenced manager is recorded as the requester and receives lifecycle notifications.
- **create_a_deel_asset_collect** — Create a collection for a Deel IT asset to recover the device from a worker (e.g. at offboarding) and route it to a warehouse or a Deel-managed reuse location, choosing exactly one destination inside data. Returns: id, grade, status, actions, product, location, ownership, public_id, created_at, updated_at, assigned_user, purchase_date, serial_number, purchase_value, assigned_warehouse. Required:…
- **create_a_deel_asset_deliver** — Create a delivery request for a Deel IT asset so Deel operations ship it from a warehouse to a worker (HRIS profile). Returns: id, grade, status, actions, product, location, ownership, public_id, created_at, updated_at, assigned_user, purchase_date, serial_number, purchase_value, assigned_warehouse. Required: asset_id, data. Use the asset location-change endpoint instead if you only need to…
- **create_a_deel_asset_location** — Record that a Deel IT asset moved to a new location without triggering Deel logistics or invoicing — a self-serve transfer between workers, a delivery from your storage location to a worker (AT_WAREHOUSE to WITH_USER), or a collection back to storage (WITH_USER to AT_WAREHOUSE). Returns the updated asset location including id, location, and hris_profile_id. Required: asset_id and data.location.
- **create_a_deel_asset_transfer** — Transfer a Deel IT asset directly from one worker to another, with Deel operations handling the pick, ship, and receive logistics. Returns the reassigned asset record including its id, holder, and location. Required: asset_id and a data object with the transfer details.
- **create_a_deel_asset_unarchive** — Restore an archived IT asset in Deel back to ACTIVE, undoing an archive recorded in error. Returns: id, grade, status, actions, product, location, ownership, public_id, created_at, updated_at, assigned_user, purchase_date, serial_number, purchase_value, assigned_warehouse. Required: asset_id.
- **get_single_deel_ats_application_form_by_id** — Get a single Deel ATS application form by id. Returns the form's definition and metadata, including its id, title, status, and the pages of its form builder configuration. Required: id.
- **list_all_deel_ats_feedbacks** — List interview and evaluation feedback across the organization in Deel. Returns: id, status, reviewer, created_at, updated_at, application, submitted_at, activity_type, feedback_form, form_responses, scheduled_interview, interview_plan_stage, overall_recommendation, application_activity_id, application_interview_plan_stage_id, job_id, application_id, candidate_id, interview_plan_stage_id,…
- **list_all_deel_ats_interviews_ats** — List interviews for the organization in Deel ATS, filterable by job, candidate, interviewer, application, interview plan stage, status, and start-time date range, with updated_after for incremental sync. Returns interview records including id, created_at, and updated_at. Max 100 per page.
- **list_all_deel_ats_job_boards** — List ATS job boards configured for the organization in deel — internal, external, or LinkedIn boards — typically before selecting one for job postings or career-page configuration. Returns job board records including id, type_enum (board kind: internal, external, or LinkedIn), status_enum, and created_at. No required parameters; results are paginated with a 100-per-page maximum.
- **list_all_deel_ats_openings_ats** — List job openings (requisitions/headcount requests) in Deel ATS, filterable by status, team, location, linked job, and tags. Returns: id, team, title, status, job_ids, team_id, location, created_at, updated_at, location_id, opening_prefix, employment_type, filled_by_offer, is_confidential, target_hire_date, opening_type_slug, target_start_date, employment_type_id, opening_numeric_id,…
- **list_all_deel_ats_teams** — List all ATS teams in Deel's Applicant Tracking System. Returns each team's id and name. Max 100 per page.
- **create_a_deel_candidate_note** — Add a note to a candidate in Deel's ATS — the note stays visible across all of that candidate's applications. Returns the created note record with id, created_at, and updated_at. Required: candidate_id, data. Beta endpoint: requires the X-Beta: true header until it stabilizes on 2026-12-29.
- **create_a_deel_candidates_rest** — Create a candidate record in Deel for contractor onboarding outside of an ATS flow. Returns the created candidate's id, created_at, and updated_at; the returned id can be used in subsequent contract creation calls. Required: data.
- **create_a_deel_clearance_request_decide** — Approve or reject quotes on a deel clearance request. Every request item currently in the request must be included in the data payload; when every item is rejected the request is cancelled, while accepted items move on to collection and hand-off to the clearance partner. Returns the updated clearance request object with its id, status, public_id, request_items, and cancelled_reason. Required:…
- **create_a_deel_consent_tokens_consent_token** — Create a time-bounded consent token in Deel that authorizes third-party service connections on behalf of the organization. Returns the created token's expires_at. Required: data.
- **create_a_deel_equity_exercise** — Create a Deel equity exercise request in a pending state for later employer approval. Returns: id, status, created_at, updated_at. Requires: fmv, quantity, issuer_id, worker_id, exercise_id, stakeholder_id, stakeholder_email, stakeholder_relationship, option_grant_id, option_grant_issue, option_grant_label, option_grant_currency, option_grant_strike_price, option_grant_issue_date,…
- **list_all_deel_equity_exercises** — List the Shareworks equity exercises recorded for a Deel organization in ascending exercise_date order. Returns: id, currency, plan_name, grant_date, grant_name, grant_type, updated_at, exercise_fmv, fmv_per_unit, exercise_date, exercise_gain, exercise_price, cost_of_options, employee_number, hris_profile_id, employee_grant_number, shares_exercised_total, shares_exercised_vested,…
- **update_a_deel_equity_exercise_by_id** — Approve or reject a pending Deel equity exercise by updating its employer approval status. Returns: id. Required: id (the equity exercise public ID) and employer_approval ('approved' or 'rejected').
- **get_single_deel_invoice_download_by_id** — Get a temporary download URL for a deel invoice PDF by id. Returns: data. The URL expires and must be re-requested after expiry. Required: id.
- **list_all_deel_invoices_deels** — List invoices for Deel platform fees. Returns the paginated invoice records, each including at least its id; the remaining record fields follow Deel's invoice schema and are not enumerated in the upstream documentation.
- **get_single_deel_invoices_rest_by_id** — Get a single Deel invoice by id. Returns the invoice record including its id, created_at, and updated_at. Required: id.
- **list_all_deel_invoices_rest** — List Deel invoices with offset- or cursor-based pagination; only paid invoices are returned unless status=all is passed. Returns: id, label, total, amount, status, vat_id, paid_at, currency, deel_fee, due_date, issued_at, vat_total, created_at, is_overdue, contract_id, vat_percentage, recipient_legal_entity_id, updated_at. Max 50 per page.
- **get_single_deel_it_agreement_by_id** — Get a single Deel IT rental agreement by id. Returns the agreement's id, status, store_and_reuse state, and the actions.reuse.details.reusable_variants listing the device variants the next holder can receive — call this before reassigning to pick a variant_id. Required: id.
- **list_all_deel_it_agreements** — List the Deel rental agreements your organization holds, each with its current store-and-reuse state. Returns: id, type, status, actions, product, end_date, public_id, created_at, start_date, updated_at, variant_id, store_and_reuse, billing_entity_id, assigned_hris_profile, hris_profile_id. Filterable by status, type, store_and_reuse_status, and hris_profile_id.
- **deel_it_clearance_requests_cancel** — Cancel a deel clearance request. Only requests in PENDING_QUOTE or PENDING_DECISION status can be cancelled, and cancelling reverts every associated asset back to active tracking. Returns: id, status, public_id, created_at, expires_at, request_items, cancelled_reason. Required: clearance_request_id.
- **get_single_deel_it_clearance_request_by_id** — Get a single deel clearance request by id, including the status of each item being cleared. Returns: id, status, public_id, created_at, expires_at, request_items, cancelled_reason. Required: id.
- **list_all_deel_it_clearance_requests** — List the deel clearance requests raised to retire devices for resale value or certified data erasure. Returns: id, status, public_id, created_at, expires_at, cancelled_reason.
- **get_single_deel_it_orders_it_by_id** — Get a single IT equipment order in Deel by id. Returns the order's id, created_at, updated_at, and attributes covering its current fulfilment status, shipping details, and the product ordered. Required: id.
- **list_all_deel_it_orders_it** — List the IT equipment orders of your Deel organization. Returns each order's id, created_at, updated_at, and attributes covering its current fulfilment status, shipping details, and the product ordered.
- **deel_it_policies_assign** — Assign workers to a Deel IT hardware policy, identifying each worker by their Deel HRIS profile id; useful from onboarding or HRIS automations. Returns an empty 204 response on success. Required: it_policy_id, data. Accepts 1-100 ids per call and is all-or-nothing, so no worker is moved if any id is unknown.
- **list_all_deel_it_policies** — List your organization's Deel IT hardware policies, which cap what equipment each worker is eligible to order, to resolve a worker's policy and the products it allows before raising an equipment request. Returns: id, name, is_default. Up to 100 per page.
- **get_single_deel_it_product_by_id** — Get a single Deel IT product's catalog details by id, including its variants, images, and addons. Returns: id, name, brand, images, category, variants, public_id, description, available_addons, product_hardware_spec, addons. Required: id. No pricing, taxes, fees, or stock counts are returned.
- **list_all_deel_it_products** — List products in the Deel IT catalog available for purchase or rent, filtered by country, search text, categories, brands, and other criteria. Returns: id, name, brand, images, category, variants, addons. Product metadata only — no pricing, taxes, fees, or stock counts.
- **get_single_deel_it_warehouse_by_id** — Get a single Deel IT warehouse by id. Returns the warehouse record including its id, name, type, country, and delivery address. Required: id.
- **list_all_deel_it_warehouses** — List Deel IT warehouses — your own offices and Deel-managed storage locations. Returns warehouse records including id, name, type, country, and address. Cursor-paginated; max 100 per page.
- **list_all_deel_job_interview_plan_stages** — List a Deel ATS job's interview plan stages in pipeline order. Returns stage records with: id, attributes (the number of applications currently in the stage, the number that ever reached it, and optionally the most recently moved applications embedded per stage). Required: job_id.
- **get_single_deel_payment_breakdown_by_id** — Get the breakdown of a payment made to Deel by id. Returns the breakdown as discrete line items for individual invoices and the Deel fee, with fields including invoice_id, contract_id, total, payment_date, processing_fee, and contractor_employee_name. Required: id.
- **list_all_deel_payments_rest** — List Deel payment receipts — a cursor-paginated list of payments to Deel including worker details, payment status, and payment methods. Returns: rows, total, has_more, next_cursor, total_count. Max 100 per page. Deprecated: a newer version of this endpoint exists; removal is scheduled for 2027-07-06.
- **list_all_deel_policie_users** — List the workers assigned to a deel IT hardware policy to audit policy membership or confirm worker coverage before raising equipment requests. Returns: emails, address, last_name, first_name, hris_profile_id. Required: policy_id. Up to 100 per page.
- **list_all_deel_refund_statements** — List Deel refund statements for reviewing past transactions and reconciling accounts, with optional date-range, currency, and legal-entity-type filters. Returns: rows, has_more, next_cursor, total_count. Max 100 per page.
- **create_a_deel_upsertions_bulk_tags_bulk_tag** — Upsert tags in bulk in Deel — create candidate, job, or opening tags, or rename ones already in use, in a single call instead of one request per tag. New labels are matched case-insensitively; include tag_id to update an existing tag label. Returns the tag_ids the Deel tagging endpoints expect, for reconciling imported labels before tagging records. Required: data (at least one tag group).
- **list_all_deel_work_statement_payment_policies** — List the work statement payment policies configured for your deel organization and pick a policy id to reference when creating contracts. Each policy is a reusable payment cycle configuration — when a cycle ends, when payment falls due, and whether payment moves earlier when the due date lands on a weekend. Returns: id, name, scale, end_day, due_days, due_type, end_type, description,…
- **create_a_deel_work_statement_payment_policy** — Create a work statement payment policy in deel to define a payment cycle once and reuse it across contracts — the returned policy id can be referenced when creating contracts. The policy name and the combination of cycle settings must be unique within the organization. Returns: id, created_at, updated_at. Required: data.
- **deel_contract_banks_bulk_update** — Update a bank account on a deel Global Payroll contract, leaving any fields omitted from the request unchanged. Returns: id, status, created_at, updated_at, funds_distribution. Required: contract_id, bank_id, data.
- **create_a_deel_contract_bank** — Add a bank account to a deel Global Payroll contract. Returns the created account with id, created_at, and updated_at. Required: contract_id, data. Country-specific field requirements must be retrieved from the contract's bank guide before submitting.
- **list_all_deel_contract_banks** — List the bank accounts configured for a deel Global Payroll contract, including how each account's share of the salary is split via funds_distribution. Returns: city, iban, email, phone, postal, tax_id, bank_code, bank_name, full_name, sort_code, swift_bic, rib_number, branch_code, account_type, country_code, address_line1, address_line2, currency_code, original_name, account_number,…
- **create_a_deel_contract_cost_centers_cost_center** — Assign cost centers to an employment contract in Deel by contract id. Returns the cost center allocation confirmation including its id and the allocation attributes assigned to the contract. Required: contract_id, data.
- **get_single_deel_contract_employee_agreement_draft_preview_by_id** — Get or initiate a Deel employee agreement template PDF draft preview for an EOR contract. The first call kicks off async generation and returns task_id with is_processing: true; poll passing task_id back until is_processing is false, when url holds a signed download link valid for 15 minutes. Returns: data. Required: id (the EOR contract id).
- **get_single_deel_contract_pdf_by_id** — Get a secure, time-limited download URL for the PDF of a Deel worker contract (the link, not the PDF contents). Returns: data. Required: id (the contract's unique public identifier, exposed upstream as contract_id).
- **deel_contract_platform_payments_bulk_update** — Update the payment type for an IC contract in deel. Returns the updated contract object reflecting the new platform payment settings. Required: contract_id and a data payload specifying the new payment type.
- **list_all_deel_contract_templates** — List the contract templates available to your Deel organization, including fixed-rate, pay-as-you-go, and milestone-based types. Returns each template's id and type; the id can be supplied when creating new contracts.
- **list_all_deel_contract_type_countries** — Get the deel additional-information template that specifies the fields required to complete employee information for a given contract type and employment country. Returns the template record including id and its attributes (the country- and contract-type-specific template fields). Required: type ('eor' for Employer of Record or 'gp' for Global Payroll), country (ISO 3166-1 alpha-2 code).
- **list_all_deel_contracts_termination_reasons** — List Deel's standardized contract termination reasons to present when initiating a contract termination. Returns reason records identified by id, name, frequency, created_at, and updated_at; max 100 per page. No required parameters.
- **create_a_deel_cost_centers_synchronize** — Synchronize the cost centers of a legal entity in deel, overwriting the existing configuration with the data provided in the request. Returns a 201 confirmation payload with id, created_at, and updated_at; the remaining field structure is defined upstream. Required: legal_entity_id, data.
- **create_a_deel_create_contract_definition** — Fetch multiple EOR contract form definitions in deel for one or more countries. Returns the 200 response containing multiple form configuration data. Required: data. Always use the latest effective version from the response; not intended for reading or updating existing contracts.
- **update_a_deel_daas_bank_by_id** — Update a deel EOR employee's bank account by patching selected fields. Returns the updated bank account record including its id, created_at, and updated_at. Required: id. Body takes data — an array of field-level key/value updates; only the supplied fields change.
- **list_all_deel_daas_payslips** — List payslips for an EOR employee in Deel. Returns the collection of payslip records, each with its id and the upstream-defined payslip attributes; no employee id parameter is needed.
- **list_all_deel_data_points_configurations** — List Deel's amendment data points configuration per country to see which data points are available for EOR contract amendments. Returns one configuration record per country with upstream-defined fields under attributes; countries without an explicit configuration report all data points as enabled.
- **create_a_deel_equities_tokens_tax_event** — Create an equity or token tax event in deel. Submits the tax event for an EOR worker enrolled in Equity & Token Services by sending the event payload in the data request body. Returns the created tax event object from the deel 201 response under its data envelope; the field-level shape is defined by the upstream response schema.
- **list_all_deel_equity_amortizations** — List deel equity grant expense amortization records ingested from Shareworks to build an expense recognition schedule or forecast remaining expense. Returns each record's id, employee_number, employee_grant_number, and grant_date. Each record reflects the most recently ingested reporting period, not a period history. Max 100 per page.
- **list_all_deel_equity_awards** — List the equity awards granted in deel, as ingested from Shareworks, in ascending employee_number order, for reconciling grant quantity, price and fair market value at the grant date. Returns: id, row_hash, last_name, plan_name, total_fmv, award_name, created_at, first_name, grant_date, grant_name, updated_at, grant_price, employee_type, grant_quantity, source_file_id, employee_number,…
- **list_all_deel_equity_expenses** — List deel equity grant total expense records to tie the equity expense in the ledger back to the individual Shareworks grants that produced it. Returns: id, row_hash, plan_name, award_type, created_at, grant_date, grant_name, updated_at, base_shares, grant_price, base_expense, factor_shares, source_file_id, employee_number, hris_profile_id, occurrence_index, valuation_status, actual_forfeitures,…
- **list_all_deel_equity_grants** — List the deel equity grants for an organization, each including its vesting events and associated tax events. Returns: id, value, source, quantity, tranches, grant_date, grant_name, tax_events, cliff_period, grant_status, hris_profile, reference_id, vested_events, exercise_price, grant_currency, vesting_length, vested_quantity, fmv_when_granted, equity_grant_type, option_expiration,…
- **list_all_deel_equity_option_ledgers** — List deel equity option ledger entries, as ingested from Shareworks, in ascending employee_grant_number order. Returns: id, notes, row_hash, last_name, plan_name, total_fmv, created_at, first_name, grant_date, grant_name, grant_type, updated_at, expire_date, middle_name, grant_reason, shares_expired, source_file_id, tax_identifier, employee_number, hris_profile_id, state_exemption,…
- **list_all_deel_equity_participants** — List the equity participants in a deel organization as ingested from Shareworks, in ascending employee_number order — identity and residence data for HRIS reconciliation and equity tax calculations. Returns: id, ssn, email, row_hash, full_name, hire_date, created_at, updated_at, cost_center, company_email, pre_clearance, source_file_id, employee_number, hris_profile_id, home_address_city,…
- **list_all_deel_equity_valuations** — List the equity grant valuations deel ingests from Shareworks, in ascending employee_grant_number order. Each record carries the grant's expense valuation inputs: valuation model, amortization method, fair value per share, forfeiture rate, and the volatility, expected life, risk-free rate and dividend yield assumptions. Returns: id, row_hash, plan_name, award_type, created_at, grant_date,…
- **get_single_deel_eor_worker_additional_field_by_id** — Get the additional form fields Deel requires when onboarding EOR workers in a specific country. Returns the country-specific field-configuration payload, with the form field definitions in its `attributes` object. Required: id (the country code).
- **get_single_deel_file_download_by_id** — Get a time-limited download URL for one file attached to a legal entity registration document submission in Deel. Returns a short-lived download URL that expires shortly after issuance — fetch the file promptly rather than storing it, and request a new one when it lapses. Required: legal_entity_id, document_id, and id (the file's id).
- **list_all_deel_file_status** — Poll the upload status of a registered file in deel to check whether it has cleared virus scanning: pending means the scan is still running, ready means the file can be claimed, and failed means the upload was rejected. Returns: status, file_id. Required: fileid and x-one-time-secret (both from the register response).
- **deel_files_complete** — Finalize a multipart file upload in Deel after all parts have been uploaded to the presigned target. Requires fileid (the file UUID from the register response) and the one_time_secret returned by that same register call. Returns an empty 204 response on success.
- **create_a_deel_file** — Register a file upload with the Deel file service and receive presigned S3 upload target(s) to send the file bytes to. Returns the file handle (file_id, one_time_secret) that the status and complete endpoints require and that domain endpoints use to claim ownership once the upload completes. Required: data (upload registration parameters).
- **create_a_deel_folder_file** — Upload one or more files into a specific deel Organization Secure Vault folder. File contents must be uploaded to the deel File Service first; reference each file here by its file_id and one_time_secret. Returns the created secure vault file records including id, file_id, content_type, original_filename, and created_at. Required: folder_id and data.
- **list_all_deel_folder_items** — List the files and sub-folders contained in a specific deel Organization Secure Vault folder. Returns each item's id and attributes (fields vary by item type — file or sub-folder). Required: folder_id. To browse the vault root instead, use the root-listing method.
- **create_a_deel_legal_entitie_payroll_migration_import** — Attach year-to-date payroll files to a Deel legal entity's payroll migration import; the import is created on the first call. Upload each file to the Deel file service first and pass the id and secret it returns. Returns: file_ids. Required: legal_entity_id, data. Atomic — one rejected file stores nothing, and attaching files to a submitted import reopens it.
- **list_all_deel_legal_entitie_payroll_migration_imports** — List a Deel legal entity's payroll migration imports to check their review status before starting a new one, or to see files a partner already added before uploading more. Returns each import's id, status, and files. Required: legal_entity_id. Max 50 per page; defaults to 20.
- **get_single_deel_legal_entitie_payroll_migration_import_by_id** — Get a single Deel payroll migration import by id — read back its state, when it was submitted, and the files attached to it. There is no webhook, so use this to follow a submission after submitting it. Returns: type, files, status, import_id, created_at, updated_at, submitted_at, submitted_by, legal_entity_id, id. Required: id, legal_entity_id.
- **deel_legal_entitie_registration_documents_bulk_delete** — Delete a legal entity registration document in deel, withdrawing the submission and permanently removing its files; the underlying requirement Returns an empty 204 response on success. Returns an empty 204 response on success. Required: legal_entity_id, document_id.
- **deel_legal_entitie_registration_documents_bulk_update** — Replace the files on a legal entity registration document in deel with newly uploaded ones, typically after a rejection; the previous submission is archived rather than deleted and a new submission id is returned. Returns the resubmitted document including id, status, and requirement. Required: legal_entity_id, document_id, data.
- **create_a_deel_legal_entitie_registration_document** — Submit one or more registration documents for a deel legal entity, each answering a document requirement and referencing files uploaded to the File Service by file_id and one_time_secret. Returns the submitted documents including id, status, and requirement. Requirements needing approval enter review as AWAITING_REVIEW; poll the get-document endpoint for the outcome. Required: legal_entity_id,…
- **get_single_deel_legal_entitie_registration_document_by_id** — Get a single registration document submission for a deel legal entity by id, including its review status, attached files and any superseded revisions. Returns: id, files, parent, status, children, archived_at, requirement, reviewed_at, legal_entity, submitted_at, rejection_reason, submission_due_date, archived_submissions_count. Use this to poll one submission after uploading. Required:…
- **list_all_deel_legal_entitie_registration_documents** — List the registration documents required from a deel legal entity, together with what has been submitted and how far through review it is. Returns: id, files, parent, status, children, archived_at, requirement, reviewed_at, legal_entity, submitted_at, rejection_reason, submission_due_date, archived_submissions_count. Unanswered requirements are included with a null id. Required: legal_entity_id.
- **deel_legal_entitie_registration_documents_partial_update** — Add files to an existing deel legal entity registration document submission without removing the files already attached — for a submission that was incomplete (a missing page or extra supporting file) and is still awaiting review. To replace a rejected submission outright, use the replace-files endpoint instead. Returns the updated submission with its id, status, files, and requirement details.…
- **list_all_deel_legal_entities_registration_documents** — List the registration documents required across every legal entity in a deel organization in one call, to see what is still outstanding organization-wide without querying each entity in turn. Returns: id, files, parent, status, children, archived_at, requirement, reviewed_at, legal_entity, submitted_at, rejection_reason, submission_due_date, archived_submissions_count.
- **get_single_deel_registration_document_requirement_template_by_id** — Get a time-limited download URL for the blank template supplied for a deel legal entity registration document requirement, so the form can be completed and submitted back. Returns: url, expires_at. Required: id (the public UUID of the document requirement). Check the requirement's has_template flag before calling, since not every requirement has a template.
- **create_a_deel_secure_vault_file** — Upload one or more files to the deel Organization Secure Vault root, where they are stored in the organization's 'Other Files' folder. File contents must be uploaded to the deel File Service first, then attached here by file_id and one_time_secret. Returns the upload confirmation payload; its fields are not enumerated in the deel documentation. Required: data, with file_id and one_time_secret per…
- **delete_a_deel_secure_vault_file_by_id** — Permanently delete a single file from the deel Organization Secure Vault, such as an obsolete draft or duplicate that is no longer needed; the deletion is permanent and the file cannot be recovered. Returns an empty 204 response on success. Required: id.
- **create_a_deel_secure_vault_folder** — Create a folder in the Deel Organization Secure Vault. Omit parent_folder_id for a root folder, or provide it to create a sub-folder. Returns the created folder: id, name, description, parent_folder_id. Required: data (containing name).
- **delete_a_deel_secure_vault_folder_by_id** — Delete a Deel Organization Secure Vault folder by id along with all of its sub-folders; deletable files are permanently removed and undeletable files (e.g. signed documents) move to the 'Other Files' folder, which cannot be deleted. Returns an empty 204 response on success. Required: id.
- **get_single_deel_secure_vault_folder_by_id** — Get a single Deel Organization Secure Vault folder by id, including its ancestor chain from the root folder down to its parent. Returns: id, name, ancestors, item_type, description, is_sub_folder, parent_folder_id, has_upload_permission. Required: id.
- **update_a_deel_secure_vault_folder_by_id** — Rename a Deel Organization Secure Vault folder and update its description by id; the system-managed 'Other Files' folder cannot be modified. Returns an empty 204 response on success. Required: id, data.
- **deel_workers_contracts_reject** — Reject a deel worker contract by its public id. Returns an empty 204 response on success. Only contracts in a pending, unsigned state can be rejected — already signed or previously rejected contracts are not eligible. Required: contract_id.
- **deel_banks_settings_bulk_update** — Set the salary split across a Global Payroll contract's bank accounts in deel: each entry gives the percentage (0–100) of salary paid to one account, and the percentages across the contract's accounts must add up to 100. Returns: id, funds_distribution. Required: contract_id, data.
- **get_single_deel_contract_additional_info_by_id** — Get the country-specific additional information a worker submitted on a deel EOR or Global Payroll contract — details local law requires before payroll can run, such as local identifiers, demographic data, and emergency contacts. Returns: data. Required: id.
- **deel_contract_employment_types_bulk_update** — Update the employment type (full-time, part-time, or on leave) and FTE for a Deel Global Payroll contract, effective from a supplied date. Returns the resulting employment-type record: id plus schema-specific attributes. Required: contract_id, data.
- **get_single_deel_contract_hrx_document_by_id** — Download a specific HRX document from a Deel EOR contract by id. Returns a pre-signed URL for fetching the document as a PDF; the URL expires 15 minutes after generation. Required: id (document UUID) and contract_id.
- **list_all_deel_contract_hrx_documents** — List the HRX documents shared with the employee on a Deel EOR contract. Returns each document record's id, name, category, and created_at. Paginated, max 100 per page. Required: contract_id.
- **create_a_deel_contract_ic_invoicing_taxes_ic_invoicing_tax** — Create an IC invoicing tax entry (tax types: WITHHOLDING_TAX or VAT) for an independent contractor contract in deel. Returns the created tax entry including tax_type and percentage. Required: contract_id.
- **list_all_deel_contract_ic_invoicing_taxes_ic_invoicing_taxes** — List the VAT and withholding tax settings configured for an independent contractor contract in deel. Returns tax entries including tax_type and percentage. Required: contract_id.
- **list_all_deel_employees_methods** — Get the bank payout methods configured for a deel employee. Returns the configured method records, each with its id and payout-route-specific attributes whose fields vary by transfer type and country.
- **create_a_deel_employees_method** — Create or update a deel employee's bank payout method; any existing method is superseded. Returns the method record with its id, the bank details payload (data), and created_at/updated_at timestamps. The data fields are dynamic per transfer route and country — resolve them via the bank transfer requirements endpoints until is_final is true before submitting.
- **delete_a_deel_employees_method_by_id** — Permanently delete a deel employee's bank payout method by id. Returns the resulting record with its id and payout-route-specific attributes. Required: id.
- **list_all_deel_entries** — List On-Demand Payroll entries eligible for a Deel contract, with the contract eligibility details and limits. Returns each entry record's id and its upstream-defined attributes; eligible entries are grouped by contract. Required: contract_id (public ID, oid, of the contract).
- **deel_entries_attaches_bulk_update** — Attach existing eligible entries to a Deel On-Demand Payroll that is awaiting client review before submission. Returns the updated On-Demand Payroll wrapped in a data object. Required: odp_id, data.
- **deel_entries_detaches_bulk_update** — Detach entries from an On-Demand Payroll in Deel, keeping or removing the specified entries before the ODP is submitted. Returns an empty 204 response on success. Requires odp_id and a data payload of the entries to keep and/or delete.
- **get_single_deel_gp_worker_additional_field_by_id** — Get the country-specific additional-information fields Deel requires for Global Payroll (GP) workers to run payroll in compliance with local regulations. Returns: key, type, ui_guide, validation, is_required, required_by, dependencies, values_allowed. Required: country_code, id.
- **list_all_deel_immigration_notes** — List the externally-visible notes for an immigration case in Deel, returned most recent first. Returns: id, message, note_type, created_at, attributes. Required: case_id (UUID from the List cases endpoint). Max 100 notes per page.
- **list_all_deel_integrations_consents** — Get the integration consent record in Deel for the authenticated user or organization. Returns: id, scope, state, status, user_id, client_id, user_name, created_at, expires_at, profile_id, updated_at, user_email, redirect_uri, organization_id, expiry.
- **list_all_deel_it_seats** — List the IT seats of your organization's IT-seat subscription in Deel to audit which worker holds which seat and reconcile seat usage. Returns each seat's id, status, and assigned_hris_profile (null when the seat has no worker). Filterable by status and hris_profile_id.
- **list_all_deel_learning_actionable_journeys** — List the Courses (ActionableJourneys) assigned to the authenticated worker in deel, for building learning dashboards or reminder flows. Returns journey records with an id and journey-specific attributes. Results are cursor-paginated, max 100 per page.
- **list_all_deel_legal_entitie_payroll_events_payroll_events** — List Deel payroll events (payroll cycles) for a legal entity, optionally filtered by a date range. Returns: id, type, date_end, date_start, has_g2n_report, legal_entity_id, payroll_group_id. Required: legal_entity_id. date_start may not be earlier than 5 years ago; date_end no more than 5 years ahead.
- **create_a_deel_legal_entitie_setting** — Update the Global Payroll employee app access setting for a legal entity in Deel: set value to true to let employees log in to the Deel app for payslips and personal info, or false to block access during compliance reviews or offboarding. Returns the updated setting under data (value). Required: legal_entity_id, data.
- **get_single_deel_legal_entities_country_field_by_id** — Get the registration and tax identifier fields a country requires before submitting a legal entity to Deel, so the right values can be collected ahead of the entity-creation call. Returns each identifier field's name, kind (registration_id/tax_id), validation_regex, and requirement level (mandatory/optional/bypass). Required: id, country_code (ISO 3166-1 alpha-2, case-insensitive, e.g. US).
- **create_a_deel_legal_entities_light** — Create a new light legal entity in deel from a name, address, and point of contact email — a minimal, standalone record reserved for whitelabel partner API integrations that triggers none of the invoicing, team, compliance, or IRS side effects fired for fully-onboarded entities. Returns: id, name, address, created_at, updated_at, entity_type. Required: data.
- **list_all_deel_lookups** — List Deel lookup reference data of the type chosen via documents. Returns lookup entries as id plus lookup-type-specific attributes. Required: documents (currencies, countries, entity_types, or sic_numbers).
- **create_a_deel_managers_magic_link** — Generate a single-use magic link in deel that authenticates a manager into the platform without credentials; the link expires 5 minutes after creation and the target manager must belong to the requesting organization (and cannot be an organization admin). Returns a 201 response containing the generated magic link details in `data`; the exact fields inside `data` are defined upstream and not…
- **get_single_deel_offboarding_trackers_tracker_by_id** — Get termination details for a contract in deel by its offboarding tracker id. Returns the record's id and an attributes object holding the termination-detail fields. Required: id.
- **list_all_deel_offboarding_trackers_tracker** — List contracts currently in the offboarding process in deel. Returns each record's unique_id, name, contract, progress, hiring_type, termination_id, and offboarding_type. Defaults to a 45-day date range; set ignore_date_range to true to retrieve all terminations regardless of date.
- **create_a_deel_on_demand_payroll_contract** — Create an On-Demand Payroll for a Deel contract from existing eligible entries and/or a salary advance amount. Returns: data. Required: contract_id, data.
- **get_single_deel_on_demand_payroll_contract_by_id** — Get the current On-Demand Payroll for a Deel contract. Returns: id, sla, status, entries, invoice_id, submitted_at, submitted_by, deel_reviewed_at, estimated_payday, next_available_payment_date. Required: id (the contract's public oid, supplied as contract_id).
- **create_a_deel_on_demand_payroll_submit** — Submit a Deel On-Demand Payroll for processing after its entries have been reviewed and approved. Returns an empty 204 response on success. Required: odp_id.
- **deel_on_demand_payrolls_cancel** — Cancel a deel On-Demand Payroll by id, optionally keeping the specified entries available for a future regular payroll cycle. Returns an empty 204 response on success. Required: odp_id.
- **get_single_deel_onboarding_trackers_tracker_by_id** — Get a worker's onboarding details in Deel by onboarding tracker id. Returns the onboarding overview record including its id and schema-defined attributes covering onboarding status, contract details, HRIS profile information, and due dates. Required: id.
- **list_all_deel_onboarding_trackers_tracker** — List workers currently going through onboarding in Deel. Returns each record with its name, unique_id, contract (id, effective_date), hiring_type, HRIS profile (oid, work_email), app experience, and onboarding progress status with due dates. Supports filtering and sorting; cursor-based pagination, max 200 per page.
- **list_all_deel_organizations_tasks** — List all tasks for the current organization in deel, including tasks not assigned to the caller. Returns tasks with their id, status, category, display_name, description, assignees, and external_id. Without a statuses filter only PENDING tasks are returned, and cursor pagination cannot be combined with offset pagination.
- **create_a_deel_payments_statement** — Create and pay a deel payment statement for a set of invoices, attaching a bank transfer for the requested country and currency and optionally applying available balance. Returns the composed statement: id, status, amounts, beneficiary_details, and the settled invoices. Required: data. Max 100 invoices per statement; replaying the same idempotency key returns the original response.
- **get_single_deel_payments_statement_by_id** — Get a deel payment statement by id. Returns the statement including its id, status, amounts, beneficiary_details, and the settled invoices it covers. Required: id.
- **list_all_deel_payroll_groups_payroll_groups** — List the payroll groups for a legal entity in deel Global Payroll, each returned with its associated REGULAR payroll calendars. Returns: id, name, calendars, is_active, regular_cycle_cadence. Required: legal_entity_id. Defaults to the current year; up to 15 groups per page.
- **create_a_deel_payroll_migration_import_submit** — Submit a Deel payroll migration import for review, handing its files to the Deel Payroll Implementation Manager. Returns an opaque JSON acknowledgement (upstream documents no field-level response shape). Required: legal_entity_id, import_id. Re-submitting an already-submitted import is refused — treat that as success; attaching more files reopens the import so it can be submitted again.
- **list_all_deel_policie_seats** — List the workers assigned to one of your organization's IT hardware policies in deel, to resolve policy membership or audit which workers a policy applies to before raising equipment requests. Returns each policy-seat assignment with id and the upstream worker/policy attributes. Required: policy_id. Max 100 per page; results are cursor-paginated.
- **create_a_deel_role** — Create a new custom role in the current Deel organization by sending the role payload under data. Returns the created role object with its id, created_at, and updated_at.
- **list_all_deel_roles** — List all roles defined in the current Deel organization. Returns each role's id, created_at, and updated_at.
- **update_a_deel_role_by_id** — Apply a partial update to a custom role in the current Deel organization, modifying only the fields supplied in the request body. Returns the updated role with its id, created_at, and updated_at. Required: id.
- **create_a_deel_seats_assign** — Assign IT seats to workers on your organization's deel IT-seat subscription from onboarding or HRIS automations. Returns an empty 204 response on success. Required: data (1-100 worker Deel HRIS profile ids per call). The call is all-or-nothing and fails with a conflict if free seats run short unless the subscription is accepting new seats, which are added and billed at the monthly seat price.
- **list_all_deel_seats_status** — Get the deel IT-seat subscription status. Returns the subscription in force today — or the most recent one with its status when your organization is between subscriptions — including paid_seats, assigned_seats, available_seats, and monthly_seat_price. Takes no parameters; only organizations on a per-seat plan can use this endpoint.
- **create_a_deel_seats_unassign** — Unassign workers from IT seats in deel, releasing each listed worker's seat (identified by their Deel HRIS profile id) back into the subscription pool without changing the number of paid seats; the operation is all-or-nothing and fails entirely if any id is unknown or a seat's paid feature is in use. Returns an empty 204 response on success. Required: data.
- **create_a_deel_session** — Create a session token for a child organization in deel. Issues a short-lived session token valid for 6 hours, or returns the existing active token when it has more than one hour of validity remaining; the child organization's permanent token is unaffected. Returns the issued session token in a 201 JSON response whose field-level shape is not enumerated in the deel docs. Required:…
- **list_all_deel_teams** — List the teams in the authenticated deel organization; each entry includes the team's id and name. Returns: id, name. Returns 404 when the organization has no teams.
- **get_single_deel_tracker_hris_profile_by_id** — Get a worker's onboarding details in deel by employee HRIS profile id. Returns the onboarding overview record with its id. Required: id (the employee HRIS profile id).
- **list_all_deel_tracker_hris_profiles** — Retrieve termination details in deel for the contract tied to a given HRIS profile oid. Returns the offboarding details record with its id. Required: oid.
- **create_a_deel_accounts_payable_vendor_bills_vendor_bill** — Create a vendor bill in Deel accounts payable from external invoice provider data. Returns the created bill's id, which is used in a subsequent call to attach invoice files to the bill. Required: data. Duplicate references are rejected with a conflict error.
- **list_all_deel_assignments** — List the worker profiles assigned to a specific Deel time-off policy to verify coverage or audit assignments. Returns: name, email, state, country, work_email, worker_type, hris_profile_id. Required: policy_id. Max 100 per page.
- **get_single_deel_attachment_download_by_id** — Get a short-lived presigned download URL for a deel time-off attachment. Returns: url, expires_at. Required: id — the attachment id from the attachments array in time-off responses. The URL is short-lived: fetch the file promptly and request a new one when it expires. Only the recipient, their direct manager, or an approver for the time off may download it.
- **list_all_deel_bank_transfers_requirements_bank_transfers** — Get the static bank transfer requirements for employee payouts in deel, resolving the preferred transfer type (BTS, local bank account, IBAN, or SWIFT) with its input fields and validation rules. Returns the requirements payload (attributes) whose field set is transfer-type-specific. Required: country, currency. Excludes fees; use the dynamic requirements endpoint for value-dependent results.
- **create_a_deel_bank_transfers_requirements_bank_transfer** — Fetch the progressive bank transfer field requirements for an employee payout method in deel based on the data submitted. Returns the requirements with the is_final flag indicating whether all requirements are satisfied; keep submitting updated data until is_final is true before creating the payout method.
- **list_all_deel_bank_transfers_requirements_bank_transfers** — Get the bank transfer field requirements for a contractor payout method in deel for the specified country and currency, including fee information calculated against the provided amount or a default of 100.00. Returns a requirements payload with country/currency-specific fields. Required: country, currency.
- **list_all_deel_bank_transfers_supported_routes_bank_transfers** — List the bank transfer routes Deel makes available to the authenticated contractor. Returns the supported-route records; the upstream docs do not enumerate their fields. Requires no parameters.
- **deel_contract_compliance_documents_bulk_delete** — Delete the submission of a compliance document of a deel Global Payroll contract. Every submitted file of the requirement is removed permanently and cannot be recovered; the requirement itself stays listed and can be resubmitted. Required: contract_id, document_id. Returns an empty 204 response on success. Only Global Payroll contracts are supported.
- **create_a_deel_contract_compliance_document** — Submit one or more files for a compliance document of a deel Global Payroll contract. Reference each file by its file_id and one_time_secret from the Files endpoints; the new files replace any previous submission. Required: contract_id, document_id, data. Returns an empty 204 response on success. Only Global Payroll contracts are supported.
- **get_single_deel_contract_compliance_document_by_id** — Get one compliance document of a deel Global Payroll contract by id — useful for polling a single requirement after a submission instead of fetching the whole list. Returns: id, name, country, filenames, created_at, updated_at, description, is_required, uploaded_at, has_template, submission_status, is_consent_required, is_acknowledgement_only_document. Required: id, contract_id. Only Global…
- **list_all_deel_contract_compliance_documents** — List the compliance document requirements of a deel Global Payroll contract, including what has already been submitted against each one. Returns: id, name, country, filenames, created_at, updated_at, description, is_required, uploaded_at, has_template, submission_status, is_consent_required, is_acknowledgement_only_document. Requirements with nothing submitted appear with an empty filenames array…
- **create_a_deel_contractors_methods_contractor** — Create a bank transfer payout method in Deel. Returns the created method object including its id and status; remaining fields are option-specific since the payload structure is dynamic. Required: data (retrieve the field requirements for the selected option before submitting).
- **list_all_deel_contractors_methods_contractors** — List all payout methods for the authenticated Deel account, optionally filtered to return only the default method. Returns items with id, status, payment_method, is_default, version, and created_at; remaining fields are option-specific.
- **update_a_deel_contractors_methods_contractor_by_id** — Fully replace a bank transfer payout method by id in Deel; all method fields must be provided since this is a complete replacement, not a partial update. Returns the updated method object including its id and status; remaining fields are option-specific. Required: id, data.
- **get_single_deel_cycle_gross_to_net_by_id** — Get deel's categorized gross-to-net (G2N) report for a payroll cycle by id. Returns report rows for each contract in the cycle with category_group, category, sub_category, and label. Required: id.
- **get_single_deel_invoice_pdf_by_id** — Get the signed, time-limited PDF download link for a deel IC worker invoice. Returns a payload with the signed download URL rather than the PDF file itself (response fields not enumerated upstream). Required: id (the invoice UUID). Requires icEmbeddedWorkerSetup to be enabled for the organization.
- **create_a_deel_kyc_external** — Submit an external KYC record in deel, combining automated Live ID verification (IDV) with a manual review workflow to satisfy identity verification and compliance requirements. Returns an acknowledgment containing the record's id and an attributes object whose fields depend on the submitted KYC record. Required: data.
- **create_a_deel_many_review** — Review a batch of Deel timesheets in a single request, approving or rejecting submitted work. Required: data (array of timesheet review objects). Returns the batch review outcome on success; fails with a conflict error if a previous batch approval for the same approver is still processing.
- **create_a_deel_many_reviews_many** — Approve or decline multiple submitted tasks for a Deel contract in a single request; each review must set a status of approved or declined, with a reason when declining. Returns the task-review confirmation payload from the 201 response — the source does not enumerate its fields. Requires contract_id and a data body listing the task reviews.
- **list_payouts_auto_withdrawal_settings_auto_withdrawal_setting** — Get the current auto-withdrawal setting for the authenticated worker in deel. Returns: method_id, is_auto_withdraw_enabled.
- **list_all_deel_payouts_balances** — List the authenticated contractor's available balances in deel. Returns the balance summary under attributes — available amounts broken down per currency plus a single aggregated cross-currency total.
- **create_a_deel_payouts_withdrawal** — Initiate a withdrawal of available funds to the employee's configured payout method in deel. The operation is asynchronous; the final outcome is delivered via webhook rather than the synchronous response. Returns the 201 acknowledgement payload with id, created_at, and updated_at. Required: data (withdrawal details object).
- **get_single_deel_refund_statement_breakdown_by_id** — Get the credit-note breakdown for a Deel refund statement, detailing the child credit notes associated with it for financial tracking and reconciliation. Returns zero or more breakdown rows, each with an id and schema-specific breakdown attributes. Required: id (the refund statement's public invoice_id).
- **create_a_deel_settings_auto_withdraw** — Update the auto-withdrawal setting for the authenticated contractor in deel. Returns the updated setting record: id and attributes (upstream-defined setting fields). Required: data (the auto-withdrawal configuration payload).
- **create_a_deel_shifts_bulk_delete** — Bulk-delete Deel time-tracking shifts by their external IDs; deleted shifts can no longer be retrieved or edited. Required: data (the external IDs of the shifts to delete). Returns a 200 success confirmation payload.
- **list_all_deel_time_offs_policies** — List the deel organization's time-off policies to resolve a policy_id for assignment lookups or to audit policy configuration. Returns: id, name, created_at, leave_type, updated_at, description, policy_type, payment_type, tracking_unit, is_event_based, time_off_types, tracking_cadence, policy_allowances, notice_period_unit, request_start_type, request_start_unit, tracking_start_date,…
- **list_all_deel_vms_requisitions** — List Deel Talent job requests (VMS requisitions) for the organization, with free-text title search and filters for hiring criteria and approval status. Returns: id, title, status, vendors, yoe_min, currency, end_date, quantity, rate_max, rate_min, locations, work_mode, close_note, created_at, job_family, rate_scale, start_date, updated_at, description, close_reason, organization, contract_type,…
- **get_single_deel_workers_hrx_by_id** — Get the deel Human Resource Experience (HRX) manager assigned to the authenticated worker, selected based on the worker's country. Returns the HRX representative record (id and attributes, including contact details and a scheduling link). Returns 404 if no HRX manager is assigned to the worker.
- **create_a_deel_workers_individuals_individual** — Complete a deel individual contractor's profile setup during the IC-embedded onboarding flow, submitting address, tax details, and legal status in a single call. Returns the completed setup record including its id and an attributes object whose fields are defined upstream. Requires a worker session token. Required: data.
- **get_single_deel_workers_invoice_by_id** — Get the details of a single deel IC worker invoice by id. Returns the invoice detail object with its id and an attributes object of invoice-specific fields. Required: id. Only available to organizations with deel's Embedded partnership model enabled.
- **create_a_deel_workers_sessions_session** — Create a worker access token (session) in deel. Issues a Bearer token scoped to a single worker and returns the token value with its expiry timestamp. Required: data. Only available to organizations with the deel Embedded partnership model enabled.
- **create_a_deel_workers_tax_form** — Create a US tax form (W-9, W-8BEN, or W-8BEN-E by tax residency) for the authenticated deel worker against a client legal entity. Returns the created tax form with id, form_type, client_legal_entity_id, pdf_url, and the full form data. Required: data (with form_type and client_legal_entity_id). One form per worker/legal-entity pair; the worker must have an active contract with the entity.
- **list_all_deel_workers_tax_forms** — List tax forms for the authenticated deel worker, ordered by creation date, newest first. Each item contains id, created_at, updated_at, client_legal_entity_id, pdf_url, form_type, and the full form data (fields present depend on form_type: W-9, W-8BEN, or W-8BEN-E). Max 100 per page.
- **update_a_deel_workers_tax_form_by_id** — Replace a deel worker's tax form with a corrected complete version, e.g. fixing a mistyped tax identification number or address. Returns the replaced form with id, form_type, client_legal_entity_id, pdf_url, and the full form data. Required: id and data (complete form; client_legal_entity_id is not accepted). Omitted optional fields are cleared, except contractor_signature which keeps the value…
- **create_a_deel_workers_worker** — Create a new worker in deel for white-label DaaS setups. Returns the created worker's identifiers: user_id, profile_id, and contract_id. Required: data (the worker's personal details, contract association, profile type, and company information).

## How it works

1. **Link your customer's Deel 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 Deel.** The Proxy API is a 1-to-1 mapping of the Deel 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

- **Sync global headcount and org structure into your SaaS** — Mirror Deel's people, departments, groups, and manager relationships into your product so customers see an always-fresh roster without manual CSV uploads. Ideal for performance, learning, or identity products where org context drives core workflows.
- **Push variable pay and reimbursements into Deel payroll** — Let your customers automatically send commissions, bonuses, or approved expenses to Deel as invoice adjustments or off-cycle payments. This eliminates end-of-month CSV reconciliation between your tool and their global payroll.
- **Automate onboarding and offboarding workflows** — Trigger account provisioning, device shipping, or license revocation based on Deel onboarding and offboarding tracker progress. Your customers get hands-off lifecycle automation across their globally distributed workforce.
- **Hand off hired candidates from ATS to Deel contracts** — When a candidate is marked hired in your ATS, auto-draft the right Deel contract (EOR or IC), map the correct legal entity, and send the signature invite. HR teams stop re-keying offers across systems.
- **Reflect time off and entitlements in planning tools** — Pull approved leave and entitlement balances from Deel into capacity, scheduling, or project tools — and push new requests back to keep payroll in sync. Useful for PSA, workforce planning, and resource management products.

## What you can build

- **Two-way worker directory sync** — Continuously sync Deel people, groups, departments, and manager relationships into your app so customer records stay aligned with their system of record.
- **Invoice adjustments engine for commissions and bonuses** — Programmatically attach line items to active Deel contracts at month-end using contract adjustments and off-cycle payments — no spreadsheets, no manual uploads.
- **Webhook-driven lifecycle automations** — Subscribe to Deel events to fire onboarding and offboarding workflows the moment a worker's tracker status changes.
- **ATS-to-Deel contract generation** — Create Deel EOR or contractor agreements directly from a hired candidate, map them to the right legal entity, and dispatch contract invitations and signature requests in one flow.
- **Time off read and write integration** — List Deel time off and entitlements to surface PTO in your UI, and create, update, or delete time off requests on behalf of users.
- **IT asset and order visibility** — Read Deel IT orders and assets to display hardware assignments next to worker profiles, useful for ITSM, security, and device management products.

## FAQs

### How do end users authenticate their Deel account?

Deel uses OAuth and API token-based authentication. Truto handles the full connect flow, token storage, and refresh so your end users authorize Deel once and your product gets a stable connected account to call against.

### Which Deel objects can I read and write today?

Truto exposes tools for people, contracts, time off, groups, legal entities, departments, managers, invoices, payments, invoice and contract adjustments, off-cycle payments, milestones, onboarding and offboarding trackers, IT orders and assets, ATS candidates/jobs/applications, benefits, entitlements, custom fields, and webhooks. Both read and write operations are available where Deel supports them.

### Can I subscribe to Deel events for real-time updates?

Yes. You can create, update, and delete Deel webhooks through Truto and list available event types, so your product can react to hire, termination, contract, and tracker changes without polling.

### Does Truto support Deel custom fields?

Yes. Truto exposes tools to list people custom fields and contract custom fields (including get, update, and delete), so customer-specific metadata flows through to your integration.

### How fresh is the data Truto returns from Deel?

Reads hit Deel's API directly, so responses reflect the current state at request time. For change-driven freshness, combine list endpoints with Deel webhooks managed through Truto to receive updates as they happen.

### How are pagination and rate limits handled?

Truto normalizes Deel's pagination across list endpoints and manages retries and backoff against Deel's rate limits, so you don't have to implement per-endpoint paging or throttling logic in your integration.

## Related reading

- [Connect Deel to Claude: Automate Hiring, Compliance, and Onboarding](https://truto.one/blog/connect-deel-to-claude-automate-hiring-compliance-and-onboarding/) — Learn how to connect Deel to Claude using a managed MCP server. Automate global payroll, compliance tracking, and HR workflows directly from Claude Desktop.
- [Connect Deel to ChatGPT: Manage Payroll, Contracts, and Time-Off](https://truto.one/blog/connect-deel-to-chatgpt-manage-payroll-contracts-and-time-off/) — Learn how to connect Deel to ChatGPT using a managed MCP server to automate payroll adjustments, time-off requests, and contract management.
- [Connect Deel to AI Agents: Orchestrate IT Assets, Invoices, and HRIS](https://truto.one/blog/connect-deel-to-ai-agents-orchestrate-it-assets-invoices-and-hris/) — Learn how to connect Deel to AI agents using Truto's /tools endpoint. Build autonomous workflows for global payroll, IT asset provisioning, and HRIS operations.
