# Deel REST API API

> Deel REST API API on Apizie: 152 endpoints (Retrieve invoices, Retrieve Deel invoices, Download invoice PDF, List of managers, …) returned as clean JSON through one API key. Send your own provider key in the x-upstream-key header. Call it over REST at https://www.apizie.tech/v1/business:deel/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `business:deel`
- Category: Business
- Status: byok
- Source: https://deel.com
- Page: https://www.apizie.tech/api/business/deel
- OpenAPI: https://www.apizie.tech/api/business/deel/openapi.json

API specification for Deel HR user provisioning API. This YAML file is a preview of the API Deel is building. We are looking forward to your feedback.

## Endpoints

### Retrieve invoices
`GET https://www.apizie.tech/v1/business:deel/accounting-get-paid-invoices` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| issued_from_date | string | no | to get records created after given issue date |
| issued_to_date | string | no | to get records created before given issued date |
| limit | number | no | Return a page of results with given number of records; NOTE: technically ALL query parameters are strings or array of strings |
| offset | number | no | Return a page of results after given index of row; NOTE: technically ALL query parameters are strings or array of strings |

### Retrieve Deel invoices
`GET https://www.apizie.tech/v1/business:deel/accounting-get-deel-invoices` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | number | no | Return a page of results with given number of records; NOTE: technically ALL query parameters are strings or array of strings |
| offset | number | no | Return a page of results after given index of row; NOTE: technically ALL query parameters are strings or array of strings |

### Download invoice PDF
`GET https://www.apizie.tech/v1/business:deel/accounting-get-invoice-pdf-download-link` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| invoice_id | string | yes | ID of an existing invoice |

### List of managers
`GET https://www.apizie.tech/v1/business:deel/managers-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | string | no | Maximum number of records to return. |
| offset | string | no | Offset/index of record for the next page of records to return. |

### Create a manager
`POST https://www.apizie.tech/v1/business:deel/managers-create-new-manager` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Create a new Hris direct employee
`POST https://www.apizie.tech/v1/business:deel/people-create-direct-employee` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Retrieve country guide
`GET https://www.apizie.tech/v1/business:deel/eor-get-country-guide` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| country_code | string | yes | Country code. |

### Retrieve employee payslips
`GET https://www.apizie.tech/v1/business:deel/eor-get-employee-payslips` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| worker_id | string | yes | Unique identifier for a worker. |

### Download payslip PDF
`GET https://www.apizie.tech/v1/business:deel/eor-get-payslip-download` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| worker_id | string | yes | Unique identifier for a worker. |
| payslip_id | string | yes | Unique identifier for a payslip. |

### Employee Cost Calculator
`POST https://www.apizie.tech/v1/business:deel/eor-calculate-employee-costs` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Get EOR contract benefits
`GET https://www.apizie.tech/v1/business:deel/eor-get-contract-benefits` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| contract_id | string | yes | Deel contract id. |

### Create an EOR contract
`POST https://www.apizie.tech/v1/business:deel/eor-create-contract-quote` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Create a contract
`POST https://www.apizie.tech/v1/business:deel/global-payroll-create-contract-gp` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Create a new contract (time-based)
`POST https://www.apizie.tech/v1/business:deel/contractors-create-new-time-based-contract` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Retrieve employee payslips
`GET https://www.apizie.tech/v1/business:deel/global-payroll-get-payslips` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| worker_id | string | yes | Unique identifier for a worker. |

### Update address
`POST https://www.apizie.tech/v1/business:deel/global-payroll-update-worker-address` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| worker_id | string | yes | Unique identifier for a worker. |
| body | object | yes | JSON request body |

### Retrieve bank accounts
`GET https://www.apizie.tech/v1/business:deel/global-payroll-get-bank-accounts` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| worker_id | string | yes | Unique identifier for a worker. |

### Add bank account
`POST https://www.apizie.tech/v1/business:deel/global-payroll-add-bank-account` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| worker_id | string | yes | Unique identifier for a worker. |
| body | object | yes | JSON request body |

### Modify bank account
`POST https://www.apizie.tech/v1/business:deel/global-payroll-modify-bank-account` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| worker_id | string | yes | Unique identifier for a worker. |
| bank_id | string | yes | Bank Account id. |
| body | object | yes | JSON request body |

### Retrieve bank guide
`GET https://www.apizie.tech/v1/business:deel/global-payroll-get-bank-guide` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| worker_id | string | yes | Unique identifier for a worker. |

### Update compensation
`POST https://www.apizie.tech/v1/business:deel/global-payroll-update-compensation-history` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| worker_id | string | yes | Unique identifier for a worker. |
| body | object | yes | JSON request body |

### Update PTO policy
`POST https://www.apizie.tech/v1/business:deel/global-payroll-update-pto-policy` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| worker_id | string | yes | Unique identifier for a worker. |
| body | object | yes | JSON request body |

### Update employee information
`POST https://www.apizie.tech/v1/business:deel/global-payroll-update-employee-information` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| worker_id | string | yes | Unique identifier for a worker. |
| body | object | yes | JSON request body |

### Download payslip PDF
`GET https://www.apizie.tech/v1/business:deel/global-payroll-get-payslip-download-url` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| worker_id | string | yes | Unique identifier for a worker. |
| payslip_id | string | yes | Unique identifier for a payslip. |

### List payroll events by legal entity
`GET https://www.apizie.tech/v1/business:deel/global-payroll-list-payroll-events-by-legal-entity` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| legal_entity_id | string | yes | Id of an legal entity. |
| start_date | string | no | Start date of payroll report. |

### List gross-to-net report
`GET https://www.apizie.tech/v1/business:deel/global-payroll-get-gross-to-net-gp-report` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| gp_report_id | string | yes | Id of gp report. |

### Download gross-to-net report
`GET https://www.apizie.tech/v1/business:deel/global-payroll-download-gross-to-net-gp-report` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| gp_report_id | string | yes | Id of gp report. |

### Request termination
`POST https://www.apizie.tech/v1/business:deel/global-payroll-request-termination-process` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| worker_id | string | yes | Unique identifier for a worker. |
| body | object | yes | JSON request body |

### Create a new adjustment
`POST https://www.apizie.tech/v1/business:deel/adjustments-create-new-adjustment` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | Form fields as a JSON object |

### Retrieve an adjustment
`GET https://www.apizie.tech/v1/business:deel/adjustments-get-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| adjustment_id | string | yes | Adjustment id. |

### Update an adjustment
`POST https://www.apizie.tech/v1/business:deel/adjustments-update-adjustment` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| adjustment_id | string | yes | Adjustment id. |
| body | object | yes | JSON request body |

### Delete an adjustment
`POST https://www.apizie.tech/v1/business:deel/adjustments-remove-adjustment` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| adjustment_id | string | yes | Adjustment id. |

### Retrieve categories
`GET https://www.apizie.tech/v1/business:deel/adjustments-get-categories` (byok)

### Add Candidate
`POST https://www.apizie.tech/v1/business:deel/candidates-add-candidate-to-deel` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Update Candidate
`POST https://www.apizie.tech/v1/business:deel/candidates-update-candidate-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| candidate_id | string | yes | Candidate id. |
| body | object | yes | JSON request body |

### Add additional information
`POST https://www.apizie.tech/v1/business:deel/partner-managed-add-additional-information-for-eor-employee` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| employee_id | string | yes | Unique identifier for an employee in Deel. |
| contract_id | string | yes | Deel contract id. |
| body | object | yes | JSON request body |

### Sign a contract
`POST https://www.apizie.tech/v1/business:deel/partner-managed-sign-contract` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| employee_id | string | yes | Unique identifier for an employee in Deel. |
| contract_id | string | yes | Deel contract id. |
| body | object | yes | JSON request body |

### Request custom verification letter
`POST https://www.apizie.tech/v1/business:deel/partner-managed-request-custom-verification-letter` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| employee_id | string | yes | Unique identifier for an employee in Deel. |
| contract_id | string | yes | Deel contract id. |
| body | object | yes | JSON request body |

### List HR verification letters and documents
`GET https://www.apizie.tech/v1/business:deel/partner-managed-list-hr-verification-letters-and-documents` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| employee_id | string | yes | Unique identifier for an employee in Deel. |
| contract_id | string | yes | Deel contract id. |

### Download HR verification letters and documents
`GET https://www.apizie.tech/v1/business:deel/partner-managed-download-hr-verification-letters-and-documen` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| employee_id | string | yes | Unique identifier for an employee in Deel. |
| contract_id | string | yes | Deel contract id. |
| document_id | number | yes | Unique identifier for a compliance document in Deel. |

### Preview job offer letter
`GET https://www.apizie.tech/v1/business:deel/partner-managed-preview-job-offer-letter` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| employee_id | string | yes | Unique identifier for an employee in Deel. |
| contract_id | string | yes | Deel contract id. |

### Preview employee agreement
`GET https://www.apizie.tech/v1/business:deel/partner-managed-get-employee-agreement-html` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| employee_id | string | yes | Unique identifier for an employee in Deel. |
| contract_id | string | yes | Deel contract id. |

### Download employee agreement PDF
`GET https://www.apizie.tech/v1/business:deel/partner-managed-download-employee-agreement-pdf` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| employee_id | string | yes | Unique identifier for an employee in Deel. |
| contract_id | string | yes | Deel contract id. |

### Bank account form
`GET https://www.apizie.tech/v1/business:deel/partner-managed-get-bank-guide-for-eor-employee` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| employee_id | string | yes | Unique identifier for an employee in Deel. |

### Add bank account
`POST https://www.apizie.tech/v1/business:deel/partner-managed-add-bank-account-for-eor-employee` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| employee_id | string | yes | Unique identifier for an employee in Deel. |
| body | object | yes | JSON request body |

### Modify bank account for an EOR employee
`POST https://www.apizie.tech/v1/business:deel/partner-managed-modify-bank-account-for-eor-employee` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| employee_id | string | yes | Unique identifier for an employee in Deel. |
| bank_id | string | yes | Bank Account id. |
| body | object | yes | JSON request body |

### Get list of payslips for an EOR employee
`GET https://www.apizie.tech/v1/business:deel/partner-managed-list-payslips-for-eor-employee` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| employee_id | string | yes | Unique identifier for an employee in Deel. |

### List of employee compliance documents
`GET https://www.apizie.tech/v1/business:deel/partner-managed-list-employee-compliance-documents` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| employee_id | string | yes | Unique identifier for an employee in Deel. |

### Upload employee compliance document
`POST https://www.apizie.tech/v1/business:deel/partner-managed-upload-compliance-document` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| employee_id | string | yes | Unique identifier for an employee in Deel. |
| document_id | number | yes | Unique identifier for a compliance document in Deel. |
| body | object | yes | Form fields as a JSON object |

### Download employee compliance document template
`GET https://www.apizie.tech/v1/business:deel/partner-managed-download-compliance-document-template` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| employee_id | string | yes | Unique identifier for an employee in Deel. |
| document_id | number | yes | Unique identifier for a compliance document in Deel. |

### List of tax documents for an employee
`GET https://www.apizie.tech/v1/business:deel/partner-managed-list-tax-documents-for-employee` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| employee_id | string | yes | Unique identifier for an employee in Deel. |

### Create a new contract (task-based)
`POST https://www.apizie.tech/v1/business:deel/contractors-create-new-task-based-contract` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Create a new contract (milestone-based)
`POST https://www.apizie.tech/v1/business:deel/contractors-create-new-milestone-contract` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Create a new contract (fixed-rate)
`POST https://www.apizie.tech/v1/business:deel/contractors-create-new-fixed-rate-contract` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### List of contracts
`GET https://www.apizie.tech/v1/business:deel/contracts-get-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| after_cursor | string | no | Return next page of results after given cursor. |
| limit | number | no | Return a page of results with given number of records; NOTE: technically ALL query parameters are strings or array of strings |
| order_direction | string | no | Order direction of results; ascending or descending. |
| types | array | no | You can filter contracts by type, a contract is included in results if its type is in this list. |
| statuses | array | no | You can filter contracts by current status, a contract is included in results if its status is in this list. |
| team_id | string | no | Filter contracts for given team ID; NOTE: technically ALL query parameters are strings or array of strings |
| external_id | string | no | Filter contracts for given external ID |
| countries | array | no | Country codes of contracts to filter. |
| currencies | string | no | Currency codes of contracts to filter. |
| search | string | no | Include a contract if by name or contractor name contains given search term. |
| sort_by | string | no | Sort contracts by given field name. |

### Create a new contract
`POST https://www.apizie.tech/v1/business:deel/contractors-create-new-deel-contract` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Retrieve a single contract
`GET https://www.apizie.tech/v1/business:deel/contracts-get-single-contract` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| contract_id | string | yes | Deel contract id. |

### External Id
`POST https://www.apizie.tech/v1/business:deel/contracts-add-external-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| contract_id | string | yes | Deel contract id. |
| body | object | yes | JSON request body |

### Attach a file to contract
`POST https://www.apizie.tech/v1/business:deel/contracts-attach-file-to-document` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| contract_id | string | yes | Deel contract id. |
| body | object | no | Form fields as a JSON object |

### Edit the file attached to contract document.
`POST https://www.apizie.tech/v1/business:deel/contracts-edit-file-attachment` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| contract_id | string | yes | Deel contract id. |
| body | object | no | Form fields as a JSON object |

### Preview a contract agreement
`GET https://www.apizie.tech/v1/business:deel/contractors-get-contract-preview` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| contract_id | string | yes | Deel contract id. |
| templateId | string | no | ID of an existing contract template. |

### List of tasks
`GET https://www.apizie.tech/v1/business:deel/tasks-get-contract-tasks` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| contract_id | string | yes | Deel contract id. |

### Create new task
`POST https://www.apizie.tech/v1/business:deel/tasks-create-new-task` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| contract_id | string | yes | Deel contract id. |
| body | object | yes | JSON request body |

### Find contract emails by ID
`GET https://www.apizie.tech/v1/business:deel/contracts-find-emails-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| contract_id | string | yes | Deel contract id. |

### Review multiple tasks
`POST https://www.apizie.tech/v1/business:deel/tasks-review-many-tasks` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| contract_id | string | yes | Deel contract id. |
| body | object | no | JSON request body |

### Review a single task
`POST https://www.apizie.tech/v1/business:deel/tasks-submit-task-review` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| contract_id | string | yes | Deel contract id. |
| task_id | string | yes | ID of task entity. |
| body | object | no | JSON request body |

### Delete task
`POST https://www.apizie.tech/v1/business:deel/tasks-delete-from-contract` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| contract_id | string | yes | Deel contract id. |
| task_id | string | yes | ID of task entity. |
| reason | string | no | Reason for deleting an existing task |

### Amend contract
`POST https://www.apizie.tech/v1/business:deel/contractors-amend-contract-details` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| contract_id | string | yes | Deel contract id. |
| body | object | yes | JSON request body |

### Terminate contract
`POST https://www.apizie.tech/v1/business:deel/contractors-terminate-contract` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| contract_id | string | yes | Deel contract id. |
| body | object | yes | JSON request body |

### Sign a contract
`POST https://www.apizie.tech/v1/business:deel/contracts-client-sign-contract` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| contract_id | string | yes | Deel contract id. |
| body | object | yes | JSON request body |

### Send contract to worker
`POST https://www.apizie.tech/v1/business:deel/contracts-invite-worker-to-sign` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| contract_id | string | yes | Deel contract id. |
| body | object | yes | JSON request body |

### Remove invite
`POST https://www.apizie.tech/v1/business:deel/contracts-remove-invite` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| contract_id | string | yes | Deel contract id. |

### List of timesheets by contract
`GET https://www.apizie.tech/v1/business:deel/timesheets-list-by-contract` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| contract_id | string | yes | Deel contract id. |
| contract_types | array | no | Types of contracts to filter. |
| statuses | array | no | Statuses of timesheets to filter. |
| reporter_id | number | no | ID of an existing profile; NOTE: technically ALL query parameters are strings or array of strings |
| date_from | string | no | Filtered results will include records created on or after the provided date. |
| date_to | string | no | Filtered results will include records created before the provided date. |
| limit | number | no | Return a page of results with given number of records; NOTE: technically ALL query parameters are strings or array of strings |
| offset | number | no | Return a page of results after given index of row |

### List of milestones by contract
`GET https://www.apizie.tech/v1/business:deel/milestones-list-by-contract` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| contract_id | string | yes | Deel contract id. |

### Create a milestone
`POST https://www.apizie.tech/v1/business:deel/milestones-create-new-milestone` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| contract_id | string | yes | Deel contract id. |
| body | object | no | JSON request body |

### Retrieve a single milestone
`GET https://www.apizie.tech/v1/business:deel/milestones-get-single-milestone` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| contract_id | string | yes | Deel contract id. |
| milestone_id | string | yes | ID of milestone to return |

### Delete a milestone
`POST https://www.apizie.tech/v1/business:deel/milestones-delete-single-milestone` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| contract_id | string | yes | Deel contract id. |
| milestone_id | string | yes | ID of milestone to return |

### Review a single milestone
`POST https://www.apizie.tech/v1/business:deel/milestones-create-review` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| contract_id | string | yes | Deel contract id. |
| milestone_id | string | yes | ID of milestone to return |
| body | object | no | JSON request body |

### Review multiple milestones
`POST https://www.apizie.tech/v1/business:deel/milestones-review-multiple` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| contract_id | string | yes | Deel contract id. |
| body | object | no | JSON request body |

### List of off-cycle payments
`GET https://www.apizie.tech/v1/business:deel/offcycle-payments-get-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| contract_id | string | yes | Deel contract id. |

### Add off-cycle payment
`POST https://www.apizie.tech/v1/business:deel/offcycle-payments-add-payment-invoice` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| contract_id | string | yes | Deel contract id. |
| body | object | no | JSON request body |

### Retrieve a single off-cycle payment
`GET https://www.apizie.tech/v1/business:deel/offcycle-payments-get-single-payment` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| contract_id | string | yes | Deel contract id. |
| offcycle_payment_id | string | yes | ID of off-cycle payment to return |

### Upgrade to Premium
`POST https://www.apizie.tech/v1/business:deel/contractors-upgrade-to-premium` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| contract_id | string | yes | Deel contract id. |
| body | object | no | JSON request body |

### Downgrade from Premium
`POST https://www.apizie.tech/v1/business:deel/contractors-remove-premium` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| contract_id | string | yes | Deel contract id. |
| reason | string | no | Reason for deleting an existing Deel Premium from a contract. |

### Calculate final payment
`GET https://www.apizie.tech/v1/business:deel/contracts-calculate-final-payment-amount` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| contract_id | string | yes | Deel contract id. |
| end_date | string | no | The day to end the contract. |
| calculation_type | string | no | The days to calculate. |
| workweek_start | string | no | The day the work week starts, 0 to 6 |
| workweek_end | string | no | The day the work week ends, 0 to 6 |

### Calculate first payment amount
`POST https://www.apizie.tech/v1/business:deel/contracts-calculate-first-payment-amount` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### List time off by contract (obsolete)
`GET https://www.apizie.tech/v1/business:deel/time-off-list-by-contract` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| contract_id | string | yes | Deel contract id. |

### Add a time off request (obsolete)
`POST https://www.apizie.tech/v1/business:deel/time-off-add-request-obsolete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| contract_id | string | yes | Deel contract id. |
| body | object | no | JSON request body |

### Edit a time off request (obsolete)
`POST https://www.apizie.tech/v1/business:deel/time-off-edit-request-obsolete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| contract_id | string | yes | Deel contract id. |
| timeoff_id | string | yes | Time off Id |
| body | object | no | JSON request body |

### Cancel a time off request (obsolete)
`POST https://www.apizie.tech/v1/business:deel/time-off-cancel-request-obsolete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| contract_id | string | yes | Deel contract id. |
| timeoff_id | string | yes | Time off Id |

### List of timesheets
`GET https://www.apizie.tech/v1/business:deel/timesheets-get-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| contract_id | string | no | Id of a Deel contract. |
| contract_types | array | no | Types of contracts to filter. |
| statuses | array | no | Statuses of timesheets to filter. |
| reporter_id | number | no | ID of an existing profile; NOTE: technically ALL query parameters are strings or array of strings |
| date_from | string | no | Filtered results will include records created on or after the provided date. |
| date_to | string | no | Filtered results will include records created before the provided date. |
| limit | number | no | Return a page of results with given number of records; NOTE: technically ALL query parameters are strings or array of strings |
| offset | number | no | Return a page of results after given index of row |

### Create a timesheet entry
`POST https://www.apizie.tech/v1/business:deel/timesheets-submit-work-for-contractor` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Retrieve a single timesheet entry
`GET https://www.apizie.tech/v1/business:deel/timesheets-get-single-entry` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| timesheet_id | number | yes | ID of an existing timesheet |

### Update a timesheet entry
`POST https://www.apizie.tech/v1/business:deel/timesheets-update-entry` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| timesheet_id | number | yes | ID of an existing timesheet |
| body | object | yes | JSON request body |

### Delete a timesheet entry
`POST https://www.apizie.tech/v1/business:deel/timesheets-delete-entry` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| timesheet_id | number | yes | ID of an existing timesheet |
| reason | string | no | Reason for deleting an existing timesheet |

### Review a single timesheet
`POST https://www.apizie.tech/v1/business:deel/timesheets-review-single-timesheet` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| timesheet_id | number | yes | ID of an existing timesheet |
| body | object | no | JSON request body |

### Review multiple timesheets
`POST https://www.apizie.tech/v1/business:deel/timesheets-review-multiple` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Invoice line items by contract
`GET https://www.apizie.tech/v1/business:deel/invoices-get-line-items-by-contract` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| contract_id | string | yes | Deel contract id. |
| contract_types | array | no | types of contracts to filter |
| types | array | no | types of invoice adjustments to filter |
| statuses | array | no | statuses of invoice adjustment to filter |
| invoice_id | number | no | ID of an existing invoice; NOTE: technically ALL query parameters are strings or array of strings |
| reporter_id | number | no | ID of an existing profile; NOTE: technically ALL query parameters are strings or array of strings |
| date_from | string | no | to get invoice adjustments submitted on or after given start date (inclusive) |
| date_to | string | no | to get invoice adjustments submitted before given end date (excludes records submitted on this date) |
| limit | number | no | Return a page of results with given number of records; NOTE: technically ALL query parameters are strings or array of strings |
| offset | number | no | Return a page of results after given index of row; NOTE: technically ALL query parameters are strings or array of strings |

### List invoice adjustments
`GET https://www.apizie.tech/v1/business:deel/invoices-list-invoice-adjustments` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| contract_id | string | no | Id of an Deel contract. |
| contract_types | array | no | types of contracts to filter |
| types | array | no | types of invoice adjustments to filter |
| statuses | array | no | statuses of invoice adjustment to filter |
| invoice_id | number | no | ID of an existing invoice; NOTE: technically ALL query parameters are strings or array of strings |
| reporter_id | number | no | ID of an existing profile; NOTE: technically ALL query parameters are strings or array of strings |
| date_from | string | no | to get invoice adjustments submitted on or after given start date (inclusive) |
| date_to | string | no | to get invoice adjustments submitted before given end date (excludes records submitted on this date) |
| limit | number | no | Return a page of results with given number of records; NOTE: technically ALL query parameters are strings or array of strings |
| offset | number | no | Return a page of results after given index of row; NOTE: technically ALL query parameters are strings or array of strings |

### Create an invoice adjustment
`POST https://www.apizie.tech/v1/business:deel/invoices-create-adjustment` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| recurring | boolean | no | Add this invoice adjustment as recurring |
| body | object | yes | JSON request body |

### Update an invoice adjustment
`POST https://www.apizie.tech/v1/business:deel/invoices-update-adjustment-by-id` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| invoice_adjustment_id | number | yes | ID of an existing invoice adjustment |
| body | object | yes | JSON request body |

### Delete an invoice adjustment
`POST https://www.apizie.tech/v1/business:deel/invoices-delete-adjustment` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| invoice_adjustment_id | number | yes | ID of an existing invoice adjustment |
| reason | string | no | Reason for deleting an existing invoice adjustment |

### Review an invoice adjustment
`POST https://www.apizie.tech/v1/business:deel/invoices-submit-adjustment-review` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| invoice_adjustment_id | number | yes | ID of an existing invoice adjustment |
| body | object | no | JSON request body |

### Bulk review invoice adjustments
`POST https://www.apizie.tech/v1/business:deel/invoices-review-multiple` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Retrieve Attachment file url.
`GET https://www.apizie.tech/v1/business:deel/invoices-get-attachment-file-url` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| invoice_adjustment_id | number | yes | ID of an existing invoice adjustment |

### List of legal entities
`GET https://www.apizie.tech/v1/business:deel/organizations-get-legal-entities-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| type | string | no | Return list of global payroll legal entities if provided |

### Country list
`GET https://www.apizie.tech/v1/business:deel/lookups-get-country-list` (byok)

### Currency list
`GET https://www.apizie.tech/v1/business:deel/lookups-get-currencies-list` (byok)

### Job titles list
`GET https://www.apizie.tech/v1/business:deel/lookups-get-job-titles-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | number | no | Return a page of results with given number of records; NOTE: technically ALL query parameters are strings or array of strings |
| after_cursor | string | no | Return next page of results after given cursor |

### Seniority levels
`GET https://www.apizie.tech/v1/business:deel/lookups-get-seniority-levels` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | number | no | Return a page of results with given number of records; NOTE: technically ALL query parameters are strings or array of strings |

### Time-off types
`GET https://www.apizie.tech/v1/business:deel/lookups-get-time-off-types` (byok)

### Get current organization
`GET https://www.apizie.tech/v1/business:deel/organizations-get-details` (byok)

### Get team list
`GET https://www.apizie.tech/v1/business:deel/organizations-get-team-list` (byok)

### Upload file to Deel
`POST https://www.apizie.tech/v1/business:deel/attachments-upload-deel-file` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Get agreements with Deel.
`GET https://www.apizie.tech/v1/business:deel/organizations-list-agreements-with-deel` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| contract_id | string | no | Deel contract id. |
| limit | string | no | Maximum number of records to return. |
| offset | string | no | Offset/index of record for the next page of records to return. |

### Get contract templates
`GET https://www.apizie.tech/v1/business:deel/contracts-get-list-2` (byok)

### List time off entitlements (obsolete)
`GET https://www.apizie.tech/v1/business:deel/time-off-list-entitlements` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| contract_id | string | yes | Deel contract id. |

### Retrieve adjustments
`GET https://www.apizie.tech/v1/business:deel/adjustments-get-all` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| contract_id | string | yes | Deel contract id. |
| from | string | no | Filter adjustments by start date. |
| to | string | no | Filter adjustments by end date. |

### Review a time off request (obsolete)
`POST https://www.apizie.tech/v1/business:deel/time-off-manage-request` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| timeoff_id | string | yes | Time off Id |
| body | object | yes | JSON request body |

### Retrieve payment reciepts
`GET https://www.apizie.tech/v1/business:deel/accounting-get-payment-receipts` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| date_from | string | no | Filtered results will include records created on or after the provided date. |
| date_to | string | no | Filtered results will include records created before the provided date. |
| currencies | string | no | Currency codes of contracts to filter. |
| entities | string | no | Filter by legal entity type; company, or individual |

…and 32 more. See the OpenAPI spec.

## Example
```
curl "https://www.apizie.tech/v1/business:deel/accounting-get-paid-invoices" \
  -H "x-api-key: $APIZIE_KEY" \
  -H "x-upstream-key: $PROVIDER_KEY"
```

## FAQ

### How do I call the Deel REST API API?
Create a free Apizie key, then send GET https://www.apizie.tech/v1/business:deel/accounting-get-paid-invoices with the header x-api-key. Every endpoint returns { project, data, timestamp }.

### Is the Deel REST API API free on Apizie?
Yes. The Free plan includes 1,000 requests a month at 100 requests a minute, no credit card. Deel REST API itself also needs your own key from api.letsdeel.com.

### Can AI agents use the Deel REST API API?
Yes. Add the Apizie MCP server (https://www.apizie.tech/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key business:deel.

### What is the status of the Deel REST API API?
Needs your own provider key (bring your own key)
