Deel API Integration
These are the list of integration use cases supported by Knit for Deel API as part of the HRIS category
Delete Adjustment
ID
: delete_adjustmentOperation
: writeEntities
: adjustmentSummary
: The Delete Adjustment API allows users to delete an existing adjustment by specifying the adjustment_id in the path parameters. The request requires the 'accept' header to specify the media type for the response, which is optional. The API responds with a 200 status code confirming the deletion with a boolean 'deleted' field in the response body. In case of errors, it returns status codes 401, 403, 404, or 500 with detailed error information including the method, URL, status, request ID, documentation link, source, and error code, along with an array of error messages and paths.Input Fields
: Input FieldsOutput Fields
: Output Fields
Remove Contract Invitation
ID
: delete_contract_invitationOperation
: writeEntities
: worker, contract, invitationSummary
: The Remove Contract Invitation API allows you to delete an invitation for a worker to sign a contract. This is useful if you need to re-invite the worker. The API requires the contract_id as a path parameter, which is the unique identifier for the contract. The request must include an 'accept' header with the value 'application/json'. Upon successful deletion, the response will confirm the deletion with a boolean 'deleted' set to true. If the operation fails, various error responses may be returned, detailing the nature of the failure.Input Fields
: Input FieldsOutput Fields
: Output Fields
Delete Custom Field from Worker's Profile
ID
: delete_custom_field_from_worker_profileOperation
: writeEntities
: worker, custom fieldSummary
: This API endpoint allows you to delete a specific custom field value from a worker's profile. It is useful for removing outdated or unnecessary information. The request requires two path parameters: 'worker_id' which is the unique identifier of the worker, and 'field_id' which is the unique identifier of the custom field to be deleted. The request must include an 'accept' header with the value 'application/json'. A successful operation returns a 204 status code with no content. If the operation fails, it returns a JSON object with details about the error, including the HTTP method, URL, status code, request ID, documentation link, source, and error code, along with an array of error messages.Input Fields
: Input FieldsOutput Fields
: Output Fields
Delete Custom Field Value from Contract
ID
: delete_custom_field_value_from_contractOperation
: writeEntities
: contract, custom fieldSummary
: This API endpoint allows the deletion of a specific custom field's value from a contract. It is used to streamline contract data management by removing redundant or outdated information. The request requires two path parameters: 'contract_id' which is the ID of the contract, and 'field_id' which is the UUID of the custom field. The request does not require a body or query parameters. The response can be a successful 204 status code indicating the field was deleted, or various error responses (400, 401, 403, 404, 500) with detailed error information in the response body.Input Fields
: Input FieldsOutput Fields
: Output Fields
Delete Invoice Adjustment
ID
: delete_invoice_adjustmentOperation
: writeEntities
: invoice adjustmentSummary
: The Delete Invoice Adjustment API allows users to delete an existing invoice adjustment by specifying the invoice_adjustment_id in the path parameters. The request requires an 'accept' header with the value 'application/json'. Optionally, a 'reason' query parameter can be provided to specify the reason for deletion. Upon successful deletion, the API returns a response with a 'data' object containing a 'deleted' boolean set to true. In case of failure, various error responses may be returned with detailed error information.Input Fields
: Input FieldsOutput Fields
: Output Fields
Delete Milestone from Contract
ID
: delete_milestone_from_contractOperation
: writeEntities
: contract, milestoneSummary
: This API endpoint allows the user to delete a specific milestone from a contract using the DELETE method. The request requires two path parameters: 'contract_id' which is the Deel contract id, and 'milestone_id' which is the ID of the milestone to be deleted. The request header can optionally include 'accept' with the value 'application/json'. Upon successful deletion, the response will return a JSON object with a 'data' field containing a 'deleted' boolean set to true. If the operation fails, the response will include details about the error, including the HTTP method, URL, status code, request ID, documentation link, source, and error code, along with an array of error messages.Input Fields
: Input FieldsOutput Fields
: Output Fields
Remove Deel Premium from Contract
ID
: delete_remove_deel_premium_from_contractOperation
: writeEntities
: premium, contract, errorSummary
: This API endpoint is used to remove Deel Premium from an existing contract. It requires the 'contract_id' as a path parameter to identify the specific contract. An optional query parameter 'reason' can be provided to specify the reason for the deletion. The request must include an 'accept' header indicating the media type for the response, typically 'application/json'. Upon successful deletion, the API returns a 200 status code with a response body confirming the deletion. In case of failure, various error responses (400, 401, 403, 404, 405, 429, 500) may be returned, each containing details about the error and a link to the documentation.Input Fields
: Input FieldsOutput Fields
: Output Fields
Delete a Single Timesheet Entry
ID
: delete_single_timesheet_entryOperation
: writeEntities
: response, reason, timesheetSummary
: This API endpoint allows the user to delete a single timesheet entry by specifying the timesheet ID in the path parameters. The request can optionally include a reason for deletion as a query parameter. The response confirms the deletion with a boolean value. If the operation fails, detailed error information is provided, including the HTTP method, URL, status code, request ID, documentation link, source, and error code, along with a list of error messages and paths where validation failed.Input Fields
: Input FieldsOutput Fields
: Output Fields
Delete Task from Contract
ID
: delete_task_from_contractOperation
: writeEntities
: contract, taskSummary
: This API endpoint allows the user to delete a specific task from a contract in the Deel system. The request requires the 'contract_id' and 'task_id' as path parameters, which are mandatory. An optional query parameter 'reason' can be provided to specify the reason for deletion. The request should include an 'accept' header indicating the desired response format, typically 'application/json'. Upon successful deletion, the API returns a confirmation with a 'deleted' boolean set to true. In case of failure, detailed error information is provided, including the HTTP method, URL, status code, request ID, documentation link, source, and error code, along with a list of error messages and paths where validation failed.Input Fields
: Input FieldsOutput Fields
: Output Fields
Delete Webhook Subscription
ID
: delete_webhook_subscriptionOperation
: writeEntities
: response, webhook, subscriptionSummary
: This API endpoint allows the user to delete a webhook subscription by specifying the webhook's unique identifier in the path parameter. The request method is DELETE, and the endpoint URL is https://api.letsdeel.com/rest/v2/webhooks/{id}. The request requires an 'id' path parameter, which is mandatory. The response can be a successful operation with a 200 status code or various error responses with status codes such as 400, 401, 403, 404, 405, 429, and 500, each providing detailed error information in the response body.Input Fields
: Input FieldsOutput Fields
: Output Fields
Get Adjustment Categories for Organization
ID
: get_adjustment_categories_for_organizationOperation
: readEntities
: adjustment categorySummary
: This API endpoint retrieves all adjustment categories for your organization. It is a GET request to the URL https://api.letsdeel.com/rest/v2/adjustments/categories. The request does not require any headers, path parameters, query parameters, or body content. The successful response (HTTP 200) returns a JSON object containing an array of adjustment categories, each with properties such as 'id', 'unit_type', 'label', and 'name'. In case of errors, the API returns detailed error information with HTTP status codes 401, 403, 404, or 500, including the method, URL, status, request ID, documentation link, source, and error code, along with an array of error messages and paths.Input Fields
: Input FieldsOutput Fields
: Output Fields
Get Adjustments for Specific Contract
ID
: get_adjustments_for_specific_contractOperation
: readEntities
: contract, file, adjustmentSummary
: This API endpoint retrieves all adjustments for a specific contract identified by the 'contract_id' path parameter. The request requires an 'accept' header with the value 'application/json'. Optional query parameters 'from' and 'to' can be used to filter adjustments by start and end dates, respectively. The response includes an array of adjustment objects, each containing details such as 'id', 'contract_id', 'amount', 'date_of_adjustment', 'title', 'description', 'status', and more. The API also handles various error responses with status codes 401, 403, 404, and 500, providing detailed error information in the response body.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Bank Form Guide for Employee
ID
: get_bank_form_guide_for_employeeOperation
: readEntities
: bank, worker, fieldSummary
: This API endpoint retrieves the bank form guide for a specific employee identified by the worker_id. The request is made using the GET method to the URL https://api.letsdeel.com/rest/v2/gp/workers/{worker_id}/banks/guide. The only required path parameter is worker_id, which is a unique identifier for the worker. The response includes a data array containing objects with details about the bank form fields, such as key, label, required status, allowed values, validations, and type. The API can return various error responses, including 401, 403, 404, and 500, each providing details about the failed request and errors encountered.Input Fields
: Input FieldsOutput Fields
: Output Fields
Get Contract Custom Field Details
ID
: get_contract_custom_field_detailsOperation
: readEntities
: worker type, contract, custom fieldSummary
: This API endpoint allows users to access details of a specific custom field associated with a contract. It is useful for managing contract-specific attributes effectively. The request requires a path parameter 'field_id', which is the UUID of the custom field. The response includes detailed information about the custom field, such as its ID, name, type, settings, creation date, placement, and description. The API returns a successful response with status code 200 and detailed custom field data. In case of errors, it returns appropriate error messages with status codes like 400, 401, 403, 404, and 500.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Contract Milestones
ID
: get_contract_milestonesOperation
: readEntities
: reviewer, contract, milestoneSummary
: This API endpoint retrieves a list of milestones associated with a specific contract identified by the 'contract_id' path parameter. The request is made using the GET method to the URL 'https://api.letsdeel.com/rest/v2/contracts/{contract_id}/milestones'. The 'contract_id' is a required path parameter that specifies the Deel contract ID. The response includes a list of milestones, each containing details such as 'id', 'amount', 'approval_requested', 'reviewed_by', 'reported_by', 'title', 'description', 'status', and 'created_at'. The API returns a 200 status code with the milestone data on success. In case of errors, it returns appropriate error messages with status codes like 400, 401, 403, 404, 405, 429, and 500, along with detailed error information.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Contract Templates
ID
: get_contract_templatesOperation
: readEntities
: contract template, organizationSummary
: This API endpoint retrieves a list of contract templates available in your organization. It uses the GET method and does not require any input parameters, headers, or body content. The response includes a list of contract templates, each with a unique identifier and title. In case of errors, detailed error information is provided, including the HTTP method, URL, status code, request ID, documentation link, source, and error code.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Current Organization Details
ID
: get_current_organization_detailsOperation
: readEntities
: organization, response, auth tokenSummary
: This API endpoint retrieves the current organization details. The organization is automatically detected from the authentication token provided in the request. The endpoint does not require any additional parameters or request body. Upon a successful request, it returns a JSON object containing an array of organization details, each with a unique identifier and name. In case of errors, it provides detailed error messages and status codes.Input Fields
: Input FieldsOutput Fields
: Output Fields
Get Custom Field Details
ID
: get_custom_field_detailsOperation
: readEntities
: worker, organization, custom fieldSummary
: This API endpoint allows users to access details of a specific custom field by using the custom field ID. It enriches individual personnel records by providing detailed information about the custom field, including its ID, name, type, settings, creation date, placement, and description. The request requires a path parameter 'field_id' which is a UUID representing the custom field ID. The response includes a detailed object with the custom field's properties if successful (HTTP 200). In case of errors, it returns detailed error information with HTTP status codes like 400, 401, 403, 404, and 500.Input Fields
: Input FieldsOutput Fields
: Output Fields
Get Custom Field Values for a Contract
ID
: get_custom_field_values_for_a_contractOperation
: readEntities
: contract, custom field, valueSummary
: This API endpoint retrieves all custom field values for a specific contract, allowing for enhanced contract management with detailed, custom-configured data. The request requires a path parameter 'contract_id' which is the unique identifier of the contract. The response includes an array of custom fields, each with an 'id', 'name', 'type', and 'data' which can be of various types such as text, number, currency, date, percentage, list, or multiselect. The API returns a 200 status code with the custom field data on success, and various error codes (400, 401, 403, 404, 500) with detailed error messages in case of failure.Input Fields
: Input FieldsOutput Fields
: Output Fields
Get Custom Field Values for a Worker
ID
: get_custom_field_values_for_a_workerOperation
: readEntities
: worker, custom fieldSummary
: This API endpoint retrieves all custom field values associated with a specific worker, identified by the worker_id path parameter. It is used for detailed data retrieval for administrative or operational purposes. The request requires an 'accept' header with the value 'application/json'. The response includes a list of custom fields, each with an id, name, type, and value. The type of the custom field can be text, number, currency, date, percentage, list, or multiselect. In case of errors, the response includes details about the failed request and error messages.Input Fields
: Input FieldsOutput Fields
: Output Fields
Fetch Custom Fields for Contracts
ID
: get_custom_fields_for_contractsOperation
: readEntities
: worker type, contract, custom fieldSummary
: This API endpoint fetches all custom fields associated with contracts, providing additional data necessary for contract management. It does not require any input parameters, headers, or body content. The response includes an array of custom fields, each with properties such as id, name, type, settings, createdAt, placement, and description. The type of a custom field can be simple types like text, number, date, or percentage, or more complex types like currency or list. The settings include access details, whether the field is required, applicable countries, and worker types. The response also handles various error codes like 400, 401, 403, 404, and 500, providing detailed error information.Input Fields
: Input FieldsOutput Fields
: Output Fields
Fetch Custom Fields for People Records
ID
: get_custom_fields_for_people_recordsOperation
: readEntities
: worker type, custom field, peopleSummary
: This API endpoint fetches all custom fields associated with People records, providing additional personalized information. It does not require any input parameters, headers, or body content. The response includes an array of custom fields, each with details such as id, name, type, settings, creation date, placement, and description. The type of custom fields can vary, including text, number, date, percentage, currency, list, or multiselect. Settings include access control, sensitivity, requirement status, applicable countries, and worker types. The API handles various error responses, including 400, 401, 403, 404, and 500 status codes, each providing detailed error information.Input Fields
: Input FieldsOutput Fields
: Output Fields
Download Global Payroll Gross-to-Net Report
ID
: get_download_global_payroll_gross_to_net_reportOperation
: readEntities
: payroll, report, calculationSummary
: This API endpoint allows users to download global payroll reports detailing gross-to-net calculations in CSV format. The request requires a path parameter 'gp_report_id', which is a UUID representing the ID of the global payroll report. The request header must include 'accept: text/csv' to specify the desired response format. On success, the API returns a CSV file containing the report. In case of errors, the API returns detailed error messages in JSON format, including HTTP status codes 401, 403, 404, and 500, each with a description of the error and a link to the official documentation.Input Fields
: Input FieldsOutput Fields
: Output Fields
Get Download URL for EOR Payslip
ID
: get_download_url_for_eor_payslipOperation
: readEntities
: worker, payslipSummary
: This API endpoint allows users to retrieve the download URL for an EOR (Employer of Record) payslip. The request requires two path parameters: 'worker_id', which is the unique identifier for a worker, and 'payslip_id', which is the unique identifier for a payslip. The response will include a URL to download the payslip if the request is successful. The API returns a JSON object with a 'data' field containing the 'url'. In case of errors, the API provides detailed error information including the HTTP method, URL, status code, request ID, documentation link, source, and error code, along with a list of error messages and paths where validation failed.Input Fields
: Input FieldsOutput Fields
: Output Fields
Get Download URL for GP Payslip
ID
: get_download_url_for_gp_payslipOperation
: readEntities
: worker, payslipSummary
: This API endpoint allows you to get the download URL for a GP payslip. It requires two path parameters: 'worker_id', which is the unique identifier for a worker, and 'payslip_id', which is the unique identifier for a payslip. The request must include an 'accept' header with the value 'application/json'. Upon a successful request (HTTP 200), the response will contain a 'data' object with a 'url' property, which is the URL to download the payslip. In case of errors, the response will include details about the failed request, including the HTTP method, URL, status code, request ID, and error messages.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Employee Bank Accounts
ID
: get_employee_bank_accountsOperation
: readEntities
: bank account, worker, responseSummary
: This API endpoint retrieves all bank accounts associated with a specific employee identified by the 'worker_id' path parameter. The request requires an 'accept' header with the value 'application/json'. The response includes detailed information about each bank account, such as the user's full name, phone number, address, bank details, and account status. The response is structured as a JSON object containing an array of bank account objects, each with properties like 'full_name', 'bank_name', 'account_number', 'iban', and more. The API also handles various error responses with status codes 401, 403, 404, and 500, providing detailed error messages and request information.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve EOR Contract Benefits
ID
: get_eor_contract_benefitsOperation
: readEntities
: plan, benefit, providerSummary
: This API endpoint retrieves the benefits associated with a specific EOR (Employer of Record) contract. The request requires the 'contract_id' as a path parameter, which is the unique identifier for the Deel contract. The response includes a list of benefits, each with details such as the benefit ID, name, provider, offer status, plan, and enrollment details. The enrollment details include the status, plan name, standard and current monthly costs, and contributions. The API returns a 200 status code for successful operations, and various error codes (401, 403, 404, 500) for failed operations, each with detailed error information.Input Fields
: Input FieldsOutput Fields
: Output Fields
Get Global Payroll Events by Legal Entity
ID
: get_global_payroll_events_by_legal_entityOperation
: readEntities
: report, legal entity, payroll eventSummary
: This API endpoint retrieves a list of global payroll events associated with a specific legal entity. The request requires the 'legal_entity_id' as a path parameter, which is a UUID representing the legal entity. Optionally, a 'start_date' can be provided as a query parameter to filter the payroll reports starting from a specific date in ISO-8601 format. The response includes an array of payroll events, each containing details such as 'id', 'status', 'start_date', 'lock_date', and 'end_date'. The API returns various HTTP status codes, including 200 for successful operations and 401, 403, 404, and 500 for different types of failures, each with detailed error information.Input Fields
: Input FieldsOutput Fields
: Output Fields
Get Global Payroll Gross-to-Net Reports
ID
: get_global_payroll_gross_to_net_reportsOperation
: readEntities
: employee, report, calculationSummary
: This API endpoint retrieves a list of global payroll reports detailing gross-to-net calculations for a specified report ID. The request is made using the GET method to the URL https://api.letsdeel.com/rest/v2/gp/reports/{gp_report_id}/gross_to_net, where {gp_report_id} is a required path parameter representing the ID of the global payroll report. The response includes detailed information about each report, such as net pay, employee loans, contract ID, bonuses, allowances, deductions, and more. The API returns a 200 status code with the data on success, and various error codes (401, 403, 404, 500) with detailed error messages and request information on failure.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Hiring Guide Data for a Country
ID
: get_hiring_guide_data_for_countryOperation
: readEntities
: contract, employee, countrySummary
: The 'Retrieve Hiring Guide Data for a Country' API endpoint allows users to obtain detailed hiring guide data for a specified country. This data is essential for creating Employee of Record (EOR) contract quotes. The API is accessed via a GET request to the URL 'https://api.letsdeel.com/rest/v2/eor/validations/{country_code}', where 'country_code' is a required path parameter representing the two-letter country code. The request header can optionally include 'accept: application/json'. The response includes comprehensive data on holidays, salary ranges, probation periods, work schedules, insurance fees, currency, and more. It also provides information on health insurance and pension providers, mandatory fields, and specific country notes. The API returns a 200 status code for successful operations, while errors such as 401, 403, 404, and 500 are detailed with specific error messages and paths.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve IC and EOR Contract Agreement Content
ID
: get_ic_and_eor_contract_agreement_contentOperation
: readEntities
: contract, template, errorSummary
: This API endpoint retrieves the content of an IC and EOR contract agreement in HTML format. The endpoint requires a 'contract_id' as a path parameter, which is mandatory. Optionally, a 'templateId' can be provided as a query parameter to specify a contract template. The request must include an 'accept' header with the value 'text/html'. The response will return the contract content in HTML if successful (status code 200). In case of failure, it returns a JSON object with error details, including the HTTP method, URL, status code, request ID, documentation link, source, and error code. The endpoint does not support Global Payroll contract types.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Invoice Adjustments
ID
: get_invoice_adjustmentsOperation
: readEntities
: contract, profile, invoice adjustmentSummary
: The 'Retrieve Invoice Adjustments' API endpoint allows users to fetch a list of invoice adjustments. The endpoint supports filtering by various query parameters such as contract_id, contract_types, types, statuses, invoice_id, reporter_id, date_from, date_to, limit, and offset. The response includes detailed information about each invoice adjustment, including its type, status, description, date submitted, currency code, and more. The API returns a paginated list of results, with metadata about the total number of rows, items per page, and the current offset.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Invoice Line Items for a Contract
ID
: get_invoice_line_items_for_contractOperation
: readEntities
: invoice, contract, invoice adjustmentSummary
: This API endpoint retrieves invoice line items for a specified contract ID. The request requires the 'contract_id' as a path parameter. Optional query parameters include 'contract_types', 'types', 'statuses', 'invoice_id', 'reporter_id', 'date_from', 'date_to', 'limit', and 'offset' to filter and paginate the results. The response includes an array of invoice adjustments with details such as 'id', 'type', 'status', 'description', 'date_submitted', 'currency_code', 'quantity', 'total_amount', 'created_at', and associated objects like 'attachment', 'worksheet', 'reviewed_by', 'contract', 'payment_cycle', and 'reported_by'. The response also includes pagination information in the 'page' object.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve a list of contracts
ID
: get_list_of_contractsOperation
: readEntities
: client, worker, contractSummary
: This API endpoint retrieves a list of contracts from the Deel platform. It supports various query parameters to filter and sort the results, such as 'after_cursor' for pagination, 'limit' to specify the number of records per page, 'order_direction' to sort the results, and filters like 'types', 'statuses', 'team_id', 'external_id', 'countries', 'currencies', and 'search'. The response includes detailed information about each contract, such as its ID, title, type, status, client and worker details, signatures, and other metadata. The API returns a paginated list of contracts with a cursor for the next page and the total number of rows.Input Fields
: Input FieldsOutput Fields
: Output Fields
Get List of Organization Departments
ID
: get_list_of_organization_departmentsOperation
: readEntities
: department, organizationSummary
: This API endpoint retrieves a list of departments within an organization. It uses the GET method and does not require any headers, path parameters, query parameters, or request body. The response includes a JSON object with a 'data' field, which is an array of department objects. Each department object contains an 'id' (number), 'name' (string), and an optional 'parent' (string) field. The API can return various error responses with status codes such as 400, 401, 403, 404, 405, 429, and 500, each providing details about the failed request and errors encountered.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve a list of People in your organization
ID
: get_list_of_peopleOperation
: readEntities
: employment, address, personSummary
: This API endpoint retrieves a list of people in your organization. It supports various query parameters such as 'offset', 'limit', 'search', 'sort_by', 'sort_order', and 'hiring_statuses[]' to filter and sort the results. The response includes detailed information about each person, including their ID, name, addresses, emails, birth date, start date, nationalities, client legal entity, state, seniority, completion date, direct manager, direct reports, employments, hiring status, job title, country, timezone, department, work location, and updated timestamp. The response also includes pagination details such as total rows, items per page, and offset.Input Fields
: Input FieldsOutput Fields
: Output Fields
List Organization Managers
ID
: get_list_organization_managersOperation
: readEntities
: page, managerSummary
: This API endpoint retrieves a list of all organization managers. It accepts optional query parameters 'limit' and 'offset' to control pagination. The 'limit' parameter specifies the maximum number of records to return, with a default value of 50. The 'offset' parameter specifies the index of the record for the next page, with a default value of 0. The response includes an array of manager objects, each containing 'id', 'first_name', 'last_name', and 'email'. The response also includes pagination details in the 'page' object, which contains 'total_rows', 'items_per_page', and 'offset'.Input Fields
: Input FieldsOutput Fields
: Output Fields
List users
ID
: get_list_usersOperation
: readEntities
: department, email, userSummary
: The 'List users' API retrieves a list of users in Deel HR. It is accessed via a GET request to the endpoint 'https://api.letsdeel.com/scim/v2/Users'. The API supports optional query parameters such as 'filter' to filter results by email, 'startIndex' to specify the starting index of the results, and 'count' to define the page size. The response includes user details such as active status, emails, title, user type, name, and metadata. The API also handles various error responses with status codes 400, 401, 403, 429, and 500, each providing a detailed error message.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Off-Cycle Payments for a Contract
ID
: get_off_cycle_payments_for_contractOperation
: readEntities
: contract, reported by, off-cycle paymentSummary
: This API endpoint retrieves a list of off-cycle payments for a specified contract ID. The request requires the 'contract_id' as a path parameter, which is the Deel contract ID. The response includes an array of off-cycle payment entries, each containing details such as 'id', 'status', 'description', 'date_submitted', 'currency_code', 'amount', 'created_at', and 'reported_by'. The 'reported_by' field is an object containing the 'id' and 'full_name' of the creator. The API returns a 200 status code for a successful operation, and various error codes (400, 401, 403, 404, 405, 429, 500) for failed operations, each with detailed error information.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Organization Teams
ID
: get_organization_teamsOperation
: readEntities
: organization, teamSummary
: This API endpoint retrieves a list of teams within your organization. It is a GET request to the URL https://api.letsdeel.com/rest/v2/teams. The request does not require any headers, path parameters, query parameters, or body content. Upon a successful request, it returns a JSON object containing an array of team objects, each with a unique 'id' and a 'name'. In case of errors, it returns detailed error information including the HTTP method, URL, status code, request ID, documentation link, source, and error code, along with an array of error messages and paths where validation failed.Input Fields
: Input FieldsOutput Fields
: Output Fields
Get Organization Working Locations
ID
: get_organization_working_locationsOperation
: readEntities
: organization, locationSummary
: This API endpoint retrieves the working locations of an organization. It is a GET request to the URL https://api.letsdeel.com/rest/v2/working-locations. The request does not require any headers, path parameters, query parameters, or body content. The successful response (HTTP 200) returns a JSON object containing an array of working locations, each with a unique identifier ('id') and a name ('name'). In case of errors, various HTTP status codes such as 400, 401, 403, 404, 405, 429, and 500 may be returned, each with a detailed error message and request information.Input Fields
: Input FieldsOutput Fields
: Output Fields
Get Payment Breakdown
ID
: get_payment_breakdownOperation
: readEntities
: invoice, payment, feeSummary
: The 'Get Payment Breakdown' API endpoint allows users to retrieve a detailed breakdown of a payment made to Deel. This breakdown includes individual invoices and the Deel fee as line items. The API requires a 'payment_id' as a path parameter to identify the specific payment. The request must include an 'accept' header with the value 'application/json'. The response will return a detailed list of payment components, including the date, contractor details, invoice number, currency, and total amounts. In case of errors, the API provides detailed error messages and status codes.Input Fields
: Input FieldsOutput Fields
: Output Fields
Get Payslips for an Employee
ID
: get_payslips_for_an_employeeOperation
: readEntities
: worker, payslipSummary
: This API endpoint retrieves the payslips for a specific employee identified by the worker_id. The request is made using the GET method to the URL https://api.letsdeel.com/rest/v2/gp/workers/{worker_id}/payslips. The only required path parameter is worker_id, which is a unique identifier for the worker. The response includes a list of payslips, each with an id, from date, to date, and status. The API returns a 200 status code for a successful operation, and various error codes (401, 403, 404, 500) for failed operations, each with detailed error information.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Pre-defined Job Titles
ID
: get_pre_defined_job_titlesOperation
: readEntities
: page, job titleSummary
: This API endpoint retrieves a list of pre-defined job titles available on the Deel platform. It supports pagination through the 'limit' and 'after_cursor' query parameters. The 'limit' parameter specifies the number of records to return per page, with a default value of 99 and a range between 20 and 99. The 'after_cursor' parameter allows fetching the next page of results. The response includes an array of job titles, each with a unique identifier and name, and a pagination cursor for retrieving subsequent pages.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Pre-defined Time Off Types
ID
: get_pre_defined_time_off_typesOperation
: readEntities
: time off typeSummary
: This API endpoint retrieves a list of pre-defined time off types available on the Deel platform. It uses the GET method and does not require any input parameters, headers, or body content. The successful response (HTTP 200) returns a JSON object containing an array of time off types such as 'VACATION', 'SICK_LEAVE', and 'OTHER'. In case of an error, the response includes details about the failed request, such as the HTTP method, URL, status code, request ID, documentation link, source, and error code, along with an array of error messages and paths where validation failed.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve a Single Milestone
ID
: get_retrieve_a_single_milestoneOperation
: readEntities
: reviewer, contract, milestoneSummary
: This API endpoint retrieves a single milestone associated with a specific contract in the Deel system. The request requires two path parameters: 'contract_id', which is the Deel contract ID, and 'milestone_id', which is the ID of the milestone to be retrieved. The response will include details about the milestone such as its ID, amount, approval status, reviewer and reporter information, title, description, status, and creation date. The API returns a 200 status code with the milestone details on success. In case of errors, it returns appropriate error codes and messages, such as 400 for bad requests, 401 for unauthorized access, 403 for forbidden access, 404 for not found, 405 for method not allowed, 429 for too many requests, and 500 for internal server errors.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve a single User
ID
: get_retrieve_a_single_userOperation
: readEntities
: department, user, managerSummary
: The 'Retrieve a single User' API allows you to fetch details of a single user by their unique ID. The API endpoint is 'https://api.letsdeel.com/scim/v2/Users/{id}' and it uses the GET method. The request requires a path parameter 'id' which is the unique identifier of the user you want to retrieve. The response includes detailed information about the user such as their active status, emails, title, user type, name, and various other attributes related to their employment and organizational details. The response also includes metadata about the user resource. In case of errors, the API returns appropriate error messages with details.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Adjustment Details
ID
: get_retrieve_adjustment_detailsOperation
: readEntities
: contract, file, adjustmentSummary
: This API endpoint retrieves the details of a specific adjustment using its unique identifier. The request requires the 'adjustment_id' as a path parameter. The response includes detailed information about the adjustment such as its ID, contract ID, amount, date of adjustment, title, description, status, and other relevant details. The API returns a 200 status code for a successful operation, and various error codes (401, 403, 404, 500) for failed operations, each with detailed error information.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Deel Invoices
ID
: get_retrieve_deel_invoicesOperation
: readEntities
: invoice, contract, feeSummary
: This API endpoint retrieves a list of invoices related to Deel fees. It accepts query parameters such as 'limit', 'offset', and 'contract_id'. The 'limit' parameter specifies the number of records to return, with a default of 10 and a range between 1 and 99. The 'offset' parameter specifies the starting index for the results, with a default of 0 and a maximum of 999999999. The 'contract_id' is a required parameter that specifies the Deel contract ID. The response includes a list of invoices with details such as 'id', 'label', 'status', 'currency', 'total', and 'created_at'. The response also includes pagination information with 'total_rows', 'items_per_page', and 'offset'. In case of errors, the response includes details about the failed request and validation errors.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Legal Entities
ID
: get_retrieve_legal_entitiesOperation
: readEntities
: legal entity, country, errorSummary
: This API endpoint retrieves a list of legal entities associated with your account. It supports an optional query parameter 'type' which, if provided, returns a list of global payroll legal entities. The request requires an 'accept' header with the value 'application/json'. The response includes a list of legal entities, each with properties such as 'id', 'name', 'country', 'entity_type', and 'entity_subtype'. In case of errors, detailed error information is provided, including the HTTP method, URL, status code, request ID, documentation link, source, and error code.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve List of Currencies
ID
: get_retrieve_list_of_currenciesOperation
: readEntities
: currencySummary
: This API endpoint retrieves the list of currencies used by Deel. It is a GET request to the URL https://api.letsdeel.com/rest/v2/lookups/currencies. The request does not require any headers, path parameters, query parameters, or body content. The successful response (HTTP 200) returns a JSON object containing an array of currency objects, each with a 'code' and 'name'. The 'code' is a 3-letter string representing the currency code, and 'name' is the name of the currency. In case of errors, various HTTP status codes like 400, 401, 403, 404, 405, 429, and 500 may be returned, each with a detailed error message and request information.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Paid Invoices
ID
: get_retrieve_paid_invoicesOperation
: readEntities
: invoice, page, contractSummary
: This API endpoint retrieves a list of paid invoices for your workforce. It supports filtering by issue date range and legal entity type (company or individual). The response includes detailed information about each invoice, such as its unique identifier, status, currency, total amount, VAT details, and associated contract ID. Pagination is supported through 'limit' and 'offset' query parameters. The API returns a JSON object containing the invoice data and pagination details. In case of errors, it provides detailed error messages and status codes.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Payments List
ID
: get_retrieve_payments_listOperation
: readEntities
: payment, worker, currencySummary
: The Retrieve Payments List API endpoint allows users to retrieve a list of payments made to Deel. The API supports filtering by date range using 'date_from' and 'date_to' query parameters, currency codes using 'currencies', and legal entity type using 'entities'. The response includes detailed information about each payment, such as payment method, status, currency, and associated workers. The API returns a 200 status code for successful operations, and various error codes (400, 401, 403, 404, 500) for different failure scenarios, each with detailed error information.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Seniority Levels
ID
: get_retrieve_seniority_levelsOperation
: readEntities
: expertise, seniority, roleSummary
: This API endpoint retrieves a list of pre-defined seniority levels for roles in the Deel platform. It accepts a query parameter 'limit' which specifies the number of records to return, with a default value of 50. The response includes an array of seniority levels, each with an 'id', 'name', and 'level'. The API returns a JSON response with the data array containing the seniority details. In case of errors, it provides detailed error messages and status codes.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve a Single Contract
ID
: get_single_contractOperation
: readEntities
: client, worker, contractSummary
: This API endpoint retrieves a single contract from the Deel platform using the specified contract ID. The request requires the 'contract_id' as a path parameter and the 'accept' header set to 'application/json'. The response includes detailed information about the contract, such as its ID, title, type, status, creation date, job title, seniority, client and worker details, compensation and employment details, and more. The response is returned in JSON format.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve a Single Off-Cycle Payment
ID
: get_single_off_cycle_paymentOperation
: readEntities
: report, contract, off-cycle paymentSummary
: This API endpoint retrieves a single off-cycle payment for a specified contract. It requires two path parameters: 'contract_id', which is the Deel contract ID, and 'offcycle_payment_id', which is the ID of the off-cycle payment to be returned. The request accepts an optional 'accept' header to specify the media type for the response, typically 'application/json'. Upon a successful request, the API returns a JSON object containing details of the off-cycle payment, including its ID, status, description, date submitted, currency code, amount, creation date, and the reporter's information. In case of errors, the API provides detailed error messages and status codes.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve a Single Person in Your Organization
ID
: get_single_person_in_organizationOperation
: readEntities
: employment, address, personSummary
: This API endpoint retrieves a single person in your organization using the unique worker ID. The request is made using the GET method to the URL 'https://api.letsdeel.com/rest/v2/people/{worker_id}', where 'worker_id' is a required path parameter representing the unique identifier for a worker. The request header should include 'accept: application/json'. The response includes detailed information about the employee, such as their ID, name, addresses, emails, birth date, start date, nationalities, client legal entity, state, seniority, direct manager, direct reports, employments, hiring status, job title, country, timezone, department, work location, and custom fields. The API returns a 200 status code for a successful operation, with the employee data in JSON format. In case of errors, it returns appropriate error messages with status codes like 400, 401, 403, 404, 405, 429, and 500, detailing the nature of the error.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve a Single Webhook Subscription
ID
: get_single_webhook_subscriptionOperation
: readEntities
: response, webhook subscription, eventSummary
: This API endpoint retrieves a single webhook subscription from the Deel platform. The request requires a path parameter 'id', which is the unique identifier of the webhook subscription. The response includes detailed information about the webhook subscription, such as its name, description, status, URL, signing key, API version, events, and timestamps for creation, update, and deletion. The API returns a 200 status code with the webhook details on success. In case of failure, it returns various error codes (400, 401, 403, 404, 405, 429, 500) with detailed error messages and request information.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Supported Countries by Deel
ID
: get_supported_countries_by_deelOperation
: readEntities
: state, support, countrySummary
: This API endpoint retrieves a list of countries supported by Deel. It does not require any input parameters. The response includes a list of countries, each with details such as the country code, name, visa support, EoR support, state type, and states. The response also handles various error codes such as 400, 401, 403, 404, 405, 429, and 500, providing detailed error messages and request information.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Tasks for a Contract
ID
: get_tasks_for_contractOperation
: readEntities
: contract, attachment, taskSummary
: This API endpoint retrieves a list of tasks associated with a specific contract identified by the 'contract_id' path parameter. The request requires an 'accept' header specifying 'application/json'. The response includes an array of task objects, each containing details such as 'id', 'amount', 'date_submitted', 'description', 'status', and optional 'attachment' information. The API returns a 200 status code for successful operations, and various error codes (400, 401, 403, 404, 405, 429, 500) for different failure scenarios, each with detailed error information.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Timesheet Entry by ID
ID
: get_timesheet_entry_by_idOperation
: readEntities
: contract, reported by, timesheet, reviewed bySummary
: This API endpoint retrieves a single timesheet entry by its ID. The request requires the 'timesheet_id' as a path parameter and the 'accept' header set to 'application/json'. The response includes detailed information about the timesheet entry, such as its status, description, date submitted, currency code, total amount, and more. The response also includes information about the contract, payment cycle, and the individuals who reported and reviewed the timesheet. In case of errors, the response will include details about the failed request and validation errors.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Timesheets for a Contract
ID
: get_timesheets_for_contractOperation
: readEntities
: payment cycle, contract, timesheetSummary
: This API endpoint retrieves a list of timesheets associated with a specific contract. The request requires the 'contract_id' as a path parameter. Optional query parameters include 'contract_types', 'statuses', 'reporter_id', 'date_from', 'date_to', 'limit', and 'offset' to filter and paginate the results. The response includes an array of timesheet data with details such as 'id', 'status', 'description', 'date_submitted', 'currency_code', 'total_amount', 'quantity', 'created_at', and associated objects like 'attachment', 'worksheet', 'reviewed_by', 'contract', 'payment_cycle', and 'reported_by'. The response also includes pagination information with 'total_rows'.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Timesheets from Deel Account
ID
: get_timesheets_from_deel_accountOperation
: readEntities
: contract, timesheet, reporterSummary
: This API endpoint retrieves a list of timesheets from your Deel account. It supports filtering the list by various query parameters such as contract_id, contract_types, statuses, reporter_id, date_from, date_to, limit, and offset. The response includes detailed information about each timesheet, including its ID, type, status, description, date submitted, currency code, total amount, quantity, creation date, and associated contract and payment cycle details. The API returns a paginated list of timesheets, with the total number of rows available in the 'page' object.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Webhook Event Types
ID
: get_webhook_event_typesOperation
: readEntities
: contract, webhook event type, invoice adjustmentSummary
: This API endpoint retrieves a list of webhook event types from the Deel platform. It uses the GET method and requires no parameters in the request. The response includes a list of event types, each with details such as the unique identifier, module name, module label, event name, description, and timestamps for creation and update. The response can also include error details if the request fails, with error codes and messages to help diagnose the issue.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Webhook Subscriptions
ID
: get_webhook_subscriptionsOperation
: readEntities
: webhook, subscription, eventSummary
: This API endpoint retrieves a list of webhook subscriptions from the Deel platform. It requires an 'accept' header with the value 'application/json'. The response includes an array of webhook subscription objects, each containing details such as 'id', 'name', 'description', 'status', 'url', 'signing_key', 'api_version', 'events', 'created_at', 'updated_at', 'hidden', 'internal', and 'deleted_at'. The API supports various response codes, including 200 for successful operations and other codes for different types of failures.Input Fields
: Input FieldsOutput Fields
: Output Fields
Get Worker Document Download Link
ID
: get_worker_document_download_linkOperation
: readEntities
: worker, documentSummary
: This API endpoint retrieves the download link for a specific worker's document in the Deel system. It requires two path parameters: 'worker_id', which is a unique identifier for the worker, and 'document_id', which is a unique identifier for the compliance document. The request must include an 'accept' header specifying 'application/json'. Upon a successful request (HTTP 200), the response will include a JSON object containing the 'url' of the document and the 'expires_at' timestamp indicating when the link will expire. If the request fails, it may return various error responses (HTTP 401, 403, 404, 500) with detailed error information including the failed request details and error messages.Input Fields
: Input FieldsOutput Fields
: Output Fields
Retrieve Worker Documents
ID
: get_worker_documentsOperation
: readEntities
: worker, documentSummary
: This API endpoint retrieves a list of documents associated with a specific worker identified by the 'worker_id' path parameter. The request requires an 'accept' header specifying 'application/json'. The response includes a list of documents, each with details such as document ID, type, contractor signed date, client signed date, and label. The endpoint returns a 200 status code for successful operations and various error codes (401, 403, 404, 500) for failed operations, each with detailed error information.Input Fields
: Input FieldsOutput Fields
: Output Fields
Get Worker's Personal Information
ID
: get_worker_personal_informationOperation
: readEntities
: worker, address, contactSummary
: This API endpoint retrieves the personal information of a worker identified by a unique worker_id. The request is made using the GET method to the URL https://api.letsdeel.com/rest/v2/people/{worker_id}/personal. The only required path parameter is 'worker_id', which is a string representing the unique identifier of the worker. The response includes detailed personal information such as legal names, preferred name, personal email, date of birth, phone numbers, nationalities, emergency contacts, addresses, demographics, and KYC status. The response is returned in JSON format with a 200 status code for successful operations. Error responses may include status codes like 400, 401, 403, 404, 405, 429, and 500, each providing details about the failure.Input Fields
: Input FieldsOutput Fields
: Output Fields
Add External ID to Deel Contract
ID
: patch_add_external_id_to_deel_contractOperation
: writeEntities
: contract, external idSummary
: This API endpoint allows you to add an external ID to a Deel contract. The external ID is a unique identifier provided by an external system and can be used to reference the Deel contract within your platform. The endpoint requires the 'contract_id' as a path parameter, which is the ID of the Deel contract. The request body must include a 'data' object containing the 'external_id'. The API returns a 200 status code with a 'created' boolean indicating success. In case of failure, it returns various error codes (400, 401, 403, 404, 405, 429, 500) with detailed error messages.Input Fields
: Input FieldsOutput Fields
: Output Fields
Update Global Payroll Employee Address
ID
: patch_global_payroll_employee_addressOperation
: writeEntities
: worker, response, addressSummary
: This API endpoint allows updating the address of a Global Payroll employee. The request requires a PATCH method to the URL https://api.letsdeel.com/rest/v2/gp/workers/{worker_id}/address, where {worker_id} is a path parameter representing the unique identifier of the worker. The request headers must include 'accept' and 'content-type' set to 'application/json'. The request body must contain the 'data' object with 'city', 'street', and 'zip' fields to specify the new address. A successful response (HTTP 200) returns the updated address details including 'country', 'state', 'city', 'street', 'zip', and 'updated_at'. Error responses (HTTP 401, 403, 404, 500) provide details about the failure, including the request method, URL, status, and error messages.Input Fields
: Input FieldsOutput Fields
: Output Fields
Update Global Payroll Employee Compensation
ID
: patch_global_payroll_employee_compensationOperation
: writeEntities
: worker, compensation, salarySummary
: This API endpoint allows updating the compensation of a Global Payroll employee. The request requires the worker's unique identifier as a path parameter. The request body must include the compensation details such as scale, salary, and effective date. The response returns the full compensation history, including the update. The API supports various response codes, including 200 for successful operations and 401, 403, 404, and 500 for different types of failures, each providing detailed error information.Input Fields
: Input FieldsOutput Fields
: Output Fields
Update Global Payroll Employee Information
ID
: patch_global_payroll_employee_informationOperation
: writeEntities
: worker, global payroll, employee informationSummary
: This API endpoint allows updating the Global Payroll employee information for a specific worker identified by the 'worker_id' path parameter. The request requires headers specifying 'accept' and 'content-type' as 'application/json'. The request body must include the 'data' object containing employee details such as 'first_name', 'middle_name', 'last_name', 'date_of_birth', 'gender', 'marital_status', and 'employee_number'. The response returns the updated employee information on success (HTTP 200) or error details for failure cases (HTTP 401, 403, 404, 500).Input Fields
: Input FieldsOutput Fields
: Output Fields
Modify Bank Account for an Employee
ID
: patch_modify_bank_account_for_employeeOperation
: writeEntities
: bank account, worker, addressSummary
: This API endpoint allows modification of a bank account for an employee. It requires the worker_id and bank_id as path parameters. The request body must include detailed information about the bank account, such as full name, phone number, address, bank details, and more. The response will confirm the successful modification with a status and timestamps or provide error details if the operation fails.Input Fields
: Input FieldsOutput Fields
: Output Fields
Partially update/patch a user
ID
: patch_partially_update_patch_a_userOperation
: writeEntities
: department, user, managerSummary
: This API allows for partially updating or patching a user in Deel HR. The PATCH method is used to modify user details at the endpoint https://api.letsdeel.com/scim/v2/Users/{id}. The request requires the user ID as a path parameter and a list of operations in the request body to specify the changes. The operations include 'add', 'replace', and 'remove', and are applied to the fields specified by the 'path'. The response includes the updated user details if successful, or an error message if the request fails. The API supports various response codes, including 200 for success and 400, 401, 403, 404, 409, 429, and 500 for different error scenarios.Input Fields
: Input FieldsOutput Fields
: Output Fields
Update PTO Policy of Global Payroll Employee
ID
: patch_pto_policy_of_global_payroll_employeeOperation
: writeEntities
: pto policy, accrual start date, workerSummary
: This API endpoint allows updating the PTO (Paid Time Off) policy of a Global Payroll employee. The request is made using the PATCH method to the URL https://api.letsdeel.com/rest/v2/gp/workers/{worker_id}/pto-policy, where {worker_id} is a required path parameter representing the unique identifier of the worker. The request body must include a JSON object with the 'data' field, which contains 'accrual_start_date' (a date in ISO-8601 format) and 'yearly_allowance' (the number of holidays). The response will indicate success with a boolean 'updated' field. In case of failure, detailed error information is provided, including the HTTP method, URL, status code, request ID, documentation link, source, and error code, along with a list of errors describing the validation issues.Input Fields
: Input FieldsOutput Fields
: Output Fields
Update Adjustment
ID
: patch_update_adjustmentOperation
: writeEntities
: error, adjustmentSummary
: The Update Adjustment API allows you to update an existing adjustment by specifying the adjustment ID in the path parameters. The request requires headers for 'accept' and 'content-type' both set to 'application/json'. The request body must include a 'data' object containing the details of the adjustment to update, such as 'amount', 'title', 'description', and 'file'. The response will return a 200 status code with a 'data' object indicating whether the update was successful. In case of failure, it returns error details with status codes 401, 403, 404, or 500, each providing information about the failed request and validation errors.Input Fields
: Input FieldsOutput Fields
: Output Fields
Update Candidate
ID
: patch_update_candidateOperation
: writeEntities
: job, offer, candidateSummary
: The Update Candidate API allows you to update the details of an existing candidate using their candidate ID. The API endpoint is accessed via a PATCH request to the URL https://api.letsdeel.com/rest/v2/candidates/{candidate_id}. The request must include headers for 'accept' and 'content-type' set to 'application/json'. The path parameter 'candidate_id' is required to specify which candidate to update. The request body must include a 'data' object with the candidate's details, including a required 'status' field that can be one of 'offer-accepted', 'offer-sent', 'offer-declined', or 'offer-deleted'. Optional fields include 'first_name', 'last_name', 'start_date', 'job_title', 'link', 'email', 'nationality', 'country', and 'state'. The response will indicate success with a 200 status and a 'data' object containing 'updated': true. Errors will return a 400 status with details about the request and errors encountered.Input Fields
: Input FieldsOutput Fields
: Output Fields
Update Invoice Adjustment
ID
: patch_update_invoice_adjustmentOperation
: writeEntities
: response, request, invoice adjustmentSummary
: This API endpoint allows you to update an existing invoice adjustment by providing the invoice_adjustment_id in the path parameters. The request must include headers specifying 'accept' and 'content-type' as 'application/json'. The request body should contain the 'data' object with 'description' and 'amount' fields to update the invoice adjustment details. The response will indicate success with a boolean 'updated' field. Various error responses are possible, including 400, 401, 403, 404, 405, 429, and 500, each providing details about the failure.Input Fields
: Input FieldsOutput Fields
: Output Fields
Update a Single Timesheet Entry
ID
: patch_update_single_timesheet_entryOperation
: writeEntities
: client, timesheet, contractorSummary
: This API endpoint allows updating a single timesheet entry identified by the 'timesheet_id' path parameter. The request requires headers 'accept' and 'content-type' both set to 'application/json'. The request body must include a 'data' object containing 'quantity' and 'description' fields. A successful operation returns a 200 status code with a response body indicating the update status. Various error responses (400, 401, 403, 404, 405, 429, 500) provide details about the failure, including the method, URL, status, request ID, documentation link, source, and error code.Input Fields
: Input FieldsOutput Fields
: Output Fields
Update Worker's Personal Information
ID
: patch_update_worker_personal_informationOperation
: writeEntities
: worker, request, personal informationSummary
: This API endpoint allows updating a worker's personal information using a PATCH request. The endpoint requires a path parameter 'worker_id' which is a unique identifier for the worker. The request headers must include 'accept' and 'content-type' both set to 'application/json'. The request body must contain a 'data' object with optional fields such as 'legal_first_name', 'legal_last_name', 'preferred_name', 'personal_email', and 'date_of_birth'. The API returns a 204 status code for a successful operation. In case of failure, it returns error details with status codes 400, 401, 403, 404, or 500, along with a detailed error message and path where the validation failed.Input Fields
: Input FieldsOutput Fields
: Output Fields
Edit Webhook Subscription
ID
: patch_webhook_subscriptionOperation
: writeEntities
: webhook, subscription, eventSummary
: This API endpoint allows you to edit a webhook subscription by sending a PATCH request to the specified URL with the webhook ID. The request must include headers for 'accept' and 'content-type' set to 'application/json'. The path parameter 'id' is required to identify the webhook subscription to be edited. The request body must include the webhook's name, description, status, URL, signing key, API version, and events. The response will return the updated webhook details if successful, or an error message if the operation fails.Input Fields
: Input FieldsOutput Fields
: Output Fields
Add a Candidate to Deel
ID
: post_add_candidate_to_deelOperation
: writeEntities
: country, job title, candidateSummary
: This API endpoint allows you to add a candidate to Deel. It requires a POST request to the URL https://api.letsdeel.com/rest/v2/candidates with headers specifying 'accept' and 'content-type' as 'application/json'. The request body must include a 'data' object with required fields such as 'id', 'first_name', 'last_name', 'status', 'start_date', and 'link'. Optional fields include 'job_title', 'email', 'nationality', 'country', and 'state'. The response will return a 201 status code with a 'created' boolean indicating success, or various error codes (400, 401, 403, 404, 405, 429, 500) with detailed error messages if the operation fails.Input Fields
: Input FieldsOutput Fields
: Output Fields
Add a New Bank Account for an Employee
ID
: post_add_new_bank_account_for_employeeOperation
: writeEntities
: bank account, worker, requestSummary
: This API endpoint allows you to add a new bank account for an employee. It requires a POST request to the URL https://api.letsdeel.com/rest/v2/gp/workers/{worker_id}/banks, where {worker_id} is a required path parameter representing the unique identifier for a worker. The request headers must include 'accept' and 'content-type' set to 'application/json'. The request body must contain a 'data' object with various properties such as 'full_name', 'phone', 'address_line1', 'city', 'bank_name', 'country_code', 'swift_bic', 'account_number', and more, all of which provide details about the bank account and the user. Upon a successful operation, the API returns a 201 status code with a response body containing the 'id', 'status', 'created_at', and 'updated_at' of the newly created bank account. In case of failure, it returns error details with status codes like 401, 403, 404, or 500, along with a description of the error and the failed request details.Input Fields
: Input FieldsOutput Fields
: Output Fields
Add a New Milestone to Contract
ID
: post_add_new_milestone_to_contractOperation
: writeEntities
: contract, response, milestoneSummary
: This API endpoint allows you to add a new milestone to a specified contract in the Deel system. The request requires the contract ID as a path parameter and a JSON body containing the milestone details such as amount, title, and description. The response will indicate whether the milestone was successfully created. If the operation fails, detailed error information will be provided, including the HTTP method, URL, status code, and error messages.Input Fields
: Input FieldsOutput Fields
: Output Fields
Add Off-Cycle Payment for Contract
ID
: post_add_off_cycle_payment_for_contractOperation
: writeEntities
: invoice, contract, paymentSummary
: This API endpoint allows the addition of a new invoice line-item for the purpose of off-cycle payment for a given contract. The request requires the contract_id as a path parameter and a JSON body containing the details of the off-cycle payment, including the date_submitted, amount, and an optional description. The response will return a success message with a unique identifier if the operation is successful, or an error message with details if it fails.Input Fields
: Input FieldsOutput Fields
: Output Fields
Add Additional Protection by Upgrading to Deel Premium
ID
: post_additional_protection_deel_premiumOperation
: writeEntities
: premium, contract, errorSummary
: This API endpoint allows users to add additional protection against misclassification by upgrading to Deel Premium. The request requires a path parameter 'contract_id' which is the Deel contract id. The request body must include a 'data' object with boolean fields 'agreement_reflects_relation' and 'contractor_characteristics' to assess eligibility for Deel Premium. The response includes a successful operation with a Deel Premium plan id, calculated premium cost, and details about misclassification guarantee, penalties, and third-party liabilities. In case of failure, detailed error information is provided.Input Fields
: Input FieldsOutput Fields
: Output Fields
Amend Contract Details
ID
: post_amend_contract_detailsOperation
: writeEntities
: payment, amendment, contractSummary
: This API endpoint allows you to amend the details of a contract. If the contract is already signed or active, the update will need to be approved and re-signed to take effect. The request requires the contract ID as a path parameter and a JSON body containing the data to be amended. The body can include fields such as amount, currency code, scale, effective date, first payment date, frequency, and more. The response will indicate whether the amendment was successful or provide error details if the operation failed.Input Fields
: Input FieldsOutput Fields
: Output Fields
Attach a File to Contract Document
ID
: post_attach_file_to_contract_documentOperation
: writeEntities
: contract, file, documentSummary
: This API endpoint allows users to attach a file to a contract document in the Deel system. The request requires a path parameter 'contract_id' which is the ID of the contract to which the document will be attached. The request headers must include 'accept' set to 'application/json' and 'content-type' set to 'multipart/form-data'. The request body should contain a binary file under the 'file' field. Upon a successful request, the response will include the original filename and a key for the uploaded file. In case of errors, detailed error information will be provided in the response.Input Fields
: Input FieldsOutput Fields
: Output Fields
Create a new Deel contract
ID
: post_create_deel_contractOperation
: writeEntities
: client, worker, contractSummary
: This API endpoint allows you to create a new Deel contract. The request is made using the POST method to the URL https://api.letsdeel.com/rest/v2/contracts. The request headers must include 'accept' and 'content-type' set to 'application/json'. The body of the request must contain a 'data' object with details about the contract, including the type, title, job title, meta information, client details, and compensation details. The response will include a 'data' object with information about the created contract, such as its ID, title, type, status, and other relevant details. The API returns a 201 status code upon successful creation of the contract, and various error codes for different failure scenarios.Input Fields
: Input FieldsOutput Fields
: Output Fields
Create Employee in Deel HR
ID
: post_create_employee_in_deel_hrOperation
: writeEntities
: compensation detail, employment, employeeSummary
: This API endpoint allows you to create an employee hired under your own entity in Deel HR. You can manage your employee through Deel and export a payroll report to your own providers. The request requires a JSON body with detailed information about the employee, client, employment, compensation details, seniority, and job title. The response will include the created employee's ID, employment details, and compensation details. The API supports error responses for various failure scenarios, including missing required fields and existing profiles.Input Fields
: Input FieldsOutput Fields
: Output Fields
Create Employee of Record Contract Quote
ID
: post_create_employee_of_record_contract_quoteOperation
: writeEntities
: compensation detail, employment, employeeSummary
: This API endpoint is used to create an Employee of Record (EOR) contract quote. It processes the provided information and returns a quote for the contract. The request requires headers specifying 'accept' and 'content-type' as 'application/json'. The request body must include a 'data' object with required fields such as 'employment', 'employee', 'job_title', 'seniority', 'client', and 'compensation_details'. The response includes details of the created contract quote, such as its ID, type, status, job title, employment details, client information, compensation details, employee information, health plan, and seniority level.Input Fields
: Input FieldsOutput Fields
: Output Fields
Create Global Payroll Contract
ID
: post_create_global_payroll_contractOperation
: writeEntities
: client, contract, employeeSummary
: This API endpoint allows the creation of a Global Payroll contract. It requires a POST request to the URL https://api.letsdeel.com/rest/v2/contracts/gp with headers specifying 'accept' and 'content-type' as 'application/json'. The request body must include a 'data' object containing details about the employee, employment, job title, client, and compensation details. The response will include the contract ID, type, creation date, status, job title, employment details, client information, compensation details, and employee information. The API returns a 201 status code for successful operations and various error codes for failed operations.Input Fields
: Input FieldsOutput Fields
: Output Fields
Create Invoice Adjustment
ID
: post_create_invoice_adjustmentOperation
: writeEntities
: contract, file, invoice adjustmentSummary
: This API endpoint allows you to create an invoice adjustment on Deel. You can add various types of adjustments such as bonus, commission, VAT %, deduction, etc., to an invoice. The request requires a JSON body with details of the invoice adjustment, including contract_id, date_submitted, type, description, and amount. Optionally, you can specify if the adjustment is recurring via a query parameter. The response will confirm the creation of the adjustment and provide details such as the status and creation timestamp. Note that this endpoint is only available for contractors in Deel and not for EOR contracts.Input Fields
: Input FieldsOutput Fields
: Output Fields
Create a New Adjustment
ID
: post_create_new_adjustmentOperation
: writeEntities
: contract, file, adjustmentSummary
: This API endpoint allows the creation of a new adjustment. It requires a POST request to the URL https://api.letsdeel.com/rest/v2/adjustments with headers specifying 'accept' as 'application/json' and 'content-type' as 'multipart/form-data'. The request body must include a 'data' object containing details of the adjustment such as 'contract_id', 'amount', 'title', 'description', 'adjustment_category_id', 'file', 'vendor', and 'country'. The response will include a 'data' object with details of the created adjustment, including its 'id', 'contract_id', 'amount', 'date_of_adjustment', 'title', 'description', 'status', and other relevant information. In case of errors, the response will include details about the failed request and error messages.Input Fields
: Input FieldsOutput Fields
: Output Fields
Create a New Task for the Contractor
ID
: post_create_new_task_for_contractorOperation
: writeEntities
: contract, attachment, taskSummary
: This API endpoint allows the creation of a new task for a contractor under a specific contract. The request requires the contract ID as a path parameter and a JSON body containing the task details such as amount, date submitted, description, and optional attachment details. The response will indicate whether the task creation was successful and provide the task ID and status. In case of failure, detailed error information will be provided.Input Fields
: Input FieldsOutput Fields
: Output Fields
Create a New Organization Manager
ID
: post_create_organization_managerOperation
: writeEntities
: organization, user, managerSummary
: This API endpoint allows the creation of a new organization manager. It requires a POST request to the URL https://api.letsdeel.com/rest/v2/managers with headers specifying 'accept' and 'content-type' as 'application/json'. The request body must contain the 'data' object with 'first_name', 'last_name', and 'email' as required fields. On success, it returns a 201 status code with the new manager's details including 'id', 'first_name', 'last_name', and 'email'. In case of errors, it returns appropriate status codes (400, 401, 403, 404, 409, 500) with detailed error messages.Input Fields
: Input FieldsOutput Fields
: Output Fields
Create a new webhooks subscription
ID
: post_create_webhooks_subscriptionOperation
: writeEntities
: error, webhook, eventSummary
: This API endpoint allows you to create a new webhooks subscription on the Deel platform. The request must be made using the POST method to the URL https://api.letsdeel.com/rest/v2/webhooks. The request headers must include 'accept' and 'content-type' both set to 'application/json'. The request body must contain the following required fields: 'name', 'description', 'status', 'url', 'signing_key', 'api_version', and 'events'. The 'status' field can be either 'enabled' or 'disabled', and the 'api_version' should be 'v1' or 'v2'. Upon successful creation, the API returns a 201 status code with details of the created webhook subscription, including its 'id', 'name', 'description', 'status', 'url', 'signing_key', 'api_version', 'events', 'created_at', 'updated_at', 'hidden', 'internal', and 'deleted_at'. In case of an error, the API returns appropriate error codes (400, 401, 403, 404, 405, 429, 500) with detailed error messages.Input Fields
: Input FieldsOutput Fields
: Output Fields
Determine EOR Employee Costs
ID
: post_determine_eor_employee_costsOperation
: writeEntities
: cost, employee, benefitSummary
: This API endpoint is used to determine the Employer of Record (EOR) employee costs across the globe. It requires a POST request to the URL https://api.letsdeel.com/rest/v2/eor/employment_cost with headers specifying 'accept' and 'content-type' as 'application/json'. The request body must include a 'data' object containing the employee's gross annual salary, country, currency, and optionally, state and benefits. The response provides detailed cost breakdowns including salary, currency, country, Deel fee, severance accrual, total costs, employer costs, and additional data on costs and benefits. The API also handles various error responses with detailed error messages.Input Fields
: Input FieldsOutput Fields
: Output Fields
Invite Worker to Sign Contract
ID
: post_invite_worker_to_sign_contractOperation
: writeEntities
: worker, contract, invitationSummary
: This API endpoint is used to invite a worker to sign a contract. The worker will be notified via email. The request requires the 'contract_id' as a path parameter and a JSON body containing the worker's email and a message. The response will indicate whether the invitation was successfully created or provide error details if the operation failed.Input Fields
: Input FieldsOutput Fields
: Output Fields
Request Termination for Global Payroll Employee
ID
: post_request_termination_for_global_payroll_employeeOperation
: writeEntities
: termination, worker, severanceSummary
: This API endpoint is used to request a termination for a global payroll employee. The endpoint initiates the termination process but does not confirm the termination. The request requires a unique worker ID as a path parameter. The request body must include details such as the desired end date, last date of work, termination message, whether the termination is voluntary, and severance details. The severance can be specified in terms of time or cash, with appropriate currency and amount details. The API returns a 201 status code upon successful initiation of the termination process, along with the termination ID and last date of work. In case of errors, it returns appropriate error messages and status codes such as 401, 403, 404, or 500.Input Fields
: Input FieldsOutput Fields
: Output Fields
Review Batch of Milestones
ID
: post_review_batch_of_milestonesOperation
: writeEntities
: review, contract, milestoneSummary
: This API endpoint allows users to review a batch of milestones by approving or rejecting submitted work. The request requires a path parameter 'contract_id' which is the Deel contract id. The request body must include a 'data' object containing 'status' (either 'approved' or 'declined') and 'ids' (an array of milestone identifiers). The response will indicate success with a boolean 'created' field. In case of failure, detailed error information will be provided.Input Fields
: Input FieldsOutput Fields
: Output Fields
Review Batch of Timesheets
ID
: post_review_batch_of_timesheetsOperation
: writeEntities
: review, timesheetSummary
: This API endpoint allows users to review a batch of timesheets to either approve or reject submitted work. The request requires headers specifying 'accept' and 'content-type' as 'application/json'. The request body must include a 'data' object with 'status' (either 'approved' or 'declined') and 'ids' (an array of timesheet IDs). The response will indicate success with a boolean 'created' field or provide error details if the operation fails.Input Fields
: Input FieldsOutput Fields
: Output Fields
Review Invoice Adjustment
ID
: post_review_invoice_adjustmentOperation
: writeEntities
: review, invoice adjustmentSummary
: This API endpoint allows users to review an invoice adjustment by either approving or declining it. The request requires the 'invoice_adjustment_id' as a path parameter to identify the specific invoice adjustment. The request body must include a 'data' object with 'status' and 'reason' fields, where 'status' can be either 'approved' or 'declined'. The response will indicate success with a 201 status code and a 'created' boolean in the response body. In case of failure, various error responses (400, 401, 403, 404, 405, 429, 500) provide detailed information about the error, including the HTTP method, URL, status code, and error messages.Input Fields
: Input FieldsOutput Fields
: Output Fields
Review Milestone to Approve or Decline Submitted Work
ID
: post_review_milestoneOperation
: writeEntities
: review, contract, milestoneSummary
: This API endpoint allows users to review a milestone by approving or declining the submitted work. The request requires the contract_id and milestone_id as path parameters. The request body must include a 'data' object with a 'status' field, which can be either 'approved' or 'declined'. Optionally, a 'reason' can be provided if the status is 'declined'. The response will indicate whether the review was successfully created. In case of errors, detailed error information will be provided.Input Fields
: Input FieldsOutput Fields
: Output Fields
Review Multiple Invoice Adjustments
ID
: post_review_multiple_invoice_adjustmentsOperation
: writeEntities
: status, review, invoice adjustmentSummary
: This API endpoint allows users to review multiple invoice adjustments by approving or declining a batch. The request requires headers specifying 'accept' and 'content-type' as 'application/json'. The body must include a 'data' object with 'status', 'reason', and 'ids' fields. The 'status' can be either 'approved' or 'declined', 'reason' is a string explaining the decision, and 'ids' is an array of timesheet record IDs. A successful response returns a '201' status with a 'created' boolean indicating success. Various error responses (400, 401, 403, 404, 405, 429, 500) provide details about the failure.Input Fields
: Input FieldsOutput Fields
: Output Fields
Review Multiple Tasks for Approval or Decline
ID
: post_review_multiple_tasksOperation
: writeEntities
: review, contract, taskSummary
: This API endpoint allows users to review multiple tasks associated with a specific contract by either approving or declining the submitted work. The request requires the 'contract_id' as a path parameter and a JSON body containing the 'status' (either 'approved' or 'declined') and 'ids' of the tasks to be reviewed. Optional comments can be added using the 'reason' field. The response includes details of the reviewed tasks, such as 'id', 'amount', 'date_submitted', 'description', 'status', and any associated 'attachment'. The API returns a 201 status code for successful operations and various error codes for failed operations, each with detailed error information.Input Fields
: Input FieldsOutput Fields
: Output Fields
Review Task for Approval or Decline
ID
: post_review_task_for_approval_or_declineOperation
: writeEntities
: review, contract, taskSummary
: This API endpoint allows users to review a single task to either approve or decline the submitted work. The request requires the contract_id and task_id as path parameters. The request body must include the review status, which can be either 'approved' or 'declined', and optionally a reason for the review. The response will return a 201 status code with details of the reviewed task if successful. In case of failure, various error responses with status codes like 400, 401, 403, 404, 405, 429, and 500 may be returned, each providing details about the error encountered.Input Fields
: Input FieldsOutput Fields
: Output Fields
Review Timesheet
ID
: post_review_timesheetOperation
: writeEntities
: review, timesheetSummary
: This API endpoint allows users to review a timesheet by approving or declining the submitted work. The request requires the 'timesheet_id' as a path parameter and a JSON body containing the 'status' of the review, which can be either 'approved' or 'declined'. Optionally, a 'reason' can be provided if the status is 'declined'. The response will indicate whether the review was successfully created or provide error details if the operation failed.Input Fields
: Input FieldsOutput Fields
: Output Fields
Sign Contract as Client
ID
: post_sign_contract_as_clientOperation
: writeEntities
: client, contract, signatureSummary
: This API endpoint allows a client to sign a contract on the Deel platform. The request requires the contract ID as a path parameter and a JSON body containing the client's signature and an optional contract template ID. The response will indicate whether the contract was successfully signed. If the operation fails, detailed error information will be provided.Input Fields
: Input FieldsOutput Fields
: Output Fields
Submit Work for a Contractor
ID
: post_submit_work_for_contractorOperation
: writeEntities
: contract, timesheet, invoice adjustmentSummary
: This API endpoint allows users to submit work for a contractor by creating a timesheet. The request is made to the URL 'https://api.letsdeel.com/rest/v2/timesheets' using the POST method. The request headers must include 'accept' and 'content-type' both set to 'application/json'. The request body must contain a 'data' object with required fields: 'contract_id', 'quantity', 'date_submitted', and 'description'. The response will return a 201 status code with details of the created timesheet if successful. In case of failure, various error codes such as 400, 401, 403, 404, 405, 429, and 500 may be returned, each with a detailed error message.Input Fields
: Input FieldsOutput Fields
: Output Fields
Terminate an Active Contract
ID
: post_terminate_active_contractOperation
: writeEntities
: termination, contractSummary
: This API endpoint is used to terminate an active contract on the Deel platform. The request requires the contract ID as a path parameter and a JSON body containing the termination details. The body must include a 'data' object with optional 'completion_date', a boolean 'terminate_now', and a mandatory 'message'. The response will return a 201 status code with the contract ID and completion date if successful. In case of failure, it returns various error codes (400, 401, 403, 404, 405, 429, 500) with detailed error messages and request information.Input Fields
: Input FieldsOutput Fields
: Output Fields
Add or Update Custom Field Values for a Contract
ID
: put_add_or_update_custom_field_values_for_a_contractOperation
: writeEntities
: response, contract, custom fieldSummary
: This API endpoint allows users to add or update custom field values for a specific contract by sending a PUT request to the specified URL. The request requires the 'contract_id' as a path parameter and a JSON body containing the 'id' and 'data' fields. The 'data' field can be of various types including text, number, date, percentage, currency, list, or multiselect. The response will indicate success or provide detailed error information if the operation fails.Input Fields
: Input FieldsOutput Fields
: Output Fields
Add or Update Custom Field Values for a Worker
ID
: put_add_or_update_custom_field_values_for_a_workerOperation
: writeEntities
: worker, custom field, profileSummary
: This API endpoint allows you to add or update custom field values for a specific worker, ensuring their profile is up-to-date with the latest information. The request requires a 'worker_id' as a path parameter, which is a UUID representing the worker. The request body must include an 'id' and 'data', where 'id' is the UUID for the custom field value, and 'data' can be of various types such as text, number, date, percentage, currency, list, or multiselect. The response will indicate success or provide detailed error information if the operation fails.Input Fields
: Input FieldsOutput Fields
: Output Fields
Update Worker Department
ID
: put_update_worker_departmentOperation
: writeEntities
: department, worker, requestSummary
: This API endpoint allows updating the department information of a worker identified by the 'worker_id' path parameter. The request requires a JSON body containing the 'department_id' within a 'data' object. The 'department_id' can be a string or an integer. The response will indicate success with a boolean 'updated' field. In case of failure, detailed error information is provided, including the HTTP method, URL, status code, request ID, documentation link, source, and error code, along with a list of validation errors.Input Fields
: Input FieldsOutput Fields
: Output Fields
Update Worker Working Location
ID
: put_update_worker_working_locationOperation
: writeEntities
: worker, error, working locationSummary
: This API endpoint allows updating the working location of a worker identified by the 'worker_id' path parameter. The request requires headers specifying 'accept' and 'content-type' as 'application/json'. The body of the request must include a 'data' object containing a 'working_location_id', which can be a string or an integer. A successful operation returns a 200 status code with a response body indicating the update status. Various error responses (400, 401, 403, 404, 405, 429, 500) provide detailed information about the failure, including the method, URL, status, request ID, documentation link, source, and error code, along with an array of error messages and paths.Input Fields
: Input FieldsOutput Fields
: Output Fields
Updated about 1 month ago