Query structured spec data via REST or MCP. Get exactly what your agent needs.
https://api.letsdeel.com/rest/v2
https://api-staging.letsdeel.com/rest/v2
/invoices
Retrieve a list of paid invoices for your workforce.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| issued_from_date | query | optional | string | to get records created after given issue date |
| issued_to_date | query | optional | string | to get records created before given issued date |
| limit | query | optional | number | Return a page of results with given number of records; NOTE: technically ALL query parameters are strings or array of strings |
| offset | query | optional | number | Return a page of results after given index of row; NOTE: technically ALL query parameters are strings or array of strings |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /invoices
/invoices/deel
Retrieve a list of invoices related to Deel fees.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| limit | query | optional | number | Return a page of results with given number of records; NOTE: technically ALL query parameters are strings or array of strings |
| offset | query | optional | number | Return a page of results after given index of row; NOTE: technically ALL query parameters are strings or array of strings |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /invoices/deel
/invoices/{invoice_id}/download
Get link to download the invoice PDF.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| invoice_id | path | optional | string | ID of an existing invoice |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /invoices/{invoice_id}/download
/payments
Retrieve a list of payments made to Deel.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| date_from | query | optional | Filtered results will include records created on or after the provided date. |
|
| date_to | query | optional | Filtered results will include records created before the provided date. |
|
| currencies | query | optional | Currency codes of contracts to filter. |
|
| entities | query | optional | Filter by legal entity type; company, or individual |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /payments
/payments/{payment_id}/breakdown
Get a full breakdown of a payment made to Deel. Breakdown will include individual invoices and Deel fee as line items.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| payment_id | path | required | string | — |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /payments/{payment_id}/breakdown
/adjustments/categories
Get all categories for your organization.
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /adjustments/categories
/adjustments/{adjustment_id}
Retrieve an adjustment.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| adjustment_id | path | optional | string | Adjustment id. |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /adjustments/{adjustment_id}
/contracts/{contract_id}/adjustments
Get all adjustments for the specific contract.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| contract_id | path | optional | string | Deel contract id. |
| from | query | optional | string | Filter adjustments by start date. |
| to | query | optional | string | Filter adjustments by end date. |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /contracts/{contract_id}/adjustments
/contracts/{contract_id}/preview
Retrieve an IC and EOR contract agreement content in HTML. If no template is specified, the default or currently assigned template will be used. This endpoint does not support Global Payroll contract type.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| contract_id | path | optional | string | Deel contract id. |
| templateId | query | optional | string | ID of an existing contract template. |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /contracts/{contract_id}/preview
/contracts
Retrieve a list of contracts.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| after_cursor | query | optional | string | Return next page of results after given cursor. |
| limit | query | optional | number | Return a page of results with given number of records; NOTE: technically ALL query parameters are strings or array of strings |
| order_direction | query | optional | Order direction of results; ascending or descending. |
|
| types | query | optional | You can filter contracts by type, a contract is included in results if its type is in this list. |
|
| statuses | query | optional | You can filter contracts by current status, a contract is included in results if its status is in this list. |
|
| team_id | query | optional | string | Filter contracts for given team ID; NOTE: technically ALL query parameters are strings or array of strings |
| external_id | query | optional | string | Filter contracts for given external ID |
| countries | query | optional | Country codes of contracts to filter. |
|
| currencies | query | optional | Currency codes of contracts to filter. |
|
| search | query | optional | string | Include a contract if by name or contractor name contains given search term. |
| sort_by | query | optional | Sort contracts by given field name. |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /contracts
/contracts/{contract_id}
Retrieve a single contract.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| contract_id | path | optional | string | Deel contract id. |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /contracts/{contract_id}
/contracts/{contract_id}/alternate_emails
Returns an array of alternate email objects
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| contract_id | path | optional | string | Deel contract id. |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /contracts/{contract_id}/alternate_emails
/contracts/{contract_id}/final-payments
Calculate the final payment due to the contractor when ending the contract.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| contract_id | path | optional | string | Deel contract id. |
| end_date | query | optional | The day to end the contract. |
|
| calculation_type | query | optional | string | The days to calculate. |
| workweek_start | query | optional | string | The day the work week starts, 0 to 6 |
| workweek_end | query | optional | string | The day the work week ends, 0 to 6 |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /contracts/{contract_id}/final-payments
/contract-templates
Retrieve a list of contract templates in your organization.
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /contract-templates
/eor/validations/{country_code}
Retrieve the hiring guide data for a country. This data can be used to create Employee of Record (EOR) contract quotes.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| country_code | path | optional | Country code. |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /eor/validations/{country_code}
/eor/workers/{worker_id}/payslips
Get of payslips for an employee.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| worker_id | path | optional | string | Unique identifier for a worker. |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /eor/workers/{worker_id}/payslips
/eor/workers/{worker_id}/payslips/{payslip_id}/download
Get download url for EOR payslip.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| worker_id | path | optional | string | Unique identifier for a worker. |
| payslip_id | path | optional | string | Unique identifier for a payslip. |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /eor/workers/{worker_id}/payslips/{payslip_id}/download
/eor/{contract_id}/benefits
Retrieve EOR contract benefits
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| contract_id | path | optional | string | Deel contract id. |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /eor/{contract_id}/benefits
/gp/legal-entities/{legal_entity_id}/reports
Get list of global payroll events by legal entities.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| legal_entity_id | path | optional | string | Id of an legal entity. |
| start_date | query | optional | Start date of payroll report. |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /gp/legal-entities/{legal_entity_id}/reports
/gp/reports/{gp_report_id}/gross_to_net
Get list of global payroll reports detailing gross-to-net calculations.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| gp_report_id | path | optional | string | Id of gp report. |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /gp/reports/{gp_report_id}/gross_to_net
/gp/reports/{gp_report_id}/gross_to_net/csv
Download global payroll reports detailing gross-to-net calculations.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| gp_report_id | path | optional | string | Id of gp report. |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /gp/reports/{gp_report_id}/gross_to_net/csv
/gp/workers/{worker_id}/banks
Retrieve all bank accounts for an employee.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| worker_id | path | optional | string | Unique identifier for a worker. |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /gp/workers/{worker_id}/banks
/gp/workers/{worker_id}/banks/guide
Retrieve the bank form guide for employee.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| worker_id | path | optional | string | Unique identifier for a worker. |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /gp/workers/{worker_id}/banks/guide
/gp/workers/{worker_id}/payslips
Get of payslips for an employee.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| worker_id | path | optional | string | Unique identifier for a worker. |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /gp/workers/{worker_id}/payslips
/gp/workers/{worker_id}/payslips/{payslip_id}/download
Get download url for GP payslip.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| worker_id | path | optional | string | Unique identifier for a worker. |
| payslip_id | path | optional | string | Unique identifier for a payslip. |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /gp/workers/{worker_id}/payslips/{payslip_id}/download
/contracts/{contract_id}/invoice-adjustments
Retrieve invoice line items for a given contract id.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| contract_id | path | optional | string | Deel contract id. |
| contract_types | query | optional | types of contracts to filter |
|
| types | query | optional | types of invoice adjustments to filter |
|
| statuses | query | optional | statuses of invoice adjustment to filter |
|
| invoice_id | query | optional | number | ID of an existing invoice; NOTE: technically ALL query parameters are strings or array of strings |
| reporter_id | query | optional | number | ID of an existing profile; NOTE: technically ALL query parameters are strings or array of strings |
| date_from | query | optional | to get invoice adjustments submitted on or after given start date (inclusive) |
|
| date_to | query | optional | to get invoice adjustments submitted before given end date (excludes records submitted on this date) |
|
| limit | query | optional | number | Return a page of results with given number of records; NOTE: technically ALL query parameters are strings or array of strings |
| offset | query | optional | number | Return a page of results after given index of row; NOTE: technically ALL query parameters are strings or array of strings |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /contracts/{contract_id}/invoice-adjustments
/invoice-adjustments
Retrieve invoice adjustments. You can filter the list by providing additional parameters e.g. contract_id, contract_type etc.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| contract_id | query | optional | string | Id of an Deel contract. |
| contract_types | query | optional | types of contracts to filter |
|
| types | query | optional | types of invoice adjustments to filter |
|
| statuses | query | optional | statuses of invoice adjustment to filter |
|
| invoice_id | query | optional | number | ID of an existing invoice; NOTE: technically ALL query parameters are strings or array of strings |
| reporter_id | query | optional | number | ID of an existing profile; NOTE: technically ALL query parameters are strings or array of strings |
| date_from | query | optional | to get invoice adjustments submitted on or after given start date (inclusive) |
|
| date_to | query | optional | to get invoice adjustments submitted before given end date (excludes records submitted on this date) |
|
| limit | query | optional | number | Return a page of results with given number of records; NOTE: technically ALL query parameters are strings or array of strings |
| offset | query | optional | number | Return a page of results after given index of row; NOTE: technically ALL query parameters are strings or array of strings |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /invoice-adjustments
/invoice-adjustments/{invoice_adjustment_id}/attachment
Retrieve Attachment file url of specified id.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| invoice_adjustment_id | path | optional | number | ID of an existing invoice adjustment |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /invoice-adjustments/{invoice_adjustment_id}/attachment
/lookups/countries
Retrieve a list of countries supported by Deel.
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /lookups/countries
/lookups/currencies
Retrieve the list of currencies used by Deel.
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /lookups/currencies
/lookups/job-titles
Retrieve a list of pre-defined job titles in Deel platform.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| limit | query | optional | number | Return a page of results with given number of records; NOTE: technically ALL query parameters are strings or array of strings |
| after_cursor | query | optional | string | Return next page of results after given cursor |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /lookups/job-titles
/lookups/seniorities
Retrieve a list of pre-defined seniority level for roles in Deel platform.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| limit | query | optional | number | Return a page of results with given number of records; NOTE: technically ALL query parameters are strings or array of strings |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /lookups/seniorities
/lookups/time-off-types
Retrieve a list of pre-defined time off types to register in Deel platform.
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /lookups/time-off-types
/managers
List all organization managers.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| limit | query | optional | Maximum number of records to return. |
|
| offset | query | optional | Offset/index of record for the next page of records to return. |
Basic information of the new admin user.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
A matching profile already exists.
Operation failed.
GET /managers
/contracts/{contract_id}/milestones
Retrieve a list of milestones found for a contract.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| contract_id | path | optional | string | Deel contract id. |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /contracts/{contract_id}/milestones
/contracts/{contract_id}/milestones/{milestone_id}
Retrieve a single milestone.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| contract_id | path | optional | string | Deel contract id. |
| milestone_id | path | optional | string | ID of milestone to return |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /contracts/{contract_id}/milestones/{milestone_id}
/contracts/{contract_id}/off-cycle-payments
Retrieve a list of off-cycle payments for the given contract id.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| contract_id | path | optional | string | Deel contract id. |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /contracts/{contract_id}/off-cycle-payments
/contracts/{contract_id}/off-cycle-payments/{offcycle_payment_id}
Retrieve a single off-cycle payment.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| contract_id | path | optional | string | Deel contract id. |
| offcycle_payment_id | path | optional | string | ID of off-cycle payment to return |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /contracts/{contract_id}/off-cycle-payments/{offcycle_payment_id}
/organizations
Retrieve the current organization details. Organization is automatically detected from the auth token.
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /organizations
/agreements
This end-point returns a list of your agreements with Deel.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| contract_id | query | optional | string | Deel contract id. |
| limit | query | optional | Maximum number of records to return. |
|
| offset | query | optional | Offset/index of record for the next page of records to return. |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /agreements
/departments
Get list of organization departments.
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /departments
/legal-entities
Retrieve a list of legal entities in your account.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| type | query | optional | string | Return list of global payroll legal entities if provided |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /legal-entities
/teams
Retrieve a list of teams in your organization.
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /teams
/working-locations
Get organization working locations.
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /working-locations
/partner-managed/employees/{employee_id}/banks/guide
Retrieve bank account form guide for an EOR employee. This data can be used to add a new bank account for an employee.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| employee_id | path | optional | string | Unique identifier for an employee in Deel. |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /partner-managed/employees/{employee_id}/banks/guide
/partner-managed/employees/{employee_id}/compliance-documents
Get a list of employee compliance documents.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| employee_id | path | optional | string | Unique identifier for an employee in Deel. |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /partner-managed/employees/{employee_id}/compliance-documents
/partner-managed/employees/{employee_id}/compliance-documents/{document_id}/templates/download
Get the download link for an employee compliance document template, if it exists.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| employee_id | path | optional | string | Unique identifier for an employee in Deel. |
| document_id | path | optional | number | Unique identifier for a compliance document in Deel. |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /partner-managed/employees/{employee_id}/compliance-documents/{document_id}/templates/download
/partner-managed/employees/{employee_id}/contracts/{contract_id}/employee-agreement
Retrieve an EOR Employee Agreement content in HTML.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| employee_id | path | optional | string | Unique identifier for an employee in Deel. |
| contract_id | path | optional | string | Deel contract id. |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /partner-managed/employees/{employee_id}/contracts/{contract_id}/employee-agreement
/partner-managed/employees/{employee_id}/contracts/{contract_id}/employee-agreement/download
Get link to download the employee agreement PDF.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| employee_id | path | optional | string | Unique identifier for an employee in Deel. |
| contract_id | path | optional | string | Deel contract id. |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /partner-managed/employees/{employee_id}/contracts/{contract_id}/employee-agreement/download
/partner-managed/employees/{employee_id}/contracts/{contract_id}/hr-documents
List all HR verification letters and documents available.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| employee_id | path | optional | string | Unique identifier for an employee in Deel. |
| contract_id | path | optional | string | Deel contract id. |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /partner-managed/employees/{employee_id}/contracts/{contract_id}/hr-documents
/partner-managed/employees/{employee_id}/contracts/{contract_id}/hr-documents/{document_id}/download
Retrieve URL to download HR verification letters and documents.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| employee_id | path | optional | string | Unique identifier for an employee in Deel. |
| contract_id | path | optional | string | Deel contract id. |
| document_id | path | optional | number | Unique identifier for a compliance document in Deel. |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /partner-managed/employees/{employee_id}/contracts/{contract_id}/hr-documents/{document_id}/download
/partner-managed/employees/{employee_id}/contracts/{contract_id}/offer-letter
Retrieve an EOR job offer letter in HTML. This endpoint does not support IC and Global Payroll contract types.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| employee_id | path | optional | string | Unique identifier for an employee in Deel. |
| contract_id | path | optional | string | Deel contract id. |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /partner-managed/employees/{employee_id}/contracts/{contract_id}/offer-letter
/partner-managed/employees/{employee_id}/payslips
Get list of payslips for an EOR employee.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| employee_id | path | optional | string | Unique identifier for an employee in Deel. |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /partner-managed/employees/{employee_id}/payslips
/partner-managed/employees/{employee_id}/tax-documents
Get list of tax documents for an employee.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| employee_id | path | optional | string | Unique identifier for an employee in Deel. |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /partner-managed/employees/{employee_id}/tax-documents
/people
Retrieve a list of People in your organization.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| offset | query | optional | number | Return a page of results with given number of records. |
| limit | query | optional | number | Return a page of results with given number of records. |
| search | query | optional | string | Include a contract if by name or contractor name contains given search term. |
| sort_by | query | optional | Sort people by given field name. |
|
| sort_order | query | optional | Order direction of results; ascending or descending. |
|
| hiring_statuses[] | query | optional | Employee’s current hiring status. |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /people
/people/me
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /people/me
/people/{worker_id}
Retrieve a single person in your organization.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| worker_id | path | optional | string | Unique identifier for a worker. |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /people/{worker_id}
/people/{worker_id}/time-offs
List of time offs by worker id. Worker id can be retreived using /people endpoint.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| worker_id | path | optional | string | Unique identifier for a worker. |
successful operation
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /people/{worker_id}/time-offs
/people/{worker_id}/time-offs/entitlements
Retrieve a list of time off entitlements for a worker.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| worker_id | path | optional | string | Unique identifier for a worker. |
successful operation
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /people/{worker_id}/time-offs/entitlements
/people/{worker_id}/time-offs/policies
Retrieve a list of time off policies for a worker.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| worker_id | path | optional | string | Unique identifier for a worker. |
successful operation
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /people/{worker_id}/time-offs/policies
/internal/people
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| offset | query | optional | number | Return a page of results with given number of records. |
| limit | query | optional | number | Return a page of results with given number of records. |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /internal/people
/ServiceProviderConfig
successful operation
GET /ServiceProviderConfig
/contracts/{contract_id}/tasks
Retrieve a list of tasks for a given contract.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| contract_id | path | optional | string | Deel contract id. |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /contracts/{contract_id}/tasks
/contracts/{contract_id}/entitlements
Retrieve a list of time off entitlements for a full-time employee.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| contract_id | path | optional | string | Deel contract id. |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /contracts/{contract_id}/entitlements
/contracts/{contract_id}/time-offs
Retrieve the list of time off requests by an employee.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| contract_id | path | optional | string | Deel contract id. |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /contracts/{contract_id}/time-offs
/time-offs
List of time offs for all employees in your organization.
successful operation
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /time-offs
/timesheets
Retrieve a list of timesheets in your Deel account. You can filter the list by providing additional paramters e.g. contract_id, contract_type etc.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| contract_id | query | optional | string | Id of a Deel contract. |
| contract_types | query | optional | Types of contracts to filter. |
|
| statuses | query | optional | Statuses of timesheets to filter. |
|
| reporter_id | query | optional | number | ID of an existing profile; NOTE: technically ALL query parameters are strings or array of strings |
| date_from | query | optional | Filtered results will include records created on or after the provided date. |
|
| date_to | query | optional | Filtered results will include records created before the provided date. |
|
| limit | query | optional | number | Return a page of results with given number of records; NOTE: technically ALL query parameters are strings or array of strings |
| offset | query | optional | number | Return a page of results after given index of row |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /timesheets
/timesheets/{timesheet_id}
Retrieve a single timesheet entry by Id.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| timesheet_id | path | optional | number | ID of an existing timesheet |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /timesheets/{timesheet_id}
/contracts/{contract_id}/timesheets
Retrieve a list of timesheets found for a contract.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| contract_id | path | optional | string | Deel contract id. |
| contract_types | query | optional | Types of contracts to filter. |
|
| statuses | query | optional | Statuses of timesheets to filter. |
|
| reporter_id | query | optional | number | ID of an existing profile; NOTE: technically ALL query parameters are strings or array of strings |
| date_from | query | optional | Filtered results will include records created on or after the provided date. |
|
| date_to | query | optional | Filtered results will include records created before the provided date. |
|
| limit | query | optional | number | Return a page of results with given number of records; NOTE: technically ALL query parameters are strings or array of strings |
| offset | query | optional | number | Return a page of results after given index of row |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /contracts/{contract_id}/timesheets
/Users
Retrieve a list of users in Deel HR.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| filter | query | optional | string | Filter results by a given value. For now, only supports equal (eq) expression for “email” filter. |
| startIndex | query | optional | integer | Start index. (1-based) |
| count | query | optional | integer | Page size. |
Successful operation.
Bad request.
Unauthorized.
Forbidden.
Too many requests.
Internal server error
GET /Users
/Users/{id}
Retrieve a single user by id.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | Retrieve a single user by id. |
Successful operation.
Unauthorized.
Forbidden.
Not found.
Too many requests.
Internal server error,
GET /Users/{id}
/webhooks
Retrieve a list of webhook subscriptions.
successful operation
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /webhooks
/webhooks/events/types
Retrieve a list of webhook event types.
successful operation
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /webhooks/events/types
/webhooks/{id}
Retrieve a single webhook subscription.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | — |
successful operation
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
GET /webhooks/{id}
AddWorkerBankAccountContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/WorkerBankAccountToAdd"
}
},
"x-internal": true
}
AdditionalEORInfo
{
"description": "Fields for country validation mandatory found at `/eor/validations/{country_code}`."
}
AdditionalEORInfoContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/AdditionalEORInfo"
}
},
"x-internal": true
}
Address
{
"type": "object",
"properties": {
"region": {
"type": "string",
"example": "CO",
"description": "Region code."
},
"country": {
"$ref": "#/components/schemas/CountryCode"
},
"locality": {
"type": "string",
"example": "Denver",
"description": "Locality name."
},
"postalCode": {
"type": "string",
"example": "44000",
"description": "Postal code."
},
"streetAddress": {
"type": "string",
"example": "Deel Street 500",
"description": "Street and number."
}
}
}
AdjustmentCategory
{
"type": "object",
"properties": {
"id": {
"type": "string",
"example": "c0431543f64c448e5ba4b525a50291",
"description": "Unique identifier of an adjustment category."
},
"label": {
"type": "string",
"example": "Employee Dinner",
"description": "The label of the adjustment category."
},
"unit_type": {
"type": "string",
"example": "currency",
"description": "The unit type of the adjustment category."
}
}
}
AdjustmentCreatedContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/PayrollAdjustment"
}
},
"x-internal": true
}
AdjustmentStatusEnum
{
"enum": [
"open",
"pending_approval",
"overwritten",
"failed",
"success"
],
"type": "string",
"x-internal": true,
"description": "Adjustment status"
}
AdjustmentToCreate
{
"type": "object",
"required": [
"contract_id",
"amount",
"title",
"description",
"adjustment_category_id",
"file",
"vendor",
"country"
],
"properties": {
"file": {
"type": "string",
"format": "binary",
"minLength": 1,
"description": "File of adjustment."
},
"title": {
"type": "string",
"example": "Your title here",
"maxLength": 255,
"minLength": 3,
"description": "Title of adjustment."
},
"amount": {
"oneOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"example": 100.25,
"minimum": 1,
"minLength": 1,
"description": "Amount of adjustment."
},
"vendor": {
"type": "string",
"example": "Vendor",
"minLength": 3,
"description": "Vendor of adjustment."
},
"country": {
"$ref": "#/components/schemas/CountryCode",
"example": "CA",
"description": "Country of adjustment."
},
"contract_id": {
"type": "string",
"example": "m3jk2j",
"minLength": 5,
"description": "The identifier of the contract associated with the adjustment"
},
"description": {
"type": "string",
"example": "Your description here",
"maxLength": 255,
"minLength": 3,
"description": "Description of adjustment."
},
"cycle_reference": {
"type": "string",
"example": "my_cycle_reference",
"description": "Cycle reference of adjustment."
},
"move_next_cycle": {
"type": "boolean",
"example": true,
"nullable": true,
"description": "If an adjustments can belong to another payroll cycle."
},
"date_of_adjustment": {
"$ref": "#/components/schemas/DateString",
"example": "2023-11-02T00:00:00.000Z",
"description": "The date of the expense associated with the adjustment."
},
"adjustment_category_id": {
"type": "string",
"example": "c9cf4c2c0165f48f494415390c3b49",
"minLength": 25,
"description": "Adjustment category id."
}
},
"x-internal": true,
"description": "Details of adjustment to create"
}
AdjustmentToCreateContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/AdjustmentToCreate"
}
},
"x-internal": true
}
AdjustmentToUpdate
{
"type": "object",
"properties": {
"file": {
"type": "string",
"format": "binary",
"minLength": 1,
"description": "File of adjustment."
},
"title": {
"type": "string",
"example": "Your title here",
"maxLength": 255,
"minLength": 3,
"description": "Title of adjustment."
},
"amount": {
"oneOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"example": 100.25,
"minimum": 1,
"minLength": 1,
"description": "Amount of adjustment."
},
"description": {
"type": "string",
"example": "Your description here",
"maxLength": 255,
"minLength": 3,
"description": "Description of adjustment."
}
},
"x-internal": true,
"description": "Details of adjustment to update"
}
AdjustmentToUpdateContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/AdjustmentToUpdate"
}
},
"x-internal": true
}
AdjustmentsCategoriesContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AdjustmentCategory"
}
}
},
"x-internal": true
}
AdjustmentsContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PayrollAdjustment"
}
}
},
"x-internal": true
}
AdminUser
{
"type": "object",
"required": [
"id",
"first_name",
"last_name",
"email"
],
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier",
"nullable": false,
"description": "Admin user profile id."
},
"email": {
"type": "string",
"format": "email",
"description": "User's email"
},
"last_name": {
"type": "string",
"nullable": false,
"description": "User's last name"
},
"first_name": {
"type": "string",
"nullable": false,
"description": "User's first name"
}
}
}
AdminUserCreateContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/AdminUserCreateRequest"
}
},
"x-internal": true
}
AdminUserCreateRequest
{
"type": "object",
"required": [
"first_name",
"last_name",
"email"
],
"properties": {
"email": {
"type": "string",
"format": "email",
"nullable": false,
"description": "User's email"
},
"last_name": {
"type": "string",
"nullable": false,
"minLength": 1,
"description": "User's last name"
},
"first_name": {
"type": "string",
"nullable": false,
"minLength": 1,
"description": "User's first name"
}
}
}
AdminUsersContainer
{
"type": "object",
"required": [
"data",
"page"
],
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AdminUser"
}
},
"page": {
"$ref": "#/components/schemas/PageInfoWithoutCursorNew"
}
},
"x-internal": true
}
Agreement
{
"type": "object",
"required": [
"id",
"agreement_title",
"agreement_type",
"msa",
"client_legal_entity",
"provider_legal_entity"
],
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier",
"nullable": false
},
"msa": {
"type": "object",
"required": [
"id",
"title"
],
"properties": {
"id": {
"type": "string",
"nullable": false
},
"title": {
"type": "string",
"nullable": false
}
}
},
"agreement_type": {
"type": "string",
"example": "shield",
"nullable": false
},
"agreement_title": {
"type": "string",
"nullable": false
},
"client_legal_entity": {
"type": "object",
"required": [
"id",
"name"
],
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier",
"nullable": false
},
"name": {
"type": "string",
"nullable": false
}
}
},
"provider_legal_entity": {
"type": "object",
"required": [
"id",
"name"
],
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier",
"nullable": false
},
"name": {
"type": "string",
"example": "Deel Inc.",
"nullable": false
}
}
}
},
"x-internal": true
}
AgreementList
{
"type": "array",
"items": {
"$ref": "#/components/schemas/Agreement"
},
"x-internal": true
}
AgreementListContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/AgreementList"
},
"page": {
"$ref": "#/components/schemas/PageInfoWithoutCursor"
}
},
"x-internal": true
}
AgreementsParamLimit
{
"type": "string",
"default": "50",
"x-internal": true,
"description": "Maximum number of records to return. This is supposed to be an integer but query parameters are string. Maximum is 50."
}
AgreementsParamOffset
{
"type": "string",
"default": "0",
"x-internal": true,
"description": "Offset/index of record for the next page of records to return. This is supposed to be an integer but query parameters are string."
}
AgreementsSearchForm
{
"type": "object",
"properties": {
"limit": {
"$ref": "#/components/schemas/AgreementsParamLimit"
},
"offset": {
"$ref": "#/components/schemas/AgreementsParamOffset"
},
"contract_id": {
"type": "string",
"nullable": false
}
},
"x-internal": true,
"description": "Convenient model to encapsulate query parameters to get a list of agreements."
}
AlternateEmailItem
{
"type": "object",
"title": "Root Schema",
"required": [
"email",
"isVerified"
],
"properties": {
"email": {
"$ref": "#/components/schemas/EmailType",
"title": "Alternate email"
},
"isVerified": {
"type": "boolean",
"title": "True if email has been verified"
}
}
}
AlternateEmailList
{
"type": "array",
"items": {
"$ref": "#/components/schemas/AlternateEmailItem"
},
"description": "List of alternate email addresses."
}
ApiError
{
"type": "object",
"properties": {
"path": {
"type": "string",
"example": "/data/type",
"description": "The JSON path where input validation failed"
},
"message": {
"type": "string",
"example": "Must have required property 'example_field'",
"description": "A description of the returned error"
}
},
"x-internal": true
}
ApiErrorContainer
{
"type": "object",
"properties": {
"errors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ApiError"
}
},
"request": {
"$ref": "#/components/schemas/ApiErrorRequest"
}
},
"x-internal": true
}
ApiErrorRequest
{
"type": "object",
"properties": {
"url": {
"type": "string",
"example": "/rest/v2/example",
"description": "The relative URL of the failed request"
},
"code": {
"type": "number",
"example": 3,
"description": "The code of the source handler which produced the returned error"
},
"docs": {
"type": "string",
"example": "https://developer.deel.com/reference/example",
"description": "A link to the official documentation for the requested endpoint resource"
},
"method": {
"type": "string",
"example": "POST",
"description": "The HTTP method of the failed request"
},
"source": {
"type": "string",
"example": "AJV",
"description": "The source handler which produced the returned error"
},
"status": {
"type": "number",
"example": 400,
"description": "The status code of the response"
},
"api_req_id": {
"type": "string",
"example": "00000000-0000-0000-0000-000000000000",
"description": "The request ID of the failed request"
}
},
"x-internal": true
}
AttachmentFileRef
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"nullable": false,
"description": "File URL to download the attachment."
}
},
"x-internal": true
}
AuthenticationScheme
{
"type": "object",
"properties": {
"name": {
"type": "string"
},
"specUrl": {
"type": "string"
},
"description": {
"type": "string"
},
"documentationUrl": {
"type": "string"
}
}
}
AuthenticationSchemes
{
"type": "object",
"properties": {
"authenticationSchemes": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AuthenticationScheme"
}
}
}
}
BankAccountAdded
{
"type": "object",
"properties": {
"id": {
"type": "string",
"example": "dcc7b587-2246-4909-853e-12056e90c451",
"description": "ID of Bank Account."
},
"status": {
"$ref": "#/components/schemas/BankAccountStatus"
},
"created_at": {
"$ref": "#/components/schemas/DateTimeString"
},
"updated_at": {
"$ref": "#/components/schemas/DateTimeString"
}
},
"x-internal": true
}
BankAccountAddedContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/BankAccountAdded"
}
},
"x-internal": true
}
BankAccountGuide
{
"type": "object",
"required": [
"key",
"required"
],
"properties": {
"key": {
"type": "string",
"example": "countryCode",
"description": "The key of the field."
},
"type": {
"type": "string",
"example": "text",
"description": "Type of the field"
},
"label": {
"type": "string",
"example": "Country",
"description": "Label for this field."
},
"required": {
"type": "boolean",
"example": true,
"description": "Whether the field is required or not."
},
"validations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ValidationType"
}
},
"values_allowed": {
"type": "array",
"items": {
"$ref": "#/components/schemas/BankAccountValueAllowed"
}
}
},
"x-internal": true
}
BankAccountGuideContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/BankAccountGuide"
}
}
}
}
BankAccountStatus
{
"enum": [
"new",
"pending",
"approved",
"failed"
],
"type": "string",
"x-internal": true,
"description": "Bank Account status"
}
BankAccountToAdd
{
"type": "array",
"items": {
"type": "object",
"required": [
"key",
"value"
],
"properties": {
"key": {
"type": "string",
"description": "The key of the bank account properties."
},
"value": {
"type": "string",
"description": "The value for that key property."
}
}
},
"x-internal": true
}
BankAccountToAddContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/BankAccountToAdd"
}
},
"x-internal": true
}
BankAccountUpdated
{
"type": "object",
"required": [
"id",
"status",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "string"
},
"status": {
"type": "string"
},
"created_at": {
"$ref": "#/components/schemas/DateTimeStringRequired"
},
"updated_at": {
"$ref": "#/components/schemas/DateTimeStringRequired"
}
}
}
BankAccountUpdatedContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/BankAccountUpdated"
}
}
}
BankAccountValueAllowed
{
"type": "object",
"properties": {
"label": {
"type": "string",
"example": "Argentina",
"description": "The name of the allowed value."
},
"value": {
"type": "string",
"example": "AR",
"description": "The key of the allowed value."
}
},
"x-internal": true
}
BankGuide
{
"type": "object",
"properties": {
"key": {
"type": "string"
},
"name": {
"type": "string"
},
"type": {
"type": "string"
},
"required": {
"type": "boolean"
},
"validations": {
"type": "object",
"properties": {
"regex": {
"type": "string"
},
"maxLength": {
"type": "integer"
},
"minLength": {
"type": "integer"
}
}
},
"values_allowed": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"name": {
"type": "string"
}
}
}
}
}
}
BasicContract
{
"type": "object",
"required": [
"id",
"title",
"type",
"status",
"client",
"worker",
"invitations",
"signatures",
"is_shielded",
"is_archived",
"created_at",
"termination_date"
],
"properties": {
"id": {
"type": "string",
"nullable": false,
"minLength": 1
},
"type": {
"$ref": "#/components/schemas/ContractTypeEnum"
},
"scale": {
"type": "string",
"nullable": true,
"description": "The payment scale (e.g., hourly, weekly, monthly, etc.)"
},
"title": {
"type": "string",
"nullable": false,
"minLength": 1
},
"client": {
"$ref": "#/components/schemas/ClientOfBasicContract"
},
"status": {
"$ref": "#/components/schemas/ContractStatusEnum"
},
"worker": {
"$ref": "#/components/schemas/WorkerOfBasicContract"
},
"created_at": {
"$ref": "#/components/schemas/DateTimeString"
},
"signatures": {
"$ref": "#/components/schemas/SignaturesOfBasicContract"
},
"external_id": {
"type": "string",
"nullable": true,
"description": "A unique identifier for the object provided by an external system."
},
"invitations": {
"$ref": "#/components/schemas/InvitationsOfBasicContract"
},
"is_archived": {
"type": "boolean"
},
"is_shielded": {
"type": "boolean"
},
"who_reports": {
"$ref": "#/components/schemas/ContractWhoReportsEnum"
},
"notice_period": {
"$ref": "#/components/schemas/NoticePeriod"
},
"termination_date": {
"$ref": "#/components/schemas/DateTimeString"
}
},
"x-internal": true
}
BasicInvoiceAdjustment
{
"type": "object",
"required": [
"id",
"type",
"status",
"description",
"date_submitted",
"created_at",
"currency_code",
"quantity",
"total_amount",
"contract",
"worksheet",
"reported_by",
"reviewed_by",
"payment_cycle",
"attachment"
],
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier"
},
"type": {
"$ref": "#/components/schemas/InvoiceAdjustmentTypeEnum"
},
"scale": {
"type": "string",
"example": "custom",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/InvoiceAdjustmentStatusEnum"
},
"contract": {
"type": "object",
"required": [
"id",
"title",
"type"
],
"properties": {
"id": {
"type": "string",
"nullable": false
},
"type": {
"$ref": "#/components/schemas/ContractTypeEnum"
},
"title": {
"type": "string",
"nullable": false
}
}
},
"quantity": {
"type": "number",
"example": 1,
"nullable": true
},
"worksheet": {
"type": "object",
"nullable": true,
"required": [
"weeks",
"days",
"hours",
"minutes"
],
"properties": {
"days": {
"type": "number",
"example": 0,
"minimum": 0
},
"hours": {
"type": "number",
"example": 1,
"minimum": 0
},
"weeks": {
"type": "number",
"example": 0,
"minimum": 0
},
"minutes": {
"type": "number",
"example": 0,
"minimum": 0
}
}
},
"attachment": {
"$ref": "#/components/schemas/FileAttachmentInfo"
},
"created_at": {
"$ref": "#/components/schemas/DateTimeStringRequired"
},
"invoice_id": {
"type": "number",
"nullable": true
},
"description": {
"type": "string",
"nullable": false
},
"reported_by": {
"type": "object",
"nullable": false,
"required": [
"id",
"full_name"
],
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier"
},
"full_name": {
"type": "string",
"example": "John Smith",
"nullable": false
}
}
},
"reviewed_by": {
"type": "object",
"nullable": true,
"required": [
"id",
"full_name",
"reviewed_at",
"remarks"
],
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier"
},
"remarks": {
"type": "string",
"nullable": false
},
"full_name": {
"type": "string",
"example": "Jane Smith"
},
"reviewed_at": {
"type": "string",
"example": "2022-05-04T03:45:27.899Z"
}
}
},
"custom_scale": {
"type": "string",
"nullable": true
},
"total_amount": {
"type": "string",
"example": "200.0000",
"nullable": false
},
"currency_code": {
"$ref": "#/components/schemas/CurrencyCodeRequired"
},
"payment_cycle": {
"type": "object",
"nullable": false,
"required": [
"start_date",
"end_date"
],
"properties": {
"end_date": {
"$ref": "#/components/schemas/DateTimeStringRequired"
},
"start_date": {
"$ref": "#/components/schemas/DateTimeStringRequired"
}
}
},
"date_submitted": {
"$ref": "#/components/schemas/DateTimeStringRequired"
}
},
"x-internal": true
}
BasicLegalEntity
{
"type": "object",
"required": [
"id",
"name",
"entity_type",
"entity_subtype"
],
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier"
},
"name": {
"type": "string",
"nullable": false
},
"country": {
"type": "string",
"nullable": false
},
"entity_type": {
"$ref": "#/components/schemas/LegalEntityType"
},
"entity_subtype": {
"$ref": "#/components/schemas/LegalEntitySubType"
}
},
"x-internal": true
}
BasicOrganization
{
"type": "object",
"required": [
"id",
"name"
],
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier"
},
"name": {
"type": "string",
"nullable": false,
"minLength": 1
}
},
"x-internal": true
}
BasicTeam
{
"type": "object",
"required": [
"id",
"name"
],
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier"
},
"name": {
"type": "string",
"nullable": false,
"minLength": 1
}
},
"x-internal": true
}
BasicTimesheet
{
"type": "object",
"required": [
"id",
"type",
"status",
"description",
"date_submitted",
"created_at",
"currency_code",
"total_amount",
"quantity",
"contract",
"worksheet",
"reported_by",
"reviewed_by",
"attachment"
],
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier"
},
"type": {
"type": "string",
"description": "Deprecated - it is always \"work\""
},
"scale": {
"type": "string",
"example": "custom",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/TimesheetStatusEnum"
},
"contract": {
"type": "object",
"required": [
"id",
"title",
"type"
],
"properties": {
"id": {
"type": "string",
"nullable": false
},
"type": {
"$ref": "#/components/schemas/ContractTypeEnum"
},
"title": {
"type": "string",
"nullable": false
}
}
},
"quantity": {
"type": "number",
"example": 1,
"nullable": true
},
"worksheet": {
"type": "object",
"nullable": true,
"required": [
"weeks",
"days",
"hours",
"minutes"
],
"properties": {
"days": {
"type": "number",
"example": 0,
"minimum": 0
},
"hours": {
"type": "number",
"example": 1,
"minimum": 0
},
"weeks": {
"type": "number",
"example": 0,
"minimum": 0
},
"minutes": {
"type": "number",
"example": 0,
"minimum": 0
}
}
},
"attachment": {
"$ref": "#/components/schemas/FileAttachmentInfo"
},
"created_at": {
"type": "string",
"example": "2022-05-04T03:45:27.108Z",
"nullable": false
},
"description": {
"type": "string",
"nullable": false
},
"reported_by": {
"type": "object",
"nullable": false,
"required": [
"id",
"full_name"
],
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier"
},
"full_name": {
"type": "string",
"example": "John Smith",
"nullable": false
}
}
},
"reviewed_by": {
"type": "object",
"nullable": true,
"required": [
"id",
"full_name",
"reviewed_at",
"remarks"
],
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier"
},
"remarks": {
"type": "string",
"nullable": false
},
"full_name": {
"type": "string",
"example": "Jane Smith"
},
"reviewed_at": {
"type": "string",
"example": "2022-05-04T03:45:27.899Z"
}
}
},
"custom_scale": {
"type": "string",
"nullable": true
},
"total_amount": {
"type": "string",
"example": "200.0000",
"nullable": false,
"description": "is equal to quantity times rate of active work statement + bonus in this record"
},
"currency_code": {
"$ref": "#/components/schemas/CurrencyCodeRequired"
},
"payment_cycle": {
"type": "object",
"properties": {
"end_date": {
"$ref": "#/components/schemas/DateTimeString"
},
"start_date": {
"$ref": "#/components/schemas/DateTimeString"
}
}
},
"date_submitted": {
"$ref": "#/components/schemas/DateTimeStringRequired"
}
},
"x-internal": true
}
BenefitContributionStatusEnum
{
"enum": [
"MANDATORY",
"OPTIONAL",
"UNAVAILABLE"
],
"type": "string"
}
BenefitContributionTypeEnum
{
"enum": [
"PERCENTAGE",
"FIXED_AMOUNT",
"MATCH"
],
"type": "string"
}
| Version | Endpoints | Schemas | Ingested | Status |
|---|---|---|---|---|
| 1.25.0 | 153 | 508 | 2026-05-11 | current |
| 1.25.0 | 153 | 508 | 2026-04-16 |