{"openapi":"3.0.1","info":{"title":"Deel REST API","description":"Deel REST API","contact":{"name":"Deel API Team","email":"apiteam@deel.com"},"termsOfService":"https://www.letsdeel.com/terms-of-service","version":"1.25.0"},"externalDocs":{"description":"Find out more about Deel APIs.","url":"https://developer.deel.com"},"servers":[{"url":"https://api.letsdeel.com/rest/v2","description":"Production server"},{"url":"https://api-sandbox.demo.deel.com/rest/v2","description":"Demo server"}],"tags":[{"name":"Accounting","description":"End-points to retrieve paid invoices and receipts.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Custom Fields","description":"End-points to retrieve custom fields.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Positions","description":"End-points to retrieve HRIS positions.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Organization structure","description":"End-points to retrieve HRIS organization structure.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Time Off","description":"End-points to retrieve Time-Offs related data like policies, timeOffs, entitlements.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Groups","description":"End-points to retrieve Groups related data.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"EOR","description":"Employee of Record (EOR).","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Global Payroll","description":"Global Payroll","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Contractors","description":"The Contracts resource lets you create, amend and, retrieve Deel contracts.","externalDocs":{"description":"See","url":"https://developer.deel.com/rest/v2/#contracts"}},{"name":"Contracts","description":"The Contracts resource lets you create, amend and, retrieve Deel contracts.","externalDocs":{"description":"See","url":"https://developer.deel.com/rest/v2/#contracts"}},{"name":"Hris","description":"API end-points related to HRIS data.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Invoices","description":"The Invoices resource lets you create, amend and retrieve invoices related to Deel contracts.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Legal Entities","description":"The Legal Entities resource lets you manage your legal entities","externalDocs":{"description":"See","url":"https://developer.deel.com/rest/v2/#legalentities"}},{"name":"Lookups","description":"Helper end-points for choosing options for other operations","externalDocs":{"description":"See","url":"https://developer.deel.com/rest/v2/#lookups"}},{"name":"Milestones","description":"Helper end-points for managing milestones of Deel contracts","externalDocs":{"description":"See","url":"https://developer.deel.com/rest/v2/#milestones"}},{"name":"Off-cycle Payments","description":"End-points to manage off-cycle payments for a given contract","externalDocs":{"description":"See","url":"https://developer.deel.com/rest/v2/#off-cycle-payments"}},{"name":"Organizations","description":"Helper end-points for additional information about your organizations","externalDocs":{"description":"See","url":"https://developer.deel.com/rest/v2/#organizations"}},{"name":"Tasks","description":"End-points to manage tasks for a given contract","externalDocs":{"description":"See","url":"https://developer.deel.com/rest/v2/#tasks"}},{"name":"Teams","description":"Helper end-points for additional information about your teams","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Timesheets","description":"The Invoices resource lets you create, amend and retrieve timesheets of Deel contracts.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Time Tracking Shifts","description":"API endpoints related to Time Tracking Shifts data.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Time Tracking Rates","description":"API endpoints related to Time Tracking Rates data.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Candidates","description":"API endpoints related to Candidates.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Managers","description":"API end-points related to Manager data.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"People","description":"API end-points related to People data.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Partner Managed","description":"API end-points related to Partner Managed data.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Adjustments","description":"API end-points related to Adjustments data.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Token","description":"End-points to generate temporary tokens to use with embedded Deel SDK components.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Webhooks","description":"End-points to manage webhooks for Deel events. Webhooks are used to notify your application about events that happen in Deel.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Carta","description":"End-points to manage Carta data.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Worker Relations","description":"API endpoints related to Worker Relations.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Background Checks","description":"API endpoints related to Background Checks.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Consent","description":"API endpoints related to Consent.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Deel As a Service","description":"API endpoints related to Deel As a Service.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Employees","description":"API endpoints related to Employees.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Enrollments","description":"API endpoints related to Enrollments.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Equity","description":"API endpoints related to Equity.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"HrisPosition","description":"API endpoints related to HrisPosition.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Immigration","description":"API endpoints related to Immigration.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Integrations","description":"API endpoints related to Integrations.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Loans","description":"API endpoints related to Loans.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Offboarding","description":"API endpoints related to Offboarding.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Onboarding","description":"API endpoints related to Onboarding.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Payouts","description":"API endpoints related to Payouts.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Payroll","description":"API endpoints related to Payroll.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Paystubs","description":"API endpoints related to Paystubs.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Plans 401K","description":"API endpoints related to Plans 401K.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Reports","description":"API endpoints related to Reports.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Screenings","description":"API endpoints related to Screenings.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"User","description":"API endpoints related to User.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Workers","description":"API endpoints related to Workers.","externalDocs":{"description":"See","url":"https://developer.deel.com"}}],"paths":{"/webhooks":{"get":{"operationId":"getAllWebhooks","summary":"List of webhooks","description":"Retrieve a list of webhook subscriptions.","tags":["Webhooks"],"security":[{"deelToken":[]},{"oauth2":["webhooks:read"]}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookListResponse"}}}},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"405":{"$ref":"#/components/responses/ResponseBodyForApiError"},"429":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}}},"post":{"operationId":"createWebhook","summary":"Create a webhook","description":"Create a new webhooks subscription.","tags":["Webhooks"],"security":[{"deelToken":[]},{"oauth2":["webhooks:write"]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWebhookRequest"}}}},"responses":{"201":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookItemResponse"}}}},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"405":{"$ref":"#/components/responses/ResponseBodyForApiError"},"429":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}}}},"/webhooks/{id}":{"get":{"operationId":"WebhookController_getById","summary":"Retrieve a single webhook","description":"Retrieve a single webhook subscription.","tags":["Webhooks"],"security":[{"deelToken":[]},{"oauth2":["webhooks:read"]}],"parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookItemResponse"}}}},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"405":{"$ref":"#/components/responses/ResponseBodyForApiError"},"429":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}}},"patch":{"operationId":"WebhookController_editById","summary":"Edit a webhook","description":"Edit a webhook subscription.","tags":["Webhooks"],"security":[{"deelToken":[]},{"oauth2":["webhooks:write"]}],"parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PatchWebhookRequest"}}}},"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookItemResponse"}}}},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"405":{"$ref":"#/components/responses/ResponseBodyForApiError"},"429":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}}},"delete":{"operationId":"WebhookController_deleteById","summary":"Delete a webhook","description":"Delete a webhook subscription.","tags":["Webhooks"],"security":[{"deelToken":[]},{"oauth2":["webhooks:write"]}],"parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"$ref":"#/components/responses/ResponseBodyForGenericResultDeleted"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"405":{"$ref":"#/components/responses/ResponseBodyForApiError"},"429":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}}}},"/webhooks/events/types":{"get":{"operationId":"getAllWebhookEventTypes","summary":"List of webhook event types","description":"Retrieve a list of webhook event types.","tags":["Webhooks"],"security":[{"deelToken":[]},{"oauth2":["webhooks:read"]}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookEventTypeListResponse"}}}},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"405":{"$ref":"#/components/responses/ResponseBodyForApiError"},"429":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}}}},"/eor/additional-costs/{country}":{"get":{"tags":["EOR"],"summary":"Get EOR Additional Costs","operationId":"getEorAdditionalCosts","description":"Retrieve all additional costs to eor quote flow by country\n **Token scopes**: `contracts:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"allowances":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","example":"Work Equipment (Laptop) Allowance","description":"Allowance name."},"value":{"type":"number","example":200,"description":"Allowance value."},"optional":{"type":"boolean","example":false,"description":"Indicates if the allowance is optional."},"description":{"type":"string","example":"Work Equipment (Laptop) Allowance","description":"Allowance description."},"is_recurring":{"type":"boolean","example":false,"description":"Indicates if the allowance is recurring."},"rule_cost_id":{"type":"string","example":"6a53aa10-0507-4eea-8411-9f8b392e8d3b","description":"Unique identifier for the allowance."},"use_contract_currency":{"type":"boolean","example":true,"description":"Indicates if the allowance uses the contract currency."},"skipping_confirmation_text":{"type":"string","example":"I confirm I already provided or will provide a laptop to this EOR employee through other means and would like to opt out of the work equipment allowance","nullable":true,"description":"Confirmation text for opting out of the allowance."}}}},"non_statutory":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","example":"Health ans Safety Training","description":"Allowance name."},"value":{"type":"number","example":7,"description":"Allowance value."},"currency":{"type":"string","example":"USD","description":"Currency"},"description":{"type":"string","example":"Health ans Safety Training Fee","description":"Allowance description."},"is_recurring":{"type":"boolean","example":true,"description":"Indicates if the allowance is recurring."},"rule_cost_id":{"type":"string","example":"ee0fe685-25e4-443a-99ec-e8112345c123","description":"Unique identifier for the allowance."},"use_contract_currency":{"type":"boolean","example":true,"description":"Indicates if the allowance uses the contract currency."}}}}}}}},"examples":{"success":{"value":{"data":{"allowances":[{"name":"Work Equipment (Laptop) Allowance","value":6000,"optional":true,"description":"Work Equipment (Laptop) Allowance","is_recurring":false,"rule_cost_id":"6a53aa10-0507-4eea-8411-9f8b392e8d3b","use_contract_currency":true,"skipping_confirmation_text":"I confirm I already provided or will provide a laptop to this EOR employee through other means and would like to opt out of the work equipment allowance"}],"nonStatutory":[{"name":"Example","value":80,"currency":"USD","description":"Example","is_recurring":false,"rule_cost_id":"ee0fe685-25e4-443a-99ec-e8112345c123","use_contract_currency":true}]}},"summary":"Example of a successful response."}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"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"}}}},"request":{"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"}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"country","schema":{"type":"string","pattern":"^[A-Z]{2}$","maxLength":2,"minLength":2},"example":"US","required":true,"description":"The two-letter ISO code of the country for which to retrieve the EOR additional costs."}],"security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]}},"/eor/validations/{country_code}":{"get":{"tags":["EOR"],"summary":"Retrieve detailed hiring guide for a country","operationId":"getEorCountryValidations","description":"Retrieve comprehensive hiring guide data for a specific country. This data can be used in creation and validation of Employee of Record (EOR) contract quotes, providing details on salaries, holidays, insurance, and other employment specifics.\n **Token scopes**: `contracts:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"salary":{"type":"object","properties":{"max":{"type":"string","nullable":true,"description":"Maximum salary."},"min":{"type":"string","nullable":true,"description":"Minimum salary."},"frequency":{"enum":["monthly","quarterly","annually","specific_month","specific_date"],"type":"string","description":"Frequency of the salary payment."}}},"holiday":{"type":"object","properties":{"max":{"type":"string","nullable":true,"description":"Maximum holidays."},"min":{"type":"string","nullable":true,"description":"Minimum holidays."},"mostCommon":{"type":"string","nullable":true,"description":"Most common holiday period."}}},"currency":{"type":"string","description":"Country currency."},"probation":{"type":"object","properties":{"max":{"type":"number","nullable":true,"description":"Maximum probation period."},"min":{"type":"number","nullable":true,"description":"Minimum probation period."}}},"health_insurance":{"type":"object","nullable":true,"properties":{"status":{"enum":["REQUIRED","ENABLED","DISABLED"],"type":"string","description":"Health insurance status."},"providers":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Provider ID."},"name":{"type":"string","description":"Provider name."}}}}}}}}}},"examples":{"success":{"value":{"data":{"salary":{"max":"10000","min":"2000","frequency":"monthly"},"holiday":{"max":"25","min":"15","mostCommon":"20"},"currency":"USD","probation":{"max":3,"min":"1"},"health_insurance":{"status":"ENABLED","providers":[{"id":"123e4567-e89b-12d3-a456-426614174000","name":"HealthCare Plus"}]}}},"summary":"Example of a successful response."}}}},"description":"The hiring guide data was successfully retrieved."},"400":{"content":{"application/json":{"examples":{"invalidCode":{"value":{"error":"Invalid country code. Expected ISO Alpha-2 format."},"summary":"Invalid country code format."}}}},"description":"Invalid request. The provided country code does not match the expected format."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"content":{"application/json":{"examples":{"notFound":{"value":{"error":"No hiring guide data available for the specified country."},"summary":"Country code not found."}}}},"description":"Country data not found."},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"country_code","schema":{"type":"string","example":"US","pattern":"^[A-Z]{2}$","maxLength":2,"minLength":2,"description":"Country code in ISO Alpha-2 format."},"required":true,"description":"The two-letter ISO code of the country for which to retrieve the hiring guide."}],"security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]}},"/eor/workers/contracts/{contract_id}/additional-information":{"patch":{"tags":["EOR"],"summary":"Update additional information","operationId":"updateAdditionalInformation-v2026-01-01","description":"Updates additional information for an EOR employee agreement. Only works if the employee’s contract status is new, under_review, or waiting_for_employee_contract. Using other statuses can cause errors.\n **Token scopes**: `worker:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["updated"],"properties":{"updated":{"type":"boolean","example":true,"description":"Indicates if contract was updated"}}}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"code":{"type":"string","example":"MISSING_REQUIRED_FIELD"},"field":{"type":"string","example":"tax_residence"},"message":{"type":"string","example":"Contract not found"}},"additionalProperties":true},"minItems":1}},"additionalProperties":true}}},"description":"Bad request. Contract not found, contract is not EOR, or additional information validation failed."},"401":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Authentication required. Please provide a valid access token."}}},"minItems":1}}}}},"description":"Authentication failed. Bearer token is missing, expired, or invalid."},"403":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"You do not have permission to access this resource."}}},"minItems":1}}}}},"description":"Forbidden. The token lacks worker:write scope or the worker cannot update this contract."},"404":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Additional info template not found"}}},"minItems":1}}}}},"description":"Not found. No additional info template exists for the employment country/state."},"429":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Too many requests. Please retry after some time."}}},"minItems":1}}}}},"description":"Rate limit exceeded."},"500":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Something went wrong"}}},"minItems":1}},"additionalProperties":true}}},"description":"Internal server error."}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string","example":"37nex2x"},"example":"37nex2x","required":true,"description":"Deel contract id."}],"security":[{"deelToken":[]},{"oauth2":["worker:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"dob":{"type":"string","example":"1990-01-01","description":"Date of birth (ISO 8601 date)"},"city":{"type":"string","example":"New York","description":"City"},"phone":{"type":"string","example":"+1-555-123-4567","description":"Worker phone"},"state":{"type":"string","example":"NY","description":"State/province"},"street":{"type":"string","example":"123 Main St","description":"Street"},"zip_code":{"type":"string","example":"10001","description":"Zipcode/Post code"},"tax_residence":{"type":"string","example":"US","description":"Worker tax residence"},"is_payslip_access_allowed":{"type":"boolean","example":true,"description":"Worker access to payslips"},"is_compliance_access_allowed":{"type":"boolean","example":true,"description":"Worker access to compliance documents"}},"description":"You can submit any subset of fields. Keys not listed above are treated as country/state-specific additional information fields. Those keys must match the fields returned by GET /forms/eor/worker-additional-fields/{country_code} (public keys).","additionalProperties":{}}}}}},"required":true,"description":"Patch additional information for an EOR employee contract."}},"post":{"tags":["EOR"],"summary":"Add additional information","operationId":"addAdditionalInformation-v2026-01-01","description":"Add additional information for an EOR employee.\n **Token scopes**: `worker:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["updated"],"properties":{"updated":{"type":"boolean","example":true,"description":"Indicates if contract was updated"}}}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"code":{"type":"string","example":"MISSING_REQUIRED_FIELD","description":"Present for country-specific additional field validation errors."},"field":{"type":"string","example":"dob","description":"Field key for additional field validation errors. May refer to an internal key; use translations when present."},"message":{"type":"string","example":"Required profile related additional fields are missing."}},"additionalProperties":true},"minItems":1},"translations":{"type":"array","items":{"type":"object","required":["publicApiKey","originalKey"],"properties":{"originalKey":{"type":"string","example":"dateOfBirth"},"publicApiKey":{"type":"string","example":"dob"}}},"description":"Present when additional fields fail validation, to map internal field keys back to public API keys."}},"additionalProperties":true}}},"description":"Bad request. Contract not found, contract is not EOR, required base fields are missing, or country-specific additional field validation failed."},"401":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Authentication required. Please provide a valid access token."}}},"minItems":1}}}}},"description":"Authentication failed. Bearer token is missing, expired, or invalid."},"403":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"You do not have permission to access this resource."}}},"minItems":1}}}}},"description":"Forbidden. The token lacks worker:write scope or the worker cannot update this contract."},"404":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Additional info template not found"}}},"minItems":1}}}}},"description":"Not found. No additional information template exists for the employment country/state."},"429":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Too many requests. Please retry after some time."}}},"minItems":1}}}}},"description":"Rate limit exceeded."},"500":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Something went wrong"}}},"minItems":1}},"additionalProperties":true}}},"description":"Internal server error."}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"37nex2x","required":true,"description":"Deel contract id."}],"security":[{"deelToken":[]},{"oauth2":["worker:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["tax_residence","phone","street","city","zip_code","is_payslip_access_allowed","is_compliance_access_allowed"],"properties":{"city":{"type":"string","example":"New York","description":"City"},"phone":{"type":"string","example":"+1-555-123-4567","description":"Worker phone"},"state":{"type":"string","example":"NY","description":"State/province (required for countries with provinces/states)."},"street":{"type":"string","example":"123 Main St","description":"Street"},"zip_code":{"type":"string","example":"10001","description":"Zipcode/Post code"},"tax_residence":{"type":"string","example":"US","description":"Worker tax residence"},"is_payslip_access_allowed":{"type":"boolean","example":true,"description":"Worker access to payslips"},"is_compliance_access_allowed":{"type":"boolean","example":true,"description":"Worker access to compliance documents"}},"description":"Additional fields are country/state-specific and validated against the worker additional fields form for the employment country.","additionalProperties":{}}}}}},"description":"Add additional information for an EOR employee."}}},"/onboarding/tracker":{"get":{"tags":["Onboarding"],"summary":"List onboarding employees","operationId":"listOnboardingEmployees-v2026-01-01","description":"Returns a list of all workers currently going through the onboarding process, including contract details, HRIS profile information, current onboarding status, and onboarding due dates. Use this endpoint to monitor onboarding progress, track pending actions, and ensure deadlines are met.\n **Token scopes**: `contracts:read`, `people:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","example":"John Doo","description":"The name associated with the onboarding","x-sensitive-pii":true},"contract":{"type":"object","properties":{"id":{"type":"string","example":"PzpYaren","description":"The unique identifier for the contract"},"effective_date":{"type":"string","format":"date","example":"2021-07-14","description":"The effective date of the contract"}},"description":"The contract associated with the onboarding"},"progress":{"type":"object","properties":{"status":{"type":"string","example":"ONBOARDING_OVERDUE","description":"Current status of the onboarding"},"reference_date":{"oneOf":[{"type":"string","format":"date","example":"2021-07-14","description":"Date in YYYY-MM-DD format (e.g., 2008-07-01)"},{"type":"string","format":"date-time","example":"2021-07-14T22:00:00+00:00","description":"Date and time in ISO 8601 format (e.g., 2021-07-14T22:00:00+00:00)"}],"example":"2021-07-14","description":"The reference date determining the onboarding status"},"people_list_status":{"type":"string","example":"onboarding_overdue","description":"Status of the people list"},"subject_to_overdue":{"type":"boolean","example":true,"description":"Whether the onboarding is subject to overdue"},"onboarding_due_date":{"type":"string","format":"date-time","example":"2021-07-14T22:00:00+00:00","nullable":true,"description":"Due date for onboarding"},"reference_date_type":{"type":"string","example":"EFFECTIVE_DATE","description":"Type of the reference date (e.g., EFFECTIVE_DATE)"},"reference_date_timezone":{"type":"string","example":"Europe/Brussels","description":"Timezone of the reference date"},"is_action_required_from_client":{"type":"boolean","example":false,"description":"Whether action is required from the client"}},"description":"The progress state of the onboarding"},"unique_id":{"type":"string","example":"eyJjb250cmFjdE9pZCI6IlB6cFlhcmVuIiwiaGlyaW5nVHlwZSI6ImNvbnRyYWN0b3IiLCJwcm9maWxlSWQiOjE2NzgyMCwidXNlcklkIjoxNDM3ODl9","description":"A unique identifier for the tracker"},"hiring_type":{"type":"string","example":"contractor","description":"The type of hiring (e.g., contractor)"},"hris_profile":{"type":"object","properties":{"oid":{"type":"string","example":"150f635e-fae1-4b9d-9f86-768bbbac3698","description":"The unique identifier for the HRIS profile"},"work_email":{"type":"string","example":"2635e57fe2a571c1aadba2a77f178e2b@test.com","nullable":true,"description":"The work email of the employee","x-sensitive-pii":true}},"description":"The profile associated with the onboarding"},"app_experience":{"type":"object","properties":{"is_minimal_requirements":{"type":"boolean","example":false,"description":"Indicates if the employee meets minimal requirements"}},"description":"The app experience of the employee"}}}},"page":{"type":"object","properties":{"cursor":{"type":"string","example":"eyJsaW1pdCI6MiwicGFnaW5hdGlvbiI6eyJwcm9ncmVzc1N0YXR1c1dlaWdodCI6MSwicmVmZXJlbmNlRGF0ZSI6IjIwMjEtMDctMThUMjI6MDA6MDArMDA6MDAiLCJlZmZlY3RpdmVEYXRlIjoiMjAyMS0wNy0xOFQyMjowMDowMCswMDowMCIsImNvbnRyYWN0SWQiOiJONzZsWHdreiJ9LCJzb3J0T3JkZXIiOiJBU0MifQ","nullable":true,"description":"Cursor for pagination"},"total_rows":{"type":"integer","example":86,"description":"Total number of onboarding"}}}}}}},"description":"A list of onboarding and their details"},"400":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Invalid query parameters","description":"Error response"}}},"description":"Error messages"},"request":{"type":"object","properties":{"method":{"type":"string","example":"GET","description":"Method of the API"},"status":{"type":"number","example":400,"description":"Status of API response"}},"description":"Error request details"}}}}},"description":"Bad Request - Validation error or invalid parameters"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"query","name":"search","schema":{"type":"string"},"example":"John Doe","required":false,"description":"Search term to filter contracts by name or other attributes"},{"in":"query","name":"contractOid","style":"form","schema":{"type":"array","items":{"type":"string","description":"Contract OID"},"default":[]},"example":["OMD123","67E890"],"explode":true,"required":false,"description":"Search attribute to filter onboarding list by contract id"},{"in":"query","name":"hiringTypes","style":"form","schema":{"type":"array","items":{"enum":["contractor","employee"],"type":"string","description":"Hiring type (e.g., contractor, employee)"},"default":[]},"example":["contractor"],"explode":true,"required":false,"description":"Search attribute to filter onboarding list by hiring type"},{"in":"query","name":"progressStatuses","style":"form","schema":{"type":"array","items":{"enum":["ACTIVE","INACTIVE","ONBOARDING"],"type":"string","description":"Progress status of the contract"},"default":[]},"example":["ACTIVE"],"explode":true,"required":false,"description":"Search attribute to filter onboarding list by progress status"},{"in":"query","name":"countries","style":"form","schema":{"type":"array","items":{"type":"string","description":"Country filter"},"default":[]},"example":["USA","Canada"],"explode":true,"required":false,"description":"Search attribute to filter onboarding list by country"},{"in":"query","name":"teams","style":"form","schema":{"type":"array","items":{"type":"string","description":"Team ID"},"default":[]},"example":["c64c6715-e0ca-4ff0-aa53-d4c0db499360"],"explode":true,"required":false,"description":"Search attribute to filter onboarding list by team"},{"in":"query","name":"legalEntities","style":"form","schema":{"type":"array","items":{"type":"string","description":"Legal entity ID"},"default":[]},"example":["c64c6715-e0ca-4ff0-aa53-d4c0db499360"],"explode":true,"required":false,"description":"Search attribute to filter onboarding list by legal entity"},{"in":"query","name":"hrisDirectManagers","style":"form","schema":{"type":"array","items":{"type":"string","description":"HRIS Direct Manager ID"},"default":[]},"example":["c64c6715-e0ca-4ff0-aa53-d4c0db499360"],"explode":true,"required":false,"description":"Search attribute to filter onboarding list by HRIS direct manager"},{"in":"query","name":"fromDate","schema":{"type":"string","format":"date-time"},"example":"2024-01-01T00:00:00Z","required":false,"description":"Start date for filtering contracts"},{"in":"query","name":"toDate","schema":{"type":"string","format":"date-time"},"example":"2024-12-31T23:59:59Z","required":false,"description":"End date for filtering contracts"},{"in":"query","name":"actions","style":"form","schema":{"type":"array","items":{"enum":["ONBOARD","COMPLETE","PAUSE"],"type":"string"},"default":[]},"example":["ONBOARD","COMPLETE"],"explode":true,"required":false,"description":"Onboarding actions"},{"in":"query","name":"limit","schema":{"type":"integer","default":20,"maximum":200,"minimum":1},"example":20,"required":false,"description":"Number of results to return per page"},{"in":"query","name":"sort_by","schema":{"enum":["progressStatusWeight"],"type":"string","default":"progressStatusWeight"},"example":"progressStatusWeight","required":false,"description":"Field to sort by"},{"in":"query","name":"sort_order","schema":{"enum":["ASC","DESC"],"type":"string","default":"ASC"},"example":"DESC","required":false,"description":"Sorting order"},{"in":"query","name":"cursor","schema":{"type":"string"},"example":"eyJwYWdlIjoiMTIwIiwiY3JlYXRlZF9hdCI6IjIwMjYtMDItMDIgMDU6MzQ6MjUuNjM1Mjg2In0=","required":false,"description":"Cursor for pagination"},{"in":"query","name":"include_overview","schema":{"type":"boolean","default":false},"example":false,"required":false,"description":"Include an overview of the contract"}],"security":[{"deelToken":[]},{"oauth2":["contracts:read","people:read"]}]}},"/contracts/{contract_id}/amendments":{"post":{"tags":["Contractors"],"summary":"Amend contract","operationId":"amendContract","description":"Amend the details of a contract. Please note that if the contract is already signed or active, then the update will have to be approved and re-signed for to take effect.\n **Token scopes**: `contracts:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["created","id","worker_id","status","created_at","updated_at"],"properties":{"id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","nullable":false,"description":"The unique identifier of the created amendment."},"rate":{"type":"number","example":100,"nullable":true,"description":"Rate/amount for the amended work statement.","x-sensitive-pii":true},"scale":{"enum":["hourly","daily","weekly","monthly","biweekly","semimonthly","custom",null],"type":"string","example":"hourly","nullable":true,"description":"Payment scale for the amended work statement."},"status":{"enum":["initial","pending","active","outdated","approved","declined"],"type":"string","example":"pending","nullable":false,"description":"Status of the amended work statement."},"created":{"type":"boolean","example":true,"nullable":false,"description":"Contract has been successfully amended."},"job_title":{"type":"string","example":"Software Engineer","nullable":true,"description":"Job title for the amended work statement."},"worker_id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440001","nullable":false,"description":"The unique identifier of the worker."},"created_at":{"type":"string","format":"date-time","example":"2023-12-01T10:30:00Z","nullable":false,"description":"Timestamp when the work statement was created."},"updated_at":{"type":"string","format":"date-time","example":"2023-12-01T15:45:00Z","nullable":false,"description":"Timestamp when the work statement was last updated."},"currency_code":{"type":"string","example":"USD","nullable":false,"description":"Currency code for the amended work statement."},"scope_of_work":{"type":"string","example":"Full-stack development","nullable":true,"description":"Scope of work for the amended work statement."},"special_clause":{"type":"string","example":"Remote work allowed","nullable":true,"description":"Special clause for the amended work statement."},"termination_notice_days":{"type":"integer","example":30,"nullable":false,"description":"Number of days notice required for termination. Defaults to 10 if not provided."}}}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"37nex2x","required":true,"description":"The unique identifier of the employee contract."}],"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"scale":{"enum":["hourly","daily","weekly","monthly","biweekly","semimonthly","custom"],"type":"string","example":"daily","description":"Defines the scale at which the amount is paid. For example, enter 'hourly' to define the amount per hour. This field can be excluded when creating a Pay-as-you-go task-based or Milestone contracts."},"amount":{"type":"number","example":100,"minimum":1,"nullable":false,"description":"Amount to be paid per scale."},"cycle_end":{"type":"number","example":31,"maximum":31,"minimum":1,"description":"Day of the month when the cycle ends."},"frequency":{"enum":["weekly","monthly","biweekly","semimonthly","calendar-month"],"type":"string","example":"monthly","description":"Scale of the invoice cycle."},"start_date":{"type":"string","format":"date","example":"2025-01-15","description":"The contract start date in ISO-8601 format (YYYY-MM-DD). Updates the contract's effective date."},"job_title_id":{"oneOf":[{"type":"string","example":"00000000-0000-0000-0000-000000000000","description":"Unique identifier of this resource."},{"type":"integer","format":"int64","example":1,"description":"Unique identifier of this resource."}]},"seniority_id":{"oneOf":[{"type":"string","example":"00000000-0000-0000-0000-000000000000","description":"Unique identifier of this resource."},{"type":"integer","format":"int64","example":1,"description":"Unique identifier of this resource."}]},"currency_code":{"type":"string","example":"GBP","pattern":"^[A-Z]{3}$","maxLength":3,"minLength":3,"description":"Currency code in ISO 4217 format."},"first_payment":{"type":"number","example":100,"minimum":0,"nullable":false,"description":"Amount to be paid as the first payment."},"scope_of_work":{"type":"string","example":"Design a logo.","nullable":false,"description":"Text to describe the scope of work of the contract."},"cycle_end_type":{"enum":["DAY_OF_WEEK","DAY_OF_LAST_WEEK","DAY_OF_MONTH"],"type":"string","example":"DAY_OF_WEEK","description":"Cycle end can be weekly 1-7 (Monday = 1) or monthly 1-31."},"effective_date":{"type":"string","format":"date","example":"1999-12-31","description":"Short date in format ISO-8601 (YYYY-MM-DD). For example: 2022-12-31."},"job_title_name":{"type":"string","example":"3D Designer","nullable":false,"description":"You can enter new job title."},"special_clause":{"type":"string","example":"This is a special clause.","nullable":false,"description":"Text to describe any special clause in contract."},"payment_due_days":{"type":"number","example":30,"maximum":90,"minimum":0,"nullable":false,"description":"Number of days after the invoice is sent that the payment is due."},"payment_due_type":{"enum":["REGULAR","WITHIN_MONTH"],"type":"string","default":"REGULAR","example":"REGULAR","description":"Type of payment due. If the payment is due on the last day of month, enter 'WITHIN_MONTH'."},"first_payment_date":{"type":"string","format":"date","example":"1999-12-31","description":"Short date in format ISO-8601 (YYYY-MM-DD). For example: 2022-12-31."},"pay_before_weekends":{"type":"boolean","example":true,"nullable":false,"description":"If the payment due is on a weekend, pay on Friday."}},"description":"You can specify any combination of data points that need changing."}}}}},"required":true,"description":"Contract object that needs to be amended"}},"get":{"tags":["Contracts"],"summary":"List contract amendments","operationId":"listContractAmendments-v2026-01-01","description":"Retrieve amendments of a contract\n **Token scopes**: `contracts:read`, `contracts:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data","has_more","total_count","cursor"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","status","sign_status","created_at","updated_at"],"properties":{"id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000","description":"Unique identifier for the work statement."},"rate":{"type":"number","example":5000,"nullable":true,"description":"Compensation rate per scale. The amount paid according to the specified scale (e.g., 5000 per month).","x-sensitive-pii":true},"scale":{"enum":["hourly","daily","weekly","monthly","biweekly","semimonthly","custom"],"type":"string","example":"monthly","nullable":true,"description":"Payment frequency/scale that defines how often the rate is paid."},"status":{"enum":["INITIAL","PENDING","ACTIVE","OUTDATED","APPROVED","DECLINED"],"type":"string","example":"ACTIVE","description":"Current status of the work statement."},"created_at":{"type":"string","format":"date-time","example":"2024-01-15T10:00:00.000Z","description":"Timestamp when the work statement was created."},"updated_at":{"type":"string","format":"date-time","example":"2024-01-20T14:30:00.000Z","description":"Timestamp when the work statement was last updated."},"sign_status":{"enum":["PENDING","WAITING_FOR_APPROVAL","APPROVED","DECLINED"],"type":"string","example":"APPROVED","description":"Current sign status of the work statement."},"contract_name":{"type":"string","example":"Software Development Contract","nullable":true,"description":"Name of the associated contract."},"contract_type":{"enum":["milestones","time_based","ongoing_time_based","pay_as_you_go_time_based","commission","payg_milestones","payg_tasks"],"type":"string","example":"ongoing_time_based","nullable":true,"description":"Type of the associated IC contract."},"currency_code":{"type":"string","example":"USD","pattern":"^[A-Z]{3}$","nullable":true,"maxLength":3,"minLength":3,"description":"Currency code in ISO 4217 format (e.g., USD, EUR, GBP)."},"effective_date":{"type":"string","format":"date-time","example":"2024-02-01","nullable":true,"description":"Effective date when the work statement becomes active."}}},"description":"List of work statements (amendments)."},"cursor":{"type":"string","example":"eyJjcmVhdGVkX2F0IjoiMjAyNC0wMS0xNVQxMDowMDowMC4wMDBaIiwicHVibGljX2lkIjoiZGVmNDU2In0","nullable":true,"description":"Cursor for the next page of results."},"has_more":{"type":"boolean","example":true,"description":"Indicates if there are more work statements available."},"total_count":{"type":"integer","example":150,"description":"Total number of work statements matching the filters."}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_parameter","description":"Machine-readable error code"},"field":{"type":"string","example":"/data/example_field","description":"Name of the field causing the error (for validation issues)"},"message":{"type":"string","example":"Must have required property 'example_field'","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"service_unavailable","description":"Machine-readable error code"},"message":{"type":"string","example":"The service is currently experiencing issues","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."}},"parameters":[{"in":"query","name":"statuses","schema":{"type":"array","items":{"enum":["INITIAL","PENDING","ACTIVE","OUTDATED","APPROVED","DECLINED"],"type":"string"}},"example":["PENDING","ACTIVE"],"description":"Filter by work statement status."},{"in":"query","name":"sign_statuses","schema":{"type":"array","items":{"enum":["PENDING","WAITING_FOR_APPROVAL","APPROVED","DECLINED"],"type":"string"}},"example":["PENDING","APPROVED"],"description":"Filter by work statement sign status."},{"in":"query","name":"limit","schema":{"type":"integer","default":20,"maximum":100,"minimum":1},"example":10,"description":"Maximum number of work statements to return."},{"in":"query","name":"cursor","schema":{"type":"string"},"example":"eyJjcmVhdGVkX2F0IjoiMjAyNC0wMS0xNVQxMDowMDowMC4wMDBaIiwicHVibGljX2lkIjoiYWJjMTIzIn0","description":"Cursor for pagination."},{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"37nex2x","required":true,"description":"Unique identifier of the contract"}],"security":[{"deelToken":[]},{"oauth2":["contracts:read","contracts:write"]}]}},"/ic/workers/transactions":{"get":{"tags":["Workers"],"summary":"Retrieve worker transaction history","operationId":"retrieveWorkerTransactionHistory-v2026-04-30","description":"Use this endpoint to access a worker's transaction history quickly. This integration works with white-label clients and ensures compliance by not following the generic contractor route\n **Token scopes**: `worker:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data","has_more","total_count"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","created_at"],"properties":{"id":{"type":"string","example":"aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee","description":"Unique identifier of this resource (public transaction id)."},"amount":{"type":"string","example":"10.00","nullable":true,"description":"Transaction amount."},"status":{"type":"string","example":"PAID","description":"Transaction status."},"currency":{"type":"string","example":"USD","pattern":"^[A-Z]{3}$","nullable":false,"maxLength":3,"minLength":3,"description":"Three-letter currency code."},"created_at":{"type":"string","format":"date-time","example":"2022-05-24T09:38:46.235Z","nullable":false,"description":"Date and time when the transaction was created (ISO-8601)."}},"description":"One contractor transaction; `id` is the public transaction UUID.","additionalProperties":true},"description":"Transaction rows for this page.","x-sensitive-pii":true,"x-sensitive-employment":true},"has_more":{"type":"boolean","example":true,"nullable":false,"description":"Whether another page exists after this one."},"next_cursor":{"type":"string","example":"eyJsaW1pdCI6MTAwLCJ0aW1lc3RhbXAiOiIyMDIyLTA1LTI0VDA5OjM4OjQ","nullable":true,"description":"Opaque cursor for the next page; null when there is no next page. Pass this value as the `cursor` query parameter to request the following page."},"total_count":{"type":"integer","example":42,"minimum":0,"nullable":false,"description":"Total number of transactions matching server-side filters for this request (ignores pagination). If `statuses` is provided, that filter is applied in memory to listed rows only, so this count may be higher than the rows returned across all pages."}}}}},"description":"Successful operation — paginated contractor transactions."},"400":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Machine-readable error code"},"field":{"type":"string","description":"JSON pointer to the invalid field"},"details":{"type":"object","description":"Optional structured details","additionalProperties":true},"message":{"type":"string","description":"Human-readable explanation of the error"}}},"minItems":1}}}}},"description":"Bad request (invalid query parameters)."},"401":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Machine-readable error code"},"field":{"type":"string","description":"JSON pointer to the invalid field"},"details":{"type":"object","description":"Optional structured details","additionalProperties":true},"message":{"type":"string","description":"Human-readable explanation of the error"}}},"minItems":1}}}}},"description":"Unauthorized (missing or invalid worker token)."},"403":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Machine-readable error code"},"field":{"type":"string","description":"JSON pointer to the invalid field"},"details":{"type":"object","description":"Optional structured details","additionalProperties":true},"message":{"type":"string","description":"Human-readable explanation of the error"}}},"minItems":1},"request":{"type":"object","properties":{"url":{"type":"string"},"method":{"type":"string"},"status":{"type":"integer"}},"description":"Present for some public API responses (e.g. when x-is-api-call is set).","additionalProperties":true}}}}},"description":"Forbidden (not allowed for this worker or token)."},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"412":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Machine-readable error code"},"field":{"type":"string","description":"JSON pointer to the invalid field"},"details":{"type":"object","description":"Optional structured details","additionalProperties":true},"message":{"type":"string","description":"Human-readable explanation of the error"}}},"minItems":1}}}}},"description":"Precondition failed (e.g. icEmbeddedWorkerSetup is not enabled for the organization)."},"500":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Machine-readable error code"},"field":{"type":"string","description":"JSON pointer to the invalid field"},"details":{"type":"object","description":"Optional structured details","additionalProperties":true},"message":{"type":"string","description":"Human-readable explanation of the error"}}},"minItems":1}}}}},"description":"Internal server error."}},"parameters":[{"in":"query","name":"limit","schema":{"type":"integer","default":100,"maximum":1000,"minimum":1},"example":100,"required":false,"description":"Maximum number of transactions to return in this page (page size)."},{"in":"query","name":"filter","schema":{"enum":["ALL","ONLY_PROCESSING","WITHOUT_PROCESSING"],"type":"string","default":"ALL"},"example":"ALL","required":false,"description":"Subset of transactions by processing state. Public enum is UPPER_SNAKE; the server lowercases for validation (legacy lowercase query values are still accepted)."},{"in":"query","name":"from","schema":{"type":"string","format":"date-time"},"example":"2024-01-01T00:00:00.000Z","required":false,"description":"Lower bound on transaction `created_at` (inclusive), ISO-8601 date-time."},{"in":"query","name":"to","schema":{"type":"string","format":"date-time"},"example":"2024-12-31T23:59:59.999Z","required":false,"description":"Upper bound on transaction `created_at` (inclusive), ISO-8601 date-time."},{"in":"query","name":"cursor","schema":{"type":"string"},"example":"eyJsaW1pdCI6MTAwLCJ0aW1lc3RhbXAiOiIyMDIyLTA1LTI0VDA5OjM4OjQ2LjIzNVoiLCJsYXN0SWQiOjEyMzQ1fQ==","required":false,"description":"Opaque pagination cursor from the previous response field `next_cursor`. Omit on the first page; pass the last `next_cursor` value as `cursor` to fetch the next page."},{"in":"query","name":"statuses","schema":{"type":"array","items":{"type":"string"}},"example":["paid","pending"],"required":false,"description":"Filter listed transactions to these mapped status values (applied after fetch; may affect how rows align with `total_count`)."},{"in":"query","name":"amount_from","schema":{"type":"number","minimum":0},"example":0,"required":false,"description":"Minimum transaction amount to include."},{"in":"query","name":"amount_to","schema":{"type":"number","minimum":0},"example":5000.5,"required":false,"description":"Maximum transaction amount to include."},{"in":"query","name":"currencies","schema":{"type":"array","items":{"type":"string"}},"example":["USD","EUR"],"required":false,"description":"Only include transactions in one of these currency codes."},{"in":"query","name":"transaction_type","schema":{"enum":["PAY_IN","PAY_OUT"],"type":"string"},"example":"PAY_OUT","required":false,"description":"Restrict to pay-in or pay-out. Public enum is UPPER_SNAKE; the server lowercases for validation (legacy lowercase query values are still accepted)."},{"in":"query","name":"withdrawal_methods","schema":{"type":"array","items":{"type":"string"}},"example":["bank_transfer"],"required":false,"description":"Filter by withdrawal / payout method identifiers."},{"in":"query","name":"last_days","schema":{"type":"integer"},"example":30,"required":false,"description":"Only include transactions created in the last N days."},{"in":"query","name":"type","schema":{"type":"string","maxLength":100},"example":"bonus","required":false,"description":"Additional transaction type filter (backend-specific string)."},{"in":"query","name":"include_running_total","schema":{"type":"boolean","default":false},"example":false,"required":false,"description":"When true, each row may include a running total over the result set."}],"security":[{"deelToken":[]},{"oauth2":["worker:read"]}]}},"/time_offs/dailies":{"get":{"tags":["Time Off"],"summary":"Get Work Schedule and Holidays","operationId":"getWorkScheduleAndHolidays","description":"Given a date range (start date, end date) gets the holidays, work schedule and time off dailies for a list of hrisProfileIds or countries.\n **Token scopes**: `time-off:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","required":["holidays","work_schedule","time_off_dailies"],"properties":{"holidays":{"type":"array","items":{"type":"object","required":["name","description","date","formatted_date","type","source","is_mandatory","is_every_year"],"properties":{"date":{"type":"string","format":"date-time","example":"2025-01-01T00:00:00.000Z","description":"Date of the holiday"},"name":{"type":"string","example":"New Year's Day","description":"Name of the holiday"},"type":{"enum":["MANDATORY","OPTIONAL","HIDDEN","HOLIDAY","WORKING_DAY"],"type":"string","example":"MANDATORY","description":"Type of the holiday"},"source":{"enum":["EXTERNAL","DEEL","ORGANIZATION_CUSTOM","ORGANIZATION_OVERRIDE","ORGANIZATION_CONVERT",null],"type":"string","example":"EXTERNAL","nullable":true,"description":"Source of creation of the holiday"},"states":{"type":"array","items":{"type":"string","description":"State where the holiday is celebrated"},"example":["CA"],"description":"List of states where the holiday is celebrated, if empty it is a country holiday"},"country":{"type":"string","example":"US","pattern":"^[A-Z]{2}$","maxLength":2,"minLength":2,"description":"The ISO 3166-1 alpha-2 country code."},"description":{"type":"string","example":"New Year's Day global holiday","nullable":true,"description":"Description of the holiday"},"parsed_date":{"type":"string","format":"date-time","example":"2025-01-01T00:00:00.000+00:00","description":"Parsed date time of the holiday"},"is_mandatory":{"type":"boolean","example":true,"description":"Describes if the holiday is mandatory"},"is_every_year":{"type":"boolean","example":true,"description":"Sets if the holiday is a recurring event"},"formatted_date":{"type":"string","format":"date","example":"2025-01-01","description":"Formated 'YYYY-MM-DD' date of the holiday"},"name_variations":{"type":"array","items":{"type":"string","example":"January 1","description":"Alternative names for the holiday"},"example":["January 1"],"description":"Alternative names or labels used to refer to this holiday"},"created_by_profile_id":{"type":"number","example":1234567890,"nullable":true,"description":"HRIS profile id of the creator of the holiday"}}},"example":[{"date":"2025-01-01T00:00:00.000Z","name":"New Year's Day","type":"HOLIDAY","source":"EXTERNAL","states":[],"country":"US","description":"New Year's Day global holiday","parsed_date":"2025-01-01T00:00:00.000+00:00","is_mandatory":true,"is_every_year":true,"formatted_date":"2025-01-01","name_variations":["January 1"],"created_by_profile_id":null}],"description":"List of holidays within the date range "},"work_schedule":{"type":"object","example":{"work_week":{"friday":8,"monday":8,"sunday":0,"tuesday":8,"saturday":0,"thursday":8,"wednesday":8},"hours_per_day":8,"hris_profile_id":"d290f1ee-6c54-4b01-90e6-d701748f0851"},"properties":{"work_week":{"type":"object","required":["monday","tuesday","wednesday","thursday","friday","saturday","sunday"],"properties":{"friday":{"type":"number","example":8,"maximum":24,"minimum":0,"description":"Working hours on friday"},"monday":{"type":"number","example":8,"maximum":24,"minimum":0,"description":"Working hours on monday"},"sunday":{"type":"number","example":0,"maximum":24,"minimum":0,"description":"Working hours on sunday"},"tuesday":{"type":"number","example":8,"maximum":24,"minimum":0,"description":"Working hours on tuesday"},"saturday":{"type":"number","example":0,"maximum":24,"minimum":0,"description":"Working hours on saturday"},"thursday":{"type":"number","example":8,"maximum":24,"minimum":0,"description":"Working hours on thursday"},"wednesday":{"type":"number","example":8,"maximum":24,"minimum":0,"description":"Working hours on wednesday"}},"description":"The work week schedule for the HRIS profile"},"hours_per_day":{"type":"number","example":8,"maximum":24,"minimum":0,"description":"Working hours per day"},"hris_profile_id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"HRIS profile id"}},"description":"Detail of working hours by week day for an HRIS profile"},"time_off_dailies":{"type":"array","items":{"type":"object","example":{"date":"2025-01-01","time_off_daily_type":"HOLIDAY"},"required":["date","time_off_daily_type"],"properties":{"date":{"type":"string","format":"date","example":"2025-01-01","description":"Date of the daily"},"time_off_daily_type":{"enum":["HOLIDAY","WORKING_DAY","NON_WORKING_DAY"],"type":"string","example":"HOLIDAY","description":"Type of work status or holiday"}},"description":"Date with holiday or work status by day"},"example":[{"date":"2025-01-01","time_off_daily_type":"HOLIDAY"},{"date":"2025-01-02","time_off_daily_type":"WORKING_DAY"},{"date":"2025-01-03","time_off_daily_type":"WORKING_DAY"}],"description":"List of days with holiday or work status"}}},"example":[{"holidays":[{"date":"2025-01-01T00:00:00.000Z","name":"New Year's Day","type":"HOLIDAY","source":"EXTERNAL","states":[],"country":"US","description":"New Year's Day global holiday","parsed_date":"2025-01-01T00:00:00.000+00:00","is_mandatory":true,"is_every_year":true,"formatted_date":"2025-01-01","name_variations":["January 1"],"created_by_profile_id":null}],"work_schedule":{"work_week":{"friday":8,"monday":8,"sunday":0,"tuesday":8,"saturday":0,"thursday":8,"wednesday":8},"hours_per_day":8,"hris_profile_id":"d290f1ee-6c54-4b01-90e6-d701748f0851"},"time_off_dailies":[{"date":"2025-01-01","time_off_daily_type":"HOLIDAY"},{"date":"2025-01-02","time_off_daily_type":"WORKING_DAY"},{"date":"2025-01-03","time_off_daily_type":"WORKING_DAY"}]}],"description":"List of holiday and work schedule information grouped by HRIS profile, including holidays within the date range, work schedule details, and daily work status"}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"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"}}}},"request":{"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"}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"query","name":"start_date","schema":{"type":"string","format":"date"},"example":"2025-01-01","description":"Start date of non working days date range"},{"in":"query","name":"end_date","schema":{"type":"string","format":"date"},"example":"2025-02-01","description":"End date of non working days date range"},{"in":"query","name":"hris_profile_ids","schema":{"type":"array","items":{"type":"string","format":"uuid"},"maxItems":100,"minItems":1},"example":["d290f1ee-6c54-4b01-90e6-d701748f0851"],"description":"HRIS profile ids"},{"in":"query","name":"countries","schema":{"type":"array","items":{"type":"string","pattern":"^[A-Z]{2}$","maxLength":2,"minLength":2},"example":["US"],"maxItems":100,"minItems":1,"description":"List of countries to be fetched"},"example":["US"],"description":"List of countries to be fetched"}],"security":[{"deelToken":[]},{"oauth2":["time-off:read"]}]}},"/ic/workers/invoices/{invoice_id}":{"get":{"tags":["Workers"],"summary":"Get invoice details by ID","operationId":"getInvoiceDetailsById-v2026-04-27","description":"This endpoint retrieves invoice information by ID. Use it to access detailed invoice data for reference or verification.\n **Token scopes**: `worker:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","created_at","status","currency"],"properties":{"id":{"type":"string","example":"GqaY5BHQJUAM2Jg9kq2j2","description":"Public invoice id."},"title":{"type":"string","example":"January 2025","description":"Display title."},"total":{"type":"string","example":"220.00","nullable":true,"description":"Total including fees."},"amount":{"type":"string","example":"200.00","nullable":true,"description":"Amount before fees."},"status":{"type":"string","example":"paid","description":"Invoice workflow status."},"currency":{"type":"string","example":"USD","pattern":"^[A-Z]{3}$","maxLength":3,"minLength":3,"description":"Three-letter currency code."},"issued_at":{"type":"string","format":"date-time","example":"2022-05-24T09:38:46.235Z","nullable":true,"description":"When the invoice was issued, if applicable."},"created_at":{"type":"string","format":"date-time","example":"2022-05-24T09:38:46.235Z","description":"When the invoice record was created (ISO-8601)."},"payment_display_status":{"type":"object","required":["key","label"],"properties":{"key":{"type":"string","example":"paid","description":"Stable machine key."},"label":{"type":"string","example":"Paid","description":"Human-readable label."}},"description":"Derived payment display state for the invoice."}},"description":"Invoice summary (snake_case; display card fields, amounts, and payment display).","x-sensitive-pii":true,"additionalProperties":true,"x-sensitive-employment":true}}}}},"description":"Invoice detail"},"400":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Machine-readable error code."},"field":{"type":"string","description":"JSON pointer to the invalid field, when applicable."},"details":{"type":"object","description":"Optional structured context for the error.","additionalProperties":true},"message":{"type":"string","description":"Human-readable explanation of the error."}}}}}}}},"description":"Bad request (invalid query or path parameters)."},"401":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Machine-readable error code."},"field":{"type":"string","description":"JSON pointer to the invalid field, when applicable."},"details":{"type":"object","description":"Optional structured context for the error.","additionalProperties":true},"message":{"type":"string","description":"Human-readable explanation of the error."}}}}}}}},"description":"Unauthorized (missing or invalid worker token)."},"403":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Machine-readable error code."},"field":{"type":"string","description":"JSON pointer to the invalid field, when applicable."},"details":{"type":"object","description":"Optional structured context for the error.","additionalProperties":true},"message":{"type":"string","description":"Human-readable explanation of the error."}}}},"request":{"type":"object","properties":{"url":{"type":"string"},"method":{"type":"string"},"status":{"type":"integer"}},"description":"Present for some public API responses (e.g. when `x-is-api-call` is set).","additionalProperties":true}}}}},"description":"Forbidden (invoice not found or not accessible to this worker)."},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"412":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Machine-readable error code."},"field":{"type":"string","description":"JSON pointer to the invalid field, when applicable."},"details":{"type":"object","description":"Optional structured context for the error.","additionalProperties":true},"message":{"type":"string","description":"Human-readable explanation of the error."}}}}}}}},"description":"Precondition failed (e.g. `icEmbeddedWorkerSetup` is not enabled for the organization)."},"500":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Machine-readable error code."},"field":{"type":"string","description":"JSON pointer to the invalid field, when applicable."},"details":{"type":"object","description":"Optional structured context for the error.","additionalProperties":true},"message":{"type":"string","description":"Human-readable explanation of the error."}}}}}}}},"description":"Internal server error."}},"parameters":[{"in":"path","name":"invoice_id","schema":{"type":"string"},"example":"GqaY5BHQJUAM2Jg9kq2j2","required":true,"description":"Public invoice id for the invoice to return."}],"security":[{"deelToken":[]},{"oauth2":["worker:read"]}]}},"/contracts/custom_fields/{id}":{"get":{"tags":["Custom Fields"],"summary":"Get custom fields from contracts","operationId":"getCustomFieldsFromContracts","description":"Get custom field from contract by id\n **Token scopes**: `contracts:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","example":{"data":{}},"required":["data"],"properties":{"data":{"type":"object","example":{"id":"d290f1ee-6c54-4b01-90e6-d701748f0851","name":"Custom field name","type":{"name":"text"},"settings":{},"placement":"profile","created_at":"2025-12-12T03:31:53.183Z","description":"Custom field description"},"properties":{"id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Custom field id"},"name":{"type":"string","example":"Custom field name","description":"Name of the custom field"},"type":{"oneOf":[{"type":"object","example":{"name":"text"},"properties":{"name":{"enum":["text","number","date","percentage"],"type":"string","example":"text","description":"Simple field type"}},"description":"Simple custom field types"},{"type":"object","example":{"name":"currency","currency":"USD","is_fixed":true},"properties":{"name":{"enum":["currency"],"type":"string","example":"currency","description":"Currency field type"},"currency":{"type":"string","example":"USD","description":"ISO currency code"},"is_fixed":{"type":"boolean","example":true,"description":"Whether the currency is fixed"}},"description":"Currency custom field type"},{"type":"object","example":{"name":"list","options":["Option 1","Option 2"]},"properties":{"name":{"enum":["list","multiselect"],"type":"string","example":"list","description":"List field type"},"options":{"type":"array","items":{"type":"string","example":"Option 1","description":"Single option value"},"example":["Option 1","Option 2"],"description":"Available options for the list field"}},"description":"List or multiselect custom field type"}],"example":{"name":"currency","currency":"USD","is_fixed":true},"description":"Type definition of the custom field"},"settings":{"type":"object","example":{"access":{"provided_by":"organization","is_sensitive":true},"required":true,"countries":["CA","GB","US"],"is_enabled":true,"worker_types":["eor"]},"properties":{"access":{"type":"object","example":{"provided_by":"organization","is_sensitive":true},"properties":{"provided_by":{"enum":["organization","worker"],"type":"string","example":"organization","nullable":true,"description":"Entity providing access"},"is_sensitive":{"type":"boolean","example":true,"description":"Whether the field contains sensitive data"}},"description":"Access control settings"},"required":{"type":"boolean","example":true,"description":"Whether the field is mandatory"},"countries":{"type":"array","items":{"type":"string","example":"US","description":"ISO country code"},"example":["CA","GB","US"],"description":"Countries where the field applies"},"is_enabled":{"type":"boolean","example":true,"description":"Whether the field is enabled"},"worker_types":{"type":"array","items":{"enum":["eor","contractor","hris_direct_employee","direct_employee"],"type":"string","example":"eor","description":"Worker type"},"example":["eor"],"description":"Applicable worker types"}},"description":"Configuration settings for the custom field"},"placement":{"enum":["profile","contract"],"type":"string","example":"profile","description":"Where the custom field is displayed"},"created_at":{"type":"string","format":"date-time","example":"2025-12-12T03:31:53.183Z","description":"Creation timestamp"},"description":{"type":"string","example":"Custom field description","nullable":true,"description":"Optional description of the custom field"}},"description":"Custom field object"}},"description":"Response wrapper object"}}},"description":"Successful response"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["message","code"],"properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR","description":"Error code identifying the type of error."},"details":{"type":"string","example":"An unexpected error occurred while processing the request.","nullable":true,"description":"Additional details about the error."},"message":{"type":"string","example":"Internal server error","description":"Error message describing what went wrong."}}}}}}},"description":"Internal Server Error"}},"parameters":[{"in":"path","name":"id","schema":{"type":"string","format":"uuid"},"example":"d290f1ee-6c54-4b01-90e6-d701748f0851","required":true,"description":"Custom field id."}],"security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]}},"/it/orders/{order_id}":{"get":{"tags":["IT orders"],"summary":"Retrieve an IT order","operationId":"retrieveAnItOrder","description":"Retrieve detailed information about a single IT equipment order using its unique identifier. This allows you to track the order's status, review shipping details, and see the associated product.  For more info, visit [Orders](https://developer.deel.com/docs/deel-it-api#orders)\n **Token scopes**: `it-orders:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","description":"Unique identifier of the order"},"user":{"type":"object","nullable":true,"properties":{"emails":{"type":"array","items":{"type":"string","format":"email"},"example":["bruce.wayne@wayne-enterprise.com","batman@gotham.com"],"description":"Array of user email addresses","x-sensitive-pii":true,"x-sensitive-employment":true},"address":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","description":"Unique identifier of the address"},"city":{"type":"string","example":"Gotham","nullable":true,"description":"City name","x-sensitive-pii":true},"type":{"enum":["PII","PARTIAL","DELIVERY","COLLECTION","ENTITY","SUPPLIER","BILLING"],"type":"string","example":"DELIVERY","description":"Type of the address"},"line1":{"type":"string","example":"1007 Mountain Drive","nullable":true,"description":"Address line 1","x-sensitive-pii":true,"x-sensitive-employment":true},"line2":{"type":"string","example":"Stately Wayne Manor","nullable":true,"description":"Address line 2","x-sensitive-pii":true,"x-sensitive-employment":true},"state":{"type":"string","example":"New Jersey","nullable":true,"description":"State code or name","x-sensitive-pii":true},"country":{"enum":["AD","AE","AF","AG","AI","AL","AM","AN","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","IC","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","XK","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","YT","ZA","ZM","ZW"],"type":"string","example":"US","description":"Country code","x-sensitive-pii":true},"is_valid":{"type":"boolean","example":true,"description":"Whether the address passes validation"},"post_code":{"type":"string","example":"12345","nullable":true,"description":"Post code","x-sensitive-pii":true,"x-sensitive-employment":true},"phone_number":{"type":"string","example":"+1-212-456-7890","nullable":true,"description":"Phone number","x-sensitive-pii":true,"x-sensitive-employment":true},"date_of_birth":{"type":"string","format":"date","example":"1997-12-18","nullable":true,"description":"Date of birth (applicable for some address types)","x-sensitive-pii":true,"x-sensitive-employment":true},"tax_id_number":{"type":"string","example":"BAT123456","nullable":true,"description":"Tax ID number (applicable for some address types)","x-sensitive-pii":true,"x-sensitive-employment":true},"passport_number":{"type":"string","example":"P123456789","nullable":true,"description":"Passport number (applicable for some address types)","x-sensitive-pii":true,"x-sensitive-employment":true},"delivery_instructions":{"type":"string","example":"Use the Bat-Signal if urgent","nullable":true,"description":"Special instructions for deliveries","x-sensitive-pii":true,"x-sensitive-employment":true}},"description":"User address details"},"last_name":{"type":"string","example":"Wayne","description":"Last name of the user","x-sensitive-pii":true},"first_name":{"type":"string","example":"Bruce","description":"First name of the user","x-sensitive-pii":true},"hris_profile_id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","description":"The unique identifier of the HRIS profile of the assigned user"}},"description":"Details of the order attached user"},"status":{"enum":["REQUESTED","APPROVED","DECLINED","CANCELLED"],"type":"string","example":"REQUESTED","description":"Order status"},"created_at":{"type":"string","format":"date-time","example":"2025-08-08T09:49:01.000Z","description":"Creation timestamp of the order"},"updated_at":{"type":"string","format":"date-time","example":"2025-08-08T09:49:01.000Z","description":"Last update timestamp of the order"},"order_items":{"type":"array","items":{"type":"object","properties":{"status":{"enum":["PLACED","PROCESSING","AWAITING_PAYMENT","READY_TO_SHIP","SHIPPED","COMPLETED","CANCELLED"],"type":"string","example":"SHIPPED","description":"Status of the order item"},"product":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","description":"Unique identifier of the product"},"name":{"type":"string","example":"MacBook Pro","description":"Product name"},"brand":{"type":"string","example":"Apple","description":"Product brand"},"category":{"enum":["ADAPTER","CABLE","CHAIR","CHARGER","DESK","DESK_RISER","DESK_TIDY","DESKTOP","DOCKING_STATION","DONGLE","FOOTREST","HEADSET","KEYBOARD","LAPTOP","LAPTOP_STAND","MICE_TRACKPAD","MOBILE_DEVICE","MONITOR","MONITOR_ARM","OTHER","PRINTER","SHREDDER","STANDING_MAT","TABLET","TASK_LIGHT","WEBCAM","WIFI_RANGE_EXTENDER","WELCOME_PACK"],"type":"string","example":"LAPTOP","description":"Product category"}},"description":"Product details"},"is_approved":{"type":"boolean","example":false,"description":"Is the order item approved"},"pricing_details":{"type":"object","properties":{"asset_price":{"type":"object","nullable":true,"properties":{"amount":{"type":"string","example":"1999.99","description":"Amount"},"currency":{"enum":["EUR","AED","AFN","XCD","ALL","AMD","AOA","ARS","USD","AUD","AWG","AZN","BAM","BDT","XOF","BGN","BHD","BIF","BMD","SGD","BOB","BRL","BSD","BTN","BWP","BYN","BZD","CAD","CDF","XAF","CHF","NZD","CLP","CNY","COP","CRC","CUC","CVE","ANG","CZK","DJF","DOP","DZD","EGP","MAD","ERN","ETB","FJD","FKP","DKK","GBP","GEL","GHS","GIP","GMD","GNF","GTQ","GYD","HKD","HNL","HRK","HTG","HUF","IDR","ILS","INR","IQD","IRR","ISK","JMD","JOD","JPY","KES","KGS","KHR","KMF","KPW","KRW","WST","KWD","KYD","KZT","LAK","LBP","LKR","LRD","LSL","LTL","LYD","MDL","MGA","MKD","MMK","MNT","MRU","MUR","MVR","MWK","MXN","MYR","MZN","NAD","XPF","NGN","NIO","NOK","NPR","OMR","PAB","PEN","PGK","PHP","PKR","PLN","PYG","QAR","RON","RSD","RUB","RWF","SAR","SBD","SCR","SDG","SEK","SHP","SLL","SOS","SRD","SSP","STD","SYP","SZL","THB","TJS","TMT","TND","TOP","TRY","TTD","TWD","TZS","UAH","UGX","UYU","UZS","VEF","VND","VUV","YER","ZAR","ZMW","ZWD"],"type":"string","example":"EUR","description":"Three-letter currency code for the price"}},"description":"Price of the order item"},"storefront_fee":{"type":"object","nullable":true,"properties":{"amount":{"type":"string","example":"1999.99","description":"Amount"},"currency":{"enum":["EUR","AED","AFN","XCD","ALL","AMD","AOA","ARS","USD","AUD","AWG","AZN","BAM","BDT","XOF","BGN","BHD","BIF","BMD","SGD","BOB","BRL","BSD","BTN","BWP","BYN","BZD","CAD","CDF","XAF","CHF","NZD","CLP","CNY","COP","CRC","CUC","CVE","ANG","CZK","DJF","DOP","DZD","EGP","MAD","ERN","ETB","FJD","FKP","DKK","GBP","GEL","GHS","GIP","GMD","GNF","GTQ","GYD","HKD","HNL","HRK","HTG","HUF","IDR","ILS","INR","IQD","IRR","ISK","JMD","JOD","JPY","KES","KGS","KHR","KMF","KPW","KRW","WST","KWD","KYD","KZT","LAK","LBP","LKR","LRD","LSL","LTL","LYD","MDL","MGA","MKD","MMK","MNT","MRU","MUR","MVR","MWK","MXN","MYR","MZN","NAD","XPF","NGN","NIO","NOK","NPR","OMR","PAB","PEN","PGK","PHP","PKR","PLN","PYG","QAR","RON","RSD","RUB","RWF","SAR","SBD","SCR","SDG","SEK","SHP","SLL","SOS","SRD","SSP","STD","SYP","SZL","THB","TJS","TMT","TND","TOP","TRY","TTD","TWD","TZS","UAH","UGX","UYU","UZS","VEF","VND","VUV","YER","ZAR","ZMW","ZWD"],"type":"string","example":"EUR","description":"Three-letter currency code for the price"}},"description":"Storefront fee associated with the order item"},"acquisition_type":{"enum":["RENTAL","PURCHASE","REUSE"],"type":"string","example":"PURCHASE","description":"Acquisition type of the order item"}},"description":"Order item pricing details"},"is_express_delivery_requested":{"type":"boolean","example":true,"description":"Is express delivery requested for the order item"}}},"description":"Order's items details"},"delivery_address":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","description":"Unique identifier of the address"},"city":{"type":"string","example":"Gotham","nullable":true,"description":"City name","x-sensitive-pii":true},"type":{"enum":["PII","PARTIAL","DELIVERY","COLLECTION","ENTITY","SUPPLIER","BILLING"],"type":"string","example":"DELIVERY","description":"Type of the address"},"line1":{"type":"string","example":"1007 Mountain Drive","nullable":true,"description":"Address line 1","x-sensitive-pii":true,"x-sensitive-employment":true},"line2":{"type":"string","example":"Stately Wayne Manor","nullable":true,"description":"Address line 2","x-sensitive-pii":true,"x-sensitive-employment":true},"state":{"type":"string","example":"New Jersey","nullable":true,"description":"State code or name","x-sensitive-pii":true,"x-sensitive-employment":true},"country":{"enum":["AD","AE","AF","AG","AI","AL","AM","AN","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","IC","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","XK","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","YT","ZA","ZM","ZW"],"type":"string","example":"US","description":"Country code","x-sensitive-pii":true,"x-sensitive-employment":true},"is_valid":{"type":"boolean","example":true,"description":"Whether the address passes validation","x-sensitive-employment":true},"post_code":{"type":"string","example":"12345","nullable":true,"description":"Post code","x-sensitive-pii":true,"x-sensitive-employment":true},"phone_number":{"type":"string","example":"+1-212-456-7890","nullable":true,"description":"Phone number","x-sensitive-pii":true,"x-sensitive-employment":true},"date_of_birth":{"type":"string","format":"date","example":"1997-12-18","nullable":true,"description":"Date of birth (applicable for some address types)","x-sensitive-pii":true,"x-sensitive-employment":true},"tax_id_number":{"type":"string","example":"BAT123456","nullable":true,"description":"Tax ID number (applicable for some address types)","x-sensitive-pii":true,"x-sensitive-employment":true},"passport_number":{"type":"string","example":"P123456789","nullable":true,"description":"Passport number (applicable for some address types)","x-sensitive-pii":true,"x-sensitive-employment":true},"delivery_instructions":{"type":"string","example":"Use the Bat-Signal if urgent","nullable":true,"description":"Special instructions for deliveries","x-sensitive-pii":true,"x-sensitive-employment":true}},"description":"Order delivery address details"}}}}}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"insufficient_permission","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"first_name","description":"The field name where input validation failed"},"message":{"type":"string","example":"human readable error message","description":"Description of the returned error"}}}}}}}},"description":"Bad Request"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"insufficient_permission","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"first_name","description":"The field name where input validation failed"},"message":{"type":"string","example":"human readable error message","description":"Description of the returned error"}}}}}}}},"description":"Internal Server Error"}},"parameters":[{"in":"path","name":"order_id","schema":{"type":"string","format":"uuid"},"example":"123e4567-e89b-12d3-a456-426614174000","required":true,"description":"Unique identifier of the IT order"}],"security":[{"deelToken":[]},{"oauth2":["it-orders:read"]}]}},"/eor/{contract_id}/benefits":{"get":{"tags":["EOR"],"summary":"Retrieve Benefits for EOR Contract","operationId":"getEORContractBenefits","description":"Fetch detailed information about benefits associated with a specific Employee of Record (EOR) contract. The benefits include plan details, provider information, and enrollment statuses.\n **Token scopes**: `contracts:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The unique ID of the benefit."},"name":{"type":"string","description":"The name of the benefit."},"plan":{"type":"object","properties":{"name":{"type":"string","description":"The name of the associated plan."}}},"provider":{"type":"object","properties":{"name":{"type":"string","description":"The name of the benefit provider."}}},"offer_status":{"enum":["Offered","Not offered"],"type":"string","description":"Indicates whether the benefit is offered."},"enrollment_details":{"type":"object","properties":{"plan":{"type":"object","properties":{"name":{"type":"string","description":"The name of the enrolled plan."}}},"status":{"type":"string","description":"The current enrollment status of the benefit."},"standard":{"type":"object","properties":{"monthly_cost":{"type":"string","nullable":true,"description":"The standard monthly cost of the benefit."},"employee_monthly_contribution":{"type":"string","nullable":true,"description":"The standard monthly employer contribution."}}},"current_cycle":{"type":"object","properties":{"monthly_cost":{"type":"string","description":"The monthly cost of the current enrollment."},"employee_monthly_contribution":{"type":"string","description":"The employer's monthly contribution for the current enrollment."}}}}}}}}}},"examples":{"success":{"value":{"data":[{"id":"benefit1","name":"Health Insurance","plan":{"name":"Gold Plan"},"provider":{"name":"Global Insurance Co."},"offer_status":"Offered","enrollment_details":{"plan":{"name":"Gold Plan"},"status":"Enrolled","standard":{"monthly_cost":"180","employee_monthly_contribution":"130"},"current_cycle":{"monthly_cost":"200","employee_monthly_contribution":"150"}}},{"id":"benefit2","name":"Retirement Plan","plan":{"name":"Standard Pension"},"provider":{"name":"Pension Trust"},"offer_status":"Not offered","enrollment_details":null}]},"summary":"Example of a successful response."}}}},"description":"Successfully retrieved the list of EOR contract benefits."},"400":{"content":{"application/json":{"examples":{"invalidContractId":{"value":{"error":"The provided `contract_id` is invalid. Please verify the input and try again."},"summary":"Invalid Contract ID"}}}},"description":"Invalid request. The `contract_id` parameter is missing or improperly formatted."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"content":{"application/json":{"examples":{"notFound":{"value":{"error":"No contract or benefits found for the provided `contract_id`."},"summary":"Contract not found."}}}},"description":"The specified contract ID does not exist or has no associated benefits."},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string","example":"mryv8dx","description":"The unique identifier of the EOR contract."},"required":true,"description":"Deel contract ID."}],"security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]}},"/it/assets/{asset_id}":{"get":{"tags":["IT assets"],"summary":"Retrieve an IT asset","operationId":"retrieveAnItAsset","description":"Retrieve the details of a specific IT asset using its unique identifier. This allows you to check information such as the asset's model, serial number, status, and location.  For more info, visit [Assets](https://developer.deel.com/docs/deel-it-api#assets).\n **Token scopes**: `it-assets:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","description":"Unique identifier of the item"},"grade":{"enum":["NEW","A","B","C","D","F"],"type":"string","example":"A","description":"The condition grade of the asset"},"status":{"enum":["ACTIVE","SUPPLIER_RETURN","STOLEN","LOST_IN_TRANSIT","WAITING_FOR_CLEARANCE","CLEARED","BINNED","LEFT_WITH_USER","SHRINKAGE","DAMAGED_BY_USER","DAMAGED_IN_TRANSIT","DAMAGED_AT_WAREHOUSE","BEING_REPAIRED","BROKEN_BY_USER","BROKEN_IN_TRANSIT","BROKEN_AT_WAREHOUSE","ADDED_BY_MISTAKE","RETURNED_TO_DEEL"],"type":"string","example":"ACTIVE","description":"Current state of the asset"},"product":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","description":"Unique identifier of the product"},"name":{"type":"string","example":"MacBook Pro","description":"Product name"},"brand":{"type":"string","example":"Apple","description":"Product brand"},"category":{"enum":["ADAPTER","CABLE","CHAIR","CHARGER","DESK","DESK_RISER","DESK_TIDY","DESKTOP","DOCKING_STATION","DONGLE","FOOTREST","HEADSET","KEYBOARD","LAPTOP","LAPTOP_STAND","MICE_TRACKPAD","MOBILE_DEVICE","MONITOR","MONITOR_ARM","OTHER","PRINTER","SHREDDER","STANDING_MAT","TABLET","TASK_LIGHT","WEBCAM","WIFI_RANGE_EXTENDER","WELCOME_PACK"],"type":"string","example":"LAPTOP","description":"Product category"},"specifications":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","example":"processor","description":"Specification name"},"value":{"type":"string","example":"M1 Pro","description":"Specification value"}}},"description":"Specifications of the product"}},"description":"Product details"},"location":{"enum":["WITH_USER","AT_WAREHOUSE","DEEL_WAREHOUSE","ORGANIZATION_WAREHOUSE","CLEARANCE_WAREHOUSE","SUPPLIER","WITH_COURIER","WRITE_OFF"],"type":"string","example":"WITH_USER","description":"Current location type of the asset"},"ownership":{"type":"object","properties":{"name":{"type":"string","example":"Deel","description":"Asset owner name"},"type":{"enum":["DEEL","ORGANIZATION"],"type":"string","example":"DEEL","description":"Asset owner type"}},"description":"Asset owner"},"created_at":{"type":"string","format":"date-time","example":"2025-08-08T09:49:01.000Z","description":"Creation timestamp of the asset"},"updated_at":{"type":"string","format":"date-time","example":"2025-08-08T09:49:01.000Z","description":"Last update timestamp of the asset"},"assigned_user":{"type":"object","nullable":true,"properties":{"emails":{"type":"array","items":{"type":"string","format":"email"},"example":["bruce.wayne@wayne-enterprise.com","batman@gotham.com"],"description":"Array of user email addresses","x-sensitive-pii":true,"x-sensitive-employment":true},"address":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","description":"Unique identifier of the address"},"city":{"type":"string","example":"Gotham","nullable":true,"description":"City name","x-sensitive-pii":true},"type":{"enum":["PII","PARTIAL","DELIVERY","COLLECTION","ENTITY","SUPPLIER","BILLING"],"type":"string","example":"DELIVERY","description":"Type of the address"},"line1":{"type":"string","example":"1007 Mountain Drive","nullable":true,"description":"Address line 1","x-sensitive-pii":true,"x-sensitive-employment":true},"line2":{"type":"string","example":"Stately Wayne Manor","nullable":true,"description":"Address line 2","x-sensitive-pii":true,"x-sensitive-employment":true},"state":{"type":"string","example":"New Jersey","nullable":true,"description":"State code or name","x-sensitive-pii":true},"country":{"enum":["AD","AE","AF","AG","AI","AL","AM","AN","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","IC","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","XK","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","YT","ZA","ZM","ZW"],"type":"string","example":"US","description":"Country code","x-sensitive-pii":true},"is_valid":{"type":"boolean","example":true,"description":"Whether the address passes validation"},"post_code":{"type":"string","example":"12345","nullable":true,"description":"Post code","x-sensitive-pii":true},"phone_number":{"type":"string","example":"+1-212-456-7890","nullable":true,"description":"Phone number","x-sensitive-pii":true,"x-sensitive-employment":true},"date_of_birth":{"type":"string","format":"date","example":"1997-12-18","nullable":true,"description":"Date of birth (applicable for some address types)","x-sensitive-pii":true},"tax_id_number":{"type":"string","example":"BAT123456","nullable":true,"description":"Tax ID number (applicable for some address types)","x-sensitive-pii":true,"x-sensitive-employment":true},"passport_number":{"type":"string","example":"P123456789","nullable":true,"description":"Passport number (applicable for some address types)","x-sensitive-pii":true,"x-sensitive-employment":true},"delivery_instructions":{"type":"string","example":"Use the Bat-Signal if urgent","nullable":true,"description":"Special instructions for deliveries","x-sensitive-pii":true,"x-sensitive-employment":true}},"description":"User address details"},"last_name":{"type":"string","example":"Wayne","description":"Last name of the user","x-sensitive-pii":true,"x-sensitive-employment":true},"first_name":{"type":"string","example":"Bruce","description":"First name of the user","x-sensitive-pii":true,"x-sensitive-employment":true},"hris_profile_id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","description":"The unique identifier of the HRIS profile of the assigned user"}},"description":"Details of the user with asset possession"},"purchase_date":{"type":"string","format":"date","example":"2025-08-08","nullable":true,"description":"Purchase date of the asset"},"serial_number":{"type":"string","example":"SN123456","nullable":true,"description":"Asset serial number","x-sensitive-pii":true},"purchase_value":{"type":"object","nullable":true,"properties":{"amount":{"type":"string","example":"1999.99","description":"Amount"},"currency":{"enum":["EUR","AED","AFN","XCD","ALL","AMD","AOA","ARS","USD","AUD","AWG","AZN","BAM","BDT","XOF","BGN","BHD","BIF","BMD","SGD","BOB","BRL","BSD","BTN","BWP","BYN","BZD","CAD","CDF","XAF","CHF","NZD","CLP","CNY","COP","CRC","CUC","CVE","ANG","CZK","DJF","DOP","DZD","EGP","MAD","ERN","ETB","FJD","FKP","DKK","GBP","GEL","GHS","GIP","GMD","GNF","GTQ","GYD","HKD","HNL","HRK","HTG","HUF","IDR","ILS","INR","IQD","IRR","ISK","JMD","JOD","JPY","KES","KGS","KHR","KMF","KPW","KRW","WST","KWD","KYD","KZT","LAK","LBP","LKR","LRD","LSL","LTL","LYD","MDL","MGA","MKD","MMK","MNT","MRU","MUR","MVR","MWK","MXN","MYR","MZN","NAD","XPF","NGN","NIO","NOK","NPR","OMR","PAB","PEN","PGK","PHP","PKR","PLN","PYG","QAR","RON","RSD","RUB","RWF","SAR","SBD","SCR","SDG","SEK","SHP","SLL","SOS","SRD","SSP","STD","SYP","SZL","THB","TJS","TMT","TND","TOP","TRY","TTD","TWD","TZS","UAH","UGX","UYU","UZS","VEF","VND","VUV","YER","ZAR","ZMW","ZWD"],"type":"string","example":"EUR","description":"Three-letter currency code for the price"}},"description":"Purchase value of the asset"},"assigned_warehouse":{"type":"object","nullable":true,"properties":{"id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","description":"Unique identifier of the warehouse"},"name":{"type":"string","example":"Batcave Warehouse","description":"Warehouse or storage location name","x-sensitive-employment":true},"address":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","description":"Unique identifier of the address"},"city":{"type":"string","example":"Gotham","nullable":true,"description":"City name","x-sensitive-pii":true},"type":{"enum":["PII","PARTIAL","DELIVERY","COLLECTION","ENTITY","SUPPLIER","BILLING"],"type":"string","example":"DELIVERY","description":"Type of the address"},"line1":{"type":"string","example":"1007 Mountain Drive","nullable":true,"description":"Address line 1","x-sensitive-pii":true,"x-sensitive-employment":true},"line2":{"type":"string","example":"Stately Wayne Manor","nullable":true,"description":"Address line 2","x-sensitive-pii":true,"x-sensitive-employment":true},"state":{"type":"string","example":"New Jersey","nullable":true,"description":"State code or name","x-sensitive-pii":true},"country":{"enum":["AD","AE","AF","AG","AI","AL","AM","AN","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","IC","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","XK","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","YT","ZA","ZM","ZW"],"type":"string","example":"US","description":"Country code","x-sensitive-pii":true},"is_valid":{"type":"boolean","example":true,"description":"Whether the address passes validation"},"post_code":{"type":"string","example":"12345","nullable":true,"description":"Post code","x-sensitive-pii":true},"phone_number":{"type":"string","example":"+1-212-456-7890","nullable":true,"description":"Phone number","x-sensitive-pii":true,"x-sensitive-employment":true},"date_of_birth":{"type":"string","format":"date","example":"1997-12-18","nullable":true,"description":"Date of birth (applicable for some address types)","x-sensitive-pii":true},"tax_id_number":{"type":"string","example":"BAT123456","nullable":true,"description":"Tax ID number (applicable for some address types)","x-sensitive-pii":true,"x-sensitive-employment":true},"passport_number":{"type":"string","example":"P123456789","nullable":true,"description":"Passport number (applicable for some address types)","x-sensitive-pii":true,"x-sensitive-employment":true},"delivery_instructions":{"type":"string","example":"Use the Bat-Signal if urgent","nullable":true,"description":"Special instructions for deliveries","x-sensitive-pii":true,"x-sensitive-employment":true}},"description":"Warehouse address details","x-sensitive-employment":true},"ownership":{"enum":["DEEL","ORGANIZATION"],"type":"string","example":"DEEL","description":"Warehouse ownership type"},"warehouse_type":{"enum":["DEEL","ORGANIZATION","CLEARANCE"],"type":"string","example":"DEEL","description":"Warehouse type"}},"description":"Details of the warehouse with asset possession"}}}}}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"insufficient_permission","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"first_name","description":"The field name where input validation failed"},"message":{"type":"string","example":"human readable error message","description":"Description of the returned error"}}}}}}}},"description":"Bad Request"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"insufficient_permission","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"first_name","description":"The field name where input validation failed"},"message":{"type":"string","example":"human readable error message","description":"Description of the returned error"}}}}}}}},"description":"Internal Server Error"}},"parameters":[{"in":"path","name":"asset_id","schema":{"type":"string","format":"uuid"},"example":"123e4567-e89b-12d3-a456-426614174000","required":true,"description":"Unique identifier of the IT asset"}],"security":[{"deelToken":[]},{"oauth2":["it-assets:read"]}]}},"/benefits/legal-entities/{id}/year-to-date-pay":{"get":{"tags":["Payroll"],"summary":"Get year to date payment for benefits 401k.","operationId":"getYearToDatePay","description":"Get year to date from employees from organization integrated with external benefits vendor\n **Token scopes**: `organizations:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"end_date":{"type":"string","format":"date","example":"2021-01-15","nullable":false,"description":"The end date of the pay period."},"employees":{"type":"array","items":{"type":"object","properties":{"gross_pay":{"type":"number","example":1000,"nullable":false,"description":"Total pay before deductions.","x-sensitive-employment":true},"contract_id":{"type":"string","example":"123","nullable":false,"description":"Identifier for the employee's contract."},"employee_id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000","nullable":false,"description":"Unique identifier for the employee."},"hours_worked":{"type":"number","example":40,"nullable":false,"description":"Total hours worked in the pay period."},"contributions":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","example":"401k","nullable":false,"description":"Name of the contribution."},"type":{"enum":["roth","trad","loan"],"type":"string","nullable":false,"description":"Type of the contribution."},"amount":{"type":"number","example":10,"nullable":false,"description":"Amount of the contribution.","x-sensitive-employment":true}}}},"employer_contributions":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","example":"401k","nullable":false,"description":"Name of the employer contribution.","x-sensitive-employment":true},"type":{"enum":["match_rate","non_elective"],"type":"string","nullable":false,"description":"Type of the employer contribution.","x-sensitive-employment":true},"amount":{"type":"number","example":10,"nullable":false,"description":"Amount of the employer contribution.","x-sensitive-employment":true}}}}}}},"start_date":{"type":"string","format":"date","example":"2021-01-01","nullable":false,"description":"The start date of the pay period."}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"id","schema":{"type":"string"},"example":"123","required":true,"description":"Id from the legal entity to fetch data"},{"in":"query","name":"date_start","schema":{"type":"string"},"example":"2021-01-01","required":true,"description":"Start date to fetch aggregated pay data"},{"in":"query","name":"date_end","schema":{"type":"string"},"example":"2022-01-01","required":true,"description":"End date to fetch aggregated pay data"}],"security":[{"deelToken":[]},{"oauth2":["organizations:read"]}]}},"/contracts/{contract_id}/equity_withholding_estimate":{"get":{"tags":["Contracts"],"summary":"Get an estimate of withholding amount given an equity event.","operationId":"getContractEquityWithholdingAmount","description":"Get an estimate of the withholding amount required as well as the assumptions behind the estimate, given a contract id, event amount and currency code.\n **Token scopes**: `contracts:read`, `global-payroll:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"oid":{"type":"string","example":"37nex2x","description":"Deel contract id."},"fx_rate":{"type":"string","example":"0.7815","description":"Exchange rate used to convert event currency to country of taxation currency."},"breakdown":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","example":"Solidarity tax","description":"Name of withholding component."},"rate":{"type":"string","example":"0.055","description":"Withholding amount of component expressed as a percentage of event value."},"amount":{"type":"string","example":"550.00","description":"Withholding amount of component."}}}},"event_value":{"type":"string","example":"100000.00","description":"Event value that user provided."},"event_currency":{"type":"string","example":"USD","description":"Event currency that user provided."},"withholding_currency":{"type":"string","example":"GBP","description":"Country of taxation currency."},"aggregate_withholding_rate":{"type":"string","example":"0.15","description":"Total withholding amount expressed as a percentage of event value."},"overall_withholding_amount":{"type":"string","example":"1500.00","description":"Total withholding amount denominated in country of taxation currency (withholding_currency)."}}}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Bad request."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Unable to calculate due to missing information."},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"37nex2x","required":true,"description":"Deel contract id."},{"in":"query","name":"event_value","schema":{"type":"string","maxLength":50,"minLength":1},"example":"10000.00","required":true,"description":"The monetary value of the equity event."},{"in":"query","name":"event_currency","schema":{"type":"string","pattern":"^[A-Z]{3}$","maxLength":3,"minLength":3},"example":"USD","required":true,"description":"Three-letter currency code for the payment, following ISO 4217."}],"security":[{"deelToken":[]},{"oauth2":["contracts:read","global-payroll:read"]}]}},"/eor/contracts/{contract_id}/offboarding/resignations/review-pto":{"post":{"tags":["EOR"],"summary":"Submit employee resignation PTO review","operationId":"submitEmployeeResignationPtoReview","description":"Allows a client to review and submit the Paid Time Off (PTO) details for an employee resignation request. This endpoint updates the resignation with the provided PTO information, triggers related notifications, and finalizes the PTO review process. Only available when the resignation status is AWAITING_PTO.\n **Token scopes**: `contracts:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the offboarding request"},"end_date":{"type":"string","format":"date-time","example":"2025-01-31T00:00:00.000Z","nullable":true,"description":"The definitive contract end date","x-sensitive-pii":true,"x-sensitive-employment":true},"documents":{"type":"object","nullable":false,"required":["supporting","offboarding"],"properties":{"supporting":{"type":"array","items":{"type":"object","required":["id","name","type","created_at","updated_at","is_additional_supporting_document"],"properties":{"id":{"type":"string","example":"cmddlk1ghehm54l18gejg198r","description":"The unique identifier of the file","x-sensitive-pii":true},"name":{"type":"string","example":"Supporting Documentation","description":"The name of the file","x-sensitive-pii":true},"type":{"type":"string","example":"pdf","description":"The type/extension of the file","x-sensitive-pii":true},"created_at":{"type":"string","format":"date-time","example":"2025-07-21T21:07:27.713Z","description":"The date and time the file was created","x-sensitive-pii":true},"updated_at":{"type":"string","format":"date-time","example":"2025-07-21T21:07:27.713Z","description":"The date and time the file was updated","x-sensitive-pii":true},"is_additional_supporting_document":{"type":"boolean","example":false,"description":"Indicates if this is an additional supporting document added after the initial submission","x-sensitive-pii":true}}},"x-sensitive-pii":true},"offboarding":{"type":"array","items":{"type":"object","required":["files","reviewer_type","is_employee_notification_required","status"],"properties":{"id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the document set shared with the employee.","x-sensitive-pii":true,"x-sensitive-employment":true},"files":{"type":"array","items":{"type":"object","required":["id","name","type","created_at"],"properties":{"id":{"type":"string","example":"cmdeh9wzgvihue4r54n2y51p4","description":"The unique identifier of the file","x-sensitive-pii":true,"x-sensitive-employment":true},"name":{"type":"string","example":"Employee Sign Off Documents","description":"The name of the file","x-sensitive-pii":true,"x-sensitive-employment":true},"type":{"type":"string","example":"pdf","description":"The type/extension of the file","x-sensitive-pii":true,"x-sensitive-employment":true},"created_at":{"type":"string","format":"date-time","example":"2025-07-22T11:55:23.068Z","description":"The date and time the file was created","x-sensitive-pii":true},"updated_at":{"type":"string","format":"date-time","example":"2025-07-22T11:55:23.068Z","description":"The date and time the file was updated","x-sensitive-pii":true}}},"x-sensitive-pii":true,"x-sensitive-employment":true},"status":{"enum":["AWAITING_REVIEW","AWAITING_FEEDBACK","FEEDBACK_PROVIDED","APPROVED","CHANGES_REQUESTED_BY_CLIENT","CHANGES_REQUESTED_BY_EMPLOYEE","WAIVED_REVIEW","NOT_RESPONDED","CANCELLED"],"type":"string","example":"AWAITING_REVIEW","description":"The current status of the document review","x-sensitive-pii":true},"created_at":{"type":"string","format":"date-time","example":"2025-07-22T11:55:23.068Z","description":"The date and time the document set was created","x-sensitive-pii":true},"updated_at":{"type":"string","format":"date-time","example":"2025-07-22T11:55:23.068Z","description":"The date and time the document set was updated","x-sensitive-pii":true},"reviewed_at":{"type":"string","format":"date-time","example":"2025-07-22T12:30:00.000Z","nullable":true,"description":"The date and time when the document was reviewed","x-sensitive-pii":true},"reviewed_by":{"type":"string","example":"John Doe","nullable":true,"description":"The name of the reviewer for this document. If the reviewer is not an employee, it will be the name of the client","x-sensitive-pii":true},"reviewer_type":{"enum":["CLIENT","EMPLOYEE"],"type":"string","example":"EMPLOYEE","description":"The type of reviewer for this document","x-sensitive-pii":true},"reviewer_feedback":{"type":"string","example":"Document needs clarification on section 3","nullable":true,"description":"Feedback provided by the reviewer","x-sensitive-pii":true},"notification_instructions":{"type":"string","example":"<p>Please review and provide feedback on the attached documents.</p>","nullable":true,"description":"HTML instructions for the reviewer notification","x-sensitive-pii":true,"x-sensitive-employment":true},"is_employee_notification_required":{"type":"boolean","example":true,"description":"Indicates if the employee should be notified about this document review","x-sensitive-pii":true}}},"description":"Document set shared that requires client or employee review","x-sensitive-pii":true,"x-sensitive-employment":true}},"description":"Document management structure for termination workflow including review processes and supporting documents","x-sensitive-pii":true},"created_at":{"type":"string","format":"date-time","example":"2025-01-31T00:00:00.000Z","nullable":false,"description":"The date and time the offboarding request was created"},"updated_at":{"type":"string","format":"date-time","example":"2025-01-31T00:00:00.000Z","nullable":false,"description":"The date and time the offboarding request was updated"},"contract_id":{"type":"string","example":"5B74FnLM","description":"The unique identifier of the employee contract."},"is_sensitive":{"type":"boolean","example":false,"nullable":false,"description":"Indicates if the offboarding request is sensitive. This is used to restrict access to the request only to the requester and the HRX team."},"request_data":{"type":"object","nullable":true,"properties":{"reason":{"enum":["STATUS_CHANGE","RELOCATION","COMPENSATION","RETIREMENT","JOB_ABANDONMENT","WORK_RELATED","PERSONAL","OTHER_OPPORTUNITY","NON_RENEWAL","PROBATION","ASSIGNMENT_ENDED","POSITION_ELIMINATION","FORCE_REDUCTION","DEATH","FOR_CAUSE","PERFORMANCE","MEDICAL","PERFORMANCE_ISSUES","ATTENDANCE_ISSUES","REORGANIZATION_DOWNSIZING_BUDGET_OR_REDUCTION_OF_WORKFORCE","ROLE_BECAME_REDUNDANT_OR_ROLE_CHANGED","OFFER_WAS_REVOKED","EXITING_THE_MARKET","NO_LONGER_WISH_TO_WORK_WITH_DEEL","COMPANY_ACQUIRED","STEALING","MISCONDUCT","FALSIFYING","HARASSMENT","VIOLENCE","REORGANIZATION_DOWNSIZING_BUDGET_OR_REDUCTION_OF_WORKFORCE_OR_ROLE_BECAME_REDUNDANT_OR_ROLE_CHANGED","UNAUTHORIZED_ABSENCES_OR_LACK_OF_ATTENDANCE","STANDARD_RESELLER_PRACTICE","MOVING_EMPLOYEE_TO_INTERNAL_ENTITY","MOVING_EMPLOYEE_TO_DEEL_PEO","OTHER"],"type":"string","example":"PERFORMANCE","nullable":false,"description":"The reason for the termination","x-sensitive-pii":true,"x-sensitive-employment":true},"end_date":{"type":"string","format":"date-time","example":"2025-01-31T00:00:00.000Z","nullable":true,"description":"The definitive contract end date","x-sensitive-pii":true,"x-sensitive-employment":true},"reason_detail":{"type":"string","example":"Employee is moving to another country","nullable":true,"description":"Optional field to describe the reason behind the resignation request","x-sensitive-pii":true,"x-sensitive-employment":true},"used_time_off":{"type":"object","example":{"time_offs":[{"unit":"BUSINESS_DAY","policy_type":"Vacation","tracking_periods":[{"used":0,"end_date":"2025-02-28T00:00:00.000Z","start_date":"2024-03-01T00:00:00.000Z"},{"used":0,"end_date":"2024-02-29T00:00:00.000Z","start_date":"2023-03-01T00:00:00.000Z"},{"used":0,"end_date":"2023-02-28T00:00:00.000Z","start_date":"2022-03-01T00:00:00.000Z"}],"scheduled_until_end_date":0}],"additional_details":null,"is_deel_pto_confirmed":true},"nullable":false,"required":["time_offs","is_deel_pto_confirmed"],"properties":{"time_offs":{"type":"array","items":{"type":"object","required":["unit","policy_type","tracking_periods","scheduled_until_end_date"],"properties":{"unit":{"enum":["BUSINESS_DAY","CALENDAR_DAY","HOUR"],"type":"string","example":"BUSINESS_DAY","description":"The unit of measurement for time off tracking","x-sensitive-employment":true},"policy_type":{"type":"string","example":"Vacation","description":"The type of time-off policy","x-sensitive-employment":true},"tracking_periods":{"type":"array","items":{"type":"object","required":["used","end_date","start_date"],"properties":{"used":{"type":"number","example":0,"description":"The amount of time off used in this tracking period","x-sensitive-employment":true},"end_date":{"type":"string","format":"date-time","example":"2025-02-28T00:00:00.000Z","description":"The end date of the tracking period","x-sensitive-employment":true},"start_date":{"type":"string","format":"date-time","example":"2024-03-01T00:00:00.000Z","description":"The start date of the tracking period","x-sensitive-employment":true}}},"x-sensitive-employment":true},"scheduled_until_end_date":{"type":"number","example":0,"description":"The amount of time off scheduled until the end date of the current tracking period","x-sensitive-employment":true}}},"x-sensitive-employment":true},"additional_details":{"type":"object","nullable":true,"properties":{"notes":{"type":"string","example":"Additional notes about time off allocation","nullable":true,"description":"Additional notes or comments about the time-off data","x-sensitive-employment":true},"updated_by":{"type":"string","example":"HR Administrator","nullable":true,"description":"The person or system that last updated the time-off data","x-sensitive-pii":true,"x-sensitive-employment":true},"last_updated_at":{"type":"string","format":"date-time","example":"2025-01-31T00:00:00.000Z","nullable":true,"description":"The date and time when the time-off data was last updated","x-sensitive-employment":true}},"x-sensitive-employment":true},"is_deel_pto_confirmed":{"type":"boolean","example":true,"nullable":false,"description":"Indicates whether the PTO allocation has been confirmed by Deel's system","x-sensitive-employment":true}},"description":"Time-off usage data including policy information and tracking periods","x-sensitive-employment":true},"desired_end_date":{"type":"string","format":"date","example":"2025-01-31","nullable":true,"description":"The desired end date. If the date is not provided, it will be selected by HRX the closest date possible","x-sensitive-pii":true,"x-sensitive-employment":true},"eligible_for_rehire":{"enum":["YES","NO","DONT_KNOW"],"type":"string","example":"DONT_KNOW","nullable":true,"description":"Parameter to inform whether it would be possible for the client to hire the employee again","x-sensitive-pii":true},"eligible_for_rehire_reason":{"type":"string","example":"Employee is not eligible for rehire due to performance issues","nullable":true,"description":"Describe if the option DONT_KNOW was selected on eligible_for_rehire","x-sensitive-pii":true}},"x-sensitive-pii":true},"desired_end_date":{"type":"string","format":"date-time","example":"2025-01-31T00:00:00.000Z","nullable":true,"description":"The desired end date. If the date is not provided, it will be selected by HRX the closest date possible","x-sensitive-pii":true,"x-sensitive-employment":true}}}}}}},"description":"PTO review submitted successfully."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_format","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"email","description":"The field name where input validation failed"},"message":{"type":"string","example":"The email field must be a valid email address format","description":"Description of the returned error"}}}}}}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"expired_token","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"authorization","description":"The field name where authentication failed"},"message":{"type":"string","example":"Your access token has expired. Please authenticate again to continue.","description":"Description of the returned error"}}}}}}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"access_denied","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"contract_id","description":"The field name where permission was denied"},"message":{"type":"string","example":"You do not have permission to access contract CT-12345. Contact your administrator for access.","description":"Description of the returned error"}}}}}}}},"description":"Forbidden"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"database_connection_failed","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":null,"description":"The field name where error occurred (null for server errors)"},"message":{"type":"string","example":"A temporary server error occurred. Please try again in a few moments or contact support if the issue persists.","description":"Description of the returned error"}}}}}}}},"description":"Internal Server Error"}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"5B74FnLM","required":true,"description":"The unique identifier of the employee contract."}],"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"used_time_off":{"type":"object","properties":{"tracking_type":{"enum":["ON_PLATFORM","OFF_PLATFORM"],"type":"string","example":"ON_PLATFORM","description":"Type of time off tracking - whether it's tracked on Deel platform or off platform"},"off_platform_used_time_off":{"type":"object","example":{"entitlements":[{"used":25,"tracking_period":"2024-01-01","tracking_period_end_date":"2024-12-31"},{"used":30,"tracking_period":"2023-01-01","tracking_period_end_date":"2023-12-31"}],"total_scheduled":5,"entitlement_unit":"CALENDAR_DAY"},"nullable":true,"required":["entitlements","total_scheduled","entitlement_unit"],"properties":{"entitlements":{"type":"array","items":{"type":"object","required":["tracking_period","tracking_period_end_date","used"],"properties":{"used":{"type":"number","format":"float","example":25,"minimum":0,"description":"Amount of time off used in the period"},"tracking_period":{"type":"string","format":"date","example":"2024-01-01","description":"Start date of the tracking period"},"tracking_period_end_date":{"type":"string","format":"date","example":"2024-12-31","description":"End date of the tracking period"}}},"description":"Array of time off entitlements for different tracking periods"},"total_scheduled":{"type":"number","format":"float","example":5,"minimum":0,"description":"Total amount of time off scheduled until the end date"},"entitlement_unit":{"enum":["BUSINESS_DAY","CALENDAR_DAY","HOUR","WEEK","MONTH","YEAR"],"type":"string","example":"CALENDAR_DAY","description":"Unit of measurement for the time off entitlements"}},"description":"Required when tracking_type is OFF_PLATFORM, null otherwise"}},"description":"Time-off usage data including policy information and tracking periods"},"decline_reason":{"enum":["NOT_AGREE_WITH_END_DATE","NOT_A_RESIGNATION_BUT_TERMINATION","EMPLOYEE_UNDER_REVIEW_OR_INVESTIGATION_FOR_DISCIPLINARY_ACTIONS","OTHER"],"type":"string","example":"NOT_AGREE_WITH_END_DATE","description":"Reason for declining the resignation request"},"severance_type":{"enum":["DAYS","WEEKS","MONTHS","CASH"],"type":"string","example":"CASH","description":"Type of severance offered to the employee"},"severance_amount":{"type":"number","format":"float","example":5000,"minimum":0,"description":"Amount of severance offered to the employee"},"decline_reason_detail":{"type":"string","example":"The notice period provided by the employee is insufficient.","maxLength":2000,"minLength":150,"description":"Detailed explanation for declining the resignation request"},"has_client_accepted_resignation_request":{"type":"boolean","example":true,"description":"Indicates whether the client has accepted the resignation request"}}}}}}}}}},"/adjustments/{id}":{"delete":{"tags":["Adjustments"],"summary":"Delete an adjustment","operationId":"deleteAdjustment","description":"Delete an adjustment.\n **Token scopes**: `adjustments:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["deleted"],"properties":{"deleted":{"type":"boolean","example":true,"nullable":false,"description":"Confirms the deletion."}}}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"id","schema":{"type":"string"},"example":"5f4e1f77-0f1c-4f6d-8b0f-1b1b4b1b1b1b","required":true,"description":"Deel adjustment id."}],"security":[{"deelToken":[]},{"oauth2":["adjustments:write"]}]},"get":{"tags":["Adjustments"],"summary":"Retrieve an adjustment","operationId":"retrieveAnAdjustment","description":"Use this endpoint to retrieve details of a specific adjustment by its id. You can view its amount, status, dates, and related contract_id\n **Token scopes**: `adjustments:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the adjustment"},"file":{"type":"object","nullable":true,"properties":{"id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the file"},"name":{"type":"string","example":"your_file_name","description":"The name of the file"},"fileType":{"type":"string","example":"pdf","description":"The type of the file"}},"description":"Info about the attachment of adjustment"},"title":{"type":"string","example":"Your title here","description":"The title of the adjustment","x-sensitive-employment":true},"amount":{"type":"string","example":"1234.56","description":"The amount of the adjustment","x-sensitive-employment":true},"status":{"enum":["open","pending_approval","overwritten","failed","success","DRAFT","PENDING","APPROVED","DENIED","DISBURSE_SCHEDULED","REIMBURSED","UNDER_REVIEW","ERRORS_FOUND","PENDING_DEEL_REVIEW","AI_CHECK_IN_PROGRESS"],"type":"string","example":"open","description":"Adjustment status"},"created_at":{"type":"string","format":"date-time","example":"2020-11-02T12:00:00.000Z","description":"The date and time when the adjustment was created"},"updated_at":{"type":"string","format":"date-time","example":"2020-11-02T12:00:00.000Z","description":"The date and time when the adjustment was last updated"},"contract_id":{"type":"string","example":"m3jk2j","description":"The identifier of the contract associated with the adjustment"},"description":{"type":"string","example":"Your description here","description":"The description of the adjustment","x-sensitive-employment":true},"cycle_reference":{"type":"string","example":"your_cycle_reference","nullable":true,"description":"The reference to the cycle associated with the adjustment"},"move_next_cycle":{"type":"boolean","example":true,"description":"If an adjustments can belong to another payroll cycle"},"date_of_adjustment":{"type":"string","format":"date-time","example":"2023-11-15T00:00:00.000Z","description":"The date of the adjustment"},"actual_end_cycle_date":{"type":"string","example":"2023-11-15T00:00:00.000Z","description":"The date of the actual end cycle date"},"adjustment_category_id":{"type":"string","example":"c9cf4c2c0165f48f494415390c3b49","description":"The identifier of the adjustment category associated with the adjustment"},"actual_start_cycle_date":{"type":"string","example":"2023-11-01T00:00:00.000Z","description":"The date of the actual start cycle date"}}}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string","example":"Not Authorized","description":"You must have access to the contract sent"}}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"id","schema":{"type":"string"},"example":"123e4567-e89b-12d3-a456-426614174000","required":true,"description":"Deel adjustment id."}],"security":[{"deelToken":[]},{"oauth2":["adjustments:read"]}]},"patch":{"tags":["Adjustments"],"summary":"Update an adjustment","operationId":"updateAdjustment","description":"Update an adjustment.\n **Token scopes**: `adjustments:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["updated"],"properties":{"updated":{"type":"boolean"}}}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"id","schema":{"type":"string"},"example":"5f4e1b2b-4b7b-4b7b-4b7b-4b7b4b7b4b7b","required":true,"description":"Deel adjustment id."}],"security":[{"deelToken":[]},{"oauth2":["adjustments:write"]}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"file":{"type":"string","format":"binary","example":"Your file here","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."}},"description":"Details of adjustment to update"}}}}},"required":true,"description":"Adjustment object that needs to be updated"}}},"/benefits/legal-entities/{legal_entity_id}/contracts/{contract_id}/plans/{plan_id}":{"get":{"tags":["Enrollments"],"summary":"Get enrollment settings from an employee in a 401k plan","operationId":"getEnrollmentSettingsFromAnEmployeeInA401KPlan-v2026-01-01","description":"Get enrollment settings from an employee in a 401k plan\n **Token scopes**: `benefits:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"5f4e1d1b-4b7b-4b7b-8b7b-4b7b4b7b4b7b","description":"Enrollment id."},"type":{"enum":["ROTH","TRAD","LOAN","NEC"],"type":"string","example":"ROTH","description":"Type of the contribution for 401k."},"details":{"type":"object","nullable":true,"properties":{"key":{"type":"string","example":"value","description":"A key-value pair providing additional details about the enrollment."}},"description":"Object containing additional information about the enrollment."},"contribution_type":{"enum":["PERCENTAGE","FIXED_AMOUNT"],"type":"string","example":"PERCENTAGE","description":"Type of contribution."},"contribution_limit":{"type":"number","example":100,"description":"Maximum limit of contribution."},"contribution_value":{"type":"string","example":"10.00","description":"Value of the contribution."}}}}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"legal_entity_id","schema":{"type":"string"},"example":"5f4e1d1b-4b7b-4b7b-8b7b-4b7b4b7b4b7b","required":true,"description":"Legal entity id which employee/contract belongs"},{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"5f4e1d1b-4b7b-4b7b-8b7b-4b7b4b7b4b7b","required":true,"description":"Contract id from the employee"},{"in":"path","name":"plan_id","schema":{"type":"string"},"example":"5f4e1d1b-4b7b-4b7b-8b7b-4b7b4b7b4b7b","required":true,"description":"Plan id to enroll the employee into"}],"security":[{"deelToken":[]},{"oauth2":["benefits:read"]}]},"post":{"tags":["Enrollments"],"summary":"Enroll an employee in a 401k plan","operationId":"enrollAnEmployeeInA401KPlan-v2026-01-01","description":"Enroll an employee in a 401k plan\n **Token scopes**: `benefits:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Enrollment id."},"type":{"enum":["ROTH","TRAD","LOAN","NEC"],"type":"string","example":"ROTH","description":"Type of the contribution for 401k."},"details":{"type":"object","properties":{"key":{"type":"string","example":"value","description":"A key-value pair providing additional details about the enrollment."}},"description":"Object containing additional information about the enrollment."},"contribution_type":{"enum":["PERCENTAGE","FIXED_AMOUNT"],"type":"string","example":"PERCENTAGE","description":"Type of contribution."},"contribution_limit":{"type":"number","example":100,"description":"Maximum limit of contribution."},"contribution_value":{"type":"number","example":10,"description":"Value of the contribution."}}}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"legal_entity_id","schema":{"type":"string"},"example":"fjej33","required":true,"description":"Legal entity id which employee/contract belongs"},{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"3xkrzj","required":true,"description":"Contract id from the employee"},{"in":"path","name":"plan_id","schema":{"type":"string"},"example":"o449sm","required":true,"description":"Plan id to enroll the employee into"}],"security":[{"deelToken":[]},{"oauth2":["benefits:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["type","contribution_limit"],"properties":{"type":{"enum":["ROTH","TRAD","LOAN","NEC"],"type":"string","example":"ROTH","description":"Type of the contribution for 401k."},"details":{"type":"object","properties":{"key":{"type":"string","example":"value","description":"A key-value pair providing additional details about the enrollment."}},"description":"Object containing additional information about the enrollment."},"contribution_type":{"enum":["PERCENTAGE","FIXED_AMOUNT"],"type":"string","example":"PERCENTAGE","description":"Type of contribution."},"contribution_limit":{"type":"number","example":100,"description":"Maximum limit of contribution."},"contribution_value":{"type":"number","example":10,"description":"Value of the contribution."}},"description":"Schema for the 401K Guideline Plan request body."}}},"required":true}}},"/legal-entities/{legal_entity_id}/cost-centers/synchronize":{"post":{"tags":["Cost Centers"],"summary":"Sync cost centers for legal entity","operationId":"syncCostCentersForLegalEntity-v2026-01-01","description":"Update legal entity cost center's data to replicate the data provided on the request\n **Token scopes**: `legal-entity:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"properties":{"id":{"type":"number","format":"int64","example":1234,"description":"Cost center id"},"created_at":{"type":"string","format":"date-time","example":"2025-01-01T00:00:00.000Z","description":"Cost center date of registration on Deel. Long date-time format following ISO-8601"},"updated_at":{"type":"string","format":"date-time","example":"2025-01-01T00:00:00.000Z","description":"Cost center date of most recent update on Deel. Long date-time format following ISO-8601"},"cost_center_name":{"type":"string","example":"HRIS main","description":"Cost center name to be displayed"},"cost_center_number":{"type":"string","example":"1254","description":"Cost center code"}}}}}}}},"description":"Cost center data was successfully updated"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"error":{"type":"string","example":"The effective date must be greater than or equal to 2025-06-30","description":"A description of the returned error"}}}},"request":{"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"}}}}}}},"description":"Cannot define legal entity cost centers as the provided data."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"error":{"type":"string","example":"Unexpected error","description":"A description of the returned error"}}}},"request":{"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"}}}}}}},"description":"Unexpected error"}},"parameters":[{"in":"path","name":"legal_entity_id","schema":{"type":"string"},"example":"ce652eb3-d49z-3675-8184-d873544eedf","required":true,"description":"Legal entity id"}],"security":[{"deelToken":[]},{"oauth2":["legal-entity:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["cost_center_name","cost_center_number"],"properties":{"cost_center_name":{"type":"string","example":"Business Unit","maxLength":255,"description":"Cost center name to be displayed"},"cost_center_number":{"type":"string","example":"2134 or F006000100","maxLength":255,"description":"Cost center code"}}}}}}}},"required":true,"description":"Cost center data to overwrite current configuration"}}},"/contracts/{contract_id}/ic-invoicing-taxes":{"get":{"tags":["IC invoicing taxes"],"summary":"Get IC invoicing taxes","operationId":"getIcInvoicingTaxes","description":"Use this endpoint to retrieve invoicing tax settings for an IC contract. Provide the contract_id to fetch vat.percentage and withholding_tax.percentage, which can be used when displaying or calculating taxes on invoices for the contract.\n **Token scopes**: `invoice-adjustments:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"37nex2x","description":"Deel contract ID"},"vat":{"type":"object","nullable":true,"properties":{"percentage":{"type":"number","example":"5.0","nullable":true,"description":"VAT percentage"}},"description":"VAT tax details (if applicable)"},"withholding_tax":{"type":"object","nullable":true,"properties":{"percentage":{"type":"number","example":"10.0","nullable":true,"description":"Withholding tax percentage"}},"description":"Withholding tax details (if applicable)"}}}}}}},"description":"IC invoicing taxes response"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_parameter","description":"Machine-readable error code"},"field":{"type":"string","example":"/data/example_field","description":"Name of the field causing the error (for validation issues)"},"message":{"type":"string","example":"Must have required property 'example_field'","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"service_unavailable","description":"Machine-readable error code"},"message":{"type":"string","example":"The service is currently experiencing issues","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"37nex2x","required":true,"description":"Deel Contract ID"}],"security":[{"deelToken":[]},{"oauth2":["invoice-adjustments:read"]}]},"post":{"tags":["IC invoicing taxes"],"summary":"Create IC invoicing tax","operationId":"createIcInvoicingTax","description":"Use this endpoint to create an invoicing tax for an independent contractor contract.\n **Token scopes**: `invoice-adjustments:write`","responses":{"201":{"description":"IC tax successfully created"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_parameter","description":"Machine-readable error code"},"field":{"type":"string","example":"/data/example_field","description":"Name of the field causing the error (for validation issues)"},"message":{"type":"string","example":"Must have required property 'example_field'","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"service_unavailable","description":"Machine-readable error code"},"message":{"type":"string","example":"The service is currently experiencing issues","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"37nex2x","required":true,"description":"Deel Contract ID"}],"security":[{"deelToken":[]},{"oauth2":["invoice-adjustments:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","required":["tax_type","percentage"],"properties":{"tax_type":{"enum":["WITHHOLDING_TAX","VAT"],"type":"string","example":"WITHHOLDING_TAX","nullable":false,"description":"Type of IC invoicing tax."},"percentage":{"type":"number","example":"5","nullable":false,"description":"Tax percentage amount."}}}}},"example":{"data":{"tax_type":"WITHHOLDING_TAX","percentage":"5"}}}},"required":true}},"patch":{"tags":["IC invoicing taxes"],"summary":"Update IC invoicing tax","operationId":"updateIcInvoicingTax","description":"Use this endpoint to update the invoicing tax for an independent contractor’s contract. Provide tax_type (WITHHOLDING_TAX or VAT) and percentage to adjust how taxes are applied to invoices.\n **Token scopes**: `invoice-adjustments:write`","responses":{"204":{"description":"IC tax successfully updated"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_parameter","description":"Machine-readable error code"},"field":{"type":"string","example":"/data/example_field","description":"Name of the field causing the error (for validation issues)"},"message":{"type":"string","example":"Must have required property 'example_field'","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"service_unavailable","description":"Machine-readable error code"},"message":{"type":"string","example":"The service is currently experiencing issues","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"37nex2x","required":true,"description":"Deel Contract ID"}],"security":[{"deelToken":[]},{"oauth2":["invoice-adjustments:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","required":["tax_type","percentage"],"properties":{"tax_type":{"enum":["WITHHOLDING_TAX","VAT"],"type":"string","example":"WITHHOLDING_TAX","nullable":false,"description":"Type of IC invoicing tax."},"percentage":{"type":"number","example":"5","nullable":false,"description":"Tax percentage amount."}}}}},"example":{"data":{"tax_type":"WITHHOLDING_TAX","percentage":"5"}}}},"required":true}}},"/immigration/workers/cases/{case_id}":{"get":{"tags":["Immigration"],"summary":"Get specific immigration case details ","operationId":"getSpecificImmigrationCaseDetails-v2026-04-02","description":"Get detailed information for a specific immigration case. Use this to check case status and track process progress. The id path parameter is the case UUID returned from the 'Create Client Case' endpoint. Response is enriched with applicant profile, visa type, case status, estimated completion date, process details, and compliance document details.\n **Token scopes**: `worker:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","example":"5f5b3b3b-4b3b-4b3b-4b3b-4b3b3b3b3b3b","description":"Unique identifier of immigration case."},"status":{"enum":["OPEN","CLOSED","ON_HOLD"],"type":"string","example":"OPEN","description":"Status of the immigration case."},"process":{"type":"object","properties":{"id":{"type":"string","example":"5f5b3b3b-4b3b-4b3b-4b3b-4b3b3b3b3b3b","description":"Unique identifier of the current active process."},"name":{"enum":["WORK_AUTHORIZATION_VERIFICATION"],"type":"string","example":"WORK_AUTHORIZATION_VERIFICATION","description":"Name of the current active process."},"status":{"enum":["CANCELLED","AWAITING_DOCUMENTS","IN_REVIEW","APPROVED","REJECTED","IN_PROGRESS"],"type":"string","example":"IN_REVIEW","description":"Status of the current active process."},"rejection_note":{"type":"string","example":"We couldn't accept the document because the file or photo that has been submitted cannot be read fully.","description":"A detailed description of why the case was rejected. Only available if the case status is REJECTED."},"rejection_reason":{"type":"string","example":"Poor image quality","description":"The reason why the case was rejected. Only available if the case status is REJECTED."}},"description":"The current active process"},"contract":{"type":"object","properties":{"id":{"type":"string","example":"359pr8y","nullable":true,"description":"Id of the contract associated with the immigration case"}},"description":"The contract associated with the returned immigration case","x-sensitive-employment":true},"applicant":{"type":"object","nullable":true,"properties":{"id":{"type":"string","example":"5f5b3b3b-4b3b-4b3b-4b3b-4b3b3b3b3b3b","description":"Unique identifier of the applicant profile id.","x-sensitive-pii":true},"external_id":{"type":"string","example":"123456","nullable":true,"description":"External identifier of the applicant  (from partner system or third party)."}},"description":"The employee for which this Right to Work case has been created for","x-sensitive-pii":true},"case_type":{"enum":["IMMIGRATION_DOCUMENT_REVIEW"],"type":"string","example":"IMMIGRATION_DOCUMENT_REVIEW","description":" Type of the case. It will always be IMMIGRATION_DOCUMENT_REVIEW for this endpoint."},"documents":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"5f5b3b3b-4b3b-4b3b-4b3b-4b3b3b3b3b3b","description":"Unique identifier of the document."},"status":{"enum":["IN_REVIEW","ACTIVE","EXPIRED","EXPIRING"],"type":"string","example":"EXPIRING","description":"Status of the document."},"document_type":{"type":"string","example":"Eu blue card","nullable":true,"description":"The type of the document. Represents the visa type for right to work cases."},"expiration_date":{"type":"string","format":"date-time","example":"2023-10-31T13:45:30Z","nullable":true,"description":"Expiry date of the document. If document does not expire, it will be null"}}},"description":"A list of documents associated to the immigration case"},"visa_type":{"type":"string","example":"Eu blue card","nullable":true,"description":"The type of the visa."},"created_at":{"type":"string","format":"date-time","example":"2023-10-31T13:45:30Z","description":"Creation date of the immigration case."},"updated_at":{"type":"string","format":"date-time","example":"2023-10-31T13:45:30Z","description":"Last activity on the immigration case."},"country_code":{"type":"string","example":"DE","description":"The country of the immigration case."},"estimated_completion_date":{"type":"string","format":"date-time","example":"2023-10-31T13:45:30Z","nullable":true,"description":"Estimated completion date of the immigration case."}}}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_parameter","description":"Machine-readable error code"},"field":{"type":"string","example":"/data/example_field","description":"Name of the field causing the error (for validation issues)"},"message":{"type":"string","example":"Must have required property 'example_field'","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"service_unavailable","description":"Machine-readable error code"},"message":{"type":"string","example":"The service is currently experiencing issues","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."}},"parameters":[{"in":"path","name":"case_id","schema":{"type":"string","format":"uuid"},"example":"e9b4ce94-2e3e-4d41-9faf-1ad2389cac1d","required":true,"description":"Filter by case ID"}],"security":[{"deelToken":[]},{"oauth2":["worker:read"]}]}},"/it/assets":{"get":{"tags":["IT assets"],"summary":"List IT assets","operationId":"listItAssets","description":"Retrieve a paginated list of all IT assets managed by the organization. This is useful for getting a complete overview of your equipment inventory and understanding the state of each asset. For more info, visit [Assets](https://developer.deel.com/docs/deel-it-api#assets).\n **Token scopes**: `it-assets:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","description":"Unique identifier of the item"},"grade":{"enum":["NEW","A","B","C","D","F"],"type":"string","example":"A","description":"The condition grade of the asset"},"status":{"enum":["ACTIVE","SUPPLIER_RETURN","STOLEN","LOST_IN_TRANSIT","WAITING_FOR_CLEARANCE","CLEARED","BINNED","LEFT_WITH_USER","SHRINKAGE","DAMAGED_BY_USER","DAMAGED_IN_TRANSIT","DAMAGED_AT_WAREHOUSE","BEING_REPAIRED","BROKEN_BY_USER","BROKEN_IN_TRANSIT","BROKEN_AT_WAREHOUSE","ADDED_BY_MISTAKE","RETURNED_TO_DEEL"],"type":"string","example":"ACTIVE","description":"Current state of the asset"},"product":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","description":"Unique identifier of the product"},"name":{"type":"string","example":"MacBook Pro","description":"Product name"},"brand":{"type":"string","example":"Apple","description":"Product brand"},"category":{"enum":["ADAPTER","CABLE","CHAIR","CHARGER","DESK","DESK_RISER","DESK_TIDY","DESKTOP","DOCKING_STATION","DONGLE","FOOTREST","HEADSET","KEYBOARD","LAPTOP","LAPTOP_STAND","MICE_TRACKPAD","MOBILE_DEVICE","MONITOR","MONITOR_ARM","OTHER","PRINTER","SHREDDER","STANDING_MAT","TABLET","TASK_LIGHT","WEBCAM","WIFI_RANGE_EXTENDER","WELCOME_PACK"],"type":"string","example":"LAPTOP","description":"Product category"}},"description":"Product details"},"location":{"enum":["WITH_USER","AT_WAREHOUSE","DEEL_WAREHOUSE","ORGANIZATION_WAREHOUSE","CLEARANCE_WAREHOUSE","SUPPLIER","WITH_COURIER","WRITE_OFF"],"type":"string","example":"WITH_USER","description":"Current location type of the asset"},"ownership":{"type":"object","properties":{"name":{"type":"string","example":"Deel","description":"Asset owner name"},"type":{"enum":["DEEL","ORGANIZATION"],"type":"string","example":"DEEL","description":"Asset owner type"}},"description":"Asset owner"},"created_at":{"type":"string","format":"date-time","example":"2025-08-08T09:49:01.000Z","description":"Creation timestamp of the asset"},"updated_at":{"type":"string","format":"date-time","example":"2025-08-08T09:49:01.000Z","description":"Last update timestamp of the asset"},"assigned_user":{"type":"object","nullable":true,"properties":{"emails":{"type":"array","items":{"type":"string","format":"email"},"example":["bruce.wayne@wayne-enterprise.com","batman@gotham.com"],"description":"Array of user email addresses","x-sensitive-pii":true,"x-sensitive-employment":true},"address":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","description":"Unique identifier of the address"},"city":{"type":"string","example":"Gotham","nullable":true,"description":"City name","x-sensitive-pii":true,"x-sensitive-employment":true},"type":{"enum":["PII","PARTIAL","DELIVERY","COLLECTION","ENTITY","SUPPLIER","BILLING"],"type":"string","example":"DELIVERY","description":"Type of the address"},"line1":{"type":"string","example":"1007 Mountain Drive","nullable":true,"description":"Address line 1","x-sensitive-pii":true,"x-sensitive-employment":true},"line2":{"type":"string","example":"Stately Wayne Manor","nullable":true,"description":"Address line 2","x-sensitive-pii":true,"x-sensitive-employment":true},"state":{"type":"string","example":"New Jersey","nullable":true,"description":"State code or name","x-sensitive-pii":true},"country":{"enum":["AD","AE","AF","AG","AI","AL","AM","AN","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","IC","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","XK","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","YT","ZA","ZM","ZW"],"type":"string","example":"US","description":"Country code","x-sensitive-pii":true},"is_valid":{"type":"boolean","example":true,"description":"Whether the address passes validation"},"post_code":{"type":"string","example":"12345","nullable":true,"description":"Post code","x-sensitive-pii":true,"x-sensitive-employment":true},"phone_number":{"type":"string","example":"+1-212-456-7890","nullable":true,"description":"Phone number","x-sensitive-pii":true,"x-sensitive-employment":true},"date_of_birth":{"type":"string","format":"date","example":"1997-12-18","nullable":true,"description":"Date of birth (applicable for some address types)","x-sensitive-pii":true},"tax_id_number":{"type":"string","example":"BAT123456","nullable":true,"description":"Tax ID number (applicable for some address types)","x-sensitive-pii":true,"x-sensitive-employment":true},"passport_number":{"type":"string","example":"P123456789","nullable":true,"description":"Passport number (applicable for some address types)","x-sensitive-pii":true,"x-sensitive-employment":true},"delivery_instructions":{"type":"string","example":"Use the Bat-Signal if urgent","nullable":true,"description":"Special instructions for deliveries","x-sensitive-pii":true}},"description":"User address details"},"last_name":{"type":"string","example":"Wayne","description":"Last name of the user","x-sensitive-pii":true},"first_name":{"type":"string","example":"Bruce","description":"First name of the user","x-sensitive-pii":true},"hris_profile_id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","description":"The unique identifier of the HRIS profile of the assigned user"}},"description":"Details of the user with asset possession"},"purchase_date":{"type":"string","format":"date","example":"2025-08-08","nullable":true,"description":"Purchase date of the asset"},"serial_number":{"type":"string","example":"SN123456","nullable":true,"description":"Asset serial number","x-sensitive-pii":true},"purchase_value":{"type":"object","nullable":true,"properties":{"amount":{"type":"string","example":"1999.99","description":"Amount"},"currency":{"enum":["EUR","AED","AFN","XCD","ALL","AMD","AOA","ARS","USD","AUD","AWG","AZN","BAM","BDT","XOF","BGN","BHD","BIF","BMD","SGD","BOB","BRL","BSD","BTN","BWP","BYN","BZD","CAD","CDF","XAF","CHF","NZD","CLP","CNY","COP","CRC","CUC","CVE","ANG","CZK","DJF","DOP","DZD","EGP","MAD","ERN","ETB","FJD","FKP","DKK","GBP","GEL","GHS","GIP","GMD","GNF","GTQ","GYD","HKD","HNL","HRK","HTG","HUF","IDR","ILS","INR","IQD","IRR","ISK","JMD","JOD","JPY","KES","KGS","KHR","KMF","KPW","KRW","WST","KWD","KYD","KZT","LAK","LBP","LKR","LRD","LSL","LTL","LYD","MDL","MGA","MKD","MMK","MNT","MRU","MUR","MVR","MWK","MXN","MYR","MZN","NAD","XPF","NGN","NIO","NOK","NPR","OMR","PAB","PEN","PGK","PHP","PKR","PLN","PYG","QAR","RON","RSD","RUB","RWF","SAR","SBD","SCR","SDG","SEK","SHP","SLL","SOS","SRD","SSP","STD","SYP","SZL","THB","TJS","TMT","TND","TOP","TRY","TTD","TWD","TZS","UAH","UGX","UYU","UZS","VEF","VND","VUV","YER","ZAR","ZMW","ZWD"],"type":"string","example":"EUR","description":"Three-letter currency code for the price"}},"description":"Purchase value of the asset"},"assigned_warehouse":{"type":"object","nullable":true,"properties":{"id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","description":"Unique identifier of the warehouse"},"name":{"type":"string","example":"Batcave Warehouse","description":"Warehouse or storage location name"},"address":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","description":"Unique identifier of the address"},"city":{"type":"string","example":"Gotham","nullable":true,"description":"City name","x-sensitive-pii":true,"x-sensitive-employment":true},"type":{"enum":["PII","PARTIAL","DELIVERY","COLLECTION","ENTITY","SUPPLIER","BILLING"],"type":"string","example":"DELIVERY","description":"Type of the address","x-sensitive-employment":true},"line1":{"type":"string","example":"1007 Mountain Drive","nullable":true,"description":"Address line 1","x-sensitive-pii":true,"x-sensitive-employment":true},"line2":{"type":"string","example":"Stately Wayne Manor","nullable":true,"description":"Address line 2","x-sensitive-pii":true,"x-sensitive-employment":true},"state":{"type":"string","example":"New Jersey","nullable":true,"description":"State code or name","x-sensitive-pii":true},"country":{"enum":["AD","AE","AF","AG","AI","AL","AM","AN","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","IC","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","XK","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","YT","ZA","ZM","ZW"],"type":"string","example":"US","description":"Country code","x-sensitive-pii":true},"is_valid":{"type":"boolean","example":true,"description":"Whether the address passes validation"},"post_code":{"type":"string","example":"12345","nullable":true,"description":"Post code","x-sensitive-pii":true,"x-sensitive-employment":true},"phone_number":{"type":"string","example":"+1-212-456-7890","nullable":true,"description":"Phone number","x-sensitive-pii":true,"x-sensitive-employment":true},"date_of_birth":{"type":"string","format":"date","example":"1997-12-18","nullable":true,"description":"Date of birth (applicable for some address types)","x-sensitive-pii":true},"tax_id_number":{"type":"string","example":"BAT123456","nullable":true,"description":"Tax ID number (applicable for some address types)","x-sensitive-pii":true,"x-sensitive-employment":true},"passport_number":{"type":"string","example":"P123456789","nullable":true,"description":"Passport number (applicable for some address types)","x-sensitive-pii":true,"x-sensitive-employment":true},"delivery_instructions":{"type":"string","example":"Use the Bat-Signal if urgent","nullable":true,"description":"Special instructions for deliveries","x-sensitive-pii":true,"x-sensitive-employment":true}},"description":"Warehouse address details"},"ownership":{"enum":["DEEL","ORGANIZATION"],"type":"string","example":"DEEL","description":"Warehouse ownership type"},"warehouse_type":{"enum":["DEEL","ORGANIZATION","CLEARANCE"],"type":"string","example":"DEEL","description":"Warehouse type"}},"description":"Details of the warehouse with asset possession"}}}},"has_more":{"type":"boolean","example":true,"description":"Whether there are more results available"},"next_cursor":{"type":"string","example":"d3m0d3m0d3m0d3m0d3m0d3m0d3m0d3m0d3m0d3m","nullable":true,"description":"Cursor to the next page"},"total_count":{"type":"integer","example":133,"description":"Total number of records"}}}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"insufficient_permission","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"first_name","description":"The field name where input validation failed"},"message":{"type":"string","example":"human readable error message","description":"Description of the returned error"}}}}}}}},"description":"Bad Request"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"insufficient_permission","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"first_name","description":"The field name where input validation failed"},"message":{"type":"string","example":"human readable error message","description":"Description of the returned error"}}}}}}}},"description":"Internal Server Error"}},"parameters":[{"in":"query","name":"cursor","schema":{"type":"string"},"example":"d3m0d3m0d3m0d3m0d3m0d3m0d3m0d3m0d3m0d3m","description":"Indicates where the next page of results starts, as returned in a paginated list response"},{"in":"query","name":"limit","schema":{"type":"integer","default":20,"maximum":100,"minimum":1},"example":10,"description":"Return a page of results with given number of records"},{"in":"query","name":"hris_profile_id","schema":{"type":"string","format":"uuid"},"example":"123e4567-e89b-12d3-a456-426614174000","description":"Filter assets by assigned worker with given HRIS Profile ID"},{"in":"query","name":"location","schema":{"enum":["WITH_USER","AT_WAREHOUSE","DEEL_WAREHOUSE","ORGANIZATION_WAREHOUSE","CLEARANCE_WAREHOUSE","SUPPLIER","WITH_COURIER","WRITE_OFF"],"type":"string"},"example":"AT_WAREHOUSE","description":"Filter assets by their location"},{"in":"query","name":"category","schema":{"enum":["ADAPTER","CABLE","CHAIR","CHARGER","DESK","DESK_RISER","DESK_TIDY","DESKTOP","DOCKING_STATION","DONGLE","FOOTREST","HEADSET","KEYBOARD","LAPTOP","LAPTOP_STAND","MICE_TRACKPAD","MOBILE_DEVICE","MONITOR","MONITOR_ARM","OTHER","PRINTER","SHREDDER","STANDING_MAT","TABLET","TASK_LIGHT","WEBCAM","WIFI_RANGE_EXTENDER","WELCOME_PACK"],"type":"string"},"example":"DESK","description":"Filter assets by their product category"},{"in":"query","name":"status","schema":{"enum":["ACTIVE","ARCHIVED"],"type":"string"},"example":"ARCHIVED","description":"Filter assets by their status"}],"security":[{"deelToken":[]},{"oauth2":["it-assets:read"]}]}},"/contracts/{contract_id}/payment_cycles":{"get":{"tags":["Contracts"],"summary":"Retrieve contractor payment dates","operationId":"retrieveContractorPaymentDates","description":"Fetches a list of payment dates associated with a specific contract. This endpoint provides information on when contractors are scheduled to be paid, along with the current status of each payment cycle.\n **Token scopes**: `contracts:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","due_date","status"],"properties":{"id":{"type":"string","format":"uuid","example":"00000000-0000-0000-0000-000000000000","description":"Unique identifier for the payment."},"status":{"enum":["active","upcoming","awaiting_payment","overdue"],"type":"string","nullable":false,"description":"The current status of the payment cycle."},"due_date":{"type":"string","format":"date-time","example":"2024-12-07T04:59:59.999Z","description":"The date and time when the payment is due."}}}}}},"examples":{"success":{"value":{"data":[{"id":"123e4567-e89b-12d3-a456-426614174000","status":"upcoming","due_date":"2024-12-07T04:59:59.999Z"},{"id":"223e4567-e89b-12d3-a456-426614174001","status":"active","due_date":"2024-12-01T04:59:59.999Z"}]},"summary":"Example response"}}}},"description":"A successful response containing contractor payment dates."},"400":{"content":{"application/json":{"examples":{"error":{"value":{"error":{"code":400,"message":"The 'contract_id' parameter is required and must be valid."}},"summary":"Example error response"}}}},"description":"Invalid request parameters."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"content":{"application/json":{"examples":{"error":{"value":{"error":{"code":404,"message":"No payment dates found for the specified contract ID."}},"summary":"Example not found response"}}}},"description":"Contract not found."},"500":{"content":{"application/json":{"examples":{"error":{"value":{"error":{"code":500,"message":"An unexpected error occurred while processing the request."}},"summary":"Example server error response"}}}},"description":"Internal server error."}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"required":true,"description":"The Deel contract ID for which payment dates are being retrieved."}],"security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]}},"/workers/session":{"post":{"tags":["Worker Session"],"summary":"Create worker access token","operationId":"createWorkerAccessToken","description":"Creates a worker access token\n **Token scopes**: `admin:worker`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["token","expires_at"],"properties":{"token":{"type":"string","example":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c","description":"Access token"},"expires_at":{"type":"string","format":"date-time","example":"2023-10-01T12:00:00Z","description":"Expiration date of the access token"}}}}}}},"description":"Successful operation"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"security":[{"deelToken":[]},{"oauth2":["admin:worker"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["profile_id"],"properties":{"profile_id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000","description":"The ID of the profile to create access token for"}}}}}}},"required":true}}},"/contracts/{contract_id}/invitations":{"delete":{"tags":["Contracts"],"summary":"Remove invite","operationId":"uninviteToSignContract","description":"Remove invite in order to re-invite a worker to sign the contract\n **Token scopes**: `contracts:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["deleted"],"properties":{"deleted":{"type":"boolean","nullable":false,"description":"Confirms the deletion."}}}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"37nex2x","required":true,"description":"Deel contract id."}],"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}]},"post":{"tags":["Contracts"],"summary":"Send contract to worker","operationId":"inviteToSignContract","description":"Invite a worker to sign the contract. Worker will be notified via email\n **Token scopes**: `contracts:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["created"],"properties":{"created":{"type":"boolean"}}}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"37nex2x","required":true,"description":"Deel contract id."}],"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"email":{"type":"string","format":"email","example":"john@example.com","description":"Worker email"},"locale":{"enum":["en","es","fr","de","it","pt","pl","nn","nl","da","deAT","fi","sv","nlBE","ja"],"type":"string","default":"en","example":"en","description":"Locale of the email"},"message":{"type":"string","example":"Please sign the contract","description":"Message to the worker"}}}}}}},"required":true}}},"/contracts/{contract_id}/tasks/{task_id}":{"delete":{"tags":["Tasks"],"summary":"Delete task","operationId":"deleteContractTaskById","description":"Delete a specific task associated with the contract. Optionally, a reason can be provided for auditing or documentation purposes.\n **Token scopes**: `contracts:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["deleted"],"properties":{"deleted":{"type":"boolean","example":true,"nullable":false,"description":"Indicates whether the task was successfully deleted."}}}}}}},"description":"The task was successfully deleted."},"400":{"description":"Invalid request. For example, missing required parameters or invalid format."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"description":"Permission denied. The user does not have the required access to delete the task."},"404":{"description":"The specified task or contract was not found."},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"37nex2x","required":true,"description":"The unique identifier of the Deel contract."},{"in":"path","name":"task_id","schema":{"type":"string"},"example":"123e4567-e89b-12d3-a456-426614174000","required":true,"description":"The unique identifier of the task to be deleted."},{"in":"query","name":"reason","schema":{"type":"string"},"example":"Task is no longer required due to scope changes.","required":false,"description":"The reason for deleting the task. This can be used for auditing purposes."}],"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}]}},"/lookups/countries":{"get":{"tags":["Lookups"],"summary":"Retrieve Country List","operationId":"retrieveCountryList","description":"Retrieve a list of countries supported by Deel, along with details about visa and EoR support, sub-territories, and their classifications.","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","required":["code","name","visa_support","eor_support","state_type","states","default_currency"],"properties":{"code":{"type":"string","example":"US","pattern":"^[A-Z]{2}$","maxLength":2,"minLength":2,"description":"The ISO 3166-1 alpha-2 country code."},"name":{"type":"string","example":"United States","nullable":false,"minLength":1,"description":"The official name of the country."},"states":{"type":"array","items":{"type":"object","required":["code","name"],"properties":{"code":{"type":"string","example":"NY","nullable":false,"minLength":1,"description":"The code representing the sub-territory (e.g., state or region)."},"name":{"type":"string","example":"New York","nullable":false,"minLength":1,"description":"The name of the sub-territory (e.g., state or region)."}}},"description":"List of sub-territories within the country. These may be called states, provinces, prefectures, regions, or may not exist."},"state_type":{"type":"string","example":"state","nullable":true,"description":"The designation for sub-territories within the country, such as 'state', 'province', 'prefecture', or 'region'. If none, this field will be null."},"eor_support":{"type":"boolean","nullable":false,"description":"Indicates whether Deel provides Employer of Record (EoR) support in this country."},"visa_support":{"type":"boolean","nullable":false,"description":"Indicates whether Deel provides visa support for employees being hired in this country."},"default_currency":{"type":"string","example":"USD","pattern":"^[A-Z]{3}$","maxLength":3,"minLength":3,"description":"Indicates the default currency 3-letter ISO code"}}}}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":[]}]}},"/ic/workers/invoices/{invoice_id}/pdf":{"get":{"tags":["Workers"],"summary":"/ic/workers/invoices/:invoice_id/pdf","operationId":"icWorkersInvoicesInvoiceIdPdf-v2026-04-20","description":"This endpoint provides embedded worker flows access to download a pdf of a specific invoice while using a worker:PAT token.\n **Token scopes**: `accounting:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["url"],"properties":{"url":{"type":"string","format":"uri","example":"https://storage.example.com/invoices/abc.pdf","description":"HTTPS URL to download the invoice PDF."}},"description":"Payload with the signed download URL.","x-sensitive-pii":true,"x-sensitive-employment":true}},"description":"Envelope containing a time-limited signed URL to the invoice PDF."}}},"description":"Signed PDF URL for download."},"400":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"validation_error","description":"Machine-readable error code"},"field":{"type":"string","example":"/query/limit","description":"JSON pointer to the invalid field"},"details":{"type":"object","example":{},"description":"Optional structured details","additionalProperties":true},"message":{"type":"string","example":"Invalid query parameter.","description":"Human-readable explanation of the error"}}},"minItems":1}}}}},"description":"Bad request (invalid query parameters)."},"401":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"unauthorized"},"field":{"type":"string","example":"/headers/authorization"},"details":{"type":"object","example":{},"additionalProperties":true},"message":{"type":"string","example":"Missing or invalid token."}}},"minItems":1}}}}},"description":"Unauthorized (missing or invalid worker token)."},"403":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"forbidden"},"field":{"type":"string","example":"/path/invoice_id"},"details":{"type":"object","example":{},"additionalProperties":true},"message":{"type":"string","example":"You do not have access to this resource."}}},"minItems":1},"request":{"type":"object","properties":{"url":{"type":"string","example":"https://api.deel.com/ic/workers/invoices"},"method":{"type":"string","example":"GET"},"status":{"type":"integer","example":403}},"description":"Present for some public API responses (e.g. when x-is-api-call is set).","additionalProperties":true}}}}},"description":"Forbidden (invoice not found or not accessible to this worker)."},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"412":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"precondition_failed"},"field":{"type":"string","example":"/organization"},"details":{"type":"object","example":{},"additionalProperties":true},"message":{"type":"string","example":"Feature is disabled for the organization"}}},"minItems":1}}}}},"description":"Precondition failed (e.g. icEmbeddedWorkerSetup is not enabled for the organization)."},"500":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"internal_error"},"field":{"type":"string","example":"/"},"details":{"type":"object","example":{},"additionalProperties":true},"message":{"type":"string","example":"An unexpected error occurred."}}},"minItems":1}}}}},"description":"Internal server error."}},"parameters":[{"in":"path","name":"invoice_id","schema":{"type":"string","format":"uuid"},"example":"aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee","required":true,"description":"Public invoice identifier (UUID) for the invoice whose PDF URL is returned."}],"security":[{"deelToken":[]},{"oauth2":["accounting:read"]}]}},"/lookups/time-off-types":{"get":{"tags":["Lookups"],"summary":"Retrieve Time-Off Types","operationId":"retrieveTimeOffTypes","description":"Retrieve a list of predefined time-off types that can be registered in the Deel platform.","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"enum":["VACATION","SICK_LEAVE","OTHER","UNPAID_LEAVE"],"type":"string","description":"Predefined time-off types. Possible values include 'VACATION', 'SICK_LEAVE', 'UNPAID_LEAVE'  and 'OTHER'."},"example":["VACATION","SICK_LEAVE","OTHER","UNPAID_LEAVE"],"description":"List of predefined time-off types supported by the Deel platform."}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","description":"Error message describing what went wrong."}}},"example":[{"message":"Not found"}],"description":"Array of error objects containing error messages."}}}}},"description":"Resource not found."},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":[]}]}},"/forms/gp/worker-additional-fields/{country_code}":{"get":{"tags":["Global Payroll"],"summary":"Retrieve additional information fields for GP workers by country","operationId":"retrieveAdditionalInformationFieldsForGpWorkersByCountry-v2026-01-01","description":"Retrieves GP workers additional information fields that are required for running payroll depending on the country regulations\n **Token scopes**: `forms:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["key","type","is_required","ui_guide","validation","dependencies"],"properties":{"key":{"type":"string","example":"additional_name","description":"Use this value as the field identifier when submitting additional information. Represents the snake_case version of the internal field name, generated by the API naming convention service."},"type":{"enum":["string","number","boolean",""],"type":"string","example":"string","description":"Use this value to determine the data type expected when submitting field values. Mapped from the raw input type: 'date', 'text', 'select', 'textarea', 'tel', 'phone', and 'string' map to \"string\"; 'number' maps to \"number\"; 'checkbox' maps to \"boolean\". An empty string indicates an unrecognized input type."},"ui_guide":{"type":"object","required":["label","local_label","field_type","order","description","helper_text"],"properties":{"label":{"type":"string","example":"Preferred Name / Additional Name","description":"Use this value as the primary English-language label when rendering the field in the UI."},"order":{"type":"integer","example":1,"minimum":1,"description":"Use this value to determine the display position of the field in the form. Starts at 1 and reflects the position in the response array, which is pre-sorted by the configured display order."},"field_type":{"type":"string","example":"text","description":"Use this value to select the appropriate UI input component. Represents the raw input type from the field configuration. Known values include 'text', 'date', 'select', 'textarea', 'tel', 'phone', 'number', 'checkbox', and 'string'. Additional values may exist."},"description":{"type":"string","example":"Preferred name / Additional name","description":"Use this value to display supplementary context about the field below or beside the input. HTML tags are stripped. Returns an empty string when no description is configured."},"helper_text":{"type":"string","example":"","description":"Use this value to display footnote or instructional text near the field. HTML tags are stripped. Returns an empty string when no helper text is configured."},"local_label":{"type":"string","example":"Imie preferowane","description":"Use this value as the localized field label when rendering the form in the worker's local language."}},"description":"Use this object to control how the field is rendered in the UI. Contains labels, input type, display order, and supplementary text."},"validation":{"type":"array","items":{"type":"object","required":["type","error_message"],"properties":{"type":{"type":"string","example":"REGEX","description":"Use this value to determine which validation strategy to apply. \"REGEX\" indicates the 'value' field contains a regular expression pattern. Any other value indicates a custom validation type identified by its uppercase name."},"value":{"type":"string","example":"^[A-Za-z\\s]+$","description":"Use this value as the validation parameter. For REGEX type, contains the regular expression pattern to validate the field input against. Absent when the validation type is a custom type that does not require a parameter."},"error_message":{"type":"string","example":"Review the value entered","description":"Use this message to display to the user when the field value fails validation. Defaults to 'Review the value entered' when no custom message is configured."}}},"description":"Use this array to apply client-side validation before form submission. Contains zero or one validation rule per field. An empty array means no validation is configured."},"is_required":{"type":"boolean","example":false,"description":"Use this flag to determine whether the field must be provided when submitting additional information. For GP workers, the value considers the GP-specific optionality setting when available, falling back to the general optionality flag."},"required_by":{"type":"string","example":"before_payroll","description":"Use this value to determine at which stage in the payroll lifecycle this field must be collected. Known values: 'before_payroll' (required before payroll processing), 'after_payroll' (can be collected after initial payroll), 'contract_signing' (required at contract signing). Absent from the response when no lifecycle stage is configured."},"dependencies":{"type":"array","items":{"type":"object","required":["key","value"],"properties":{"key":{"type":"string","example":"country","description":"Use this value to identify the field that this dependency refers to. Contains the snake_case key of the dependency field, matching another field's 'key' property in the same response."},"value":{"oneOf":[{"type":"string","example":"UK"},{"type":"number","example":18},{"type":"boolean","example":true},{"type":"object","example":{"op":"gt","value":18},"required":["op","value"],"properties":{"op":{"enum":["eq","ne","gt","lt","notnull","contains"],"type":"string","example":"gt","description":"Use this operator to evaluate the dependency condition against the referenced field's submitted value."},"value":{"example":18,"description":"Use this value as the operand for the dependency condition evaluation."}}}],"example":"UK","description":"Use this value to evaluate the dependency condition. When the value is a primitive (string, number, or boolean), the condition is satisfied when the referenced field equals this value. When the value is an object with 'op' and 'value' properties, apply the specified operator: 'eq' (equals), 'ne' (not equals), 'gt' (greater than), 'lt' (less than), 'notnull' (field is not null), 'contains' (field value contains the specified substring)."}}},"description":"Use this array to implement conditional field visibility. When non-empty, this field should only be displayed and required when the referenced dependency conditions are met. An empty array means the field has no conditional dependencies."},"values_allowed":{"type":"array","items":{"type":"string"},"example":["Single","Married","Divorced","Widowed"],"description":"Use this array to populate dropdown or select options when field_type is 'select'. Only present when the field has predefined options. Absent from the response for free-text, date, number, and other non-select field types."}}},"description":"Use this array to build the form UI. Each item defines one field with its type, validation, and display configuration. Items are pre-sorted by EDM display order. An empty array means no additional fields are configured for the requested country."}}},"example":{"data":[{"key":"additional_name","type":"string","ui_guide":{"label":"Preferred Name / Additional Name","order":1,"field_type":"text","description":"Preferred name / Additional name","helper_text":"","local_label":"Imie preferowane"},"validation":[{"type":"REGEX","value":"^.*$","error_message":"Review the value entered"}],"is_required":false,"required_by":"before_payroll","dependencies":[]},{"key":"dob","type":"string","ui_guide":{"label":"Date of Birth","order":2,"field_type":"date","description":"Date of Birth","helper_text":"","local_label":"Data urodzenia"},"validation":[{"type":"REGEX","value":"^.*$","error_message":"Review the value entered"}],"is_required":true,"required_by":"before_payroll","dependencies":[{"key":"country","value":"UK"}]},{"key":"marital_status","type":"string","ui_guide":{"label":"Marital Status","order":3,"field_type":"select","description":"Marital status of the worker","helper_text":"Select the worker's current marital status","local_label":"Stan cywilny"},"validation":[],"is_required":true,"required_by":"contract_signing","dependencies":[],"values_allowed":["Single","Married","Divorced","Widowed"]}]}}},"description":"Use this response to render dynamic form fields for GP worker onboarding. Contains field configuration, validation rules, display metadata, and dependency logic needed to build country-specific additional information forms."},"400":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"key":{"type":"string","example":"country_code","description":"Use this value to identify which parameter caused the validation failure."},"path":{"type":"array","items":{"type":"string"},"example":["params","country_code"],"description":"Use this array to locate the parameter in the request structure. The first element indicates the parameter source (params, query, body)."},"type":{"type":"string","example":"any.only","description":"Use this value to programmatically identify the Joi validation rule that failed."},"message":{"type":"string","example":"\"country_code\" must be one of [US, GB, ES, ...]","description":"Use this message to understand what validation rule was violated."}}},"minItems":1,"description":"Use this array to identify each validation failure. Each item describes one parameter that failed validation."}}},"example":{"errors":[{"key":"country_code","path":["params","country_code"],"type":"any.only","message":"\"country_code\" must be one of [US, GB, ES, ...]"}]}}},"description":"Returned when the country_code path parameter is not a recognized ISO 3166-1 alpha-2 code."},"401":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Authentication required. Please provide a valid access token.","description":"Use this message to identify the authentication failure reason."}}},"minItems":1}}},"example":{"errors":[{"message":"Authentication required. Please provide a valid access token."}]}}},"description":"Authentication failed. The access token is missing, expired, or invalid."},"403":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"You do not have permission to access this resource.","description":"Use this message to identify the authorization failure reason."}}},"minItems":1}}},"example":{"errors":[{"message":"You do not have permission to access this resource."}]}}},"description":"Access denied. The authenticated user does not have the required forms:read scope."},"404":{"content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Additional info template not found","description":"Use this message to understand why the request failed. Indicates the country does not have an additional info template configured."}}},"example":{"message":"Additional info template not found"}}},"description":"The country_code is a valid ISO code but no additional information template exists for it in the Employee Data Management system."},"429":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Too many requests. Please retry after some time.","description":"Use this message to detect rate limiting. Implement exponential backoff before retrying."}}},"minItems":1}}},"example":{"errors":[{"message":"Too many requests. Please retry after some time."}]}}},"description":"Rate limit exceeded. The client has sent too many requests in a given time window."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Internal Server Error","description":"Use this message for logging and debugging purposes. Contains a general error description."}}},"example":{"message":"Internal Server Error"}}},"description":"Internal server error. Returned when the Employee Data Management service is unreachable, or an unexpected error occurs during field retrieval."}},"parameters":[{"in":"path","name":"country_code","schema":{"type":"string"},"example":"ES","required":true,"description":"ISO 3166-1 alpha-2 country code for which to retrieve GP worker additional fields."}],"security":[{"deelToken":[]},{"oauth2":["forms:read"]}]}},"/immigration/client/cases/{id}":{"get":{"tags":["Immigration"],"summary":"Get immigration case details","operationId":"getImmigrationCaseDetails-v2026-01-01","description":"Get detailed information for a specific immigration case. Use this to check case status and track process progress. The id path parameter is the case UUID returned from the 'Create Client Case' endpoint. Response is enriched with applicant profile, visa type, case status, estimated completion date, process details, and compliance document details.\n **Token scopes**: `immigration:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","example":"5f5b3b3b-4b3b-4b3b-4b3b-4b3b3b3b3b3b","description":"Unique identifier of immigration case."},"status":{"enum":["OPEN","CLOSED","ON_HOLD"],"type":"string","example":"OPEN","description":"Status of the immigration case."},"process":{"type":"object","properties":{"id":{"type":"string","example":"5f5b3b3b-4b3b-4b3b-4b3b-4b3b3b3b3b3b","description":"Unique identifier of the current active process."},"name":{"type":"string","example":"Document check","description":"Name of the current active process."},"status":{"type":"string","example":"In Review","description":"Status of the current active process."}}},"applicant":{"type":"object","nullable":true,"properties":{"id":{"type":"string","example":"5f5b3b3b-4b3b-4b3b-4b3b-4b3b3b3b3b3b","description":"Unique identifier of the applicant profile id."},"external_id":{"type":"string","example":"123456","nullable":true,"description":"External identifier of the applicant."}}},"case_type":{"type":"string","example":"Right to Work","description":"Name of the case type"},"documents":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"5f5b3b3b-4b3b-4b3b-4b3b-4b3b3b3b3b3b","description":"Unique identifier of the document."},"status":{"enum":["IN_REVIEW","APPROVED","REJECTED"],"type":"string","example":"APPROVED","description":"Status of the document."},"document_type":{"type":"string","example":"Eu blue card","description":"The type of the document. Represents the visa type for right to work cases."},"expiration_date":{"type":"string","format":"date-time","example":"2023-10-31T13:45:30Z","description":"Expiry date of the document."}}},"x-sensitive-pii":true},"visa_type":{"type":"string","example":"Eu blue card","nullable":true,"description":"The type of the the visa."},"country_code":{"type":"string","example":"DE","description":"The country of the immigration case."},"last_update_at":{"type":"string","format":"date-time","example":"2023-10-31T13:45:30Z","description":"Last activity on the immigration case."},"case_created_at":{"type":"string","format":"date-time","example":"2023-10-31T13:45:30Z","description":"Creation date of the immigration case."},"estimated_completion_date":{"type":"string","format":"date-time","example":"2023-10-31T13:45:30Z","nullable":true,"description":"Estimated completion date of the immigration case."}}}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_parameter","description":"Machine-readable error code"},"field":{"type":"string","example":"/data/example_field","description":"Name of the field causing the error (for validation issues)"},"message":{"type":"string","example":"Must have required property 'example_field'","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"service_unavailable","description":"Machine-readable error code"},"message":{"type":"string","example":"The service is currently experiencing issues","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."}},"parameters":[{"in":"path","name":"id","schema":{"type":"string"},"example":"e9b4ce94-2e3e-4d41-9faf-1ad2389cac1d","required":true,"description":"Immigration case id"}],"security":[{"deelToken":[]},{"oauth2":["immigration:read"]}]}},"/hris/worker_relations/types/{type_id}":{"delete":{"tags":["Worker Relations"],"summary":"Delete a worker relation type","operationId":"deleteAWorkerRelationType-v2026-01-01","description":"Deletes an existing worker relationship type.\n **Token scopes**: `organizations:write`","responses":{"204":{"description":"Successfully deleted"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_parameter","description":"Machine-readable error code"},"field":{"type":"string","example":"/data/example_field","description":"Name of the field causing the error (for validation issues)"},"message":{"type":"string","example":"Must have required property 'example_field'","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"service_unavailable","description":"Machine-readable error code"},"message":{"type":"string","example":"The service is currently experiencing issues","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."}},"parameters":[{"in":"path","name":"type_id","schema":{"type":"string","format":"uuid"},"example":"3fa85f64-5717-4562-b3fc-2c963f66afa6","required":true,"description":"Worker Relation Type ID"}],"security":[{"deelToken":[]},{"oauth2":["organizations:write"]}]}},"/time_offs/policy-validation-templates":{"get":{"tags":["Time Off"],"summary":"Retrieve policy validation templates","operationId":"retrievePolicyValidationTemplates","description":"Retrieves policy validation templates and policy types based on the provided countries. Policy types are unique.\n **Token scopes**: `time-off:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"policy_types":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"3597fd10-8f72-4ae2-805f-71a8ec39c28e","description":"Unique identifier of the policy type."},"name":{"type":"string","example":"Maternity leave","description":"Name of the policy type."},"description":{"type":"string","example":"Maternity leave","nullable":true,"description":"Description of the policy type."}}},"description":"List of unique policy types associated with the retrieved templates."},"policy_validation_templates":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"4a8dd7c5-e2c6-499b-a333-88180e8ada6b","description":"Unique identifier for the policy validation template."},"country":{"type":"string","example":"CA","pattern":"^[A-Z]{2}$","nullable":true,"maxLength":2,"minLength":2,"description":"Country code associated with this specific template instance, if applicable."},"leave_type":{"enum":["SHORT_TERM_LEAVE","LONG_TERM_LEAVE"],"type":"string","example":"SHORT_TERM_LEAVE","description":"Classification of the leave duration."},"policy_type":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"3597fd10-8f72-4ae2-805f-71a8ec39c28e","description":"Unique identifier of the policy type."},"name":{"type":"string","example":"Maternity leave","description":"Name of the policy type."},"description":{"type":"string","example":"Maternity leave","nullable":true,"description":"Description of the policy type."}},"description":"Details of the associated policy type."},"template_name":{"type":"string","example":"Canada Maternity Leave Template","nullable":true,"description":"Optional name for this specific template instance."},"tracking_unit":{"enum":["YEAR","MONTH","WEEK","DAY","BUSINESS_DAY","CALENDAR_DAY","HOUR",null],"type":"string","example":"YEAR","nullable":true,"description":"The unit used for tracking the policy cycle (e.g., yearly)."},"policy_type_id":{"type":"string","format":"uuid","example":"3597fd10-8f72-4ae2-805f-71a8ec39c28e","description":"Identifier of the associated policy type."},"tracking_cadence":{"enum":["FIXED_DAY","ANNIVERSARY"],"type":"string","example":"ANNIVERSARY","description":"Determines when the tracking cycle starts."},"policy_allowances":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"25a92212-dac7-4410-b709-122164f0647f","description":"Unique identifier for the policy allowance."},"name":{"type":"string","example":"Base Allowance","description":"Name of the allowance."},"type":{"enum":["BASE_ALLOWANCE","ADDITIONAL_ALLOWANCE"],"type":"string","example":"BASE_ALLOWANCE","description":"Type of allowance (base or additional)."},"accrual_type":{"enum":["TIMEFRAME","EVENT_BASED","EVENT","TIME_OFF_IN_LIEU","HOURLY","LUMPSUM"],"type":"string","example":"TIMEFRAME","description":"How entitlement accrues (over time or based on events)."},"accrual_unit":{"enum":["YEAR","MONTH","WEEK","DAY","BUSINESS_DAY","CALENDAR_DAY","HOUR",null],"type":"string","example":"MONTH","nullable":true,"description":"Unit for accrual if type is TIMEFRAME."},"rollover_type":{"enum":["NO_ROLLOVER","LIMITED_ROLLOVER","UNLIMITED_ROLLOVER","PAY_OUT","CARRY_OVER","CARRY_OVER_PAY_OUT",null],"type":"string","example":"NO_ROLLOVER","nullable":true,"description":"Rule for carrying over unused balance to the next cycle."},"entitlement_unit":{"enum":["YEAR","MONTH","WEEK","DAY","BUSINESS_DAY","CALENDAR_DAY","HOUR"],"type":"string","example":"CALENDAR_DAY","description":"Unit in which the entitlement is measured."},"termination_type":{"enum":["NO_PAYOUT","PAYOUT_BALANCE"],"type":"string","example":"NO_PAYOUT","description":"Rule for handling the balance upon termination."},"accrual_unit_amount":{"type":"integer","example":2,"nullable":true,"description":"Amount of accrual per unit if type is TIMEFRAME."},"enable_bank_holidays":{"type":"boolean","example":true,"description":"Whether bank holidays affect the entitlement or usage."},"accrual_prorate_types":{"type":"array","items":{"enum":["PRORATE_UNPAID_LEAVE","PRORATE_PAID_LEAVE","NO_PRORATE"],"type":"string"},"example":null,"nullable":true,"description":"Specifies conditions under which accrual should be prorated."},"balance_tracking_type":{"enum":["FLEXIBLE_UP_TO_YEARLY_ALLOWANCE","FLEXIBLE_NO_LIMIT","FLEXIBLE_CUSTOM_AMOUNT","INFLEXIBLE",null],"type":"string","example":"FLEXIBLE_NO_LIMIT","nullable":true,"description":"How the balance is tracked (e.g., flexible, inflexible)."},"entitlement_start_type":{"enum":["IMMEDIATELY","FIXED_PERIOD","FIXED_DATE",null],"type":"string","example":"IMMEDIATELY","nullable":true,"description":"When the entitlement starts."},"entitlement_start_unit":{"enum":["YEAR","MONTH","WEEK","DAY","BUSINESS_DAY","CALENDAR_DAY","HOUR",null],"type":"string","example":"MONTH","nullable":true,"description":"Unit for the start period if type is FIXED_PERIOD."},"entitlement_unit_amount":{"type":"number","example":245,"nullable":true,"description":"Amount of entitlement granted in entitlement_unit."},"accrual_application_type":{"enum":["BEGIN_OF_CYCLE","BEGIN_OF_NEXT_CYCLE","END_OF_CYCLE",null],"type":"string","example":"BEGIN_OF_CYCLE","nullable":true,"description":"When the accrued amount is applied to the balance."},"rollover_expiration_unit":{"enum":["YEAR","MONTH","WEEK","DAY","BUSINESS_DAY","CALENDAR_DAY","HOUR",null],"type":"string","example":"MONTH","nullable":true,"description":"Unit for the expiration period of rolled-over balance."},"additional_allowance_rules":{"type":"array","items":{"type":"object"},"example":[],"description":"Specific rules governing additional allowances."},"rollover_limit_unit_amount":{"type":"integer","example":5,"nullable":true,"description":"Maximum amount that can be rolled over if type is LIMITED_ROLLOVER."},"entitlement_expiration_unit":{"enum":["YEAR","MONTH","WEEK","DAY","BUSINESS_DAY","CALENDAR_DAY","HOUR",null],"type":"string","example":"MONTH","nullable":true,"description":"Unit for entitlement expiration period."},"entitlement_start_unit_amount":{"type":"integer","example":3,"nullable":true,"description":"Amount for the start period if type is FIXED_PERIOD."},"rollover_expiration_unit_amount":{"type":"integer","example":6,"nullable":true,"description":"Amount for the expiration period of rolled-over balance."},"entitlement_expiration_unit_amount":{"type":"integer","example":12,"nullable":true,"description":"Amount for entitlement expiration period."},"zero_out_negative_balances_on_rollover":{"type":"boolean","example":true,"description":"Whether negative balances are reset to zero at rollover."},"part_time_worker_additional_allowance_type":{"enum":["SAME_AS_FTE","PERCENTAGE_OF_FTE","NO_ADDITIONAL_ALLOWANCE"],"type":"string","example":"SAME_AS_FTE","description":"How additional allowances apply to part-time workers."},"balance_tracking_flexible_custom_request_amount":{"type":"integer","example":10,"nullable":true,"description":"Custom amount for flexible balance tracking if applicable."}}},"description":"List of allowances defined within this policy template."},"is_payment_top_off":{"type":"boolean","example":false,"description":"Indicates if the policy involves payment top-offs."},"notice_period_unit":{"enum":["YEAR","MONTH","WEEK","DAY","BUSINESS_DAY","CALENDAR_DAY","HOUR",null],"type":"string","example":"DAY","nullable":true,"description":"Unit for the required notice period."},"request_start_type":{"enum":["IMMEDIATELY","FIXED_PERIOD"],"type":"string","example":"IMMEDIATELY","description":"When a worker can start requesting time off after becoming eligible."},"request_start_unit":{"enum":["YEAR","MONTH","WEEK","DAY","BUSINESS_DAY","CALENDAR_DAY","HOUR",null],"type":"string","example":"MONTH","nullable":true,"description":"Unit for the waiting period if request_start_type is FIXED_PERIOD."},"benefits_payer_type":{"enum":["ORGANIZATION","GOVERNMENT"],"type":"string","example":"ORGANIZATION","description":"Who pays for the benefits associated with this time off."},"tracking_start_date":{"type":"string","format":"date","example":"2023-01-01","nullable":true,"description":"Specific start date for FIXED_DAY tracking cadence (YYYY-MM-DD)."},"attachment_condition":{"enum":["GREATER_THAN","LESS_THAN","GREATER_THAN_OR_EQUAL","LESS_THAN_OR_EQUAL",null],"type":"string","example":"GREATER_THAN","nullable":true,"description":"Comparison operator if attachment is conditionally required."},"overlap_request_type":{"enum":["ALLOWED","NOT_ALLOWED","ALLOWED_WITH_APPROVAL"],"type":"string","example":"NOT_ALLOWED","description":"Rule for requesting time off that overlaps with existing requests."},"enabled_policy_fields":{"type":"array","items":{"type":"string"},"example":null,"nullable":true,"description":"List of specific policy fields that are enabled or configurable."},"require_notice_period":{"type":"boolean","example":false,"nullable":true,"description":"Whether a notice period is required before taking time off."},"time_off_request_type":{"enum":["FULL_DAY","HALF_DAY","HOURLY","PERCENTAGE","FLEXIBLE"],"type":"string","example":"FULL_DAY","description":"Allowed types of time off requests (e.g., full day, hourly)."},"enable_pay_out_balance":{"type":"boolean","example":false,"description":"Whether unused balance can be paid out."},"adoption_date_definition":{"enum":["REQUIRED","OPTIONAL","FORBIDDEN"],"type":"string","example":"FORBIDDEN","description":"Rule regarding the requirement of an adoption date for relevant policies."},"allow_estimated_end_date":{"type":"boolean","example":false,"description":"Whether an estimated end date can be provided for the time off request."},"max_tracking_unit_amount":{"type":"integer","example":1,"nullable":true,"description":"Maximum duration of the tracking cycle in tracking_unit."},"min_tracking_unit_amount":{"type":"integer","example":1,"nullable":true,"description":"Minimum duration of the tracking cycle in tracking_unit."},"attachment_condition_unit":{"enum":["YEAR","MONTH","WEEK","DAY","BUSINESS_DAY","CALENDAR_DAY","HOUR",null],"type":"string","example":"DAY","nullable":true,"description":"Unit for the attachment condition amount."},"max_time_off_per_tracking":{"type":"number","example":30,"nullable":true,"description":"Maximum amount of time off allowed per tracking cycle."},"min_time_off_per_tracking":{"type":"number","example":1,"nullable":true,"description":"Minimum amount of time off required per tracking cycle."},"notice_period_unit_amount":{"type":"integer","example":7,"nullable":true,"description":"Amount for the required notice period."},"time_off_type_validations":{"type":"array","items":{"type":"object"},"example":[],"description":"Specific validation rules applied to time off types under this policy."},"allow_approvers_to_request":{"type":"boolean","example":true,"description":"Whether designated approvers can also request time off under this policy."},"policy_allowance_proration":{"type":"object","nullable":true,"properties":{"id":{"type":"string","format":"uuid","example":"16eb330d-6e89-4e94-ae94-e3800214b2ec","description":"Unique identifier for the proration settings."},"has_partial_prorate":{"type":"boolean","example":true,"description":"Indicates if partial proration rules are applied."},"hire_proration_rule":{"enum":["NO_PRORATION","FULL_AMOUNT","PRORATED_MONTHLY","PRORATED_DAILY","COUNTRY_SPECIFIC","FULL_MONTH_PRORATION_BASED_ON_DAY","TENURE_BOUNDARY_PRORATION"],"type":"string","example":"NO_PRORATION","description":"Rule for prorating entitlement upon hiring."},"is_accrual_prorate_policy":{"type":"boolean","example":false,"description":"Indicates if accrual is prorated based on policy rules."},"termination_proration_rule":{"enum":["NO_PRORATION","FULL_AMOUNT","PRORATED_MONTHLY","PRORATED_DAILY","COUNTRY_SPECIFIC","FULL_MONTH_PRORATION_BASED_ON_DAY","TENURE_BOUNDARY_PRORATION"],"type":"string","example":"NO_PRORATION","description":"Rule for prorating entitlement upon termination."},"hire_proration_cut_off_date":{"type":"integer","example":15,"nullable":true,"description":"Day of the month used as cut-off for hire proration."},"part_time_worker_treatment_type":{"enum":["SAME_AS_FTE","SPECIFIC_AMOUNT","PRO_RATA","PERCENTAGE_OF_FTE","BASED_ON_WORK_HOURS","BASED_ON_WORK_DAYS","CUSTOM_ENTITLEMENT"],"type":"string","example":"SAME_AS_FTE","description":"How part-time workers are treated regarding entitlement."},"termination_proration_cut_off_date":{"type":"integer","example":15,"nullable":true,"description":"Day of the month used as cut-off for termination proration."},"part_time_worker_treatment_specific_amount":{"type":"number","example":20,"nullable":true,"description":"Specific amount if treatment type is SPECIFIC_AMOUNT."},"max_part_time_worker_treatment_specific_amount":{"type":"number","example":30,"nullable":true,"description":"Maximum specific amount for part-time treatment."},"min_part_time_worker_treatment_specific_amount":{"type":"number","example":10,"nullable":true,"description":"Minimum specific amount for part-time treatment."}},"description":"Proration rules applied to the policy allowances."},"retrospective_request_type":{"enum":["ALLOWED","NOT_ALLOWED","ALLOWED_WITH_APPROVAL"],"type":"string","example":"ALLOWED","description":"Rule for requesting time off for past dates."},"attachment_condition_amount":{"type":"integer","example":5,"nullable":true,"description":"Threshold amount for the attachment condition."},"disable_termination_editing":{"type":"boolean","example":false,"description":"Whether editing related to termination is disabled."},"include_in_termination_flow":{"type":"boolean","example":false,"description":"Whether this policy is considered during the termination process."},"max_entitlement_unit_amount":{"type":"number","example":427,"nullable":true,"description":"Maximum allowed entitlement amount."},"min_entitlement_unit_amount":{"type":"number","example":245,"nullable":true,"description":"Minimum allowed entitlement amount."},"upload_attachment_condition":{"enum":["REQUIRED","NOT_REQUIRED","CONDITIONALLY_REQUIRED","REQUIRED_WITH_CONDITION","ALWAYS_REQUIRED"],"type":"string","example":"NOT_REQUIRED","description":"Condition under which an attachment is needed for a request."},"allow_to_edit_past_time_offs":{"type":"boolean","example":true,"description":"Whether past time off requests under this policy can be edited."},"max_request_start_unit_amount":{"type":"integer","example":12,"nullable":true,"description":"Maximum waiting period amount if request_start_type is FIXED_PERIOD."},"min_request_start_unit_amount":{"type":"integer","example":1,"nullable":true,"description":"Minimum waiting period amount if request_start_type is FIXED_PERIOD."},"default_entitlement_unit_amount":{"type":"number","example":245,"nullable":true,"description":"Default amount of entitlement granted per cycle."},"maximum_time_off_request_amount":{"type":"number","example":90,"nullable":true,"description":"Maximum amount that can be requested in a single time off request."},"minimum_time_off_request_amount":{"type":"number","example":0.5,"nullable":true,"description":"Minimum amount that can be requested in a single time off request."},"auto_approval_inactivity_time_unit":{"enum":["YEAR","MONTH","WEEK","DAY","BUSINESS_DAY","CALENDAR_DAY","HOUR",null],"type":"string","example":"DAY","nullable":true,"description":"Unit for the auto-approval inactivity period."},"enable_absence_percentage_requests":{"type":"boolean","example":false,"description":"Whether requests can be made as a percentage of the workday."},"estimated_end_date_client_reminder":{"type":"array","items":{"type":"integer"},"example":null,"nullable":true,"description":"Days before estimated end date to remind the client/manager."},"estimated_end_date_worker_reminder":{"type":"array","items":{"type":"integer"},"example":null,"nullable":true,"description":"Days before estimated end date to remind the worker."},"policy_validation_template_reminders":{"type":"array","items":{"type":"object"},"example":[],"description":"Configuration for reminders related to this policy template."},"is_auto_approval_on_inactivity_enabled":{"type":"boolean","example":false,"nullable":true,"description":"Whether requests are automatically approved after a period of inactivity."},"allow_time_off_payment_treatment_upsert":{"type":"boolean","example":false,"nullable":true,"description":"Whether payment treatment details can be updated."},"ops_workbench_process_template_reference":{"type":"string","example":"maternity-leave-process-v1","nullable":true,"description":"Reference to an Ops Workbench process template, if applicable."},"auto_approval_inactivity_time_unit_amount":{"type":"integer","example":3,"nullable":true,"description":"Amount for the auto-approval inactivity period."},"enable_accrued_days_for_policy_on_termination_flow":{"type":"boolean","example":false,"description":"Calculate accrued days specifically for this policy during termination."},"enable_high_accuracy_accrued_days_on_termination_flow":{"type":"boolean","example":false,"description":"Use high accuracy calculation for accrued days during termination."}}},"description":"List of policy validation templates matching the criteria."}}}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"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"}}}},"request":{"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"}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"query","name":"countries","schema":{"type":"array","items":{"type":"string","example":"US","pattern":"^[A-Z]{2}$","maxLength":2,"minLength":2,"description":"The ISO 3166-1 alpha-2 country code."},"maxItems":100,"minItems":1},"example":["US","CA"],"required":true,"description":"List of countries (ISO 3166-1 alpha-2 codes) to fetch policy templates and types for."}],"security":[{"deelToken":[]},{"oauth2":["time-off:read"]}]}},"/invoice-adjustments/{id}":{"delete":{"tags":["Invoices"],"summary":"Delete adjustment","operationId":"deleteInvoiceAdjustment","description":"Delete an adjustment.\n **Token scopes**: `invoice-adjustments:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["deleted"],"properties":{"deleted":{"type":"boolean","nullable":false,"description":"Confirms the deletion."}}}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"id","schema":{"type":"string"},"required":true,"description":"Invoice adjustment id."}],"security":[{"deelToken":[]},{"oauth2":["invoice-adjustments:write"]}]},"patch":{"tags":["Invoices"],"summary":"Update an invoice adjustment","operationId":"updateAnInvoiceAdjustment","description":"Update an invoice adjustment.\n **Token scopes**: `invoice-adjustments:write`, `worker:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["updated"],"properties":{"updated":{"type":"boolean","example":true,"nullable":false,"description":"Confirms the update."}}}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"id","schema":{"type":"string"},"example":"123e4567-e89b-12d3-a456-426614174000","required":true,"description":"Invoice adjustment id."}],"security":[{"deelToken":[]},{"oauth2":["invoice-adjustments:write","worker:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"title":{"type":"string","example":"Your title here","description":"Title of adjustment."},"amount":{"type":"number","example":100.25,"description":"Amount of adjustment."},"description":{"type":"string","example":"Your description here","description":"Description of adjustment."}},"description":"Details of adjustment to update"}}}}},"required":true}},"get":{"tags":["Invoices"],"summary":"Invoice line item by Id","operationId":"invoiceLineItemById-v2026-01-01","description":"Use this endpoint to retrieve the details of a specific invoice adjustment (line item) by its id. Call it when you need to display or audit a charge, deduction, or expense on an invoice, or to reconcile a payment discrepancy. Provide the adjustment id in the path parameter. This operation is read-only.\n **Token scopes**: `invoice-adjustments:read`, `worker:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"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":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000","nullable":true,"description":"Unique identifier of this resource."},"type":{"enum":["accrued_holiday","additional_fee","allowance","bonus","commission","deduction","deposit","deposit_refund","employer_cost","expense","health_allowance","health_benefit","health_insurance_fee","legal_fee","management_fee","milestone","offcycle","other","overtime","pension","pro_rata","setup_fee","severance","shield_service","signing_bonus","signing_bonus_employer_cost","refund","task","time_off","vat","withholding_tax","work"],"type":"string","example":"bonus","description":"Type of invoice adjustment."},"scale":{"type":"string","example":"hourly","nullable":true,"description":"The scale used for calculation (e.g., hourly, daily)."},"status":{"enum":["approved","declined","not_payable","paid","pending","processing",null],"type":"string","example":"approved","nullable":true,"description":"status of invoice adjustment"},"contract":{"type":"object","required":["id","title","type"],"properties":{"id":{"type":"string","example":"cont_987654321","nullable":false,"description":"The unique identifier of the contract."},"type":{"enum":["ongoing_time_based","milestones","time_based","pay_as_you_go_time_based","commission","payg_milestones","payg_tasks","eor","unknown","employee","global_payroll","shield_msa","hris_direct_employee","peo"],"type":"string","example":"ongoing_time_based","description":"Type of a contract"},"title":{"type":"string","example":"Senior Software Engineer","nullable":false,"description":"The display title of the contract."}}},"quantity":{"type":"number","example":1.5,"nullable":true,"description":"The quantity/number of units applied."},"approvers":{"type":"array","items":{"type":"object","required":["approved"],"properties":{"email":{"type":"string","example":"approver@example.com","description":"Email address of the approver.","x-sensitive-pii":true},"approved":{"type":"boolean","example":true,"description":"Whether the specific approver has approved the adjustment."},"full_name":{"type":"string","example":"John Doe","description":"Full name of the approver.","x-sensitive-pii":true}}}},"worksheet":{"type":"object","nullable":true,"required":["weeks","days","hours","minutes"],"properties":{"days":{"type":"number","example":2,"minimum":0,"description":"Number of days."},"hours":{"type":"number","example":4,"minimum":0,"description":"Number of hours."},"weeks":{"type":"number","example":0,"minimum":0,"description":"Number of weeks."},"minutes":{"type":"number","example":30,"minimum":0,"description":"Number of minutes."}},"description":"Breakdown of the time/effort involved in the adjustment."},"attachment":{"type":"object","nullable":true,"required":["filename","key"],"properties":{"key":{"type":"string","example":"attachments/receipt_123.pdf","nullable":false,"description":"Storage key returned from the attachments endpoint, can be used as a unique identifier for the file"},"filename":{"type":"string","example":"receipt.pdf","nullable":false,"description":"Original filename of the uploaded attachment"},"download_url":{"type":"string","example":"https://s3.us-east-1.amazonaws.com/attachments/receipt_123.pdf","nullable":true,"description":"URL used to download the uploaded attachment file."}},"description":"File attachment linked to the invoice adjustment."},"created_at":{"type":"string","format":"date-time","example":"2023-10-25T14:30:00Z","nullable":false,"description":"Long date-time format following ISO-8601"},"invoice_id":{"type":"number","example":10293,"nullable":true,"description":"Deprecated. No longer used"},"description":{"type":"string","example":"Travel expense reimbursement for October client visit.","nullable":false,"description":"Details or notes regarding the adjustment."},"reported_by":{"type":"object","nullable":false,"required":["id"],"properties":{"id":{"oneOf":[{"type":"string","example":"user_789","description":"Unique identifier of this resource."},{"type":"integer","format":"int64","example":789,"description":"Unique identifier of this resource."}]},"full_name":{"type":"string","example":"Alice Reporter","nullable":false,"description":"Full name of the reporter.","x-sensitive-pii":true}},"description":"The user who reported/submitted the adjustment."},"reviewed_by":{"type":"object","nullable":true,"required":["id","reviewed_at","remarks"],"properties":{"id":{"oneOf":[{"type":"string","example":"reviewer_456","description":"Unique identifier of this resource."},{"type":"integer","format":"int64","example":456,"description":"Unique identifier of this resource."}]},"remarks":{"type":"string","example":"Approved based on provided receipts.","nullable":false,"description":"Comments or notes left by the reviewer."},"full_name":{"type":"string","example":"Jane Smith","description":"Full name of the reviewer.","x-sensitive-pii":true},"reviewed_at":{"type":"string","example":"2023-10-26T09:00:00Z","description":"The timestamp when the review occurred."}},"description":"The user who reviewed the adjustment."},"custom_scale":{"type":"string","example":"per_trip","nullable":true,"description":"A custom unit of measurement if the standard 'scale' is not applicable."},"total_amount":{"type":"string","example":"150.00","nullable":false,"description":"The total monetary value of the adjustment."},"currency_code":{"type":"string","example":"USD","pattern":"^[A-Z]{3}$","maxLength":3,"minLength":3,"description":"Three-letter ISO-4217 currency code."},"payment_cycle":{"type":"object","nullable":false,"required":["start_date","end_date"],"properties":{"end_date":{"type":"string","format":"date-time","example":"2023-10-31T23:59:59Z","nullable":false,"description":"Long date-time format following ISO-8601"},"start_date":{"type":"string","format":"date-time","example":"2023-10-01T00:00:00Z","nullable":false,"description":"Long date-time format following ISO-8601"}}},"date_submitted":{"type":"string","format":"date-time","example":"2023-10-25T14:30:00Z","nullable":false,"description":"Long date-time format following ISO-8601"},"invoice_public_id":{"type":"string","example":"8ruUDt5rMJQ2frDPnuBQq","nullable":true,"description":"Public Identifier for the associated invoice."}}}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_parameter","description":"Machine-readable error code"},"field":{"type":"string","example":"contract_id","description":"Name of the field causing the error (for validation issues)"},"message":{"type":"string","example":"Must be valid UUID","description":"Human-readable explanation of the error"}}}}}}}},"description":"Fetch failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"id","schema":{"type":"string"},"example":"INV-2025/01","required":true,"description":"ID of an existing invoice"}],"security":[{"deelToken":[]},{"oauth2":["invoice-adjustments:read","worker:read"]}]}},"/people/{worker_id}/custom_fields":{"get":{"tags":["Custom Fields"],"summary":"Retrieve custom fields for a worker","operationId":"retrieveCustomFieldsForAWorker","description":"Retrieve custom fields for a worker\n **Token scopes**: `people:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","name","type","data"],"properties":{"id":{"type":"string","format":"uuid","description":"UUID for the custom field value"},"data":{"anyOf":[{"type":"object","properties":{"value":{"type":"string"}},"description":"Text type"},{"type":"object","properties":{"value":{"type":"number"}},"description":"Number type"},{"type":"object","properties":{"value":{"type":"string","format":"date","example":"2021-01-01"}},"description":"Date type: YYYY-MM-DD"},{"type":"object","properties":{"text":{"type":"string","example":"10%"},"value":{"type":"number"}},"description":"Percentage type"},{"type":"object","properties":{"amount":{"type":"number"},"currency":{"type":"string","example":["USD","EUR","JPY","GBP","AUD","CAD","CHF","CNY","SEK","NZD","BRL"],"description":"The currency code in ISO 4217 format"}},"description":"Currency type"},{"type":"object","properties":{"option":{"type":"string"}},"description":"List type"},{"type":"object","properties":{"options":{"type":"array","items":{"type":"string"},"uniqueItems":true}},"description":"Multiselect type"}]},"name":{"type":"string","description":"Name of the custom field"},"type":{"enum":["text","number","currency","date","percentage","list","multiselect"],"type":"string","description":"Type of the custom field"}}}}}}}},"description":"Successful response"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"worker_id","schema":{"type":"string","format":"uuid"},"example":"d290f1ee-6c54-4b01-90e6-d701748f0851","required":true,"description":"Worker id."}],"security":[{"deelToken":[]},{"oauth2":["people:read"]}]},"put":{"tags":["Custom Fields"],"summary":"Update custom field value","operationId":"UpsertCustomFieldValueFromWorker","description":"Update custom field value.\n **Token scopes**: `people:write`","responses":{"200":{"description":"Successful response"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"description":"Not found"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"worker_id","schema":{"type":"string","format":"uuid"},"example":"d290f1ee-6c54-4b01-90e6-d701748f0851","required":true,"description":"Worker id."}],"security":[{"deelToken":[]},{"oauth2":["people:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","data"],"properties":{"id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"UUID for the custom field value"},"data":{"anyOf":[{"type":"object","properties":{"value":{"type":"string","example":"Some text","description":"Text type"}},"description":"Text type"},{"type":"object","properties":{"value":{"type":"number","example":123,"description":"Number type"}},"description":"Number type"},{"type":"object","properties":{"value":{"type":"string","format":"date","example":"2021-01-01","description":"Date type: YYYY-MM-DD"}},"description":"Date type: YYYY-MM-DD"},{"type":"object","properties":{"value":{"type":"number","example":1,"description":"Percentage type"}},"description":"Percentage type"},{"type":"object","properties":{"amount":{"type":"number"},"currency":{"type":"string","example":["USD","EUR","JPY","GBP","AUD","CAD","CHF","CNY","SEK","NZD","BRL"],"pattern":"^[A-Z]{3}$","description":"Important: When currency type is fixed, the currency field is ignored. "}},"description":"Currency type"},{"type":"object","properties":{"option":{"type":"string","example":"Option 1","description":"Option type"}},"description":"List type"},{"type":"object","properties":{"options":{"type":"array","items":{"type":"string","example":["Option 1","Option 2","Option 3"],"description":"Multiselect type"},"uniqueItems":true}},"description":"Multiselect type"}]}}}}}}},"required":true}}},"/contracts/{contract_id}/invoice-adjustments":{"get":{"tags":["Invoices"],"summary":"Invoice line items by contract","operationId":"invoiceLineItemsByContract","description":"Retrieve invoice line items for a given contract id.\n **Token scopes**: `invoice-adjustments:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data","page"],"properties":{"data":{"type":"array","items":{"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":{"type":"string","format":"uuid","nullable":true,"description":"Unique identifier of this resource."},"type":{"enum":["accrued_holiday","additional_fee","allowance","bonus","commission","deduction","deposit","deposit_refund","employer_cost","expense","health_allowance","health_benefit","health_insurance_fee","legal_fee","management_fee","milestone","offcycle","other","overtime","pension","pro_rata","setup_fee","severance","shield_service","signing_bonus","signing_bonus_employer_cost","refund","task","time_off","vat","withholding_tax","work"],"type":"string","description":"Type of invoice adjustment."},"scale":{"type":"string","nullable":true},"status":{"enum":["approved","declined","not_payable","paid","pending","processing",null],"type":"string","nullable":true,"description":"status of invoice adjustment"},"contract":{"type":"object","required":["id","title","type"],"properties":{"id":{"type":"string","nullable":false},"type":{"enum":["ongoing_time_based","milestones","time_based","pay_as_you_go_time_based","commission","payg_milestones","payg_tasks","eor","unknown","employee","global_payroll","shield_msa","hris_direct_employee","peo"],"type":"string","description":"Type of a contract"},"title":{"type":"string","nullable":false}}},"quantity":{"type":"number","nullable":true},"worksheet":{"type":"object","nullable":true,"required":["weeks","days","hours","minutes"],"properties":{"days":{"type":"number","minimum":0},"hours":{"type":"number","minimum":0},"weeks":{"type":"number","minimum":0},"minutes":{"type":"number","minimum":0}}},"attachment":{"type":"object","nullable":true,"required":["filename","key"],"properties":{"key":{"type":"string","nullable":false,"description":"You can call attachments end-point, get key and URL to upload your file."},"filename":{"type":"string","nullable":false,"description":"Original filename you used to upload using attachments end-point."}},"description":"This object is used for linking file attachments to your records."},"created_at":{"type":"string","format":"date-time","nullable":false,"description":"Long date-time format following ISO-8601"},"invoice_id":{"type":"number","nullable":true},"description":{"type":"string","nullable":false},"reported_by":{"type":"object","nullable":false,"required":["id"],"properties":{"id":{"oneOf":[{"type":"string","description":"Unique identifier of this resource."},{"type":"integer","format":"int64"}]},"full_name":{"type":"string","nullable":false,"x-sensitive-pii":true}}},"reviewed_by":{"type":"object","nullable":true,"required":["id","reviewed_at","remarks"],"properties":{"id":{"oneOf":[{"type":"string","description":"Unique identifier of this resource."},{"type":"integer","format":"int64"}]},"remarks":{"type":"string","nullable":false},"full_name":{"type":"string","example":"Jane Smith","x-sensitive-pii":true},"reviewed_at":{"type":"string"}}},"custom_scale":{"type":"string","nullable":true},"total_amount":{"type":"string","nullable":false},"currency_code":{"type":"string","pattern":"^[A-Z]{3}$","maxLength":3,"minLength":3},"payment_cycle":{"type":"object","nullable":false,"required":["start_date","end_date"],"properties":{"end_date":{"type":"string","format":"date-time","nullable":true,"description":"Long date-time format following ISO-8601"},"start_date":{"type":"string","format":"date-time","nullable":true,"description":"Long date-time format following ISO-8601"}}},"date_submitted":{"type":"string","format":"date-time","nullable":false,"description":"Long date-time format following ISO-8601"}}}},"page":{"type":"object","required":["total_rows","items_per_page","offset"],"properties":{"offset":{"type":"number","example":0,"maximum":999999999,"minimum":0,"nullable":false,"description":"Index of the first row in this page"},"total_rows":{"type":"number","example":10,"nullable":false,"description":"Total number of rows in the result set"},"items_per_page":{"type":"number","example":10,"maximum":100,"minimum":1,"nullable":false,"description":"Number of items per page"}}}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"query","name":"contract_types","schema":{"oneOf":[{"type":"array","items":{"enum":["ongoing_time_based","milestones","time_based","pay_as_you_go_time_based","commission","payg_milestones","payg_tasks","eor","unknown","employee","global_payroll","shield_msa","hris_direct_employee","peo"],"type":"string","description":"Type of a contract"},"description":"List of contract types"},{"enum":["ongoing_time_based","milestones","time_based","pay_as_you_go_time_based","commission","payg_milestones","payg_tasks","eor","unknown","employee","global_payroll","shield_msa","hris_direct_employee","peo"],"type":"string"}]},"example":"ongoing_time_based","description":"types of contracts to filter"},{"in":"query","name":"types","schema":{"oneOf":[{"type":"array","items":{"enum":["accrued_holiday","additional_fee","allowance","bonus","commission","deduction","deposit","deposit_refund","employer_cost","expense","health_allowance","health_benefit","health_insurance_fee","legal_fee","management_fee","milestone","offcycle","other","overtime","pension","pro_rata","setup_fee","severance","shield_service","signing_bonus","signing_bonus_employer_cost","refund","task","time_off","vat","withholding_tax","work"],"type":"string","description":"Type of invoice adjustment."}},{"enum":["accrued_holiday","additional_fee","allowance","bonus","commission","deduction","deposit","deposit_refund","employer_cost","expense","health_allowance","health_benefit","health_insurance_fee","legal_fee","management_fee","milestone","offcycle","other","overtime","pension","pro_rata","setup_fee","severance","shield_service","signing_bonus","signing_bonus_employer_cost","refund","task","time_off","vat","withholding_tax","work"],"type":"string"}]},"example":"bonus","description":"types of invoice adjustments to filter"},{"in":"query","name":"statuses","schema":{"oneOf":[{"type":"array","items":{"enum":["approved","declined","not_payable","paid","pending","processing",null],"type":"string","nullable":true,"description":"status of invoice adjustment"}},{"enum":["approved","declined","not_payable","paid","pending","processing",null],"type":"string"}]},"example":"approved","description":"statuses of invoice adjustment to filter"},{"in":"query","name":"invoice_id","schema":{"type":"string"},"example":"string","description":"ID of an existing invoice"},{"in":"query","name":"reporter_id","schema":{"type":"string","format":"uuid"},"example":"string","description":"ID of an existing profile"},{"in":"query","name":"date_from","schema":{"type":"string","format":"date","nullable":true,"description":"Short date in format ISO-8601 (YYYY-MM-DD). For example 2022-12-31."},"example":"2022-12-31","description":"To get invoice adjustments submitted on or after given start date (inclusive).    Short date in format ISO-8601 (YYYY-MM-DD). For example: 2022-12-31."},{"in":"query","name":"date_to","schema":{"type":"string","format":"date","nullable":true,"description":"Short date in format ISO-8601 (YYYY-MM-DD). For example 2022-12-31."},"example":"2022-12-31","description":"To get invoice adjustments submitted before given end date (excludes records submitted on this date).    Short date in format ISO-8601 (YYYY-MM-DD). For example: 2022-12-31."},{"in":"query","name":"limit","schema":{"type":"string","pattern":"^[1-9][0-9]?$|^100$"},"example":"10","description":"Return a page of results with given number of records; NOTE: technically ALL query parameters are strings or array of strings"},{"in":"query","name":"offset","schema":{"type":"string"},"example":"10","description":"Return a page of results after given index of row; NOTE: technically ALL query parameters are strings or array of strings"},{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"37nex2x","required":true,"description":"Deel contract id."}],"security":[{"deelToken":[]},{"oauth2":["invoice-adjustments:read"]}]}},"/pwac":{"post":{"tags":["People"],"summary":"Create a person without a contract","operationId":"createAPersonWithoutAContract-v2026-01-01","description":"Create a person without a contract hired under your own entity to Deel's HRIS.\n **Token scopes**: `people:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","example":{"id":"550e8400-e29b-41d4-a716-446655440000","person":{"email":"email@email.com","last_name":"Doe","first_name":"John","start_date":"2020-01-01"}},"required":["id","person"],"properties":{"id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","description":"The id of the person"},"person":{"type":"object","required":["first_name","last_name","email","start_date"],"properties":{"email":{"type":"string","format":"email","example":"email@email.com","description":"The personal email of the person being hired","x-sensitive-pii":true},"state":{"type":"string","example":"CA","maxLength":50,"minLength":1,"description":"The state of the person being hired","x-sensitive-pii":true},"country":{"type":"string","example":"US","maxLength":2,"minLength":2,"description":"The country of the person being hired","x-sensitive-pii":true},"end_date":{"type":"string","format":"date","example":"2029-01-01","nullable":true,"description":"The end date of the person being hired","x-sensitive-employment":true},"job_title":{"type":"string","example":"Software Engineer","description":"The job title of the person being hired","x-sensitive-pii":true,"x-sensitive-employment":true},"last_name":{"type":"string","example":"Doe","description":"The last name of the person being hired","x-sensitive-pii":true},"seniority":{"type":"string","example":"Senior","description":"The seniority of the person being hired","x-sensitive-pii":true,"x-sensitive-employment":true},"worker_id":{"type":"number","example":1234,"description":"The worker ID of the person being hired","x-sensitive-pii":true},"first_name":{"type":"string","example":"John","description":"The first name of the person being hired","x-sensitive-pii":true},"start_date":{"type":"string","format":"date","example":"2020-01-01","description":"The start date of the person being hired","x-sensitive-employment":true},"work_email":{"type":"string","format":"email","example":"work@email.com","description":"The work email of the person being hired","x-sensitive-pii":true},"external_id":{"type":"string","example":"1234","nullable":true,"description":"An external identifier for the person being hired","x-sensitive-pii":true},"nationality":{"type":"string","example":"BR","maxLength":2,"minLength":2,"description":"The nationality of the person being hired","x-sensitive-pii":true}},"description":"The person that is being hired"}}}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"VALIDATION_ERROR","description":"Error code identifying the type of error"},"details":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","example":"employee.email","description":"The field that caused the error"},"message":{"type":"string","example":"Invalid email format","description":"Description of the validation error"}}},"description":"List of validation errors"},"message":{"type":"string","example":"Invalid request body","description":"Human readable error message"}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"INTERNAL_ERROR","description":"Error code identifying the type of error"},"message":{"type":"string","example":"An unexpected error occurred","description":"Human readable error message"}}}}}}},"description":"Operation failed."}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["people:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["person","client"],"properties":{"client":{"type":"object","required":["legal_entity","team"],"properties":{"team":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","example":"cbb25647-31e0-485d-9d5f-bdd48296aa1e","description":"The team that the person is part of"},"direct_manager_id":{"type":"string","format":"uuid","example":"0d60f277-f66f-4fca-a5c8-c5c642924505","description":"The direct manager of the person"},"direct_reports_ids":{"type":"array","items":{"type":"string","format":"uuid"},"example":["0d60f277-f66f-4fca-a5c8-c5c642924505"],"description":"The direct reports of the person"}}},"department":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","example":"518c6bee-d798-4785-930f-535f09f3453d","description":"The department that the person is part of"}}},"legal_entity":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","example":"cfebc769-abe9-4646-83b9-28cf79f23a0d","description":"The legal entity that the person is part of"}}}}},"person":{"type":"object","required":["first_name","last_name","email","start_date"],"properties":{"email":{"type":"string","format":"email","example":"email@email.com","maxLength":255,"minLength":3,"description":"The personal email of the person being hired"},"state":{"type":"string","example":"CA","maxLength":50,"minLength":1,"description":"The state of the person being hired"},"country":{"type":"string","example":"US","maxLength":2,"minLength":2,"description":"The country of the person being hired"},"end_date":{"type":"string","format":"date","example":"2029-01-01","description":"The end date of the person being hired"},"job_title":{"type":"string","example":"Software Engineer","maxLength":255,"description":"The job title of the person being hired"},"last_name":{"type":"string","example":"Doe","maxLength":100,"minLength":3,"description":"The last name of the person being hired"},"seniority":{"type":"string","example":"Senior","maxLength":255,"description":"The seniority of the person being hired"},"first_name":{"type":"string","example":"John","maxLength":100,"minLength":3,"description":"The first name of the person being hired"},"start_date":{"type":"string","format":"date","example":"2020-01-01","description":"The start date of the person being hired"},"work_email":{"type":"string","format":"email","example":"work@email.com","maxLength":255,"minLength":3,"description":"The work email of the person being hired"},"external_id":{"type":"string","example":"1234","maxLength":100,"description":"An external identifier for the person being hired"},"nationality":{"type":"string","example":"BR","maxLength":2,"minLength":2,"description":"The nationality of the person being hired"},"preferred_last_name":{"type":"string","example":"Doe","maxLength":100,"minLength":3,"description":"The preferred last name of the person being hired"},"preferred_first_name":{"type":"string","example":"John","maxLength":100,"minLength":3,"description":"The preferred first name of the person being hired"}},"description":"The person that is being hired"},"invitation":{"type":"object","properties":{"action":{"enum":["DISABLE","IMMEDIATE"],"type":"string","example":"DISABLE","description":"Controls whether to send an invitation email."}},"description":"Optional invitation configuration for the new hire. Defaults to 'disable' if not provided."}}}}}}},"required":true}}},"/it/orders":{"get":{"tags":["IT orders"],"summary":"List IT orders","operationId":"listItOrders","description":"Retrieve a paginated list of all IT equipment orders for the organization. This is useful for reviewing both historical and current procurement requests to track overall equipment provisioning.  For more info, visit [Orders](https://developer.deel.com/docs/deel-it-api#orders).\n **Token scopes**: `it-orders:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","description":"Unique identifier of the order"},"user":{"type":"object","nullable":true,"properties":{"emails":{"type":"array","items":{"type":"string","format":"email"},"example":["bruce.wayne@wayne-enterprise.com","batman@gotham.com"],"description":"Array of user email addresses","x-sensitive-pii":true},"address":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","description":"Unique identifier of the address"},"city":{"type":"string","example":"Gotham","nullable":true,"description":"City name","x-sensitive-pii":true},"type":{"enum":["PII","PARTIAL","DELIVERY","COLLECTION","ENTITY","SUPPLIER","BILLING"],"type":"string","example":"DELIVERY","description":"Type of the address"},"line1":{"type":"string","example":"1007 Mountain Drive","nullable":true,"description":"Address line 1","x-sensitive-pii":true},"line2":{"type":"string","example":"Stately Wayne Manor","nullable":true,"description":"Address line 2","x-sensitive-pii":true},"state":{"type":"string","example":"New Jersey","nullable":true,"description":"State code or name","x-sensitive-pii":true},"country":{"enum":["AD","AE","AF","AG","AI","AL","AM","AN","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","IC","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","XK","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","YE","YT","ZA","ZM","ZW"],"type":"string","example":"US","description":"Country code","x-sensitive-pii":true},"is_valid":{"type":"boolean","example":true,"description":"Whether the address passes validation"},"post_code":{"type":"string","example":"12345","nullable":true,"description":"Post code","x-sensitive-pii":true},"phone_number":{"type":"string","example":"+1-212-456-7890","nullable":true,"description":"Phone number","x-sensitive-pii":true},"date_of_birth":{"type":"string","format":"date","example":"1997-12-18","nullable":true,"description":"Date of birth (applicable for some address types)","x-sensitive-pii":true},"tax_id_number":{"type":"string","example":"BAT123456","nullable":true,"description":"Tax ID number (applicable for some address types)","x-sensitive-pii":true},"passport_number":{"type":"string","example":"P123456789","nullable":true,"description":"Passport number (applicable for some address types)","x-sensitive-pii":true},"delivery_instructions":{"type":"string","example":"Use the Bat-Signal if urgent","nullable":true,"description":"Special instructions for deliveries","x-sensitive-pii":true}},"description":"User address details"},"last_name":{"type":"string","example":"Wayne","description":"Last name of the user","x-sensitive-pii":true},"first_name":{"type":"string","example":"Bruce","description":"First name of the user","x-sensitive-pii":true},"hris_profile_id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","description":"The unique identifier of the HRIS profile of the assigned user"}},"description":"Details of the user with asset possession"},"status":{"enum":["REQUESTED","APPROVED","DECLINED","CANCELLED"],"type":"string","example":"REQUESTED","description":"Order status"},"created_at":{"type":"string","format":"date-time","example":"2025-08-08T09:49:01.000Z","description":"Creation timestamp of the order"},"updated_at":{"type":"string","format":"date-time","example":"2025-08-08T09:49:01.000Z","description":"Last update timestamp of the order"},"order_items":{"type":"array","items":{"type":"object","properties":{"status":{"enum":["PLACED","PROCESSING","AWAITING_PAYMENT","READY_TO_SHIP","SHIPPED","COMPLETED","CANCELLED"],"type":"string","example":"SHIPPED","description":"Status of the order item"},"product":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","description":"Unique identifier of the product"},"name":{"type":"string","example":"MacBook Pro","description":"Product name"},"brand":{"type":"string","example":"Apple","description":"Product brand"},"category":{"enum":["ADAPTER","CABLE","CHAIR","CHARGER","DESK","DESK_RISER","DESK_TIDY","DESKTOP","DOCKING_STATION","DONGLE","FOOTREST","HEADSET","KEYBOARD","LAPTOP","LAPTOP_STAND","MICE_TRACKPAD","MOBILE_DEVICE","MONITOR","MONITOR_ARM","OTHER","PRINTER","SHREDDER","STANDING_MAT","TABLET","TASK_LIGHT","WEBCAM","WIFI_RANGE_EXTENDER","WELCOME_PACK"],"type":"string","example":"LAPTOP","description":"Product category"}},"description":"Product details"},"is_approved":{"type":"boolean","example":false,"description":"Is the order item approved"},"pricing_details":{"type":"object","properties":{"asset_price":{"type":"object","nullable":true,"properties":{"amount":{"type":"string","example":"1999.99","description":"Amount"},"currency":{"enum":["EUR","AED","AFN","XCD","ALL","AMD","AOA","ARS","USD","AUD","AWG","AZN","BAM","BDT","XOF","BGN","BHD","BIF","BMD","SGD","BOB","BRL","BSD","BTN","BWP","BYN","BZD","CAD","CDF","XAF","CHF","NZD","CLP","CNY","COP","CRC","CUC","CVE","ANG","CZK","DJF","DOP","DZD","EGP","MAD","ERN","ETB","FJD","FKP","DKK","GBP","GEL","GHS","GIP","GMD","GNF","GTQ","GYD","HKD","HNL","HRK","HTG","HUF","IDR","ILS","INR","IQD","IRR","ISK","JMD","JOD","JPY","KES","KGS","KHR","KMF","KPW","KRW","WST","KWD","KYD","KZT","LAK","LBP","LKR","LRD","LSL","LTL","LYD","MDL","MGA","MKD","MMK","MNT","MRU","MUR","MVR","MWK","MXN","MYR","MZN","NAD","XPF","NGN","NIO","NOK","NPR","OMR","PAB","PEN","PGK","PHP","PKR","PLN","PYG","QAR","RON","RSD","RUB","RWF","SAR","SBD","SCR","SDG","SEK","SHP","SLL","SOS","SRD","SSP","STD","SYP","SZL","THB","TJS","TMT","TND","TOP","TRY","TTD","TWD","TZS","UAH","UGX","UYU","UZS","VEF","VND","VUV","YER","ZAR","ZMW","ZWD"],"type":"string","example":"EUR","description":"Three-letter currency code for the price"}},"description":"Price of the order item"},"storefront_fee":{"type":"object","nullable":true,"properties":{"amount":{"type":"string","example":"1999.99","description":"Amount"},"currency":{"enum":["EUR","AED","AFN","XCD","ALL","AMD","AOA","ARS","USD","AUD","AWG","AZN","BAM","BDT","XOF","BGN","BHD","BIF","BMD","SGD","BOB","BRL","BSD","BTN","BWP","BYN","BZD","CAD","CDF","XAF","CHF","NZD","CLP","CNY","COP","CRC","CUC","CVE","ANG","CZK","DJF","DOP","DZD","EGP","MAD","ERN","ETB","FJD","FKP","DKK","GBP","GEL","GHS","GIP","GMD","GNF","GTQ","GYD","HKD","HNL","HRK","HTG","HUF","IDR","ILS","INR","IQD","IRR","ISK","JMD","JOD","JPY","KES","KGS","KHR","KMF","KPW","KRW","WST","KWD","KYD","KZT","LAK","LBP","LKR","LRD","LSL","LTL","LYD","MDL","MGA","MKD","MMK","MNT","MRU","MUR","MVR","MWK","MXN","MYR","MZN","NAD","XPF","NGN","NIO","NOK","NPR","OMR","PAB","PEN","PGK","PHP","PKR","PLN","PYG","QAR","RON","RSD","RUB","RWF","SAR","SBD","SCR","SDG","SEK","SHP","SLL","SOS","SRD","SSP","STD","SYP","SZL","THB","TJS","TMT","TND","TOP","TRY","TTD","TWD","TZS","UAH","UGX","UYU","UZS","VEF","VND","VUV","YER","ZAR","ZMW","ZWD"],"type":"string","example":"EUR","description":"Three-letter currency code for the price"}},"description":"Storefront fee associated with the order item"},"acquisition_type":{"enum":["RENTAL","PURCHASE","REUSE"],"type":"string","example":"PURCHASE","description":"Acquisition type of the order item"}},"description":"Order item pricing details"},"is_express_delivery_requested":{"type":"boolean","example":true,"description":"Is express delivery requested for the order item"}}},"description":"Order's items details"}}}},"has_more":{"type":"boolean","example":true,"description":"Whether there are more results available"},"next_cursor":{"type":"string","example":"d3m0d3m0d3m0d3m0d3m0d3m0d3m0d3m0d3m0d3m","nullable":true,"description":"Cursor to the next page"},"total_count":{"type":"integer","example":133,"description":"Total number of records"}}}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"insufficient_permission","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"first_name","description":"The field name where input validation failed"},"message":{"type":"string","example":"human readable error message","description":"Description of the returned error"}}}}}}}},"description":"Bad Request"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"insufficient_permission","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"first_name","description":"The field name where input validation failed"},"message":{"type":"string","example":"human readable error message","description":"Description of the returned error"}}}}}}}},"description":"Internal Server Error"}},"parameters":[{"in":"query","name":"cursor","schema":{"type":"string"},"example":"d3m0d3m0d3m0d3m0d3m0d3m0d3m0d3m0d3m0d3m","description":"Indicates where the next page of results starts, as returned in a paginated list response"},{"in":"query","name":"limit","schema":{"type":"integer","default":20,"maximum":100,"minimum":1},"example":10,"description":"Return a page of results with given number of records"}],"security":[{"deelToken":[]},{"oauth2":["it-orders:read"]}]}},"/workers/compliance-documents":{"get":{"tags":["Workers"],"summary":"List of worker compliance documents","operationId":"listOfWorkerComplianceDocuments-v2026-04-23","description":"Retrieve the list of compliance document requirements for a worker, grouped by country. Returns all required and optional documents with their current submission status. Applicable for both independent contractors and EOR employees.\n **Token scopes**: `worker:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["documents"],"properties":{"documents":{"type":"array","items":{"type":"object","required":["id","name","description","is_optional","required_in_30_days","country","has_template","fillable","filenames","uploaded_at","status","rejection_message","is_acknowledgement_only_document"],"properties":{"id":{"type":"string","format":"uuid","example":"9b9fc43a-a90c-4615-ac50-baf1e314b53e","description":"Unique identifier for the compliance document requirement."},"name":{"type":"string","example":"Passport or National ID","description":"Display name of the compliance document."},"status":{"enum":["AWAITING_EX_REVIEW","AWAITING_EXTERNAL_REVIEW","REJECTED","APPROVED","ON_HOLD",null],"type":"string","example":"APPROVED","nullable":true,"description":"Review status of the uploaded document, null if no document has been uploaded yet.","x-sensitive-employment":true},"country":{"type":"string","example":"US","description":"ISO 3166-1 alpha-2 country code where the document is required."},"fillable":{"type":"boolean","example":false,"description":"Whether the document can be filled through the Deel platform."},"filenames":{"type":"array","items":{"type":"string"},"example":["passport_scan.pdf"],"description":"List of uploaded file names. Empty array when no files have been uploaded."},"description":{"type":"string","example":"Please upload a clear copy of your passport or national ID card.","description":"Description of the document requirement. Empty string when no description exists."},"is_optional":{"type":"boolean","example":false,"description":"Whether the document is optional for the worker. Also true when the document is required within 30 days."},"uploaded_at":{"type":"string","format":"date-time","example":"2025-01-05T14:30:00.000Z","nullable":true,"description":"ISO 8601 timestamp when the document was uploaded, null if no document has been uploaded."},"has_template":{"type":"boolean","example":true,"description":"Whether a template is available for this document."},"rejection_message":{"type":"string","example":"Document is not clearly readable","description":"Plain text message explaining why the document was rejected. Empty string when no rejection message exists."},"is_consent_required":{"type":"boolean","example":true,"description":"Whether consent is required for acknowledgement-only documents. Only present when is_acknowledgement_only_document is true."},"required_in_30_days":{"type":"boolean","example":false,"description":"Whether the document is required within 30 days of employment start."},"is_acknowledgement_only_document":{"type":"boolean","example":false,"description":"Whether this document only requires acknowledgement without file upload."}}},"description":"List of compliance documents required for the worker."}}}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"invalid_parameter","description":"Machine-readable error code."},"field":{"type":"string","example":"/data/document_id","description":"Name of the field causing the error, if applicable."},"message":{"type":"string","example":"Must have required property 'field'","description":"Human-readable error message."}}}}}}}},"description":"Forbidden. The caller does not have the required profile type (employee or contractor)."},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"invalid_parameter","description":"Machine-readable error code."},"field":{"type":"string","example":"/data/document_id","description":"Name of the field causing the error, if applicable."},"message":{"type":"string","example":"Must have required property 'field'","description":"Human-readable error message."}}}}}}}},"description":"Internal server error."}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["worker:read"]}]}},"/time_offs":{"get":{"tags":["Time Off"],"summary":"List time-off requests for Organization","operationId":"listTimeOffRequestsForOrganization","description":"List time-off requests for Organization\n **Token scopes**: `time-off:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["has_next_page","data","page_size"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","time_off_type_id","requested_at","start_date","end_date","is_paid","half_start_date","half_end_date","amount","created_at","updated_at","entitlement_unit"],"properties":{"id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Time off id"},"amount":{"type":"number","format":"float","example":0.5,"description":"Amount of time off"},"reason":{"type":"string","example":"Vacation","description":"Reason for time off"},"status":{"enum":["REQUESTED","APPROVED","REJECTED","USED","CANCELED"],"type":"string","example":"REQUESTED","description":"Status of time off"},"is_paid":{"type":"boolean","example":true,"description":"Is time off paid"},"end_date":{"type":"string","format":"date","example":"2022-01-01","description":"End date of time off"},"created_at":{"type":"string","format":"date-time","example":"2022-01-01T00:00:00Z","description":"Time off creation date"},"start_date":{"type":"string","format":"date","example":"2022-01-01","description":"Start date of time off"},"updated_at":{"type":"string","format":"date-time","example":"2022-01-01T00:00:00Z","description":"Time off update date"},"approved_at":{"type":"string","format":"date-time","example":"2022-01-01T00:00:00Z","nullable":true,"description":"Time off approval date"},"description":{"type":"string","example":"Vacation","nullable":true,"description":"Time off description"},"contract_oid":{"type":"string","example":"32fk5ds","description":"Contract id"},"requested_at":{"type":"string","format":"date","example":"2022-01-01","description":"Time off request date"},"half_end_date":{"type":"boolean","example":true,"description":"Is half end date"},"time_off_type":{"type":"object","required":["id","name"],"properties":{"id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Time off type id."},"name":{"type":"string","example":"Vacation","description":"Time off type name. Basically the reason or category of time-off taken. For SICK leave, it can be doctor appointment, surgery etc."},"policy":{"type":"object","required":["id","name","policy_type"],"properties":{"id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Policy id"},"name":{"type":"string","example":"Standard Vacation Policy","description":"The custom name given to policy during policy creation."},"policy_type":{"type":"object","required":["id","name"],"properties":{"id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Policy type id"},"name":{"type":"string","example":"Vacation","description":"Depicts the type of policy, like VACATION, SICK etc"}}}}}}},"half_start_date":{"type":"boolean","example":true,"description":"Is half start date"},"deduction_amount":{"type":"number","format":"float","example":0.5,"nullable":true,"description":"Deduction amount"},"entitlement_unit":{"enum":["HOUR","BUSINESS_DAY","CALENDAR_DAY","WEEK","MONTH","YEAR"],"type":"string","example":"CALENDAR_DAY","description":"The unit in which the time off usage and entitlement are calculated."},"time_off_dailies":{"type":"array","items":{"type":"object","required":["id","time_off_id","amount","date","type","created_at","updated_at"],"properties":{"id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Time off daily id"},"date":{"type":"string","format":"date","example":"2022-01-01","description":"Time off daily date"},"type":{"enum":["WORKING_DAY","NON_WORKING_DAY","HOLIDAY"],"type":"string","example":"WORKING_DAY","description":"Time off daily type"},"amount":{"type":"number","format":"float","example":0.5,"description":"Time off daily amount"},"created_at":{"type":"string","format":"date-time","example":"2022-01-01T00:00:00Z","description":"Time off daily creation date"},"updated_at":{"type":"string","format":"date-time","example":"2022-01-01T00:00:00Z","description":"Time off daily update date"},"description":{"type":"string","example":"Vacation","nullable":true,"description":"Time off daily description"},"time_off_id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Time off id"}}}},"time_off_type_id":{"type":"string","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Time off type id"},"recipient_profile":{"type":"object","properties":{"hris_profile_id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Recipient hris profile id"},"organization_id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Recipient organization id"},"client_profile_id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Recipient client profile id"}}},"requester_profile":{"type":"object","properties":{"hris_profile_id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Request hris profile id"},"organization_id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Request organization id"},"client_profile_id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Request client profile id"}}},"time_off_percentage":{"type":"number","format":"float","example":0.5,"nullable":true,"description":"Time off percentage"},"is_end_date_estimated":{"type":"boolean","example":true,"description":"Is end date estimated"},"other_type_description":{"type":"string","example":"Vacation","nullable":true,"description":"Other type description"}}}},"next":{"type":"string"},"page_size":{"type":"integer","example":10,"maximum":200,"minimum":5,"description":"Page size"},"has_next_page":{"type":"boolean","example":true,"description":"Has next page"}},"description":"Time offs associated to the query"}}},"description":"Successful operation time offs returned"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"query","name":"status","style":"form","schema":{"type":"array","items":{"enum":["REQUESTED","APPROVED","REJECTED","USED","CANCELED"],"type":"string"}},"example":["REQUESTED"],"explode":true,"description":"Time off status"},{"in":"query","name":"time_off_ids","style":"form","schema":{"type":"array","items":{"type":"string","format":"uuid"}},"example":["d290f1ee-6c54-4b01-90e6-d701748f0851"],"explode":true,"description":"Time off ids"},{"in":"query","name":"start_date","schema":{"type":"string","format":"date-time"},"example":"2022-01-01T00:00:00Z","description":"Start date of time off"},{"in":"query","name":"end_date","schema":{"type":"string","format":"date-time"},"example":"2022-01-01T00:00:00Z","description":"End date of time off"},{"in":"query","name":"approval_start_date","schema":{"type":"string","format":"date-time"},"example":"2022-01-01T00:00:00Z","description":"Approval start date"},{"in":"query","name":"approval_end_date","schema":{"type":"string","format":"date-time"},"example":"2022-01-01T00:00:00Z","description":"Approval end date"},{"in":"query","name":"updated_start_date","schema":{"type":"string","format":"date-time"},"example":"2022-01-01T00:00:00Z","description":"Updated start date"},{"in":"query","name":"updated_end_date","schema":{"type":"string","format":"date-time"},"example":"2022-01-01T00:00:00Z","description":"Updated end date"},{"in":"query","name":"page_size","schema":{"type":"integer","maximum":200,"minimum":5},"example":10,"description":"Page size"},{"in":"query","name":"policy_types","style":"form","schema":{"type":"array","items":{"type":"string","format":"uuid"}},"example":["d290f1ee-6c54-4b01-90e6-d701748f0851"],"explode":true,"description":"Policy types"},{"in":"query","name":"next","schema":{"type":"string"},"example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Next page"}],"security":[{"deelToken":[]},{"oauth2":["time-off:read"]}]},"post":{"tags":["Time Off"],"summary":"Create time-off request","operationId":"createTimeOffRequest-v2026-01-01","description":"Create time-off request\n **Token scopes**: `time-off:write`, `worker:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","example":{"time_offs":[{"id":"d290f1ee-6c54-4b01-90e6-d701748f0851","amount":1,"reason":"Vacation","status":"REQUESTED","is_paid":false,"end_date":"2021-08-01","created_at":"2021-07-01T00:00:00Z","start_date":"2021-07-01","updated_at":"2021-07-01T00:00:00Z","approved_at":"2021-07-01T00:00:00Z","attachments":[{"id":"d290f1ee-6c54-4b01-90e6-d701748f0851","filename":"vacation-request.pdf","created_at":"2021-07-01T11:22:33Z","updated_at":"2021-07-01T33:44:33Z"}],"description":"Vacation","contract_oid":"d290f1ee-6c54-4b01-90e6-d701748f0851","requested_at":"2021-07-01","half_end_date":false,"half_start_date":false,"deduction_amount":1,"time_off_dailies":[{"id":"d290f1ee-6c54-4b01-90e6-d701748f0851","date":"2021-07-01","type":"WORKING_DAY","amount":1,"created_at":"2021-07-01T00:00:00Z","updated_at":"2021-07-01T00:00:00Z","description":"Vacation","time_off_id":"d290f1ee-6c54-4b01-90e6-d701748f0851"}],"time_off_type_id":"d290f1ee-6c54-4b01-90e6-d701748f0851","recipient_profile":{"hris_profile_id":"d290f1ee-6c54-4b01-90e6-d701748f0851","organization_id":"d290f1ee-6c54-4b01-90e6-d701748f0851","client_profile_id":"d290f1ee-6c54-4b01-90e6-d701748f0851"},"requester_profile":{"hris_profile_id":"d290f1ee-6c54-4b01-90e6-d701748f0851","organization_id":"d290f1ee-6c54-4b01-90e6-d701748f0851","client_profile_id":"d290f1ee-6c54-4b01-90e6-d701748f0851"},"time_off_percentage":1,"is_end_date_estimated":false,"other_type_description":"Vacation"}]},"required":["time_offs"],"properties":{"time_offs":{"type":"array","items":{"type":"object","example":{"id":"d290f1ee-6c54-4b01-90e6-d701748f0851","amount":1,"reason":"Vacation","status":"REQUESTED","is_paid":false,"end_date":"2021-08-01","created_at":"2021-07-01T00:00:00Z","start_date":"2021-07-01","updated_at":"2021-07-01T00:00:00Z","approved_at":"2021-07-01T00:00:00Z","attachments":[{"id":"d290f1ee-6c54-4b01-90e6-d701748f0851","filename":"vacation-request.pdf","created_at":"2021-07-01T11:22:33Z","updated_at":"2021-07-01T33:44:33Z"}],"description":"Vacation","contract_oid":"d290f1ee-6c54-4b01-90e6-d701748f0851","requested_at":"2021-07-01","half_end_date":false,"half_start_date":false,"deduction_amount":1,"entitlement_unit":"CALENDAR_DAY","time_off_dailies":[{"id":"d290f1ee-6c54-4b01-90e6-d701748f0851","date":"2021-07-01","type":"WORKING_DAY","amount":1,"created_at":"2021-07-01T00:00:00Z","updated_at":"2021-07-01T00:00:00Z","description":"Vacation","time_off_id":"d290f1ee-6c54-4b01-90e6-d701748f0851"}],"time_off_type_id":"d290f1ee-6c54-4b01-90e6-d701748f0851","recipient_profile":{"hris_profile_id":"d290f1ee-6c54-4b01-90e6-d701748f0851","organization_id":"d290f1ee-6c54-4b01-90e6-d701748f0851","client_profile_id":"d290f1ee-6c54-4b01-90e6-d701748f0851"},"requester_profile":{"hris_profile_id":"d290f1ee-6c54-4b01-90e6-d701748f0851","organization_id":"d290f1ee-6c54-4b01-90e6-d701748f0851","client_profile_id":"d290f1ee-6c54-4b01-90e6-d701748f0851"},"time_off_percentage":1,"is_end_date_estimated":false,"other_type_description":"Vacation"},"required":["time_off_type_id","requested_at","start_date","end_date","is_paid","half_start_date","half_end_date","entitlement_unit","created_at","updated_at"],"properties":{"amount":{"type":"number","format":"float","example":1,"description":"Amount of time off taken. This is the total amount of time off taken. For example, if you take 2 days off, this will be 2. If you take 1 day off, this will be 1."},"reason":{"type":"string","example":"Sick leave - Doctor appointment","description":"Reason for taking time off. This is complementary information for the time-off description. Useful to provide sub categories for the same policy."},"status":{"enum":["REQUESTED","APPROVED","REJECTED","USED","CANCELED"],"type":"string","example":"REQUESTED","description":"Status of the time off request. Can be REQUESTED, APPROVED, REJECTED, USED or CANCELED."},"is_paid":{"type":"boolean","example":false,"description":"Whether the time off is paid or unpaid."},"end_date":{"type":"string","format":"date","example":"2021-08-01","description":"End date of the time off request. This is the date when the time off ends. For example, if you take 2 days off, this will be the end date of the second day."},"created_at":{"type":"string","format":"date-time","example":"2021-07-01T11:22:33.444Z","description":"This is the date when the time off request was created in the database."},"start_date":{"type":"string","format":"date","example":"2021-08-01","description":"Start date of the time off request. This is the date when the time off starts. For example, if you take 2 days off, this will be the start date of the first day."},"updated_at":{"type":"string","format":"date-time","example":"2021-07-01T11:22:33.444Z","description":"This is the date when the time off request was last updated in the database."},"approved_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00Z","nullable":true,"description":"This is the date when the time off request was approved. This will be null if the time off request is not approved yet."},"attachments":{"type":"array","items":{"type":"object","example":{"id":"d290f1ee-6c54-4b01-90e6-d701748f0851","filename":"vacation-request.pdf","created_at":"2021-07-01T11:22:33Z","updated_at":"2021-07-01T33:44:33Z"},"required":["id","filename","created_at","updated_at"],"properties":{"id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Attachment id"},"filename":{"type":"string","example":"vacation-request.pdf","description":"Filename of the attachment"},"created_at":{"type":"string","format":"date-time","example":"2021-07-01T11:22:33.444Z","description":"This is the date when the attachment was created in the database."},"updated_at":{"type":"string","format":"date-time","example":"2021-07-01T11:22:33.444Z","description":"This is the date when the attachment was last updated in the database."}},"description":"An attachment associated with the time off request."},"example":[{"id":"d290f1ee-6c54-4b01-90e6-d701748f0851","filename":"vacation-request.pdf","created_at":"2021-07-01T11:22:33Z","updated_at":"2021-07-01T33:44:33Z"}],"description":"List of attachments associated with the time off request."},"description":{"type":"string","example":"Vacation","description":"Description of the time off request. Some policies require that a description is provided."},"contract_oid":{"type":"string","example":"d290f1ee6c54","nullable":true,"description":"Contract id. This is the id of the contract associated with the time off request."},"requested_at":{"type":"string","format":"date","example":"2021-07-01","description":"This is the date when the time off request was made."},"half_end_date":{"type":"boolean","example":false,"description":"Whether the end date is a half day or not."},"time_off_type":{"type":"object","example":{"id":"d290f1ee-6c54-4b01-90e6-d701748f0851","name":"Vacation","policy":{"id":"d290f1ee-6c54-4b01-90e6-d701748f0851","name":"Vacation Policy","policy_type":{"id":"d290f1ee-6c54-4b01-90e6-d701748f0851","name":"VACATION"}}},"required":["id","name"],"properties":{"id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Time off type id."},"name":{"type":"string","example":"Vacation","description":"Time off type name. Basically the reason or category of time-off taken. For SICK leave, it can be doctor appointment, surgery etc."},"policy":{"type":"object","example":{"id":"d290f1ee-6c54-4b01-90e6-d701748f0851","name":"Vacation Policy","policy_type":{"id":"d290f1ee-6c54-4b01-90e6-d701748f0851","name":"VACATION"}},"required":["id","name","policy_type"],"properties":{"id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Policy id"},"name":{"type":"string","example":"Vacation Policy","description":"The custom name given to policy during policy creation."},"policy_type":{"type":"object","required":["id","name"],"properties":{"id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Policy type id"},"name":{"type":"string","example":"VACATION","description":"Depicts the type of policy, like VACATION, SICK etc"}}}},"description":"The policy associated with the time off type."}},"description":"The type of time off taken."},"time_off_event":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"The time off event id. This is used to link the time off request to an event."},"type":{"enum":["PARENTAL_LEAVE"],"type":"string","example":"PARENTAL_LEAVE","description":"The type of the time off event."},"policy_id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"The policy id associated with the time off event. Same as the policy_id in the time off type."},"created_at":{"type":"string","format":"date-time","example":"2021-07-01T11:22:33.444Z","description":"The date when the time off event was created in the database."},"updated_at":{"type":"string","format":"date-time","example":"2021-07-01T11:22:33.444Z","description":"The date when the time off event was last updated in the database."},"event_details":{"type":"object","required":["was_premature_birth","had_multiple_children"],"properties":{"birth_date":{"type":"string","format":"date","example":"2025-05-13","description":"The birth date of the child. This is used for parental leave requests."},"adoption_date":{"type":"string","format":"date","example":"2025-05-13","description":"The date of adoption. This is used for parental leave requests."},"was_premature_birth":{"type":"boolean","example":false,"description":"Whether the birth was premature or not. This is used for parental leave requests."},"estimated_birth_date":{"type":"string","format":"date","example":"2025-05-13","description":"The estimated birth date of the child. Birth is estimated when the birth date has not been confirmed yet."},"had_multiple_children":{"type":"boolean","example":false,"description":"Whether the birth was multiple or not. This is used for parental leave requests."},"estimated_adoption_date":{"type":"string","format":"date","example":"2025-05-13","description":"The estimated adoption date of the child. Birth is estimated when the adoption date has not been confirmed yet."}},"description":"Details of the event associated with the time off request. Required for event based policies such as parental leave."},"hris_profile_id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"The HRIS profile id of the worker associated with the time off event. Same as the hris_profile_id in the recipient_profile."},"time_off_type_id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"The time off type id associated with the time off event. Same as the time_off_type_id in the time off request."}}},"half_start_date":{"type":"boolean","example":false,"description":"Whether the start date is a half day or not."},"deduction_amount":{"type":"number","format":"float","example":1,"nullable":true,"description":"Deduction amount. Available for independent contractor's policies"},"entitlement_unit":{"enum":["HOUR","BUSINESS_DAY","CALENDAR_DAY","WEEK","MONTH","YEAR"],"type":"string","example":"CALENDAR_DAY","description":"The unit in which the time off usage and entitlement are calculated."},"time_off_dailies":{"type":"array","items":{"type":"object","required":["id","time_off_id","amount","date","type","created_at","updated_at"],"properties":{"id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Time off daily id"},"date":{"type":"string","format":"date","example":"2021-08-01","description":"Date of the time off daily. This is the date when the time off was taken."},"type":{"enum":["WORKING_DAY","NON_WORKING_DAY","HOLIDAY"],"type":"string","example":"WORKING_DAY","description":"Type of the time off daily. Can be WORKING_DAY, NON_WORKING_DAY or HOLIDAY."},"amount":{"type":"number","format":"float","example":1,"description":"Amount of time off taken in this specific date."},"created_at":{"type":"string","format":"date-time","example":"2021-07-01T11:22:33.444Z","description":"This is the date when the time off daily was created in the database."},"updated_at":{"type":"string","format":"date-time","example":"2021-07-01T11:22:33.444Z","description":"This is the date when the time off daily was last updated in the database."},"description":{"type":"string","example":"Labour day","nullable":true,"description":"Description of the time off daily. When it is a HOLIDAY this is the holiday name."},"time_off_id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Time off id. This is the id of the time off request associated with the time off daily."}}}},"time_off_type_id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Time off type id. This is the id of the time off type associated with the time off request."},"recipient_profile":{"type":"object","example":{"hris_profile_id":"d290f1ee-6c54-4b01-90e6-d701748f0851","organization_id":"d290f1ee-6c54-4b01-90e6-d701748f0851"},"required":["hris_profile_id","organization_id"],"properties":{"hris_profile_id":{"type":"string","format":"uuid","description":"The worker HRIS profile id in the given organization."},"organization_id":{"type":"string","format":"uuid","description":"Id of the organization the profile belongs to."}},"description":"The time off profile of the recipient of the time off request. Must be a worker profile."},"requester_profile":{"type":"object","example":{"hris_profile_id":"d290f1ee-6c54-4b01-90e6-d701748f0851","organization_id":"d290f1ee-6c54-4b01-90e6-d701748f0851"},"required":["organization_id"],"properties":{"hris_profile_id":{"type":"string","format":"uuid","description":"The worker HRIS profile id in the given organization. Available when the requester is a worker."},"organization_id":{"type":"string","format":"uuid","description":"Id of the organization the profile belongs to."},"client_profile_id":{"type":"string","format":"uuid","description":"Id of the client profile. Available when the requester is a client."}},"description":"The time off profile of the requester of the time off request. Can be either a client or worker profile."},"time_off_percentage":{"type":"number","format":"float","example":1,"maximum":1,"minimum":0,"nullable":true,"description":"This is the percentage of time off taken."},"is_end_date_estimated":{"type":"boolean","example":false,"description":"Whether the end date is estimated or not. This is used on event based policies such as Parental leave."},"other_type_description":{"type":"string","example":"Study leave","nullable":true,"description":"Description of the time off type. This is used when the policy is OTHER."}},"description":"Created time off request"},"example":{"time_offs":[{"id":"d290f1ee-6c54-4b01-90e6-d701748f0851","amount":1,"reason":"Vacation","status":"REQUESTED","is_paid":false,"end_date":"2021-08-01","created_at":"2021-07-01T00:00:00Z","start_date":"2021-07-01","updated_at":"2021-07-01T00:00:00Z","approved_at":"2021-07-01T00:00:00Z","description":"Vacation","contract_oid":"d290f1ee-6c54-4b01-90e6-d701748f0851","requested_at":"2021-07-01","half_end_date":false,"half_start_date":false,"deduction_amount":1,"entitlement_unit":"CALENDAR_DAY","time_off_dailies":[{"id":"d290f1ee-6c54-4b01-90e6-d701748f0851","date":"2021-07-01","type":"WORKING_DAY","amount":1,"created_at":"2021-07-01T00:00:00Z","updated_at":"2021-07-01T00:00:00Z","description":"Vacation","time_off_id":"d290f1ee-6c54-4b01-90e6-d701748f0851"}],"time_off_type_id":"d290f1ee-6c54-4b01-90e6-d701748f0851","recipient_profile":{"hris_profile_id":"d290f1ee-6c54-4b01-90e6-d701748f0851","organization_id":"d290f1ee-6c54-4b01-90e6-d701748f0851","client_profile_id":"d290f1ee-6c54-4b01-90e6-d701748f0851"},"requester_profile":{"hris_profile_id":"d290f1ee-6c54-4b01-90e6-d701748f0851","organization_id":"d290f1ee-6c54-4b01-90e6-d701748f0851","client_profile_id":"d290f1ee-6c54-4b01-90e6-d701748f0851"},"time_off_percentage":1,"is_end_date_estimated":false,"other_type_description":"Vacation"}]},"description":"The list of created time offs. Depending on the selected dates, a time off can be split into more than one request."}},"description":"The list of created time offs. Depending on the selected dates, a time off can be split into more than one request."}}},"description":"Time off creation data"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"object","properties":{"message":{"type":"string","example":"There is already a time-off for the dates 2026-03-05 and 2026-03-05","description":"Error message describing what went wrong"}},"description":"Error details"},"request":{"type":"object","properties":{"url":{"type":"string","example":"/v2/time_offs/time_off","description":"Request URL path"},"docs":{"type":"string","example":"no match","description":"Documentation reference"},"method":{"type":"string","example":"POST","description":"HTTP method"},"source":{"type":"string","example":"http","description":"Request source"},"status":{"type":"integer","example":400,"description":"HTTP status code"},"api_req_id":{"type":"string","example":"e986b19942682de2de9234de3ca360d1","description":"Unique API request identifier"}},"description":"Request metadata"}}},"example":{"errors":{"message":"There is already a time-off for the dates 2026-03-05 and 2026-03-05"},"request":{"url":"/v2/time_offs/time_off","docs":"no match","method":"POST","source":"http","status":400,"api_req_id":"e986b19942682de2de9234de3ca360d1"}}}},"description":"Bad Request"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"object","properties":{"message":{"type":"string","example":"You do not have permission to access this resource","description":"Error message describing what went wrong"}},"description":"Error details"},"request":{"type":"object","properties":{"url":{"type":"string","example":"/v2/time_offs/time_off","description":"Request URL path"},"docs":{"type":"string","example":"no match","description":"Documentation reference"},"method":{"type":"string","example":"POST","description":"HTTP method"},"source":{"type":"string","example":"http","description":"Request source"},"status":{"type":"integer","example":403,"description":"HTTP status code"},"api_req_id":{"type":"string","example":"e986b19942682de2de9234de3ca360d1","description":"Unique API request identifier"}},"description":"Request metadata"}}},"example":{"errors":{"message":"You do not have permission to access this resource"},"request":{"url":"/v2/time_offs/time_off","docs":"no match","method":"POST","source":"http","status":403,"api_req_id":"e986b19942682de2de9234de3ca360d1"}}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"object","properties":{"message":{"type":"string","example":"HrisProfile not found","description":"Error message describing what went wrong"}},"description":"Error details"},"request":{"type":"object","properties":{"url":{"type":"string","example":"/v2/time_offs/time_off/12345","description":"Request URL path"},"docs":{"type":"string","example":"no match","description":"Documentation reference"},"method":{"type":"string","example":"GET","description":"HTTP method"},"source":{"type":"string","example":"http","description":"Request source"},"status":{"type":"integer","example":404,"description":"HTTP status code"},"api_req_id":{"type":"string","example":"e986b19942682de2de9234de3ca360d1","description":"Unique API request identifier"}},"description":"Request metadata"}}},"example":{"errors":{"message":"The requested resource was not found"},"request":{"url":"/v2/time_offs/time_off/12345","docs":"no match","method":"GET","source":"http","status":404,"api_req_id":"e986b19942682de2de9234de3ca360d1"}}}},"description":"Not Found"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["time-off:write","worker:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","example":{"data":{"amount":30,"reason":"Vacation","is_paid":true,"end_date":"2021-04-30","start_date":"2021-04-01","time_off_type_id":"d290f1ee-6c54-4b01-90e6-d701748f0851"}},"properties":{"data":{"type":"object","example":{"amount":1,"reason":"Vacation","is_paid":false,"end_date":"2021-08-02","start_date":"2021-08-01","requested_at":"2021-08-01","half_end_date":false,"half_start_date":false,"time_off_type_id":"d290f1ee-6c54-4b01-90e6-d701748f0851"},"required":["recipient_profile_id","start_date","end_date"],"properties":{"dates":{"type":"array","items":{"type":"object","example":{"date":"2025-05-13","type":"WORKING_DAY","amount":8,"time_off_percentage":1},"required":["date"],"properties":{"date":{"oneOf":[{"type":"string","format":"date","example":"2025-05-13","description":"An specific date in the time-off request"},{"type":"string","format":"date-time","example":"2025-05-13T00:00:00Z","description":"An specific date in the time-off request. Please note that only the date (YYYY-MM-DD) part will be used."}],"example":"2025-05-13","description":"An specific date in the time-off request"},"hours":{"type":"number","format":"float","example":8,"description":"The amount taken in hours during this specific date. It can not exceed the maximum allowed hours for the date."},"amount":{"type":"number","format":"float","example":1,"description":"The amount of time off requested for the date. It must be in the same time unit as in the total amount for the time off request."},"day_type":{"enum":["HALF_DAY","FULL_DAY","PERCENTAGE","HOURLY"],"type":"string","example":"FULL_DAY","description":"The type of day for the time off request. All dates must follow the same type."}},"description":"The dates breakdown for the time off request."},"example":[{"date":"2025-05-13","type":"WORKING_DAY","amount":8,"time_off_percentage":1},{"date":"2025-05-14","type":"WORKING_DAY","amount":8,"time_off_percentage":1},{"date":"2025-05-15","type":"WORKING_DAY","amount":8,"time_off_percentage":1}],"description":"The dates breakdown for the time off request."},"reason":{"type":"string","example":"Sick leave - Doctor appointment","nullable":true,"maxLength":500,"description":"Reason for taking time off. This is complementary information for the time-off description. Useful to provide sub categories for the same policy."},"status":{"enum":["REQUESTED","APPROVED"],"type":"string","default":"APPROVED","example":"REQUESTED","description":"Status for the time off request. When set to REQUESTED the time off should be reviewed later through the Approve/Reject time off api."},"is_paid":{"type":"boolean","example":false,"description":"Whether the time off is paid or unpaid. By default it follows the policy configuration."},"end_date":{"oneOf":[{"type":"string","format":"date","example":"2021-08-02","description":"End date of the time off request. This is the date when the time off ends. For example, if you take 2 days off, this will be the end date of the second day."},{"type":"string","format":"date-time","example":"2021-08-02T00:00:00Z","description":"End date of the time off request. This is the date when the time off ends. For example, if you take 2 days off, this will be the end date of the second day. Please note that only the date (YYYY-MM-DD) part will be used."}],"example":"2021-08-02","description":"End date of the time off request. This is the date when the time off ends. For example, if you take 2 days off, this will be the end date of the second day."},"policy_id":{"type":"string","format":"uuid","example":"b1b9b1b9-1b9b-1b9b-1b9b-1b9b1b9b1b9b","description":"The time off policy id. Can be used in place of time_off_type_id"},"start_date":{"oneOf":[{"type":"string","format":"date","example":"2021-08-01","description":"Start date of the time off request. This is the date when the time off starts. For example, if you take 2 days off, this will be the start date of the first day."},{"type":"string","format":"date-time","example":"2021-08-01T00:00:00Z","description":"Start date of the time off request. This is the date when the time off starts. For example, if you take 2 days off, this will be the start date of the first day. Please note that only the date (YYYY-MM-DD) part will be used."}],"example":"2021-08-01","description":"Start date of the time off request. This is the date when the time off starts. For example, if you take 2 days off, this will be the start date of the first day."},"description":{"type":"string","example":"Vacation","nullable":true,"maxLength":500,"description":"Description of the time off request. Some policies require that a description is provided."},"contract_oid":{"type":"string","example":"d290f1ee6c54","nullable":true,"maxLength":24,"description":"Contract id. This is the id of the contract associated with the time off request."},"event_details":{"type":"object","required":["birth_date","was_premature_birth","had_multiple_children"],"properties":{"birth_date":{"type":"string","format":"date","example":"2025-05-13","description":"The birth date of the child. This is used for parental leave requests."},"adoption_date":{"type":"string","format":"date","example":"2025-05-13","description":"The date of adoption. This is used for parental leave requests."},"was_premature_birth":{"type":"boolean","example":false,"description":"Whether the birth was premature or not. This is used for parental leave requests."},"had_multiple_children":{"type":"boolean","example":false,"description":"Whether the birth was multiple or not. This is used for parental leave requests."}},"description":"Details of the event associated with the time off request. Required for event based policies such as parental leave."},"deduction_amount":{"type":"number","format":"float","example":1,"minimum":1,"nullable":true,"description":"Deduction amount. Available for independent contractor's policies"},"time_off_type_id":{"type":"string","format":"uuid","example":"b1b9b1b9-1b9b-1b9b-1b9b-1b9b1b9b1b9b","description":"The time off type id. Required when policy_id is not provided"},"time_off_event_id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"The time off event id. This is used to link the time off request to an event."},"time_off_percentage":{"type":"number","format":"double","example":1,"maximum":1,"minimum":0,"nullable":true,"description":"This is the percentage of time off taken. This is used when the time off request is a percentage."},"recipient_profile_id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"The hris profile id of the recipient"},"other_type_description":{"type":"string","example":"Study leave","nullable":true,"maxLength":255,"description":"Description of the time off type. This is used when the policy is OTHER."}},"description":"The time off request data"}},"description":"The time off request data"}},"multipart/form-data":{"schema":{"type":"object","properties":{"data":{"type":"object","example":{"file":"file.pdf","amount":1,"reason":"Vacation","is_paid":false,"end_date":"2021-08-01","start_date":"2021-07-01","requested_at":"2021-07-01","half_end_date":false,"half_start_date":false,"time_off_type_id":"d290f1ee-6c54-4b01-90e6-d701748f0851"},"required":["recipient_profile_id","start_date","end_date","file"],"properties":{"file":{"type":"string","format":"binary","example":"file","minLength":1,"description":"File of attached to the time off. Supported files (png, pdf, jpg)"},"dates":{"type":"array","items":{"type":"object","example":{"date":"2025-05-13","type":"WORKING_DAY","amount":8,"time_off_percentage":1},"required":["date"],"properties":{"date":{"oneOf":[{"type":"string","format":"date","example":"2025-05-13","description":"An specific date in the time-off request"},{"type":"string","format":"date-time","example":"2025-05-13T00:00:00Z","description":"An specific date in the time-off request. Please note that only the date (YYYY-MM-DD) part will be used."}],"example":"2025-05-13","description":"An specific date in the time-off request"},"hours":{"type":"number","format":"float","example":8,"description":"The amount taken in hours during this specific date. It can not exceed the maximum allowed hours for the date."},"amount":{"type":"number","format":"float","example":1,"description":"The amount of time off requested for the date. It must be in the same time unit as in the total amount for the time off request."},"day_type":{"enum":["HALF_DAY","FULL_DAY","PERCENTAGE","HOURLY"],"type":"string","example":"FULL_DAY","description":"The type of day for the time off request. All dates must follow the same type."}},"description":"The dates breakdown for the time off request."},"example":[{"date":"2025-05-13","type":"WORKING_DAY","amount":8,"time_off_percentage":1},{"date":"2025-05-14","type":"WORKING_DAY","amount":8,"time_off_percentage":1},{"date":"2025-05-15","type":"WORKING_DAY","amount":8,"time_off_percentage":1}],"description":"The dates breakdown for the time off request."},"reason":{"type":"string","example":"Sick leave - Doctor appointment","nullable":true,"maxLength":500,"description":"Reason for taking time off. This is complementary information for the time-off description. Useful to provide sub categories for the same policy."},"status":{"enum":["REQUESTED","APPROVED"],"type":"string","default":"APPROVED","example":"REQUESTED","description":"Status for the time off request. When set to REQUESTED the time off should be reviewed later through the Approve/Reject time off api."},"is_paid":{"type":"boolean","example":false,"description":"Whether the time off is paid or unpaid. By default it follows the policy configuration."},"end_date":{"oneOf":[{"type":"string","format":"date","example":"2021-08-02","description":"End date of the time off request. This is the date when the time off ends. For example, if you take 2 days off, this will be the end date of the second day."},{"type":"string","format":"date-time","example":"2021-08-02T00:00:00Z","description":"End date of the time off request. This is the date when the time off ends. For example, if you take 2 days off, this will be the end date of the second day. Please note that only the date (YYYY-MM-DD) part will be used."}],"example":"2021-08-02","description":"End date of the time off request. This is the date when the time off ends. For example, if you take 2 days off, this will be the end date of the second day."},"policy_id":{"type":"string","format":"uuid","example":"b1b9b1b9-1b9b-1b9b-1b9b-1b9b1b9b1b9b","description":"The time off policy id. Can be used in place of time_off_type_id"},"start_date":{"oneOf":[{"type":"string","format":"date","example":"2021-08-02","description":"Start date of the time off request. This is the date when the time off starts. For example, if you take 2 days off, this will be the start date of the first day."},{"type":"string","format":"date-time","example":"2021-08-02T00:00:00Z","description":"Start date of the time off request. This is the date when the time off starts. For example, if you take 2 days off, this will be the start date of the first day. Please note that only the date (YYYY-MM-DD) part will be used."}],"example":"2021-08-01","description":"Start date of the time off request. This is the date when the time off starts. For example, if you take 2 days off, this will be the start date of the first day."},"description":{"type":"string","example":"Vacation","nullable":true,"maxLength":500,"description":"Description of the time off request. Some policies require that a description is provided."},"contract_oid":{"type":"string","example":"d290f1ee6c54","nullable":true,"maxLength":24,"description":"Contract id. This is the id of the contract associated with the time off request."},"event_details":{"type":"object","required":["birth_date","was_premature_birth","had_multiple_children"],"properties":{"birth_date":{"type":"string","format":"date","example":"2025-05-13","description":"The birth date of the child. This is used for parental leave requests."},"adoption_date":{"type":"string","format":"date","example":"2025-05-13","description":"The date of adoption. This is used for parental leave requests."},"was_premature_birth":{"type":"boolean","example":false,"description":"Whether the birth was premature or not. This is used for parental leave requests."},"had_multiple_children":{"type":"boolean","example":false,"description":"Whether the birth was multiple or not. This is used for parental leave requests."}},"description":"Details of the event associated with the time off request. Required for event based policies such as parental leave."},"deduction_amount":{"type":"number","format":"float","example":1,"minimum":1,"nullable":true,"description":"Deduction amount. Available for independent contractor's policies"},"time_off_type_id":{"type":"string","format":"uuid","example":"b1b9b1b9-1b9b-1b9b-1b9b-1b9b1b9b1b9b","description":"The time off type id. Required when policy_id is not provided"},"time_off_percentage":{"type":"number","format":"double","example":1,"maximum":1,"minimum":0,"nullable":true,"description":"This is the percentage of time off taken. This is used when the time off request is a percentage."},"recipient_profile_id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"The hris profile id of the recipient"},"other_type_description":{"type":"string","example":"Study leave","nullable":true,"maxLength":255,"description":"Description of the time off type. This is used when the policy is OTHER."}},"description":"The time off request data"}},"description":"The time off request data"}}},"required":true,"description":"The time off request data"}}},"/timesheets":{"get":{"tags":["Timesheets"],"summary":"List of timesheets","operationId":"listOfTimesheets","description":"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.\n **Token scopes**: `timesheets:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data","page"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type","status","description","date_submitted","created_at","currency_code","quantity","total_amount","contract","worksheet","reported_by"],"properties":{"id":{"type":"string","format":"uuid","example":"00000000-0000-0000-0000-000000000000","description":"Unique identifier of this resource."},"type":{"type":"string","example":"work","description":"Deprecated - it is always \"work\""},"scale":{"type":"string","example":"custom","nullable":true},"status":{"enum":["approved","declined","not_payable","paid","pending","processing",null],"type":"string","example":"approved","nullable":true,"description":"status of invoice adjustment"},"contract":{"type":"object","required":["id","title","type"],"properties":{"id":{"type":"string","example":"string","nullable":false},"type":{"enum":["ongoing_time_based","milestones","time_based","pay_as_you_go_time_based","commission","payg_milestones","payg_tasks","eor","unknown","employee","global_payroll","shield_msa","hris_direct_employee","peo"],"type":"string","example":"ongoing_time_based","description":"Type of a contract"},"title":{"type":"string","example":"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":{"type":"object","nullable":true,"required":["filename","key"],"properties":{"key":{"type":"string","example":"string","nullable":false,"description":"You can call attachments end-point, get key and URL to upload your file."},"filename":{"type":"string","example":"string","nullable":false,"description":"Original filename you used to upload using attachments end-point."}},"description":"This object is used for linking file attachments to your records."},"created_at":{"type":"string","format":"date-time","example":"2022-05-04T03:45:27.108Z","nullable":false,"description":"Long date-time format following ISO-8601"},"description":{"type":"string","example":"string","nullable":false},"reported_by":{"type":"object","nullable":false,"required":["id"],"properties":{"id":{"type":"string","format":"uuid","example":"00000000-0000-0000-0000-000000000000","description":"Unique identifier of this resource."},"full_name":{"type":"string","example":"John Smith","nullable":false,"x-sensitive-pii":true}}},"reviewed_by":{"type":"object","nullable":true,"required":["id","reviewed_at","remarks"],"properties":{"id":{"type":"string","format":"uuid","example":"00000000-0000-0000-0000-000000000000","description":"Unique identifier of this resource."},"remarks":{"type":"string","example":"string","nullable":false},"full_name":{"type":"string","example":"Jane Smith","x-sensitive-pii":true},"reviewed_at":{"type":"string","format":"date-time","example":"2022-05-04T03:45:27.899Z"}}},"custom_scale":{"type":"string","example":"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":{"type":"string","example":"GBP","pattern":"^[A-Z]{3}$","maxLength":3,"minLength":3},"payment_cycle":{"type":"object","nullable":false,"properties":{"end_date":{"type":"string","format":"date-time","example":"2022-05-24T03:45:27.899Z","nullable":false,"description":"Long date-time format following ISO-8601"},"start_date":{"type":"string","format":"date-time","example":"2022-05-04T03:45:27.899Z","nullable":false,"description":"Long date-time format following ISO-8601"}}},"date_submitted":{"type":"string","format":"date-time","example":"2022-05-24T03:45:27.899Z","nullable":false,"description":"Long date-time format following ISO-8601"},"hourly_report_preset":{"type":"object","nullable":true,"properties":{"id":{"type":"string","nullable":true,"description":"unique identifier of the related timesheet preset"},"rate":{"type":"number","nullable":true,"description":"the hourly rate of the related timesheet preset"},"title":{"type":"string","nullable":true,"description":"the title of the related timesheet preset"},"description":{"type":"string","nullable":true,"description":"the description of the related timesheet preset"}}}}}},"page":{"type":"object","required":["total_rows"],"properties":{"total_rows":{"type":"number","example":0,"nullable":false}}}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"query","name":"contract_id","schema":{"type":"string"},"description":"Id of an Deel contract."},{"in":"query","name":"contract_types","schema":{"oneOf":[{"type":"array","items":{"enum":["ongoing_time_based","pay_as_you_go_time_based","payg_milestones","payg_tasks"],"type":"string","description":"Type of a contract"},"description":"List of contract types"},{"enum":["ongoing_time_based","pay_as_you_go_time_based","payg_milestones","payg_tasks"],"type":"string"}]},"description":"types of contracts to filter"},{"in":"query","name":"statuses","schema":{"oneOf":[{"type":"array","items":{"enum":["approved","declined","not_payable","paid","pending","processing",null],"type":"string","nullable":true,"description":"status of invoice adjustment"}},{"enum":["approved","declined","not_payable","paid","pending","processing",null],"type":"string"}]}},{"in":"query","name":"reporter_id","schema":{"type":"string","format":"uuid"}},{"in":"query","name":"date_from","schema":{"type":"string","format":"date"}},{"in":"query","name":"date_to","schema":{"type":"string","format":"date"}},{"in":"query","name":"limit","schema":{"type":"string","pattern":"^[0-9]+$"}},{"in":"query","name":"offset","schema":{"type":"string","pattern":"^[0-9]+$"}}],"security":[{"deelToken":[]},{"oauth2":["timesheets:read"]}]},"post":{"tags":["Timesheets"],"summary":"Create a timesheet entry","operationId":"createATimesheetEntry","description":"Submit work for a contractor.\n **Token scopes**: `timesheets:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["created"],"properties":{"id":{"type":"string","description":"Unique identifier of this resource."},"status":{"enum":["approved","declined","not_payable","paid","pending","processing",null],"type":"string","nullable":true,"description":"status of invoice adjustment"},"created":{"type":"boolean","nullable":false},"created_at":{"type":"string","format":"date-time","nullable":true,"description":"Long date-time format following ISO-8601"}},"description":"Details of invoice adjustment created."}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["timesheets:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["contract_id","quantity","date_submitted","description"],"properties":{"quantity":{"type":"number","example":2,"minimum":0.01,"nullable":false,"description":"This is based on the scale of work statement of the associated contract"},"contract_id":{"type":"string","example":"string","nullable":false,"description":"Id of a Deel contract."},"description":{"type":"string","default":"","example":"string","nullable":false},"date_submitted":{"type":"string","format":"date","example":"1999-12-31","description":"Short date in format ISO-8601 (YYYY-MM-DD). For example: 2022-12-31."},"is_auto_approved":{"type":"boolean","example":true,"description":"If true, the timesheet will be automatically approved as part of the request."},"hourly_report_preset_id":{"type":"string","example":"990c9b5b-6d41-4917-b032-ac049877df3a","nullable":true,"description":"Id of an existing timesheets preset. Created through /rest/v2/timesheets/presets"}},"description":"Details of the timesheet to create. Both a client or a contractor may create a timesheet."}}}},"multipart/form-data":{"schema":{"allOf":[{"allOf":[{"type":"object","required":["contract_id","quantity","date_submitted","description"],"properties":{"quantity":{"type":"number","example":2,"minimum":0.01,"nullable":false,"description":"This is based on the scale of work statement of the associated contract"},"contract_id":{"type":"string","example":"string","nullable":false,"description":"Id of a Deel contract."},"description":{"type":"string","default":"","example":"string","nullable":false},"date_submitted":{"type":"string","format":"date","example":"1999-12-31","description":"Short date in format ISO-8601 (YYYY-MM-DD). For example: 2022-12-31."},"is_auto_approved":{"type":"boolean","description":"If true, the timesheet will be automatically approved as part of the request."},"hourly_report_preset_id":{"type":"string","example":"990c9b5b-6d41-4917-b032-ac049877df3a","nullable":true,"description":"Id of an existing timesheets preset. Created through /rest/v2/timesheets/presets"}},"description":"Details of the timesheet to create. Both a client or a contractor may create a timesheet."},{"type":"object","properties":{"file":{"type":"string","format":"binary","nullable":false,"description":"Upload the file you want to attach to this entry."}},"description":"This is the file you will upload in a multi-part form."}]}]}}},"required":true,"description":"Timesheet object that needs to be created"}}},"/departments":{"get":{"tags":["Organizations"],"summary":"Retrieve Departments","operationId":"GetDepartments","description":"Retrieve a list of departments within the organization associated with the authenticated user. Each department contains its unique identifier, name, and optionally, the parent department if applicable.\n **Token scopes**: `organizations:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","example":{"data":[{"id":"c1f4d8ce-66b9-4b98-9054-815237118cbc","name":"Engineering","parent":null},{"id":"25cd10dd-5a9b-42c4-a176-4ba6bb5c28c8","name":"Human Resources","parent":null},{"id":"facc9050-f4c9-4250-bc95-b7584e411a00","name":"Software Development","parent":"1"}]},"properties":{"data":{"type":"array","items":{"type":"object","required":["id","name"],"properties":{"id":{"type":"string","format":"uuid","description":"The unique identifier for the department."},"name":{"type":"string","example":"Engineering","nullable":false,"minLength":1,"description":"The name of the department."},"parent":{"type":"string","nullable":true,"description":"The ID of the parent department, if applicable."}}}}}}}},"description":"Successful retrieval of the list of departments."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Unauthorized. Please provide valid authentication credentials.","description":"An error message indicating that the authentication failed."}}}}},"description":"Unauthorized. The request is missing authentication credentials or the credentials provided are invalid."},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"No departments found in this organization.","description":"An error message indicating that no departments were found."}}}}},"description":"No departments found. There are no departments associated with the current organization."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Internal server error.","description":"A general error message indicating that the server encountered an unexpected issue."}}}}},"description":"Internal server error. An error occurred on the server while processing the request."}},"security":[{"deelToken":[]},{"oauth2":["organizations:read"]}]}},"/people/{worker_id}/custom_fields/{id}":{"delete":{"tags":["Custom Fields"],"summary":"Delete the custom field value from Worker by Id","operationId":"DeleteCustomFieldValueFromWorker","description":"Delete the custom field value from Worker by Id.\n **Token scopes**: `people:write`","responses":{"204":{"description":"Successful response"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"description":"Not found"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"id","schema":{"type":"string","format":"uuid"},"example":"d290f1ee-6c54-4b01-90e6-d701748f0851","required":true,"description":"Custom field id."},{"in":"path","name":"worker_id","schema":{"type":"string","format":"uuid"},"example":"d290f1ee-6c54-4b01-90e6-d701748f0851","required":true,"description":"Worker id."}],"security":[{"deelToken":[]},{"oauth2":["people:write"]}]}},"/time_offs/profile/{hris_profile_id}":{"get":{"tags":["Time Off"],"summary":"List time-off requests","operationId":"listTimeOffRequests","description":"List time-off requests\n **Token scopes**: `time-off:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["has_next_page","data","page_size"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","time_off_type_id","requested_at","start_date","end_date","is_paid","half_start_date","half_end_date","amount","created_at","updated_at","entitlement_unit"],"properties":{"id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Time off id"},"amount":{"type":"number","format":"float","example":0.5,"description":"Amount of time off"},"reason":{"type":"string","example":"Vacation","description":"Reason for time off"},"status":{"enum":["REQUESTED","APPROVED","REJECTED","USED","CANCELED"],"type":"string","example":"REQUESTED","description":"Status of time off"},"is_paid":{"type":"boolean","example":true,"description":"Is time off paid"},"end_date":{"type":"string","format":"date","example":"2022-01-01","description":"End date of time off"},"created_at":{"type":"string","format":"date-time","example":"2022-01-01T00:00:00Z","description":"Time off creation date"},"start_date":{"type":"string","format":"date","example":"2022-01-01","description":"Start date of time off"},"updated_at":{"type":"string","format":"date-time","example":"2022-01-01T00:00:00Z","description":"Time off update date"},"approved_at":{"type":"string","format":"date-time","example":"2022-01-01T00:00:00Z","nullable":true,"description":"Time off approval date"},"description":{"type":"string","example":"Vacation","nullable":true,"description":"Time off description"},"contract_oid":{"type":"string","example":"32fk5ds","description":"Contract id"},"requested_at":{"type":"string","format":"date","example":"2022-01-01","description":"Time off request date"},"half_end_date":{"type":"boolean","example":true,"description":"Is half end date. Only used for backwards compatibility, please do not use."},"half_start_date":{"type":"boolean","example":true,"description":"Is half start date. Only used for backwards compatibility, please do not use."},"deduction_amount":{"type":"number","format":"float","example":0.5,"nullable":true,"description":"Deduction amount"},"entitlement_unit":{"enum":["HOUR","BUSINESS_DAY","CALENDAR_DAY","WEEK","MONTH","YEAR"],"type":"string","example":"CALENDAR_DAY","description":"The unit in which the time off usage and entitlement are calculated."},"time_off_dailies":{"type":"array","items":{"type":"object","required":["id","time_off_id","amount","date","type","created_at","updated_at"],"properties":{"id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Time off daily id"},"date":{"type":"string","format":"date","example":"2022-01-01","description":"Time off daily date"},"type":{"enum":["WORKING_DAY","NON_WORKING_DAY","HOLIDAY"],"type":"string","example":"WORKING_DAY","description":"Time off daily type"},"amount":{"type":"number","format":"float","example":0.5,"description":"Time off daily amount"},"created_at":{"type":"string","format":"date-time","example":"2022-01-01T00:00:00Z","description":"Time off daily creation date"},"updated_at":{"type":"string","format":"date-time","example":"2022-01-01T00:00:00Z","description":"Time off daily update date"},"description":{"type":"string","example":"Vacation","nullable":true,"description":"Time off daily description"},"time_off_id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Time off id"}}}},"time_off_type_id":{"type":"string","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Time off type id"},"recipient_profile":{"type":"object","properties":{"hris_profile_id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Recipient hris profile id"},"organization_id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Recipient organization id"},"client_profile_id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Recipient client profile id"}}},"requester_profile":{"type":"object","properties":{"hris_profile_id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Request hris profile id"},"organization_id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Request organization id"},"client_profile_id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Request client profile id"}}},"time_off_percentage":{"type":"number","format":"float","example":0.5,"nullable":true,"description":"Time off percentage"},"is_end_date_estimated":{"type":"boolean","example":true,"description":"Is end date estimated"},"other_type_description":{"type":"string","example":"Vacation","nullable":true,"description":"Other type description"}}}},"next":{"type":"string"},"page_size":{"type":"integer","example":10,"maximum":200,"minimum":5,"description":"Page size"},"has_next_page":{"type":"boolean","example":true,"description":"Has next page"}},"description":"Time offs associated to the query"}}},"description":"Successful operation time offs returned"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"query","name":"status","style":"form","schema":{"type":"array","items":{"enum":["REQUESTED","APPROVED","REJECTED","USED","CANCELED"],"type":"string"}},"example":["REQUESTED"],"explode":true,"description":"Time off status"},{"in":"query","name":"time_off_ids","style":"form","schema":{"type":"array","items":{"type":"string","format":"uuid"}},"example":["d290f1ee-6c54-4b01-90e6-d701748f0851"],"explode":true,"description":"Time off ids"},{"in":"query","name":"start_date","schema":{"type":"string","format":"date-time"},"example":"2022-01-01T00:00:00Z","description":"Start date of time off"},{"in":"query","name":"end_date","schema":{"type":"string","format":"date-time"},"example":"2022-01-01T00:00:00Z","description":"End date of time off"},{"in":"query","name":"approval_start_date","schema":{"type":"string","format":"date-time"},"example":"2022-01-01T00:00:00Z","description":"Approval start date"},{"in":"query","name":"approval_end_date","schema":{"type":"string","format":"date-time"},"example":"2022-01-01T00:00:00Z","description":"Approval end date"},{"in":"query","name":"updated_start_date","schema":{"type":"string","format":"date-time"},"example":"2022-01-01T00:00:00Z","description":"Updated start date"},{"in":"query","name":"updated_end_date","schema":{"type":"string","format":"date-time"},"example":"2022-01-01T00:00:00Z","description":"Updated end date"},{"in":"query","name":"page_size","schema":{"type":"integer","maximum":200,"minimum":5},"example":10,"description":"Page size"},{"in":"query","name":"policy_types","style":"form","schema":{"type":"array","items":{"type":"string","format":"uuid"}},"example":["d290f1ee-6c54-4b01-90e6-d701748f0851"],"explode":true,"description":"Policy types"},{"in":"query","name":"next","schema":{"type":"string"},"example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Next page"},{"in":"path","name":"hris_profile_id","schema":{"type":"string","format":"uuid"},"example":"d290f1ee-6c54-4b01-90e6-d701748f0851","required":true,"description":"HRIS profile id"}],"security":[{"deelToken":[]},{"oauth2":["time-off:read"]}]}},"/benefits/legal-entities/{legal_entity_id}/paystubs":{"get":{"tags":["Paystubs"],"summary":"Get paystubs from legal entity integrated with external benefits vendor","operationId":"getPaystubsFromLegalEntityIntegratedWithExternalBenefitsVendor-v2026-01-01","description":"Returns paginated paystubs for a legal entity that is integrated with an external benefits vendor. Results can be filtered by payroll state and date range; paystubs in the `OPEN` state do not include employee-level detail.\n **Token scopes**: `benefits:read`","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"employees":{"type":"array","items":{"type":"object","properties":{"gross_pay":{"type":"number","example":1000,"nullable":true,"description":"Gross pay."},"contract_id":{"type":"string","example":"48fjd3","nullable":false,"description":"The contract id."},"employee_id":{"type":"string","example":"40233e16-a043-4c68-85c1-6a369755b5a5","nullable":false,"description":"Unique identifier for the employee."},"hours_worked":{"type":"number","example":160,"nullable":true,"description":"The worked hours."},"contributions":{"type":"array","items":{"type":"object","nullable":false,"properties":{"name":{"type":"string","example":"401k","nullable":false,"description":"The contribution name."},"type":{"enum":["Roth","Trad","Loan"],"type":"string","example":"Roth","nullable":false,"description":"The type of contribution."},"amount":{"type":"number","example":100,"nullable":false,"description":"The contribution amount."}},"description":"Details about the contributions."},"nullable":false,"description":"List of employee's contributions."},"employerContributions":{"type":"array","items":{"type":"object","nullable":false,"properties":{"name":{"type":"string","example":"401k","nullable":false,"description":"The contribution name."},"type":{"enum":["Match Rate","Non Elective","Safe Harbor Type 1","Safe Harbor Type 2"],"type":"string","example":"Match Rate","nullable":false,"description":"The type of contribution."},"amount":{"type":"number","example":100,"nullable":false,"description":"The contribution amount."}},"description":"Details about the contributions."},"nullable":false,"description":"List of employeer's contributions."}}},"nullable":false,"description":"List of employees associated with the payroll."},"payroll_id":{"type":"string","example":"40233e16-a043-4c68-85c1-6a369755b5a5","nullable":false,"description":"Unique identifier for the payroll."},"payment_date":{"type":"string","example":"2022-01-01","nullable":false,"description":"Payment date."},"payroll_type":{"enum":["CORRECTION","RECONCILIATION","PARALLEL","HISTORICAL","OFFCYCLE","REGULAR"],"type":"string","example":"CORRECTION","nullable":false,"description":"Payroll type."},"payroll_state":{"enum":["OPEN","LOCKED","CLOSED"],"type":"string","example":"OPEN","nullable":false,"description":"Payroll state."},"payroll_end_date":{"type":"string","example":"2022-01-15","nullable":false,"description":"Payroll end date."},"payroll_schedule":{"enum":["MONTHLY","BIMONTHLY","BIWEEKLY","WEEKLY"],"type":"string","example":"MONTHLY","nullable":false,"description":"Payroll cycle type."},"payroll_start_date":{"type":"string","example":"2022-01-01","nullable":false,"description":"Payroll start date."}}},"description":"List of paystubs"},"page":{"type":"object","properties":{"cursor":{"type":"string","example":"40233e16-a043-4c68-85c1-6a369755b5a5","nullable":true,"description":"The last fetched id to start querying from"},"total_rows":{"type":"integer","example":100,"nullable":false,"description":"Total number of rows"},"items_per_page":{"type":"integer","example":10,"nullable":false,"description":"Items per page"}}}}}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"query","name":"states","schema":{"type":"array","items":{"enum":["OPEN","LOCKED","CLOSED"],"type":"string"}},"example":["OPEN"],"required":false,"description":"Payroll states: OPEN | LOCKED | CLOSED (OPEN doesn't have `employees` info)"},{"in":"query","name":"date_start","schema":{"type":"string"},"example":"2022-01-01","required":false,"description":"Start date to fectch the paystubs from"},{"in":"query","name":"date_end","schema":{"type":"string"},"example":"2022-01-15","required":false,"description":"End date to fectch the paystubs"},{"in":"query","name":"items_per_page","schema":{"type":"integer","default":10},"example":10,"required":false,"description":"Items per page"},{"in":"query","name":"cursor","schema":{"type":"string"},"example":"40233e16-a043-4c68-85c1-6a369755b5a5","required":false,"description":"The last fetched id to start querying from"},{"in":"path","name":"legal_entity_id","schema":{"type":"string"},"example":"40233e16-a043-4c68-85c1-6a369755b5a5","required":true,"description":"Id from the legal entity to fetch data"}],"security":[{"deelToken":[]},{"oauth2":["benefits:read"]}]}},"/cycles/{cycle_id}/payroll-report":{"get":{"tags":["Global Payroll"," Payroll"," Payroll Report"],"summary":"Get Payroll Report","operationId":"getPayrollReport-v2026-03-30","description":"Get payroll report data for a payroll cycle, including available columns, employee row values, and optional previous report items. Use this response to discover payroll_report_column_id and payroll_id before updating entries.\n **Token scopes**: `global-payroll:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["employment_payroll_events","event_entity_items","count"],"properties":{"count":{"type":"integer","example":1,"description":"Number of rows returned."},"cursor":{"oneOf":[{"type":"string"},{"type":"number"}],"example":"cursor_123","nullable":true,"description":"Cursor for pagination."},"overview":{"type":"object","example":{},"nullable":true,"description":"Optional aggregated overview for the report."},"event_entity_items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"c57dde3d84d9640b09530582c7be34","description":"Column id."},"type":{"type":"string","example":"earnings","description":"Column type."},"label":{"type":"string","example":"Gross Salary","description":"Display label."},"scope":{"type":"string","example":"EMPLOYMENT","description":"Column scope."},"status":{"type":"string","example":"ACTIVE","description":"Column status."},"tooltip":{"type":"string","example":"Monthly gross salary","nullable":true,"description":"Tooltip text."},"countries":{"type":"array","items":{"type":"string"},"example":["US"],"description":"Countries where column applies."},"is_global":{"type":"boolean","example":false,"description":"Whether column is global."},"created_at":{"type":"string","format":"date-time","example":"2026-03-18T12:00:00.000Z","description":"Creation time."},"item_order":{"type":"integer","example":1,"description":"Ordering index."},"updated_at":{"type":"string","format":"date-time","example":"2026-03-18T12:00:00.000Z","description":"Last update time."},"description":{"type":"string","example":"Total gross salary","nullable":true,"description":"Column description."},"system_name":{"type":"string","example":"gross_salary","nullable":true,"description":"System name."},"deel_enabled":{"type":"boolean","example":true,"description":"Whether enabled for Deel."},"is_adjustable":{"type":"boolean","example":true,"description":"Whether item is adjustable."},"appears_on_g2n":{"type":"boolean","example":true,"description":"Whether appears on G2N."},"client_enabled":{"type":"boolean","example":true,"description":"Whether enabled for clients."},"unit_of_measure":{"type":"string","example":"CURRENCY","nullable":true,"description":"Unit of measure."},"can_be_recurring":{"type":"boolean","example":true,"description":"Whether item can recur."},"employer_cost_type":{"type":"string","example":"TAX","nullable":true,"description":"Employer cost type."},"add_to_employer_cost":{"type":"boolean","example":true,"description":"Whether adds to employer cost."},"included_in_g2n_report":{"type":"boolean","example":true,"description":"Whether included in G2N report."},"payroll_legal_entity_id":{"type":"integer","example":456,"nullable":true,"description":"Payroll legal entity id."},"is_recurring_in_offcycle":{"type":"boolean","example":false,"description":"Whether recurring in offcycle."},"appears_on_recurring_items":{"type":"boolean","example":true,"description":"Whether appears on recurring items."},"client_payroll_report_label":{"type":"string","example":"Client Gross Salary","nullable":true,"description":"Client-facing label."},"supported_in_payroll_report":{"type":"boolean","example":true,"description":"Whether supported in payroll report."},"payroll_report_sub_category_id":{"type":"string","example":"subcat_123","nullable":true,"description":"Sub-category id."},"adjustment_payroll_report_column_id":{"type":"string","example":"adj_col_123","nullable":true,"description":"Adjustment column id."}}},"description":"Column definitions available for update."},"employment_payroll_events":{"type":"array","items":{"type":"object","properties":{"contract":{"type":"object","properties":{"id":{"type":"integer","example":12345,"description":"Internal contract id."},"oid":{"type":"string","example":"ctr_abc123","description":"Public contract identifier."},"status":{"type":"string","example":"active","nullable":true,"description":"Contract status.","x-sensitive-employment":true},"hris_profile":{"type":"object","properties":{"oid":{"type":"string","example":"hris_profile_123","description":"HRIS profile identifier."}},"description":"HRIS profile details."},"contract_type":{"type":"string","example":"employee","nullable":true,"description":"Contract type.","x-sensitive-employment":true},"completion_date":{"type":"string","format":"date-time","example":"2026-03-18T12:00:00.000Z","nullable":true,"description":"Contract completion date.","x-sensitive-employment":true}},"description":"Contract details for the employee."},"employment":{"type":"object","properties":{"employee":{"type":"object","properties":{"last_name":{"type":"string","example":"Doe","nullable":true,"description":"Last name.","x-sensitive-employment":true},"first_name":{"type":"string","example":"Jane","nullable":true,"description":"First name.","x-sensitive-employment":true},"middle_name":{"type":"string","example":"Q","nullable":true,"description":"Middle name.","x-sensitive-employment":true}},"description":"Employee name details."},"employment_id":{"type":"string","example":"employment_123","nullable":true,"description":"Employment id."},"employee_status":{"type":"string","example":"ACTIVE","nullable":true,"description":"Employee status.","x-sensitive-employment":true},"employee_recurring_items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"pri_recurring_123","description":"Recurring item id."},"amount":{"oneOf":[{"type":"string"},{"type":"number"}],"example":"100.00","description":"Recurring item amount."},"unit_of_measure":{"type":"string","example":"CURRENCY","nullable":true,"description":"Unit of measure."},"payroll_report_column":{"type":"object","example":{"id":"c57dde3d84d9640b09530582c7be34"},"description":"Payroll report column details."},"payroll_report_column_id":{"type":"string","example":"c57dde3d84d9640b09530582c7be34","description":"Payroll report column id."}}},"description":"Recurring payroll items for the employee."}}},"payroll_report_items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"pri_123","description":"Payroll report item id."},"value":{"type":"string","example":"2500.00","nullable":true,"description":"Item value."},"source":{"type":"string","example":"MANUAL","nullable":true,"description":"Value source."},"qtd_value":{"type":"string","example":"6000.00","nullable":true,"description":"Quarter-to-date value."},"ytd_value":{"type":"string","example":"12000.00","nullable":true,"description":"Year-to-date value."},"created_at":{"type":"string","format":"date-time","example":"2026-03-18T12:00:00.000Z","description":"Item creation time."},"updated_at":{"type":"string","format":"date-time","example":"2026-03-18T12:00:00.000Z","description":"Item update time."},"is_prorated":{"type":"boolean","example":false,"description":"Whether the value is prorated."},"is_recurring":{"type":"boolean","example":true,"nullable":true,"description":"Whether the item is recurring."},"is_overwritten":{"type":"boolean","example":false,"description":"Whether the value was overwritten."},"last_change_by":{"type":"integer","example":101,"nullable":true,"description":"Last editor user id."},"unit_of_measure":{"type":"string","example":"CURRENCY","nullable":true,"description":"Unit of measure."},"updated_by_profile":{"type":"object","properties":{"name":{"type":"string","example":"Jane Doe","nullable":true,"description":"User name.","x-sensitive-employment":true},"email":{"type":"string","example":"jane@deel.com","nullable":true,"description":"User email.","x-sensitive-employment":true},"user_id":{"type":"integer","example":101,"nullable":true,"description":"User id.","x-sensitive-employment":true}},"description":"Profile of the user who last updated the item."},"payroll_report_column":{"type":"object","properties":{"id":{"type":"string","example":"c57dde3d84d9640b09530582c7be34","description":"Column id."},"type":{"type":"string","example":"earnings","description":"Column type."},"label":{"type":"string","example":"Gross Salary","description":"Display label."},"scope":{"type":"string","example":"EMPLOYMENT","description":"Column scope."},"status":{"type":"string","example":"ACTIVE","description":"Column status."},"tooltip":{"type":"string","example":"Monthly gross salary","nullable":true,"description":"UI tooltip."},"countries":{"type":"array","items":{"type":"string"},"example":["US"],"description":"Countries where the column applies."},"is_global":{"type":"boolean","example":false,"description":"Whether the column is global."},"created_at":{"type":"string","format":"date-time","example":"2026-03-18T12:00:00.000Z","description":"Column creation time."},"item_order":{"type":"integer","example":1,"description":"Column ordering."},"updated_at":{"type":"string","format":"date-time","example":"2026-03-18T12:00:00.000Z","description":"Column update time."},"description":{"type":"string","example":"Total gross salary","nullable":true,"description":"Column description."},"system_name":{"type":"string","example":"gross_salary","nullable":true,"description":"System name."},"deel_enabled":{"type":"boolean","example":true,"description":"Whether enabled for Deel."},"is_adjustable":{"type":"boolean","example":true,"description":"Whether the column is adjustable."},"appears_on_g2n":{"type":"boolean","example":true,"description":"Whether it appears on G2N."},"client_enabled":{"type":"boolean","example":true,"description":"Whether enabled for clients."},"unit_of_measure":{"type":"string","example":"CURRENCY","nullable":true,"description":"Unit of measure."},"can_be_recurring":{"type":"boolean","example":true,"description":"Whether the item can recur."},"employer_cost_type":{"type":"string","example":"TAX","nullable":true,"description":"Employer cost type."},"add_to_employer_cost":{"type":"boolean","example":true,"description":"Whether adds to employer cost."},"included_in_g2n_report":{"type":"boolean","example":true,"description":"Whether included in G2N report."},"payroll_legal_entity_id":{"type":"integer","example":456,"nullable":true,"description":"Payroll legal entity id."},"is_recurring_in_offcycle":{"type":"boolean","example":false,"description":"Whether recurring in offcycle."},"appears_on_recurring_items":{"type":"boolean","example":true,"description":"Whether appears on recurring items."},"client_payroll_report_label":{"type":"string","example":"Client Gross Salary","nullable":true,"description":"Client-facing label."},"supported_in_payroll_report":{"type":"boolean","example":true,"description":"Whether the column appears in payroll report."},"payroll_report_sub_category_id":{"type":"string","example":"subcat_123","nullable":true,"description":"Report sub-category id."},"adjustment_payroll_report_column_id":{"type":"string","example":"adj_col_123","nullable":true,"description":"Adjustment column id."}},"description":"Payroll report column details."},"payroll_report_column_id":{"type":"string","example":"c57dde3d84d9640b09530582c7be34","description":"Payroll report column id."},"employment_payroll_event_id":{"oneOf":[{"type":"integer"},{"type":"string"}],"example":899472,"description":"Employment payroll event id."}}},"description":"Current payroll report items."},"previous_payroll_report_items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"pri_456","description":"Payroll report item id."},"value":{"type":"string","example":"2400.00","nullable":true,"description":"Item value."},"source":{"type":"string","example":"MANUAL","nullable":true,"description":"Value source."},"qtd_value":{"type":"string","example":"4500.00","nullable":true,"description":"Quarter-to-date value."},"ytd_value":{"type":"string","example":"9500.00","nullable":true,"description":"Year-to-date value."},"created_at":{"type":"string","format":"date-time","example":"2026-02-18T12:00:00.000Z","description":"Item creation time."},"updated_at":{"type":"string","format":"date-time","example":"2026-02-18T12:00:00.000Z","description":"Item update time."},"is_prorated":{"type":"boolean","example":false,"description":"Whether the value is prorated."},"is_overwritten":{"type":"boolean","example":false,"description":"Whether the value was overwritten."},"last_change_by":{"type":"integer","example":101,"nullable":true,"description":"Last editor user id."},"unit_of_measure":{"type":"string","example":"CURRENCY","nullable":true,"description":"Unit of measure."},"payroll_report_column":{"type":"object","example":{"id":"c57dde3d84d9640b09530582c7be34"},"description":"Payroll report column details."},"payroll_report_column_id":{"type":"string","example":"c57dde3d84d9640b09530582c7be34","description":"Payroll report column id."},"employment_payroll_event_id":{"oneOf":[{"type":"integer"},{"type":"string"}],"example":899471,"description":"Employment payroll event id."}}},"description":"Previous payroll report items for comparison."}}},"description":"Employee rows for the cycle."}}}}}}},"description":"Successful response"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_parameter","description":"Machine-readable error code"},"field":{"type":"string","example":"/data/example_field","description":"Name of the field causing the error (for validation issues)"},"message":{"type":"string","example":"Must have required property 'example_field'","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"service_unavailable","description":"Machine-readable error code"},"message":{"type":"string","example":"The service is currently experiencing issues","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."}},"parameters":[{"in":"query","name":"contract_oids","schema":{"type":"array","items":{"type":"string"}},"example":["LnjP6kYv"],"description":"Contract OID(s) to filter report rows."},{"in":"query","name":"search","schema":{"type":"string"},"example":"Luis Aguado","description":"Filter by employee name."},{"in":"query","name":"employee_status","schema":{"type":"array","items":{"type":"string"}},"example":["ACTIVE"],"description":"Employee status filter."},{"in":"query","name":"limit","schema":{"type":"integer","default":100,"maximum":200,"minimum":1},"example":100,"description":"Maximum number of report rows."},{"in":"query","name":"cursor","schema":{"oneOf":[{"type":"string"},{"type":"number"}]},"description":"Cursor for pagination."},{"in":"path","name":"cycle_id","schema":{"type":"string"},"required":true,"description":"Payroll event/cycle id."}],"security":[{"deelToken":[]},{"oauth2":["global-payroll:read"]}]}},"/organizations/children":{"post":{"tags":["Organizations"],"summary":"Create child organization","operationId":"createChildOrganization","description":"Creates a new organization along with:\n\n- An API token scoped to the new organization. This token can be used to perform API operations on behalf of the new organization.\n- A default group for the organization.\n- A hierarchy linking the authenticated organization (the Parent Organization) with the new one (the Child Organization).\n- A user from the parent organization who will be assigned to the child organization.\n\nThis endpoint sets up the bare minimum required for the new organization to be operational immediately after creation.\n **Token scopes**: `organizations:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","token","created_at","updated_at"],"properties":{"id":{"type":"string","example":"7cdadbfa-3f9e-4e81-95d4-d40d0cab74be","description":"The unique identifier of the created child organization."},"token":{"type":"string","example":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWUsImlhdCI6MTUxNjIzOTAyMn0.KMUFsIDTnFmyG3nMiGM6H9FNFUROf3wh7SmqJp-QV30","description":"The API token generated for the created child organization"},"created_at":{"type":"string","format":"date-time","example":"2025-07-06T19:51:54.000Z","description":"When the created child organization was created (ISO 8601 format)"},"updated_at":{"type":"string","format":"date-time","example":"2025-07-06T19:51:54.000Z","description":"When the created child organization was updated for the last time (ISO 8601 format)"}}}}}}},"description":"Operation successful. The child organization was created successfully."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"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"}}}},"request":{"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"}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["organizations:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["child_organization","parent_organization"],"properties":{"child_organization":{"type":"object","required":["name"],"properties":{"name":{"type":"string","example":"ACME INC.","description":"The organization's name."},"department":{"type":"string","example":"Finance","description":"The department's name where the manager will be added"},"is_api_enabled":{"type":"boolean","example":true,"description":"The flag that enables the public API for the child organization."},"workforce_size":{"type":"integer","example":1000,"maximum":100000,"minimum":1,"description":"The workforce size of the child organization."},"headquarters_country":{"type":"string","example":"BR","maxLength":2,"minLength":2,"description":"The 2-letter country code of the organization's headquarters."}},"description":"The object that contains all the information related to the child organization that will be created."},"parent_organization":{"type":"object","properties":{"admin_email":{"type":"string","example":"admin@example.com","description":"The email of one of the managers of the parent organization that will be used to create an user for the child organization, it should exists on the parent organization."}},"description":"The object that contains the information related to the parent_organization."}},"description":"The request payload."}}}}},"required":true}}},"/time_tracking/shift_rates/{external_id}":{"delete":{"tags":["Time Tracking Rates"],"summary":"Delete a Shift Rate by external ID","operationId":"deleteAShiftRateByExternalId-v2026-01-01","description":"Delete a Shift Rate using its external ID, which is the custom ID provided when the shift rate is created. A ShiftRate can only be deleted if it is not currently associated with any active shift.\n **Token scopes**: `time-tracking:write`","responses":{"204":{"description":"Successfully deleted"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"content":{"application/json":{"example":{"error":"Shift rate not found."}}},"description":"Shift rate with the given external ID not found."},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"external_id","schema":{"type":"string"},"example":"external_id1","required":true,"description":"external ID"}],"security":[{"deelToken":[]},{"oauth2":["time-tracking:write"]}]},"get":{"tags":["Time Tracking Rates"],"summary":"Retrieve a Shift Rate by External ID","operationId":"retrieveAShiftRateByExternalId","description":"Retrieve details of a specific shift rate using its external ID. The response includes information such as the name, type, value, and unique identifier of the shift rate.\n **Token scopes**: `time-tracking:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"name":{"type":"string","example":"Night Shift Bonus","description":"The name of the shift rate."},"type":{"type":"string","example":"MULTIPLIER_PERCENTAGE","description":"The type of the shift rate (e.g., MULTIPLIER_PERCENTAGE or FLAT_RATE)."},"value":{"type":"number","example":80.2,"description":"The value of the shift rate."},"external_id":{"type":"string","example":"rate-1234","description":"The unique external identifier of the shift rate."}}}}},"example":{"data":{"name":"Night Shift Bonus","type":"MULTIPLIER_PERCENTAGE","value":80.2,"external_id":"rate-1234"}}}},"description":"Shift rate retrieved successfully."},"400":{"content":{"application/json":{"example":{"error":"Invalid external ID format."}}},"description":"Invalid external ID provided or the request is malformed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"content":{"application/json":{"example":{"error":"Shift rate not found."}}},"description":"Shift rate with the given external ID not found."},"500":{"content":{"application/json":{"example":{"error":"An unexpected error occurred. Please try again later."}}},"description":"Internal server error occurred while retrieving the shift rate."}},"parameters":[{"in":"path","name":"external_id","schema":{"type":"string"},"example":"external_id1","required":true,"description":"The unique external identifier of the shift rate to retrieve."}],"security":[{"deelToken":[]},{"oauth2":["time-tracking:read"]}]},"patch":{"tags":["Time Tracking Rates"],"summary":"Update a shift rate","operationId":"updateAShiftRate","description":"Update specific fields of an existing shift rate.\n **Token scopes**: `time-tracking:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","example":{"data":{"name":"dcba","type":"MULTIPLIER_PERCENTAGE","value":80.2,"created_at":"2024-10-17T10:48:20.314Z","updated_at":"2024-11-01T12:08:25.731Z","external_id":"12345678g"}},"properties":{"data":{"type":"object","properties":{"name":{"type":"string","example":"abcd","description":"The updated name of the shift rate."},"type":{"type":"string","example":"MULTIPLIER_PERCENTAGE","description":"The type of shift rate, e.g., MULTIPLIER_PERCENTAGE."},"value":{"type":"number","example":80.2,"description":"The updated value of the shift rate."},"created_at":{"type":"string","format":"date-time","example":"2024-11-01T12:08:25.731Z","description":"The timestamp when the shift rate was created."},"updated_at":{"type":"string","format":"date-time","example":"2024-11-01T12:08:25.731Z","description":"The timestamp when the shift rate was last updated."},"external_id":{"type":"string","example":"abcd","description":"The unique identifier of the updated shift rate."}}}}}}},"description":"Shift rate updated successfully"},"400":{"content":{"application/json":{"schema":{"type":"object","example":{"error":{"message":"Invalid payload"}},"properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Description of the error."}}}}}}},"description":"Invalid request payload"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"external_id","schema":{"type":"string"},"example":"12345678g","required":true,"description":"Unique identifier of the shift rate to be updated."}],"security":[{"deelToken":[]},{"oauth2":["time-tracking:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"name":{"type":"string","example":"dcba","description":"The updated name of the shift rate."},"type":{"enum":["MULTIPLIER_PERCENTAGE","PER_HOUR_FLAT_RATE","PER_UNIT_FLAT_RATE"],"example":"MULTIPLIER_PERCENTAGE","description":"The updated type of shift rate."},"value":{"type":"number","example":80.2,"description":"The updated value of the shift rate."}}}}}}},"required":true}}},"/equities-tokens/tax-events":{"post":{"tags":["Equity Tokens"],"summary":"Create equity or token tax event","operationId":"createEquityOrTokenTaxEvent","description":"Use this endpoint to submit an equity or token tax event for an EOR onboarded to Equity & Token Services\n **Token scopes**: `equities:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"cb50474d-2f76-42d8-a795-5277007a29d9","description":"the id of the equity/token tax event generated"},"created_at":{"type":"string","format":"date-time","example":"2025-09-22T10:00:00Z","description":"the date and time when the equity/token tax event was created"}}}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_parameter","description":"return code error"},"field":{"type":"string","example":"start_date","description":"field that caused the error"},"message":{"type":"string","example":"start_date is required","description":"description of the error"}}}}}}}},"description":"Bad request"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["equities:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","required":["contract_id","plan_currency","payroll_currency","method_of_tax_coverage","tax_jurisdiction","settlement_date","total_taxes_withheld","fx_rate","taxable_gain_or_loss","benefit_in_kind_local_currency","withheld_tax_local_currency"],"properties":{"fx_rate":{"type":"number","format":"float","example":0.95904862,"description":"The exchange rate used to convert the local currency to the payroll currency"},"tax_rate":{"type":"number","format":"float","example":0.25,"description":"The tax rate applied to the benefit in kind"},"unit_fmv":{"type":"number","format":"float","example":11,"description":"The fair market value of the equity/token grant at the time of the event"},"event_date":{"type":"string","format":"date","example":"2024-04-01","description":"The date of the event"},"sale_price":{"type":"number","format":"float","example":10,"description":"The price at which the equity/token was sold"},"contract_id":{"type":"string","example":"meyv8ek","description":"The unique identifier of the contract of the employee who received the equity/token grant"},"gross_value":{"type":"number","format":"float","example":100000,"description":"The gross value of the equity/token grant"},"plan_currency":{"type":"string","example":"USD","description":"The currency in which the equity/token grant was issued"},"exercise_price":{"type":"number","format":"float","example":4.34,"description":"The price at which the equity/token was exercised"},"equity_grant_id":{"type":"string","example":"76c90748-f83c-4e4f-9c37-34c4d02d6406","description":"The unique identifier of the equity/token grant - optional in case you don't have remove the property"},"settlement_date":{"type":"string","format":"date","example":"2024-06-01","description":"The date of the settlement"},"payroll_currency":{"type":"string","example":"EUR","description":"The currency in which the payroll is processed"},"tax_jurisdiction":{"type":"string","example":"US","description":"The tax jurisdiction in which the equity/token grant was issued"},"transaction_fees":{"type":"number","format":"float","example":25,"description":"The fees associated with the transaction"},"quantity_remaining":{"type":"number","format":"float","example":5000,"description":"The quantity of equity/token that remains"},"taxable_gain_or_loss":{"type":"number","format":"float","example":15000,"description":"The taxable gain or loss"},"total_exercise_price":{"type":"number","format":"float","example":225000,"description":"The total exercise price"},"total_taxes_withheld":{"type":"number","format":"float","example":1000,"description":"The total amount of taxes withheld"},"method_of_tax_coverage":{"enum":["AD_HOC","BIK_REPORTING_ONLY","BIK_WITHHOLDING_AT_SOURCE_CLIENT","BIK_WITHHOLDING_AT_SOURCE_CLIENT_REVERSE","BIK_WITHHOLDING_GROSSED_UP_BONUS","BIK_WITHHOLDING_NET_SETTLEMENT","BIK_WITHHOLDING_SALARY_DEDUCTION","BIK_WITHHOLDING_WORKER","NO_BIK_NO_WITHHOLDING"],"type":"string","example":"WITHHELD_AT_SOURCE","description":"The method used to cover the taxes"},"quantity_withheld_or_sold":{"type":"number","format":"float","example":5000,"description":"The quantity of equity/token that was withheld or sold"},"withheld_tax_local_currency":{"type":"number","format":"float","example":959.05,"description":"The tax withheld in the local currency"},"benefit_in_kind_local_currency":{"type":"number","format":"float","example":14385.73,"description":"The benefit in kind in the local currency"},"quantity_exercised_or_released":{"type":"number","format":"float","example":10000,"description":"The quantity of equity/token that was exercised or released"}}}}}}},"required":true}}},"/invoice-adjustments":{"get":{"tags":["Invoices"],"summary":"List invoice adjustments","operationId":"listInvoiceAdjustments-v2026-01-01","description":"Retrieve invoice adjustments. You can filter the list by providing additional parameters e.g. contract_id, contract_type etc.\n **Token scopes**: `invoice-adjustments:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data","page"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type","status","description","created_at","currency_code","quantity","total_amount","contract","worksheet","reported_by","reviewed_by","payment_cycle","attachment"],"properties":{"id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","nullable":true,"description":"Unique identifier of this invoice adjustment."},"type":{"enum":["accrued_holiday","additional_fee","allowance","bonus","commission","deduction","deposit","deposit_refund","employer_cost","expense","health_allowance","health_benefit","health_insurance_fee","legal_fee","management_fee","milestone","offcycle","other","overtime","pension","pro_rata","setup_fee","severance","shield_service","signing_bonus","signing_bonus_employer_cost","refund","task","time_off","vat","withholding_tax","work"],"type":"string","example":"bonus","description":"Type of invoice adjustment."},"scale":{"type":"string","example":"hourly","nullable":true,"description":"Predefined scale used to calculate the adjustment amount."},"status":{"enum":["approved","declined","not_payable","paid","pending","processing",null],"type":"string","example":"approved","nullable":true,"description":"Current processing status of the invoice adjustment."},"contract":{"type":"object","required":["id","title","type"],"properties":{"id":{"type":"string","example":"contract_123","description":"Unique identifier of the contract."},"type":{"enum":["ongoing_time_based","milestones","time_based","pay_as_you_go_time_based","commission","payg_milestones","payg_tasks","eor","unknown","employee","global_payroll","shield_msa","hris_direct_employee","peo"],"type":"string","example":"time_based","description":"Type of the contract."},"title":{"type":"string","example":"Senior Backend Engineer","description":"Human-readable contract title."}},"description":"Contract associated with this invoice adjustment."},"quantity":{"type":"number","example":8,"nullable":true,"description":"Quantity used to calculate the total amount."},"worksheet":{"type":"object","nullable":true,"required":["weeks","days","hours","minutes"],"properties":{"days":{"type":"number","example":5,"description":"Number of days reported."},"hours":{"type":"number","example":40,"description":"Number of hours reported."},"weeks":{"type":"number","example":1,"description":"Number of weeks reported."},"minutes":{"type":"number","example":0,"description":"Number of minutes reported."}},"description":"Breakdown of time used for time-based calculations."},"attachment":{"type":"object","nullable":true,"required":["filename","key"],"properties":{"key":{"type":"string","example":"attachments/receipt_123.pdf","description":"Storage key returned from the attachments endpoint, can be used as a unique identifier for the file"},"filename":{"type":"string","example":"receipt.pdf","description":"Original filename of the uploaded attachment, download link can be found on the individual invoice adjustment endpoint"}},"description":"File attachment linked to the invoice adjustment."},"created_at":{"type":"string","format":"date-time","example":"2025-12-19T10:30:00Z","nullable":false,"description":"Timestamp when the adjustment was created (ISO-8601)."},"invoice_id":{"type":"number","example":102938,"nullable":true,"description":"Identifier of the generated invoice this adjustment belongs to."},"description":{"type":"string","example":"Performance bonus for September","nullable":true,"description":"Human-readable explanation of the invoice adjustment."},"reported_by":{"type":"object","required":["id"],"properties":{"id":{"oneOf":[{"type":"string"},{"type":"integer","format":"int64"}],"example":"user_456","description":"Unique identifier of the reporting user."},"full_name":{"type":"string","example":"John Doe","description":"Full name of the reporting user.","x-sensitive-pii":true}},"description":"User who reported the invoice adjustment."},"reviewed_by":{"type":"object","nullable":true,"required":["id","reviewed_at","remarks"],"properties":{"id":{"oneOf":[{"type":"string"},{"type":"integer","format":"int64"}],"example":"admin_789","description":"Unique identifier of the reviewer."},"remarks":{"type":"string","example":"Approved after verification","nullable":true,"description":"Reviewer remarks or decision notes."},"full_name":{"type":"string","example":"Jane Smith","description":"Full name of the reviewer.","x-sensitive-pii":true},"reviewed_at":{"type":"string","example":"2025-12-19T11:00:00Z","nullable":true,"description":"Timestamp when the review occurred."}},"description":"Reviewer information if the adjustment has been reviewed."},"custom_scale":{"type":"string","example":"night_shift","nullable":true,"description":"Custom scale label defined by the client."},"total_amount":{"type":"string","example":"200.00","nullable":false,"description":"Total monetary value of the invoice adjustment."},"currency_code":{"type":"string","example":"USD","pattern":"^[A-Z]{3}$","maxLength":3,"minLength":3,"description":"ISO 4217 currency code used for the amount."},"payment_cycle":{"type":"object","nullable":false,"properties":{"end":{"type":"string","format":"date-time","example":"2025-12-31T23:59:59Z","nullable":true,"description":"End date of the payment cycle."},"start":{"type":"string","format":"date-time","example":"2025-12-01T00:00:00Z","nullable":true,"description":"Start date of the payment cycle."}},"description":"Payment cycle associated with this adjustment."},"date_submitted":{"type":"string","format":"date-time","example":"2025-12-18T09:15:00Z","nullable":true,"description":"Timestamp when the adjustment was submitted for review."},"hourlyReportPreset":{"type":"object","nullable":true,"properties":{"id":{"type":"string","format":"uuid","example":"990c9b5b-6d41-4917-b032-ac049877df3a","description":"Id of assigned preset"},"rate":{"type":"number","example":"Preset rate","nullable":true,"description":"Assigned preset rate"},"title":{"type":"string","example":"Preset name","description":"Description of assigned preset"}}}}},"description":"List of invoice adjustments returned for the request."},"page":{"type":"object","required":["total_rows","items_per_page","offset"],"properties":{"offset":{"type":"number","example":0,"maximum":999999999,"minimum":0,"description":"Index of the first record in the current page."},"total_rows":{"type":"number","example":120,"description":"Total number of records available."},"items_per_page":{"type":"number","example":20,"maximum":100,"minimum":1,"description":"Number of records returned per page."}},"description":"Pagination metadata for the response."}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","example":"Limit cannot be bigger than 100"}}}}},"description":"Bad Request"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"query","name":"contract_id","schema":{"type":"string"},"example":"string","description":"Id of an Deel contract."},{"in":"query","name":"contract_types","schema":{"oneOf":[{"type":"array","items":{"enum":["ongoing_time_based","pay_as_you_go_time_based","payg_milestones","payg_tasks"],"type":"string","description":"Type of a contract"},"description":"List of contract types"},{"enum":["ongoing_time_based","pay_as_you_go_time_based","payg_milestones","payg_tasks"],"type":"string"}]},"example":"milestones","description":"types of contracts to filter"},{"in":"query","name":"types","schema":{"oneOf":[{"type":"array","items":{"enum":["accrued_holiday","additional_fee","allowance","bonus","commission","deduction","deposit","deposit_refund","employer_cost","expense","health_allowance","health_benefit","health_insurance_fee","legal_fee","management_fee","milestone","offcycle","other","overtime","pension","pro_rata","setup_fee","severance","shield_service","signing_bonus","signing_bonus_employer_cost","refund","task","time_off","vat","withholding_tax","work"],"type":"string","description":"Type of invoice adjustment."}},{"enum":["accrued_holiday","additional_fee","allowance","bonus","commission","deduction","deposit","deposit_refund","employer_cost","expense","health_allowance","health_benefit","health_insurance_fee","legal_fee","management_fee","milestone","offcycle","other","overtime","pension","pro_rata","setup_fee","severance","shield_service","signing_bonus","signing_bonus_employer_cost","refund","task","time_off","vat","withholding_tax","work"],"type":"string"}]},"example":"milestone","description":"types of invoice adjustments to filter"},{"in":"query","name":"statuses","schema":{"oneOf":[{"type":"array","items":{"enum":["approved","declined","not_payable","paid","pending","processing",null],"type":"string","nullable":true,"description":"status of invoice adjustment"}},{"enum":["approved","declined","not_payable","paid","pending","processing",null],"type":"string"}]},"example":"approved","description":"statuses of invoice adjustment to filter"},{"in":"query","name":"invoice_id","schema":{"type":"string"},"example":"string","description":"ID of an existing invoice"},{"in":"query","name":"reporter_id","schema":{"type":"string","format":"uuid"},"example":"string","description":"ID of an existing profile"},{"in":"query","name":"date_from","schema":{"type":"string","format":"date","nullable":true,"description":"Short date in format ISO-8601 (YYYY-MM-DD). For example 2022-12-31."},"example":"2022-12-31","description":"To get invoice adjustments submitted on or after given start date (inclusive). Short date in format ISO-8601 (YYYY-MM-DD). For example: 2022-12-31."},{"in":"query","name":"date_to","schema":{"type":"string","format":"date","nullable":true,"description":"Short date in format ISO-8601 (YYYY-MM-DD). For example 2022-12-31."},"example":"2022-12-31","description":"To get invoice adjustments submitted before given end date (excludes records submitted on this date). Short date in format ISO-8601 (YYYY-MM-DD). For example: 2022-12-31."},{"in":"query","name":"limit","schema":{"type":"string","pattern":"^[1-9][0-9]?$|^100$"},"example":"20","description":"Return a page of results with given number of records; NOTE: technically ALL query parameters are strings or array of strings"},{"in":"query","name":"offset","schema":{"type":"string"},"example":"1","description":"Return a page of results after given index of row; NOTE: technically ALL query parameters are strings or array of strings"}],"security":[{"deelToken":[]},{"oauth2":["invoice-adjustments:read"]}]},"post":{"tags":["Invoices"],"summary":"Create an invoice adjustment","operationId":"createAnInvoiceAdjustment","description":"Create an invoice adjustment using this endpoint. For example, you can add a bonus, commission, VAT %, deduction etc. to an invoice.\n **Token scopes**: `invoice-adjustments:write`, `worker:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["created"],"properties":{"id":{"oneOf":[{"type":"string","description":"Unique identifier of this resource."},{"type":"integer","format":"int64"}]},"status":{"enum":["approved","declined","not_payable","paid","pending","processing",null],"type":"string","nullable":true,"description":"status of invoice adjustment"},"created":{"type":"boolean","nullable":false},"created_at":{"type":"string","format":"date-time","nullable":true,"description":"Long date-time format following ISO-8601"}},"description":"Details of invoice adjustment created."}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"query","name":"recurring","schema":{"type":"string"},"example":"true","required":false,"description":"Add this invoice adjustment as recurring"}],"security":[{"deelToken":[]},{"oauth2":["invoice-adjustments:write","worker:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["contract_id","date_submitted","type","description","amount"],"properties":{"type":{"enum":["bonus","commission","deduction","expense","other","overtime","time_off","vat"],"type":"string","description":"Type of invoice adjustment."},"amount":{"type":"number","example":100,"minimum":0,"nullable":false,"description":"Amount to be paid. Must be a positive number."},"contract_id":{"type":"string","example":"string","nullable":false,"description":"Id of a Deel contract."},"description":{"type":"string","example":"string","maxLength":30000,"description":"Description of the adjustment."},"date_submitted":{"type":"string","format":"date","example":"2022-12-31","description":"Short date in format ISO-8601 (YYYY-MM-DD). For example: 2022-12-31."},"paymentCycleId":{"type":"number","example":1,"nullable":true,"description":"ID of an existing active payment cycle - required if type is \"vat\""},"is_auto_approved":{"type":"boolean","example":true,"description":"If true, the invoice adjustment will be automatically approved as part of the request."},"hourly_report_preset_id":{"type":"string","format":"uuid","example":"990c9b5b-6d41-4917-b032-ac049877df3a","nullable":true,"description":"Id of an existing preset."}},"description":"Details of invoice adjustment to create."}}}},"multipart/form-data":{"schema":{"allOf":[{"type":"object","required":["contract_id","date_submitted","type","description","amount"],"properties":{"type":{"enum":["bonus","commission","deduction","expense","other","overtime","time_off","vat"],"type":"string","description":"Type of invoice adjustment."},"amount":{"type":"number","minimum":0,"nullable":false,"description":"Amount to be paid. Must be a positive number."},"contract_id":{"type":"string","nullable":false,"description":"Id of a Deel contract."},"description":{"type":"string","maxLength":30000,"description":"Description of the adjustment."},"date_submitted":{"type":"string","format":"date","description":"Short date in format ISO-8601 (YYYY-MM-DD). For example: 2022-12-31."},"paymentCycleId":{"type":"string","nullable":true,"description":"ID of an existing active payment cycle - required if type is \"vat\""},"is_auto_approved":{"type":"boolean","description":"If true, the invoice adjustment will be automatically approved as part of the request."}},"description":"Details of invoice adjustment to create."},{"type":"object","properties":{"file":{"type":"string","format":"binary","nullable":false,"description":"Upload the file you want to attach to this entry."}},"description":"This is the file you will upload in a multi-part form."}]}}},"required":true,"description":"InvoiceAdjustment object that needs to be created"}}},"/adjustments/categories":{"get":{"tags":["Adjustments"],"summary":"Retrieve categories","operationId":"retrieveCategories","description":"Get all categories for your organization.\n **Token scopes**: `adjustments:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"c0431543f64c448e5ba4b525a50291","description":"Unique identifier of an adjustment category."},"name":{"type":"string","example":"Employee Dinner","description":"The name of the 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."}}}}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"query","name":"contract_types","schema":{"type":"array","items":{"enum":["peo","global_payroll","hris_direct_employee","eor","employee","independent_contractor"],"type":"string"},"default":["eor"]},"example":["eor","global_payroll"],"required":false,"description":"array of contract types to filter categories"}],"security":[{"deelToken":[]},{"oauth2":["adjustments:read"]}]}},"/ats/employment-types":{"get":{"tags":["ATS"],"summary":"Retrieve a list of ATS employment types","operationId":"retrieveAListOfAtsEmploymentTypes","description":"Use this endpoint to fetch employment types available in ATS for syncing and validation workflows.\n **Token scopes**: `ats:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data","next_cursor","total_count","has_more"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","name","created_at","updated_at"],"properties":{"id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","description":"Unique identifier for the employment type"},"name":{"type":"string","example":"Full-time","description":"Name of the employment type","x-sensitive-employment":true},"created_at":{"type":"string","format":"date-time","example":"2023-01-01T00:00:00Z","description":"Timestamp when the employment type was created"},"updated_at":{"type":"string","format":"date-time","example":"2023-01-01T00:00:00Z","description":"Timestamp when the employment type was last updated"}}},"example":[{"id":"550e8400-e29b-41d4-a716-446655440000","name":"Full-time","created_at":"2023-01-01T00:00:00Z","updated_at":"2023-01-01T00:00:00Z"}]},"has_more":{"type":"boolean","example":true,"description":"Indicates if there are more employment types available"},"next_cursor":{"type":"string","example":"cursor123","nullable":true,"description":"Cursor for pagination to get the next set of results"},"total_count":{"type":"integer","example":100,"description":"Total number of employment types available"}}}}},"description":"Successful response with employment types data"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_parameter"},"field":{"type":"string","example":"start_date"},"message":{"type":"string","example":"start_date is required"}}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"query","name":"cursor","schema":{"type":"string"},"example":"cursorValue","description":"The cursor for pagination"},{"in":"query","name":"limit","schema":{"type":"integer","format":"int32","default":20,"maximum":100,"minimum":1},"example":50,"description":"Maximum number of records returned in one response"}],"security":[{"deelToken":[]},{"oauth2":["ats:read"]}]}},"/gp/workers/{worker_id}/terminations":{"post":{"tags":["Global Payroll"],"summary":"Request termination","operationId":"requestTermination","description":"Request a termination for a global payroll employee. A successful call starts the termination process and does not confirm termination.\n **Token scopes**: `global-payroll:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","last_date_of_work"],"properties":{"id":{"type":"string","format":"uuid","example":"6f50539e-9f62-45d0-a42e-62a62fbb984a","description":"Unique identifier for the termination request."},"last_date_of_work":{"type":"string","format":"date-time","example":"2022-05-24T09:38:46.235Z","nullable":false,"description":"Long date-time format following ISO-8601."}}}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"worker_id","schema":{"type":"string","format":"uuid","description":"Unique identifier for a worker in UUID format."},"example":"6f50539e-9f62-45d0-a42e-62a62fbb984a","required":true,"description":"Unique identifier for a worker in UUID format."}],"security":[{"deelToken":[]},{"oauth2":["global-payroll:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["severance","desired_end_date","last_date_of_work","message","is_voluntary"],"properties":{"message":{"type":"string","example":"Termination reason","description":"The reason for terminating the worker's engagement."},"severance":{"oneOf":[{"type":"object","required":["amount","type","time_unit","currency"],"properties":{"type":{"enum":["TIME"],"type":"string","example":"TIME","description":"The type of severance, either in time off."},"amount":{"type":"number","example":100,"description":"The amount of severance, specified in the designated currency or time unit."},"currency":{"type":"string","example":"USD","pattern":"^[A-Z]{3}$","nullable":false,"maxLength":3,"minLength":3,"description":"Currency code for severance."},"time_unit":{"enum":["DAYS","WEEKS","MONTHS"],"type":"string","example":"MONTHS","description":"The unit of time for severance (e.g., DAYS, WEEKS, MONTHS)."}}},{"type":"object","required":["amount","type","currency"],"properties":{"type":{"enum":["CASH"],"type":"string","example":"CASH","description":"The type of severance, in cash."},"amount":{"type":"number","example":100,"description":"The amount of severance, specified in the designated currency."},"currency":{"type":"string","example":"USD","pattern":"^[A-Z]{3}$","nullable":false,"maxLength":3,"minLength":3,"description":"Currency code for severance."}}}]},"is_voluntary":{"type":"boolean","example":true,"description":"Indicates whether the worker termination is voluntary (true) or involuntary (false)."},"desired_end_date":{"type":"string","format":"date","example":"2023-12-31","description":"The preferred end date for terminating the worker's engagement, in ISO-8601 format (YYYY-MM-DD)."},"last_date_of_work":{"type":"string","format":"date","example":"2023-12-31","description":"The effective termination date of the worker's employment, in ISO-8601 format (YYYY-MM-DD)."}}}}}}},"required":true,"description":"Request body to request a termination for an employee."}}},"/legal-entities":{"get":{"tags":["Organizations"],"summary":"List of legal entities","operationId":"listOfLegalEntities","description":"Retrieve a list of legal entities in your account.\n **Token scopes**: `organizations:read`, `accounting:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"b61f6b35-7670-4515-b667-066f02b7b8a0","description":"Id of the legal entity"},"name":{"type":"string","example":"Deel US","nullable":false,"description":"Name of the legal entity"},"phone":{"type":"string","example":"+137867888","nullable":true,"description":"Phone number"},"vat_id":{"type":"string","example":"P051709055R","nullable":true,"description":"VAT ID"},"address":{"type":"object","nullable":true,"properties":{"zip":{"type":"string","example":"12345","description":"Zip code"},"city":{"type":"string","example":"San Francisco","nullable":true,"description":"City"},"state":{"type":"string","example":"Texas","nullable":true,"description":"State"},"street":{"type":"string","example":"123 Main St","description":"Street"},"country":{"type":"string","example":"US","description":"Country"}}},"country":{"type":"string","example":"US","nullable":true,"description":"Country of the legal entity"},"created_at":{"type":"string","format":"date-time","example":"2024-01-01T12:00:00Z","description":"Created date"},"sic_number":{"type":"string","example":"9072","nullable":true,"description":"SIC Company Identifier"},"updated_at":{"type":"string","format":"date-time","example":"2024-01-02T12:00:00Z","description":"Updated date"},"archived_at":{"type":"string","format":"date-time","example":null,"nullable":true,"description":"Archived date"},"entity_type":{"enum":["individual","company"],"type":"string","example":"company","description":"Entity type"},"industry_name":{"type":"string","example":"Marketing Agency","nullable":true,"description":"Industry name"},"entity_subtype":{"type":"string","example":"company","description":"Entity sub type"},"registrationNumber":{"type":"string","example":"GSUGO3B5","nullable":true,"description":"Registration number"}}}},"page":{"type":"object","properties":{"cursor":{"type":"string","example":"cursor123","nullable":true,"description":"Cursor link"}}}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"query","name":"limit","schema":{"type":"integer","default":100,"maximum":100,"minimum":1},"example":100,"required":false,"description":"The number of results to return per page."},{"in":"query","name":"sort_order","schema":{"enum":["ASC","DESC"],"type":"string","default":"ASC"},"example":"ASC","required":false,"description":"Sorting order of the results."},{"in":"query","name":"cursor","schema":{"type":"string","nullable":true},"example":"cusorpage123","required":false,"description":"Cursor for pagination."},{"in":"query","name":"include_archived","schema":{"type":"boolean","default":true},"example":false,"required":false,"description":"Whether to include archived legal entities in the results."},{"in":"query","name":"legal_entity_id","schema":{"type":"string"},"example":"23378","required":false,"description":"Filter by specific legal entity ID."},{"in":"query","name":"global_payroll","schema":{"type":"boolean"},"example":false,"required":false,"description":"Filter by global payroll flag."},{"in":"query","name":"type","schema":{"type":"string"},"example":"company","required":false,"description":"Filter by entity type."},{"in":"query","name":"country","schema":{"type":"string"},"example":"US","required":false,"description":"Filter by country."},{"in":"query","name":"include_payroll_settings","schema":{"type":"boolean"},"example":true,"required":false,"description":"Whether to include payroll settings in the response."}],"security":[{"deelToken":[]},{"oauth2":["organizations:read","accounting:read"]}]},"post":{"tags":["Legal Entities"],"summary":"Create a new legal entity","operationId":"createLegalEntity","description":"Create a new legal entity under an organization.\n **Token scopes**: `legal-entity:write`, `legal-entity:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","example":"le_12345","description":"The unique identifier for the legal entity."},"name":{"type":"string","example":"Acme Corporation","description":"The name of the entity."},"phone":{"type":"string","example":"+1-800-555-0199","description":"The contact number of the entity."},"address":{"type":"object","properties":{"zip":{"type":"string","example":"12345"},"city":{"type":"string","example":"San Francisco"},"state":{"type":"string","example":"Texas"},"street":{"type":"string","example":"123 Main St"},"country":{"type":"string","example":"US"}},"description":"The entity's address."},"created_at":{"type":"string","format":"date-time","example":"2024-01-01T12:00:00Z","description":"Timestamp when the entity was created."},"sic_number":{"type":"string","example":"1234","description":"The SIC number of the entity."},"updated_at":{"type":"string","format":"date-time","example":"2024-01-02T12:00:00Z","description":"Timestamp when the entity was last updated."},"entity_type":{"type":"string","example":"LLC","description":"Type of the entity."}}}}}}},"description":"Successfully created legal entity."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Error message explaining what went wrong."}}}}},"description":"Invalid request parameters."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Error message explaining the lack of permission."}}}}},"description":"Permission denied. User must have the `entities.manage` permission."},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"security":[{"deelToken":[]},{"oauth2":["legal-entity:write","legal-entity:read"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","required":["name","entity_type","address","phone","company_identifiers","sic_number"],"properties":{"name":{"type":"string","example":"Acme Corporation","description":"The legal name of the entity."},"phone":{"type":"string","example":"+1-800-555-0199","description":"Contact phone number for the entity."},"address":{"type":"object","required":["street","city","country","zip"],"properties":{"zip":{"type":"string","example":"12345","description":"Zip code."},"city":{"type":"string","example":"San Francisco","description":"City name."},"state":{"type":"string","example":"Texas","description":"State "},"street":{"type":"string","example":"123 Main St","description":"Street address."},"country":{"type":"string","example":"US","description":"Country code."}},"description":"The physical address of the entity."},"sic_number":{"type":"string","example":"7311","description":"The SIC number for the entity."},"entity_type":{"type":"string","example":"LLC","description":"Type of the entity."},"company_identifiers":{"type":"object","required":["registration_number","tax_number"],"properties":{"tax_number":{"type":"string","example":"987654321","description":"Tax number of the entity."},"registration_number":{"type":"string","example":"123456789","description":"Registration number of the entity."}}}}}}}}}}}},"/ats/application-sources":{"get":{"tags":["ATS"],"summary":"Retrieve a list of ATS application sources","operationId":"retrieveAListOfAtsApplicationSources","description":"Retrieves a list of the available application sources in the Applicant Tracking System.\n **Token scopes**: `ats:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data","total_count","has_more","next_cursor"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","slug","created_at","updated_at"],"properties":{"id":{"type":"string","format":"uuid","example":"d1a2f6e7-0b3c-4e8a-9f1d-2c6b7a9e3d0f","description":"Application source unique identifier"},"slug":{"type":"string","example":"sourced_internally","description":"Application source slug"},"created_at":{"type":"string","format":"date-time","example":"2024-01-01T00:00:00.000Z","description":"Timestamp of when the application source was created"},"updated_at":{"type":"string","format":"date-time","example":"2024-01-01T00:00:00.000Z","description":"Timestamp of when the application source was last updated"}}}},"has_more":{"type":"boolean","example":false,"description":"Indicates if there are more application sources to fetch"},"next_cursor":{"type":"string","example":null,"nullable":true,"description":"Cursor for the next page of results"},"total_count":{"type":"integer","example":7,"description":"Total number of application sources available"}}},"example":{"data":[{"id":"a1b2c3d4-e5f6-7890-1234-567890abcdef","slug":"sourced_internally","created_at":"2024-05-20T10:00:00.000Z","updated_at":"2024-05-20T10:00:00.000Z"},{"id":"b2c3d4e5-f6a7-8901-2345-67890abcdef1","slug":"external_career_page","created_at":"2024-05-20T10:00:00.000Z","updated_at":"2024-05-20T10:00:00.000Z"},{"id":"c3d4e5f6-a7b8-9012-3456-7890abcdef12","slug":"linkedin_premium","created_at":"2024-05-20T10:00:00.000Z","updated_at":"2024-05-20T10:00:00.000Z"}],"has_more":false,"next_cursor":null,"total_count":3}}},"description":"Successfully retrieved application sources"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"query","name":"cursor","schema":{"type":"string"},"example":"cursorValue","description":"The cursor for pagination"},{"in":"query","name":"limit","schema":{"type":"integer","format":"int32","default":20,"maximum":100,"minimum":1},"example":50,"description":"Maximum number of records returned in one response"}],"security":[{"deelToken":[]},{"oauth2":["ats:read"]}]}},"/contracts/{contract_id}/signatures":{"post":{"tags":["Contracts"],"summary":"Sign a contract","operationId":"signContract","description":"Sign a contract as a client.\n **Token scopes**: `contracts:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["created"],"properties":{"created":{"type":"boolean"}}}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"37nex2x","required":true,"description":"Deel contract id."}],"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","required":["client_signature"],"properties":{"client_signature":{"type":"string","minLength":2,"description":"Signature of client."},"contract_template_id":{"anyOf":[{"type":"number"},{"type":"string"}],"description":"Please use null to use default Deel contract template; otherwise you can use the template you created and customized. If template ID is not in payload, template stays unchanged."}}}}}}},"required":true}}},"/timesheets/{id}":{"patch":{"tags":["Timesheets"],"summary":"Update a timesheet entry","operationId":"updateATimesheetEntry","description":"Use this endpoint to update an existing timesheet entry by its id when correcting logged hours or refining the work note. Send a PATCH request to /timesheets/:id with a data object containing fields to change, such as quantity, description, or hourly_report_preset_id. Both clients and contractors can perform this update.\n **Token scopes**: `timesheets:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["updated"],"properties":{"updated":{"type":"boolean"}}}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"id","schema":{"type":"string"},"required":true,"description":"ID of an existing timesheet."}],"security":[{"deelToken":[]},{"oauth2":["timesheets:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["quantity","description"],"properties":{"quantity":{"type":"number","example":1,"nullable":false},"description":{"type":"string","example":"string","nullable":false,"maxLength":255},"hourly_report_preset_id":{"type":"string","example":"990c9b5b-6d41-4917-b032-ac049877df3a","nullable":true,"description":"Id of an existing timesheets preset. Created through /rest/v2/timesheets/presets"}}}},"description":"Details of the timesheet to update. Both a client or a contractor may update a timesheet."}}},"required":true}},"delete":{"tags":["Timesheets"],"summary":"Delete a timesheet entry","operationId":"deleteTimesheetById","description":"Delete a single timesheet entry.\n **Token scopes**: `timesheets:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["deleted"],"properties":{"deleted":{"type":"boolean","nullable":false,"description":"Confirms the deletion."}}}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"id","schema":{"type":"string"},"example":"string","required":true,"description":"ID of an existing timesheet"},{"in":"query","name":"reason","schema":{"type":"string"},"example":"string","required":false,"description":"Reason for deleting an existing task"}],"security":[{"deelToken":[]},{"oauth2":["timesheets:write"]}]},"get":{"tags":["Timesheets"],"summary":"Retrieve a single timesheet entry","operationId":"getTimesheetById","description":"Retrieve a single timesheet entry by Id.\n **Token scopes**: `timesheets:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"allOf":[{"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":{"oneOf":[{"type":"string","description":"Unique identifier of this resource."},{"type":"integer","format":"int64"}]},"type":{"type":"string","description":"Deprecated - it is always \"work\""},"scale":{"type":"string","nullable":true},"status":{"enum":["approved","declined","not_payable","paid","pending","processing",null],"type":"string","nullable":true,"description":"Status of this entry."},"contract":{"type":"object","required":["id","title","type"],"properties":{"id":{"type":"string","nullable":false},"type":{"enum":["ongoing_time_based","milestones","time_based","pay_as_you_go_time_based","commission","payg_milestones","payg_tasks","eor","unknown","employee","global_payroll","shield_msa","hris_direct_employee","peo"],"type":"string","description":"Type of a contract"},"title":{"type":"string","nullable":false}}},"quantity":{"type":"number","nullable":true},"worksheet":{"type":"object","nullable":true,"required":["weeks","days","hours","minutes"],"properties":{"days":{"type":"number","minimum":0},"hours":{"type":"number","minimum":0},"weeks":{"type":"number","minimum":0},"minutes":{"type":"number","minimum":0}}},"attachment":{"type":"object","nullable":true,"required":["filename","key"],"properties":{"key":{"type":"string","nullable":false,"description":"You can call attachments end-point, get key and URL to upload your file."},"filename":{"type":"string","nullable":false,"description":"Original filename you used to upload using attachments end-point."}},"description":"This object is used for linking file attachments to your records."},"created_at":{"type":"string","nullable":false},"description":{"type":"string","nullable":false},"reported_by":{"type":"object","nullable":false,"required":["id"],"properties":{"id":{"oneOf":[{"type":"string","description":"Unique identifier of this resource."},{"type":"integer","format":"int64"}]},"full_name":{"type":"string","nullable":false,"x-sensitive-pii":true}}},"reviewed_by":{"type":"object","nullable":true,"required":["id","reviewed_at","remarks"],"properties":{"id":{"oneOf":[{"type":"string","description":"Unique identifier of this resource."},{"type":"integer","format":"int64"}]},"remarks":{"type":"string","nullable":false},"full_name":{"type":"string","x-sensitive-pii":true},"reviewed_at":{"type":"string"}}},"custom_scale":{"type":"string","nullable":true},"total_amount":{"type":"string","nullable":false,"description":"is equal to quantity times rate of active work statement + bonus in this record"},"currency_code":{"type":"string","pattern":"^[A-Z]{3}$","maxLength":3,"minLength":3},"payment_cycle":{"type":"object","properties":{"end_date":{"type":"string","format":"date-time","nullable":true,"description":"Long date-time format following ISO-8601"},"start_date":{"type":"string","format":"date-time","nullable":true,"description":"Long date-time format following ISO-8601"}}},"date_submitted":{"type":"string","format":"date-time","nullable":false,"description":"Long date-time format following ISO-8601"},"hourly_report_preset":{"type":"object","nullable":true,"properties":{"id":{"type":"string","nullable":true,"description":"unique identifier of the related timesheet preset"},"rate":{"type":"number","nullable":true,"description":"the hourly rate of the related timesheet preset"},"title":{"type":"string","nullable":true,"description":"the title of the related timesheet preset"},"description":{"type":"string","nullable":true,"description":"the description of the related timesheet preset"}}}}},{"type":"object","required":["approvers"],"properties":{"approvers":{"type":"array","items":{"type":"object","required":["approved"],"properties":{"email":{"type":"string","x-sensitive-pii":true},"approved":{"type":"boolean"},"full_name":{"type":"string","x-sensitive-pii":true}}}}}}]}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"id","schema":{"type":"string"},"required":true,"description":"ID of an existing timesheet"}],"security":[{"deelToken":[]},{"oauth2":["timesheets:read"]}]}},"/people/{hris_profile_id}":{"get":{"tags":["People"],"summary":"Retrieve a single person","operationId":"retrieveASinglePerson","description":"Retrieves detailed information about a single person (employee, contractor, or worker) in the organization by their HRIS profile OID, including personal details, employment information, organizational structure, direct manager and reports, custom fields, and related metadata.\n **Token scopes**: `people:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"allOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"9b9fc43a-a90c-4615-ac50-baf1e314b53e","description":"Unique identifier for the employee."},"state":{"type":"string","example":"Active","nullable":true,"description":"The state of the employee.","x-sensitive-pii":true},"emails":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","example":"work","description":"The type of email."},"value":{"type":"string","example":"work.email@example.com","nullable":true,"description":"The email address."}}},"description":"An array of the employee's email addresses.","x-sensitive-pii":true},"country":{"type":"string","example":"USA","nullable":true,"description":"The country of the employee.","x-sensitive-pii":true},"timezone":{"type":"string","example":"EST","nullable":true,"description":"The timezone of the employee."},"addresses":{"type":"array","items":{"type":"object","properties":{"region":{"type":"string","example":"CO","description":"Region code."},"country":{"type":"string","example":"US","pattern":"^[A-Z]{2}$","maxLength":2,"minLength":2,"description":"Country code."},"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."}}},"description":"An array of address objects containing the employee's physical addresses.","x-sensitive-pii":true},"full_name":{"type":"string","example":"John Doe","description":"The full name of the employee.","x-sensitive-pii":true},"job_title":{"type":"string","example":"Access Field Technician","nullable":true,"description":"The job title of the employee."},"last_name":{"type":"string","example":"Doe","description":"The last name of the employee.","x-sensitive-pii":true},"seniority":{"type":"string","example":"Junior (Individual Contributor Level 1)","nullable":true,"description":"The seniority level of the employee."},"worker_id":{"type":"string","example":"123","description":"The worker ID of the employee."},"birth_date":{"type":"string","example":"1990-01-01T00:00:00.000Z","nullable":true,"description":"The birth date of the employee.","x-sensitive-pii":true},"created_at":{"type":"string","format":"date-time","example":"2023-03-21T10:27:25.950Z","description":"The creation timestamp of the employee record."},"department":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"00000000-0000-0000-0000-000000000000","description":"Unique identifier of this resource."},"name":{"type":"string","example":"Delivery team","description":"The name of the department."},"parent":{"type":"string","example":"Research and Development","description":"The parent department."}},"description":"The department of the employee."},"first_name":{"type":"string","example":"John","description":"The first name of the employee.","x-sensitive-pii":true},"start_date":{"type":"string","format":"date","example":"2023-03-20","nullable":true,"description":"The date the employee started working."},"updated_at":{"type":"string","format":"date-time","example":"2022-05-24T09:38:46.235Z","nullable":true,"description":"Long date-time format following ISO-8601"},"employments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"mzj524j","description":"Unique identifier for the employment."},"name":{"type":"string","example":"Khizar Naeem","description":"Name of the employee."},"team":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"00000000-0000-0000-0000-000000000000","description":"Refers to Groups in the platform. Working groups that reflect the organization's structure."},"name":{"type":"string","example":"Delivery team","description":"The team name."}},"description":"The team to which the employee belongs."},"email":{"type":"string","example":"some@example.com","description":"The work email of the employee."},"state":{"type":"string","example":"Active","nullable":true,"description":"The state of employment.","x-sensitive-pii":true},"country":{"type":"string","example":"USA","nullable":true,"description":"The country of employment.","x-sensitive-pii":true},"payment":{"type":"object","properties":{"rate":{"oneOf":[{"type":"string","nullable":true},{"type":"number","nullable":true}],"example":100,"description":"The payment rate. Value is a string if contract type is PEO."},"scale":{"type":"string","example":"hourly","nullable":true,"description":"The payment scale (e.g., hourly, weekly, monthly, etc.)"},"currency":{"type":"string","example":"USD","description":"The currency code (ISO 4217) for the payment"},"contract_name":{"type":"string","example":"Contract 1","description":"The name of the contract associated with the payment"}},"description":"Payment information for the employment, including rate, scale, currency, and associated contract name.","x-sensitive-employment":true},"is_ended":{"type":"boolean","example":false,"description":"Whether the employment has ended."},"timezone":{"type":"string","example":"EST","nullable":true,"description":"The timezone of the employment."},"job_title":{"type":"string","example":"Access Field Technician","nullable":true,"description":"The job title of the employment."},"seniority":{"type":"string","example":"Junior (Individual Contributor Level 1)","nullable":true,"description":"The seniority level of the employment."},"start_date":{"type":"string","format":"date","example":"2023-03-20","nullable":true,"description":"The start date of the employment."},"work_email":{"type":"string","example":"work.email@example.com","nullable":true,"description":"The work email of the employment."},"hiring_type":{"type":"string","example":"contractor","description":"The type of hiring of the employment."},"hiring_status":{"type":"string","example":"onboarding","description":"The current hiring status of the employment."},"completion_date":{"type":"string","example":"2023-06-20T00:00:00.000Z","nullable":true,"description":"The completion date of the employment contract."},"contract_status":{"type":"string","example":"waiting_for_client_sign","description":"The status of the employment contract."},"voluntarily_left":{"type":"boolean","example":true,"nullable":true,"description":"Whether the employee voluntarily left the employment."},"contract_coverage":{"enum":["is_shielded","is_premium",null],"type":"string","example":null,"nullable":true,"description":"The coverage type of the employment contract. 'is_shielded' = Contractor of Record, 'is_premium' = Premium, null = Standard (no coverage)."},"new_hiring_status":{"type":"string","example":"onboarding_overdue","description":"The new hiring status of the employment."},"client_legal_entity":{"type":"object","nullable":true,"properties":{"id":{"type":"string","format":"uuid","example":"00000000-0000-0000-0000-000000000000","nullable":true,"description":"Unique identifier of this resource."},"name":{"type":"string","example":"Acme Corporation","nullable":true,"description":"The name of the client legal entity."}},"description":"The client legal entity associated with this employment contract."},"has_eor_termination":{"type":"boolean","example":true,"nullable":true,"description":"Whether the employment has an EOR termination."},"contract_is_archived":{"type":"boolean","example":false,"description":"Whether the employment contract is archived."},"termination_last_day":{"type":"string","format":"date-time","example":"2023-03-21T10:27:25.950Z","nullable":true,"description":"The last day of work mentioned on the contract termination."},"contract_has_contractor":{"type":"boolean","example":true,"description":"Whether the contract has a contractor."},"is_user_contract_deleted":{"type":"boolean","example":false,"description":"Whether the user contract is deleted."},"hris_direct_employee_invitation":{"type":"object","nullable":true,"properties":{"oid":{"type":"string","example":"rJ7PUDgbp9L6","description":"Unique identifier of this resource."},"status":{"type":"string","example":"DISABLED","nullable":true,"description":"The HRIS direct employee invitation status."},"send_at":{"type":"string","format":"date-time","example":"2023-03-21T10:27:25.950Z","nullable":true,"description":"The HRIS direct employee invitation send date."},"timezone":{"type":"string","example":"EST","nullable":true,"description":"The HRIS direct employee invitation timezone."}},"description":"The HRIS direct employee invitation status."}}},"description":"An array of employment records associated with the employee, including contract details, team information, payment details, and employment status."},"external_id":{"type":"string","example":"9b9fc43a-a90c-4615-ac50-baf1e314b53e","nullable":true,"description":"The external ID of the employee."},"hiring_type":{"type":"string","example":"contractor","description":"The type of hiring of the employee."},"hiring_status":{"type":"string","example":"onboarding","description":"The current hiring status of the employee."},"nationalities":{"type":"array","items":{"type":"string"},"example":"American","description":"The nationality of the employee.","x-sensitive-pii":true},"work_location":{"type":"string","example":"Remote","nullable":true,"description":"The work location of the employee."},"direct_manager":{"type":"object","nullable":true,"properties":{"id":{"type":"string","format":"uuid","example":"642b0547-9d80-4d35-a085-fd977ef209ef","description":"Unique identifier for the manager."},"last_name":{"type":"string","example":"John","description":"The last name of the manager."},"worker_id":{"type":"number","example":30,"description":"The worker ID of the manager."},"first_name":{"type":"string","example":"Doe","description":"The first name of the manager."},"work_email":{"type":"string","example":"john.doe@example.com","nullable":true,"description":"The work email of the manager."}},"description":"The direct manager of the employee."},"direct_reports":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"642b0547-9d80-4d35-a085-fd977ef209ef","description":"Unique identifier for the direct report."},"last_name":{"type":"string","example":"John","description":"The last name of the direct report."},"first_name":{"type":"string","example":"Doe","description":"The first name of the direct report."},"work_email":{"type":"string","example":"john.doe@example.com","nullable":true,"description":"The work email of the direct report."}}},"nullable":true,"description":"The direct reports to the employee."},"completion_date":{"type":"string","example":"2023-06-20T00:00:00.000Z","nullable":true,"description":"The completion date of the task or project."},"new_hiring_status":{"type":"string","example":"onboarding_overdue","description":"The new hiring status of the employee."},"client_legal_entity":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"00000000-0000-0000-0000-000000000000","nullable":true,"description":"Unique identifier of this resource."},"name":{"type":"string","example":"Acme Corporation","nullable":true,"description":"The name of the client legal entity."}},"description":"The primary client legal entity associated with the employee."},"preferred_last_name":{"type":"string","example":"Doe","nullable":true,"description":"The preferred last name of the employee.","x-sensitive-pii":true},"direct_reports_count":{"type":"integer","example":0,"description":"The count of direct reports to the employee."},"preferred_first_name":{"type":"string","example":"John","nullable":true,"description":"The preferred first name of the employee.","x-sensitive-pii":true},"active_worker_termination_status":{"enum":["PENDING","CONTRACT_TERMINATION_DATA_COLLECTED","IN_PROGRESS","COMPLETED","FAILED","CANCELED",null],"type":"string","example":"IN_PROGRESS","nullable":true,"description":"The status of the active worker termination."},"profile_organizational_structures":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"642b0547-9d80-4d35-a085-dg377ef209d3","description":"Id of the Organizational structure."},"name":{"type":"string","example":"Department","description":"Name of the Organizational structure."},"teams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"642b0547-9d80-4d35-a085-dg377ef209d3","description":"Id of the team."},"name":{"type":"string","example":"Team A","description":"Name of the team."},"positions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"642b0547-9d80-4d35-a085-dg377ef209d3","description":"Id of the position."},"role":{"type":"object","nullable":true,"properties":{"id":{"type":"string","format":"uuid","example":"642b0547-9d80-4d35-a085-dg377ef209d3","description":"Id of the role."},"name":{"type":"string","example":"Role A","description":"Name of the role."}},"description":"The role associated with this position, including role ID and name."},"is_supportive":{"type":"boolean","example":true,"description":"Whether the position is supportive or not."}}},"description":"An array of positions held by the employee within this team."},"name_hierarchy":{"type":"string","example":"Team A / Team B","nullable":true,"description":"Hierarchy of the team."}}},"description":"List of teams in the organizational structure."}}},"description":"An array of organizational structures associated with the employee profile."},"direct_employee_termination_last_day":{"type":"string","format":"date","example":"2023-03-21","description":"The last day of work mentioned on the primary contract termination."}}},{"type":"object","properties":{"custom_fields":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","example":"Job title","nullable":false,"description":"Custom field property name."},"value":{"type":"string","example":"Software Engineer II","nullable":true,"description":"Custom field property value."}},"description":"Customized attributes on people (Job title, Project code, etc)."},"description":"An array of custom field objects containing additional attributes associated with the employee (e.g., Job title, Project code, etc.)."}}}]}}}}},"description":"Successful response"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["message","code"],"properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR","description":"Error code identifying the type of error."},"details":{"type":"string","example":"An unexpected error occurred while processing the request.","nullable":true,"description":"Additional details about the error."},"message":{"type":"string","example":"Internal server error","description":"Error message describing what went wrong."}}}}}}},"description":"Internal Server Error"}},"parameters":[{"in":"query","name":"include_custom_fields","schema":{"type":"boolean"},"example":true,"required":false,"description":"Include custom fields in the response."},{"in":"query","name":"include_worker_relations","schema":{"type":"boolean"},"example":true,"required":false,"description":"Include worker relations in the response."},{"in":"path","name":"hris_profile_id","schema":{"type":"string","format":"uuid"},"example":"9b9fc43a-a90c-4615-ac50-baf1e314b53e","required":true,"description":"Unique identifier for the person."}],"security":[{"deelToken":[]},{"oauth2":["people:read"]}]}},"/contract-templates":{"get":{"tags":["Contracts"],"summary":"Retrieve contract templates","operationId":"getContractTemplates","description":"Fetches a collection of contract templates available within your organization. Use this endpoint to retrieve metadata about the templates.\n **Token scopes**: `contracts:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","required":["id","title"],"properties":{"id":{"oneOf":[{"type":"string","description":"Unique identifier of this resource."},{"type":"integer","format":"int64"}]},"title":{"type":"string","nullable":false,"description":"The title of a contract template."}}}}}},"examples":{"success":{"value":{"data":[{"id":"12345","title":"Standard Employment Contract"},{"id":"67890","title":"Non-Disclosure Agreement"}]},"summary":"Example response"}}}},"description":"A successful response containing contract templates."},"400":{"content":{"application/json":{"examples":{"error":{"value":{"error":{"code":400,"message":"Invalid request format."}},"summary":"Example error response"}}}},"description":"Invalid request parameters."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"examples":{"error":{"value":{"error":{"code":500,"message":"An unexpected error occurred."}},"summary":"Example server error response"}}}},"description":"Internal server error."}},"security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]}},"/contracts/{contract_id}/terminations":{"post":{"tags":["Terminations"],"summary":"Terminate contract","operationId":"terminateContract","description":"Terminate contract.\n **Token scopes**: `contracts:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","example":"5f4e1e4e","description":"Contract id"},"completion_date":{"type":"string","format":"date-time","example":"2022-01-01T00:00:00Z","description":"Contract completion date"}}}}}}},"description":"Successful operation"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"eq2ykjw","required":true,"description":"The unique identifier of the contractor contract"}],"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"message":{"type":"string","example":"Thank you for your contributions to the project","maxLength":1000,"description":"Optional message to include with the termination"},"terminate_now":{"type":"boolean","default":false,"example":false,"description":"If true, terminates the contract immediately. If false, completion_date is required."},"completion_date":{"type":"string","format":"date","example":"2025-12-31","description":"Contract completion date (YYYY-MM-DD). Required when terminate_now is false or not provided. Since terminate_now defaults to false, this field is required unless you explicitly set terminate_now to true."},"termination_type":{"enum":["RESIGNATION","TERMINATION","END_OF_CONTRACT"],"type":"string","example":"END_OF_CONTRACT","description":"The type of termination. Specifies whether it is a resignation (contractor-initiated), termination (client-initiated), or end of contract (mutual/planned)."},"eligible_for_rehire":{"enum":["YES","NO","DONT_KNOW"],"type":"string","example":"YES","description":"Indicates whether the contractor is eligible for rehire in the future."},"termination_reason_id":{"type":"string","format":"uuid","example":"a1b2c3d4-e5f6-7890-abcd-ef1234567890","description":"The UUID of the termination reason. Use GET /termination_reasons/paginated to retrieve available reasons. Can be provided independently or with termination_reason_description."},"eligible_for_rehire_reason":{"type":"string","example":"Need more time to evaluate contractor's performance on recent deliverables","maxLength":255,"description":"Provides context when eligible_for_rehire is 'DONT_KNOW'. Should be empty or null for other values."},"termination_reason_description":{"type":"string","example":"Project timeline has been accelerated and the deliverables are now complete","maxLength":1000,"description":"Free-form text providing additional context about the termination reason. Can be provided independently without termination_reason_id, or used to add context to a selected reason."}},"description":"Termination data. At minimum, you must provide either terminate_now: true (for immediate termination) OR completion_date (for scheduled termination).","additionalProperties":false}},"additionalProperties":false}}},"required":true}},"delete":{"tags":["Terminations"],"summary":"Delete Contract Termination Request","operationId":"deleteContractTerminationRequest","description":"Cancels a pending contract termination request for the specified contract.\n **Token scopes**: `contracts:write`","responses":{"204":{"description":"Successful response"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_parameter","description":"Machine-readable error code"},"field":{"type":"string","example":"/data/example_field","description":"Name of the field causing the error (for validation issues)"},"message":{"type":"string","example":"Must have required property 'example_field'","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"service_unavailable","description":"Machine-readable error code"},"message":{"type":"string","example":"The service is currently experiencing issues","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"3x4kkf4","required":true,"description":"Unique identifier for the contract"}],"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}]}},"/ats/candidates":{"get":{"tags":["ATS"],"summary":"Retrieve paginated list of ATS Candidates","operationId":"retrievePaginatedListOfAtsCandidates-v2026-01-01","description":"Retrieves a list of candidates in the Applicant Tracking System. You can filter candidates by jobs, departments, and tags to narrow down the results\n **Token scopes**: `ats:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"a1b2c3d4-e5f6-7890-1234-567890abcdef","description":"Unique identifier for the candidate"},"email":{"type":"string","format":"email","example":"john.doe@example.com","description":"Candidate's email address","x-sensitive-pii":true},"pic_url":{"type":"string","example":"https://example.com/profile.jpg","nullable":true,"description":"URL of the candidate's profile picture","x-sensitive-pii":true},"last_name":{"type":"string","example":"Doe","description":"Candidate's last name","x-sensitive-pii":true},"created_at":{"type":"string","format":"date-time","example":"2023-10-01T12:00:00Z","description":"Timestamp when the candidate was created"},"first_name":{"type":"string","example":"John","description":"Candidate's first name","x-sensitive-pii":true},"numeric_id":{"type":"number","example":12345,"description":"Numeric identifier for the candidate"},"updated_at":{"type":"string","format":"date-time","example":"2023-10-02T12:00:00Z","description":"Timestamp when the candidate was last updated"},"applications":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"b1c2d3e4-f5a6-7890-1234-567890abcdef","nullable":true,"description":"Unique identifier for the application"},"job":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"c1d2e3f4-a5b6-7890-1234-567890abcdef","description":"Unique identifier for the job"},"title":{"type":"string","example":"Software Engineer","description":"Job title","x-sensitive-employment":true}}},"created_at":{"type":"string","format":"date-time","example":"2024-01-02T00:00:00Z","description":"Timestamp of when the application was created"},"current_application_interview_plan_stage":{"type":"object","nullable":true,"properties":{"id":{"type":"string","format":"uuid","example":"d1e2f3a4-b5c6-7890-1234-567890abcdef","description":"Unique identifier for the current application interview plan stage"},"status":{"enum":["ACTIVE","COMPLETED","PENDING","REJECTED"],"type":"string","example":"ACTIVE","description":"Status of the current application interview plan stage","x-sensitive-employment":true},"created_at":{"type":"string","format":"date-time","example":"2024-01-03T00:00:00Z","description":"Timestamp of when the current application interview plan stage was created"},"application_id":{"type":"string","format":"uuid","example":"e1f2a3b4-c5d6-7890-1234-567890abcdef","description":"Unique identifier for the application"},"interview_plan_stage":{"type":"object","nullable":true,"properties":{"id":{"type":"string","format":"uuid","example":"f1a2b3c4-d5e6-7890-1234-567890abcdef","description":"Unique identifier for the interview plan stage"},"name":{"type":"string","example":"Phone Screen","description":"Name of the interview plan stage","x-sensitive-employment":true},"description":{"type":"string","example":"Initial phone screening with the candidate","nullable":true,"description":"Description of the interview plan stage","x-sensitive-employment":true},"stage_order":{"type":"number","example":1,"description":"Order of the stage in the interview plan"},"default_type_slug":{"type":"string","example":"phone-screen","nullable":true,"description":"Default type slug for the interview plan stage","x-sensitive-employment":true},"interview_plan_id":{"type":"string","format":"uuid","example":"12345678-90ab-cdef-0123-456789abcdef","description":"Unique identifier for the interview plan"},"category_type_slug":{"type":"string","example":"initial","description":"Category type slug for the interview plan stage","x-sensitive-employment":true}}},"interview_plan_stage_id":{"type":"string","format":"uuid","example":"23456789-0abc-def1-2345-67890abcdef0","description":"Unique identifier for the interview plan stage"}},"x-sensitive-employment":true}}}},"phone_number":{"type":"string","example":"+15551234567","nullable":true,"description":"Candidate's phone number","x-sensitive-pii":true},"candidate_tags":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"34567890-abcd-ef12-3456-7890abcdef01","description":"Unique identifier for the candidate tag"},"tag":{"type":"object","nullable":true,"properties":{"id":{"type":"string","format":"uuid","example":"4567890a-bcde-f123-4567-890abcdef012","description":"Unique identifier for the tag"},"label":{"type":"string","example":"High Potential","description":"Label for the tag"}}},"tag_id":{"type":"string","format":"uuid","example":"567890ab-cdef-1234-5678-90abcdef0123","description":"Unique identifier for the tag"},"candidate_id":{"type":"string","format":"uuid","example":"67890abc-def1-2345-6789-0abcdef01234","description":"Unique identifier for the candidate"}}},"example":[],"nullable":true,"description":"Tags associated with the candidate","x-sensitive-pii":true},"final_archivation_at":{"type":"string","format":"date-time","example":"2024-01-04T00:00:00Z","nullable":true,"description":"Timestamp of when the candidate was finally archived"},"linkedin_profile_url":{"type":"string","example":"https://www.linkedin.com/in/johndoe","nullable":true,"description":"URL of the candidate's LinkedIn profile","x-sensitive-pii":true},"total_applications_count":{"type":"number","example":5,"description":"Total number of applications the candidate has","x-sensitive-employment":true}}}},"has_more":{"type":"boolean","example":true,"description":"Indicates if there are more items to fetch."},"next_cursor":{"type":"string","example":"abcdef01-2345-6789-0abc-def012345678","nullable":true,"description":"Cursor for the next page of results"},"total_count":{"type":"integer","example":100,"minimum":0,"description":"Total number of candidates"}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","example":"invalid_parameter","description":"Machine-readable error code"},"message":{"type":"string","example":"status: Expected array, received string","description":"A description of the returned error"}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"service_unavailable","description":"Machine-readable error code"},"message":{"type":"string","example":"The service is currently experiencing issues","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."}},"parameters":[{"in":"query","name":"cursor","schema":{"type":"string"},"example":"cursorValue","description":"The cursor for pagination"},{"in":"query","name":"limit","schema":{"type":"integer","format":"int32","default":20,"maximum":100,"minimum":1},"example":50,"description":"Maximum number of records returned in one response"},{"in":"query","name":"search","schema":{"type":"string"},"example":"John Doe","description":"Search text for filtering candidates"},{"in":"query","name":"job_ids","schema":{"type":"array","items":{"type":"string","format":"uuid"}},"example":["3fa85f64-5717-4562-b3fc-2c963f66afa6"],"description":"Filter candidates by job IDs"},{"in":"query","name":"department_ids","schema":{"type":"array","items":{"type":"string","format":"uuid"}},"example":["3fa85f64-5717-4562-b3fc-2c963f66afa6"],"description":"Filter candidates by department IDs"},{"in":"query","name":"tag_ids","schema":{"type":"array","items":{"type":"string","format":"uuid"}},"example":["3fa85f64-5717-4562-b3fc-2c963f66afa6"],"description":"Filter candidates by tag IDs"},{"in":"query","name":"current_stage_category_type_slugs","schema":{"type":"array","items":{"type":"string"}},"example":["phone-screen"],"description":"Filter candidates by current stage category type slugs"},{"in":"query","name":"current_stage_default_type_slugs","schema":{"type":"array","items":{"type":"string"}},"example":["technical-interview","others"],"description":"Filter candidates by current stage default type slugs"},{"in":"query","name":"updated_after","schema":{"type":"string","format":"date-time"},"example":"2025-06-18T00:00:00.000Z","required":false,"description":"Filter applications updated after this timestamp (ISO 8601 format)"}],"security":[{"deelToken":[]},{"oauth2":["ats:read"]}]},"post":{"tags":["ATS"],"summary":"Create ATS Candidate","operationId":"createAtsCandidate-v2026-01-01","description":"This endpoint allows the creation of a new candidate within the ATS system. The user must provide all required fields, and the candidate will be created with the specified details.\n **Token scopes**: `ats:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","first_name","last_name","email","numeric_id","created_at","updated_at"],"properties":{"id":{"type":"string","format":"uuid","example":"a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d","description":"Unique identifier for the candidate"},"email":{"type":"string","format":"email","example":"john.doe@example.com","description":"Email address of the candidate","x-sensitive-pii":true},"source":{"type":"string","example":"LINKEDIN","nullable":true,"description":"Source of the candidate"},"pic_url":{"type":"string","example":"https://example.com/pic.jpg","nullable":true,"description":"Profile picture URL of the candidate","x-sensitive-pii":true},"last_name":{"type":"string","example":"Doe","description":"Last name of the candidate","x-sensitive-pii":true},"created_at":{"type":"string","format":"date-time","example":"2024-01-01T00:00:00Z","description":"Timestamp when the candidate was created"},"first_name":{"type":"string","example":"John","description":"First name of the candidate","x-sensitive-pii":true},"numeric_id":{"type":"integer","example":123,"description":"Numeric identifier for the candidate"},"updated_at":{"type":"string","format":"date-time","example":"2024-01-01T00:00:00Z","description":"Timestamp when the candidate was last updated"},"imported_id":{"type":"string","example":"ext-123","nullable":true,"description":"Imported identifier"},"phone_number":{"type":"string","example":"+1234567890","nullable":true,"description":"Phone number of the candidate","x-sensitive-pii":true},"anonymized_at":{"type":"string","format":"date-time","example":"2024-01-01T00:00:00Z","nullable":true,"description":"Timestamp when the candidate was anonymized"},"import_session_id":{"type":"string","example":"session-123","nullable":true,"description":"Import session identifier"},"final_archivation_at":{"type":"string","format":"date-time","example":"2024-01-01T00:00:00Z","nullable":true,"description":"Timestamp when the candidate was finally archived"},"linkedin_profile_url":{"type":"string","example":"https://linkedin.com/in/johndoe","nullable":true,"description":"LinkedIn profile URL of the candidate","x-sensitive-pii":true}}}}}}},"description":"Successful response with candidate data"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_parameter","description":"Machine-readable error code"},"field":{"type":"string","example":"/data/example_field","description":"Name of the field causing the error (for validation issues)"},"message":{"type":"string","example":"Must have required property 'example_field'","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"service_unavailable","description":"Machine-readable error code"},"message":{"type":"string","example":"The service is currently experiencing issues","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["ats:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["first_name","last_name","email"],"properties":{"email":{"type":"string","format":"email","example":"john.doe@example.com","description":"The candidate's email address"},"pic_url":{"type":"string","format":"uri","example":"https://example.com/pic.jpg","nullable":true,"description":"The candidate's picture URL"},"last_name":{"type":"string","example":"Doe","description":"The candidate's last name"},"first_name":{"type":"string","example":"John","description":"The candidate's first name"},"phone_number":{"type":"string","example":"+1234567890","nullable":true,"description":"The candidate's phone number"},"linkedin_profile_url":{"type":"string","format":"uri","example":"https://www.linkedin.com/in/johndoe","nullable":true,"description":"The candidate's LinkedIn profile URL"}}}}}},"multipart/form-data":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["first_name","last_name","email"],"properties":{"cv":{"type":"string","format":"binary","example":"cv.pdf","description":"CV of candidate in binary format"},"email":{"type":"string","format":"email","example":"john.doe@example.com","description":"The candidate's email address"},"pic_url":{"type":"string","format":"uri","example":"https://example.com/pic.jpg","nullable":true,"description":"The candidate's picture URL"},"last_name":{"type":"string","example":"Doe","description":"The candidate's last name"},"first_name":{"type":"string","example":"John","description":"The candidate's first name"},"phone_number":{"type":"string","example":"+1234567890","nullable":true,"description":"The candidate's phone number"},"linkedin_profile_url":{"type":"string","format":"uri","example":"https://www.linkedin.com/in/johndoe","nullable":true,"description":"The candidate's LinkedIn profile URL"}}}}}}}}}},"/forms/eor/create-contract/{country_code}":{"get":{"tags":["Forms"],"summary":"Fetch EOR Contract form","operationId":"fetchEorContractForm","description":"Returns a formulary for creating EOR Contracts\n **Token scopes**: `forms:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["pages"],"properties":{"pages":{"type":"array","items":{"type":"object","required":["title","sections"],"properties":{"title":{"type":"string","example":"Personal Details","description":"Title of the form page."},"sections":{"type":"array","items":{"type":"object","required":["title","questions"],"properties":{"title":{"type":"string","example":"Team information","description":"Title of the section."},"subtitle":{"type":"string","example":"Information about the team","description":"Additional information shown at the top of the section."},"questions":{"type":"array","items":{"type":"object","required":["title","type","key"],"properties":{"key":{"type":"string","example":"client.legal_entity.id","description":"Unique key identifier for the question."},"type":{"enum":["FreeText","Paragraph","SingleSelection","MultiSelection","Address","PhoneNumber","DocumentUpload","Number","Dropdown","DatePicker","Email","CustomDropdown","PresetDropdown","Nested"],"type":"string","example":"Dropdown","description":"Type of the question."},"rules":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string","example":"Legal entity ID","description":"Title of the question."},"source":{"type":"object","nullable":true,"properties":{"url":{"type":"string","example":"/rest/v2/legal-entities","description":"API endpoint providing dynamic options."},"definition":{"type":"string","example":"https://developer.deel.com/reference/getlegalentitylist","description":"Reference URL for API documentation."},"description":{"type":"string","example":"Available legal entities for selection must be dynamically fetched","description":"Description of the data source."}},"description":"Defines dynamic data source for the question."},"options":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string","example":"Yes","description":"Display text for the option."},"value":{"type":"string","example":"true","nullable":true,"description":"Value associated with the option."}}},"example":[{"title":"Yes","value":"true"},{"title":"No","value":"false"}],"nullable":true,"description":"List of selectable options for selection-type questions. Value may be of any type."},"is_range":{"type":"boolean","example":false,"description":"Specifies whether a date picker allows range selection."},"requires":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","example":"employee.nationality","description":"Key of the dependent field."},"value":{"anyOf":[{"type":"string","nullable":true},{"type":"number","nullable":true},{"type":"boolean","nullable":true}],"example":"null","description":"Expected value for the condition."},"operator":{"type":"string","example":"ne","nullable":true,"description":"Comparison operator (e.g., 'eq', 'ne')."},"compare_key":{"type":"string","example":"employment.country","nullable":true,"description":"Key of the field to compare against."}}},"description":"List of conditions that must be met for this rule to apply."},"max_value":{"anyOf":[{"type":"string","nullable":true},{"type":"number","nullable":true}],"example":180,"description":"Maximum value allowed."},"min_value":{"anyOf":[{"type":"string","nullable":true},{"type":"number","nullable":true}],"example":0,"description":"Minimum value allowed."},"max_length":{"type":"integer","example":255,"nullable":true,"description":"Maximum character length for text responses."},"min_length":{"type":"integer","example":1,"nullable":true,"description":"Minimum character length for text responses."},"helper_text":{"type":"string","example":"Please select the appropriate legal entity.","nullable":true,"description":"Additional information to assist the user."},"is_disabled":{"type":"boolean","example":false,"description":"If true, the field is disabled and cannot be edited."},"is_required":{"type":"boolean","example":true,"description":"Indicates if the question is required."},"number_type":{"type":"string","example":"CURRENCY","description":"Used for number fields to define the unit or representation."},"default_value":{"anyOf":[{"type":"string","nullable":true},{"type":"number","nullable":true},{"type":"boolean","nullable":true}],"example":40,"description":"Default value to pre-fill in the form."},"is_only_digits":{"type":"boolean","example":false,"description":"Restricts input to numeric characters only, for FreeText questions."},"date_limitation":{"type":"string","example":"BLOCK_PAST","nullable":true,"description":"Limits date selection (e.g., blocking past dates). Will always be 'BLOCK_PAST' for now."},"is_multiple_selection":{"type":"boolean","example":false,"description":"Indicates if the user can select multiple values."},"must_request_validation":{"type":"boolean","example":true,"description":"Whether additional validation should be triggered for this field."}}},"nullable":true,"description":"Validation rules for the question."},"title":{"type":"string","example":"Legal entity ID","description":"Title of the question."},"source":{"type":"object","nullable":true,"properties":{"url":{"type":"string","example":"/rest/v2/legal-entities","description":"API endpoint providing dynamic options."},"definition":{"type":"string","example":"https://developer.deel.com/reference/getlegalentitylist","description":"Reference URL for API documentation."},"description":{"type":"string","example":"Available legal entities for selection must be dynamically fetched","description":"Description of the data source."}},"description":"Defines dynamic data source for the question."},"options":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string","example":"Yes","description":"Display text for the option."},"value":{"type":"string","example":"true","nullable":true,"description":"Value associated with the option."}}},"example":[{"title":"Yes","value":"true"},{"title":"No","value":"false"}],"nullable":true,"description":"List of selectable options for selection-type questions. Value may be of any type."},"is_range":{"type":"boolean","example":false,"description":"Specifies whether a date picker allows range selection."},"max_value":{"anyOf":[{"type":"string","nullable":true},{"type":"number","nullable":true}],"example":180,"description":"Maximum value allowed."},"min_value":{"anyOf":[{"type":"string","nullable":true},{"type":"number","nullable":true}],"example":0,"description":"Minimum value allowed."},"max_length":{"type":"integer","example":255,"nullable":true,"description":"Maximum character length for text responses."},"min_length":{"type":"integer","example":1,"nullable":true,"description":"Minimum character length for text responses."},"helper_text":{"type":"string","example":"Please select the appropriate legal entity.","nullable":true,"description":"Additional information to assist the user."},"is_disabled":{"type":"boolean","example":false,"description":"If true, the field is disabled and cannot be edited."},"is_required":{"type":"boolean","example":true,"description":"Indicates if the question is required."},"number_type":{"type":"string","example":"CURRENCY","description":"Used for number fields to define the unit or representation."},"default_value":{"anyOf":[{"type":"string","nullable":true},{"type":"number","nullable":true},{"type":"boolean","nullable":true}],"example":40,"description":"Default value to pre-fill in the form."},"is_only_digits":{"type":"boolean","example":false,"description":"Restricts input to numeric characters only, for FreeText questions."},"date_limitation":{"type":"string","example":"BLOCK_PAST","nullable":true,"description":"Limits date selection (e.g., blocking past dates). Will always be 'BLOCK_PAST' for now."},"is_multiple_selection":{"type":"boolean","example":false,"description":"Indicates if the user can select multiple values."},"must_request_validation":{"type":"boolean","example":true,"description":"Whether additional validation should be triggered for this field."}}},"description":"List of questions within the section."}}},"description":"Sections within the page."}}},"description":"List of pages in the form."}}}}}}},"description":"Successful response containing form configuration data."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"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"}}}},"request":{"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"}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"query","name":"state","schema":{"type":"string"},"example":"SP","required":false,"description":"The selected state code of the contract. This is only required for countries that specify it."},{"in":"query","name":"start_date","schema":{"type":"string"},"example":"2025-09-03","required":false,"description":"The selected start date of the contract in ISO 8601 formatted date string."},{"in":"query","name":"work_hours_per_week","schema":{"type":"integer"},"example":40,"required":false,"description":"The selected number of work hours per week."},{"in":"query","name":"contract_duration_in_days","schema":{"type":"integer"},"example":360,"required":false,"description":"The contract duration in days for definite contracts."},{"in":"path","name":"country_code","schema":{"type":"string","pattern":"^[A-Z]{2}$","maxLength":2,"minLength":2},"example":"BR","required":true,"description":"Two-letter country code in ISO 3166-1 alpha-2 format"}],"security":[{"deelToken":[]},{"oauth2":["forms:read"]}]}},"/eor/workers/{worker_id}/payslips/{payslip_id}/download":{"get":{"tags":["EOR"],"summary":"Retrieve payslip PDF download link","operationId":"getEORWorkerPayslipDownloadUrl","description":"Retrieve a URL to download a specific payslip PDF for a EoR worker. This endpoint is useful for accessing detailed payment records in a portable document format.\n **Token scopes**: `payslips:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["url"],"properties":{"url":{"type":"string","description":"The URL to download the payslip PDF."}}}}},"examples":{"success":{"value":{"data":{"url":"https://example.com/payslip/pay-001/download"}},"summary":"Example of a successful response."}}}},"description":"Successfully retrieved the payslip download link."},"400":{"content":{"application/json":{"examples":{"invalidParameters":{"value":{"error":"The provided worker ID or payslip ID is invalid. Please check the format."},"summary":"Invalid parameters."}}}},"description":"Invalid request. Either the worker ID or payslip ID is malformed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"content":{"application/json":{"examples":{"notFound":{"value":{"error":"No payslip found for the specified worker ID and payslip ID."},"summary":"Payslip not found."}}}},"description":"Payslip not found. The specified worker ID or payslip ID does not match any records."},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"worker_id","schema":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"Unique identifier for the worker."},"required":true,"description":"The ID of the worker whose payslip download link is being requested."},{"in":"path","name":"payslip_id","schema":{"type":"string","example":"pay-001","description":"Unique identifier for the payslip."},"required":true,"description":"The ID of the specific payslip to download."}],"security":[{"deelToken":[]},{"oauth2":["payslips:read"]}]}},"/invoices/deel":{"get":{"tags":["Accounting"],"summary":"Retrieve Deel invoices","operationId":"retrieveDeelInvoices","description":"Retrieve a list of invoices related to Deel fees.\n **Token scopes**: `accounting:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data","page"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","label","status","currency","total","created_at"],"properties":{"id":{"type":"string","example":"rhCTiRd9Mad41RwjsFWw-","description":"Unique identifier of the invoice."},"label":{"type":"string","example":"INV-2023-4","description":"Label of the invoice."},"total":{"type":"string","example":"1000","description":"Total invoice amount including Fee and VAT."},"status":{"enum":["pending","paid","processing","canceled","skipped","failed","refunded"],"type":"string","example":"paid","nullable":false,"description":"Current status of the invoice."},"currency":{"type":"string","example":"GBP","pattern":"^[A-Z]{3}$","nullable":false,"maxLength":3,"minLength":3,"description":"Currency code."},"created_at":{"type":"string","format":"date-time","example":"2022-05-24T09:38:46.235Z","nullable":true,"description":"Long date-time format following ISO-8601"}}}},"page":{"type":"object","required":["total_rows","items_per_page","offset"],"properties":{"offset":{"type":"number","example":0,"maximum":999999999,"minimum":0,"nullable":false,"description":"Offset"},"total_rows":{"type":"number","example":0,"nullable":false,"description":"Total number of rows"},"items_per_page":{"type":"number","example":10,"maximum":99,"minimum":1,"nullable":false,"description":"Number of items per page"}}}}}}},"description":"Successful response"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"query","name":"limit","schema":{"type":"string"},"example":"10","description":"Return a page of results with given number of records; NOTE technically ALL query parameters are strings or array of strings"},{"in":"query","name":"offset","schema":{"type":"string"},"example":"10","description":"Return a page of results after given index of row; NOTE technically ALL query parameters are strings or array of strings'"}],"security":[{"deelToken":[]},{"oauth2":["accounting:read"]}]}},"/accounts-payable/vendor-bills/{vendor_bill_id}/attachments":{"post":{"tags":["Treasury"],"summary":"Upload Vendor Bill Attachment","operationId":"uploadVendorBillAttachment","description":"Use this endpoint to attach a PDF invoice file to an existing vendor bill entity. Submit the file via multipart/form-data with the file in the request body.\n **Token scopes**: `treasury-vendorbill:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","created_at","updated_at"],"properties":{"id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","description":"Unique identifier of the uploaded attachment"},"created_at":{"type":"string","format":"date-time","example":"2025-01-15T10:30:00.000Z","description":"Creation timestamp"},"updated_at":{"type":"string","format":"date-time","example":"2025-01-15T10:30:00.000Z","description":"Last update timestamp"}}}}}}},"description":"File uploaded successfully"},"400":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"invalid_parameter","description":"Machine-readable error code"},"field":{"type":"string","example":"file","description":"Name of the field causing the error"},"message":{"type":"string","example":"File is required","description":"Human-readable explanation"}}},"example":[{"code":"invalid_parameter","field":"file","message":"File is required"},{"code":"invalid_parameter","field":"file","message":"File size exceeds the 8MB limit"},{"code":"invalid_parameter","field":"file","message":"File type application/octet-stream is not allowed"}]}}}}},"description":"Bad request - validation error"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"invalid_parameter","description":"Machine-readable error code"},"field":{"type":"string","example":"vendor_bill_id","description":"Name of the field causing the error"},"message":{"type":"string","example":"Vendor bill with ID 9b9fc43a-a90c-4615-ac50-baf1e314b53e not found","description":"Human-readable explanation"}}},"example":[{"code":"invalid_parameter","field":"vendor_bill_id","message":"Vendor bill with ID 9b9fc43a-a90c-4615-ac50-baf1e314b53e not found"}]}}}}},"description":"Vendor bill not found"},"500":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"internal_server_error","description":"Machine-readable error code"},"message":{"type":"string","example":"An unexpected error occurred","description":"Human-readable explanation"}}},"example":[{"code":"internal_server_error","message":"An unexpected error occurred"}]}}}}},"description":"Internal server error"}},"parameters":[{"in":"path","name":"vendor_bill_id","schema":{"type":"string","format":"uuid","example":"9b9fc43a-a90c-4615-ac50-baf1e314b53e","description":"Unique identifier of the vendor bill"},"required":true,"description":"Vendor bill id to attach the file to"}],"security":[{"deelToken":[]},{"oauth2":["treasury-vendorbill:write"]}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"file":{"type":"string","format":"binary","example":"invoice.pdf","description":"PDF file to upload (max 8MB)"}}}}}}}}}},"/ats/job-postings":{"get":{"tags":["ATS"],"summary":"Retrieve ATS job postings","operationId":"retrieveAtsJobPostings-v2026-04-10","description":"Use this endpoint to retrieve job postings by specifying the job board ID or job ID. It provides detailed postings with job details, publication status, and relevant metadata.\n **Token scopes**: `ats:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data","total_count","has_more","next_cursor"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","job_id","title","richtext_description","is_compensation_visible","job","publications"],"properties":{"id":{"type":"string","format":"uuid","example":"a1b2c3d4-e5f6-7890-abcd-ef1234567890","description":"Unique identifier of the job posting."},"job":{"type":"object","required":["id","job_locations","job_employment_types","compensation"],"properties":{"id":{"type":"string","format":"uuid","example":"b2c3d4e5-f6a7-8901-bcde-f12345678901","description":"Job identifier."},"job_teams":{"type":"array","items":{"type":"object","example":{"id":"c9d0e1f2-a3b4-5678-2345-789012345678","team":{"id":"d0e1f2a3-b4c5-6789-3456-890123456789","name":"Engineering"}},"properties":{"id":{"type":"string","format":"uuid","example":"c9d0e1f2-a3b4-5678-2345-789012345678","description":"Job-team association row identifier."},"team":{"type":"object","example":{"id":"d0e1f2a3-b4c5-6789-3456-890123456789","name":"Engineering"},"properties":{"id":{"type":"string","format":"uuid","example":"d0e1f2a3-b4c5-6789-3456-890123456789","description":"Team identifier."},"name":{"type":"string","example":"Engineering","maxLength":100,"description":"Display name of the team."}},"description":"Team referenced by this association."}},"description":"Single job-team link with nested team details."},"nullable":true,"description":"Job-to-team associations; null or omitted when not loaded or not applicable."},"compensation":{"type":"object","nullable":true,"properties":{"id":{"type":"string","format":"uuid","example":"e7f8a9b0-c1d2-3456-0123-567890123456","description":"Compensation record identifier."},"max_amount":{"type":"number","example":140000,"nullable":true,"description":"Maximum compensation amount in the given currency, or null."},"min_amount":{"type":"number","example":100000,"nullable":true,"description":"Minimum compensation amount in the given currency, or null."},"currency_iso_code":{"type":"string","example":"USD","maxLength":3,"minLength":3,"description":"ISO 4217 alphabetic currency code for the compensation amounts."}},"description":"Current compensation when visible on the posting; null when hidden or absent. Shape mirrors internal compensation mapping."},"job_locations":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"a3b4c5d6-e7f8-9012-6789-123456789012","description":"Job-location association row identifier."},"location":{"type":"object","example":{"id":"b4c5d6e7-f8a9-0123-7890-234567890123","name":"London"},"properties":{"id":{"type":"string","format":"uuid","example":"b4c5d6e7-f8a9-0123-7890-234567890123","description":"Location identifier."},"name":{"type":"string","example":"London","maxLength":100,"description":"Display name of the location."}},"description":"Location entity for this association."}},"description":"Single job-location link with nested location details."},"description":"Work locations associated with the job."},"job_departments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"e1f2a3b4-c5d6-7890-4567-901234567890","description":"Job-department association row identifier."},"department":{"type":"object","example":{"id":"f2a3b4c5-d6e7-8901-5678-012345678901","name":"Product"},"nullable":true,"properties":{"id":{"type":"string","format":"uuid","example":"f2a3b4c5-d6e7-8901-5678-012345678901","description":"Department identifier."},"name":{"type":"string","example":"Product","maxLength":100,"description":"Display name of the department."}},"description":"Department for this association; null if unset."}},"description":"Single job-department link with nested department details."},"nullable":true,"description":"Job-to-department associations; null or omitted when not loaded."},"job_employment_types":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"c5d6e7f8-a9b0-1234-8901-345678901234","description":"Job-employment-type association row identifier."},"employment_type":{"type":"object","example":{"id":"d6e7f8a9-b0c1-2345-9012-456789012345","name":"Full-time"},"properties":{"id":{"type":"string","format":"uuid","example":"d6e7f8a9-b0c1-2345-9012-456789012345","description":"Employment type identifier."},"name":{"type":"string","example":"Full-time","maxLength":100,"description":"Display name of the employment type."}},"description":"Employment type entity for this association."}},"description":"Single job–employment-type link with nested employment type details."},"description":"Employment types associated with the job (e.g. full-time, contract)."}},"description":"Nested job record: locations, employment types, optional teams/departments, and optional compensation when visible."},"title":{"type":"string","example":"Senior Engineer","maxLength":200,"description":"Public title of the job posting."},"job_id":{"type":"string","format":"uuid","example":"b2c3d4e5-f6a7-8901-bcde-f12345678901","description":"Identifier of the underlying job this posting belongs to."},"created_at":{"type":"string","format":"date-time","example":"2025-01-15T10:30:00.000Z","description":"ISO 8601 timestamp when the posting was created, if present."},"updated_at":{"type":"string","format":"date-time","example":"2025-02-01T14:00:00.000Z","description":"ISO 8601 timestamp when the posting was last updated, if present."},"publications":{"type":"array","items":{"type":"object","required":["id","job_board","current_state"],"properties":{"id":{"type":"string","format":"uuid","example":"f8a9b0c1-d2e3-4567-1234-678901234567","description":"Job posting publication identifier."},"job_board":{"type":"object","example":{"id":"a9b0c1d2-e3f4-5678-2345-789012345678"},"required":["id"],"properties":{"id":{"type":"string","format":"uuid","example":"a9b0c1d2-e3f4-5678-2345-789012345678","description":"Job board identifier."}},"description":"Job board this publication belongs to."},"current_state":{"type":"object","required":["id","state_slug","error_message","created_by","created_at"],"properties":{"id":{"type":"string","format":"uuid","example":"b0c1d2e3-f4a5-6789-3456-890123456789","description":"Publication state row identifier."},"created_at":{"type":"string","format":"date-time","example":"2025-03-10T09:00:00.000Z","description":"ISO 8601 timestamp when this state was recorded."},"created_by":{"type":"string","format":"uuid","example":"c1d2e3f4-a5b6-7890-4567-901234567890","nullable":true,"description":"HRIS organization user id who triggered or owns this state, when set."},"state_slug":{"enum":["PUBLISHED_BASIC","PUBLISHED_PREMIUM","UNPUBLISHED","EXPIRED","IN_PROGRESS","FAILED"],"type":"string","example":"PUBLISHED_BASIC","description":"Publication lifecycle state (uppercase slug)."},"error_message":{"type":"string","example":"Error message","nullable":true,"description":"Error details when state is failed or otherwise errored; null if none."}},"description":"Latest known publication state for this board."}},"description":"Single publication of the job posting to a job board."},"description":"Publication rows for this posting, one per job board integration, with current state."},"application_form":{"type":"object","example":{"id":"c3d4e5f6-a7b8-9012-cdef-123456789012","title":"Default application"},"nullable":true,"properties":{"id":{"type":"string","format":"uuid","example":"c3d4e5f6-a7b8-9012-cdef-123456789012","description":"Application form identifier."},"title":{"type":"string","example":"Default application","maxLength":100,"description":"Human-readable application form title."}},"description":"Linked application form metadata when the posting uses an application form."},"richtext_description":{"type":"string","example":"<p>Build great products with us.</p>","nullable":true,"description":"Rich-text (HTML) job description for the posting, or null if not set."},"is_compensation_visible":{"type":"boolean","example":"true","description":"Whether compensation details may be shown for this posting."}}},"description":"Job postings returned for this request (single page; pagination not yet implemented)."},"has_more":{"type":"boolean","example":"false","description":"Whether additional pages exist; currently always false for this endpoint."},"next_cursor":{"type":"string","example":"nextcursorid","nullable":true,"maxLength":1000,"description":"Opaque cursor for the next page; currently always null until pagination is implemented."},"total_count":{"type":"integer","example":3,"minimum":0,"description":"Number of job postings included in `data` for this response."}}}}},"description":"Successful operation. Returns job postings for the requested job board (and optional job filter), with nested job details and publication state per board."},"400":{"content":{"application/json":{"schema":{"type":"object","required":["status_code","timestamp","path","errors"],"properties":{"path":{"type":"string","description":"Request URL path"},"errors":{"type":"array","items":{"type":"object","required":["code","message","field"],"properties":{"code":{"type":"string","example":"invalid_parameter","description":"Error code"},"field":{"type":"string","example":"start_date","description":"Request field related to the error, if applicable"},"message":{"type":"string","example":"start_date is required","description":"Human-readable error message"}}},"description":"List of error objects"},"timestamp":{"type":"string","format":"date-time","description":"Time when the error occurred"},"status_code":{"type":"integer","example":400,"description":"HTTP status code"}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","required":["status_code","timestamp","path"],"properties":{"path":{"type":"string","description":"Request URL path"},"timestamp":{"type":"string","format":"date-time","description":"Time when the error occurred"},"status_code":{"type":"integer","example":500,"description":"HTTP status code"}}}}},"description":"Operation failed."}},"parameters":[{"in":"query","name":"job_board_id","schema":{"type":"string","format":"uuid"},"example":"3fa85f64-5717-4562-b3fc-2c963f66afa6","required":false,"description":"Job board to list postings from (UUID)."},{"in":"query","name":"job_id","schema":{"type":"string","format":"uuid"},"example":"6ba7b810-9dad-11d1-80b4-00c04fd430c8","required":false,"description":"When set, only postings for this job are returned (UUID)."},{"in":"query","name":"cursor","schema":{"type":"string","maxLength":1000},"example":"eyJwYWdlIjoyfQ==","required":false,"description":"Opaque cursor for pagination. Use the value from next_cursor of the previous response to fetch the next page."},{"in":"query","name":"limit","schema":{"type":"integer","maximum":100,"minimum":1},"example":20,"required":false,"description":"Maximum number of job postings to return per page (min: 1, max: 100)."}],"security":[{"deelToken":[]},{"oauth2":["ats:read"]}]}},"/eor/benefits":{"get":{"tags":["EOR"],"summary":"Retrieve Benefits by Country","operationId":"retrieveBenefitsByCountry","description":"Retrieves list of benefits available in a specific country based work visa requirement, work hours, employment type, team, and legal entity.\n **Token scopes**: `benefits:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["name","providers","description","is_mandatory","is_discriminatory"],"properties":{"name":{"type":"string","example":"Health Insurance","nullable":false,"description":"The name of the benefit."},"providers":{"type":"array","items":{"type":"object","required":["id","name","type","is_unisure","plans","country","currency","attachments","home_page_url","contribution_options"],"properties":{"id":{"type":"string","format":"uuid","example":"5f4d1f3f-4b3b-4b1e-8f4f-3b1f4f1b3b4b","nullable":false,"description":"ID of the benefit provider."},"name":{"type":"string","example":"Provider A","nullable":false,"description":"The name of the benefit provider."},"type":{"type":"string","example":"Insurance","nullable":false,"description":"Benefit type."},"plans":{"type":"array","items":{"type":"object","required":["id","name","price","attachments"],"properties":{"id":{"type":"string","example":"5f4d1f3f-4b3b-4b1e-8f4f-3b1f4f1b3b4b","nullable":false,"description":"The unique ID of the plan."},"name":{"type":"string","example":"Premium Employee Plan","nullable":false,"description":"The name of the plan."},"price":{"type":"number","example":1000,"nullable":false,"description":"The price of the plan."},"attachments":{"type":"array","items":{"type":"object","required":["id","label","url"],"properties":{"id":{"type":"string","example":"5f4d1f3f-4b3b-4b1e-8f4f-3b1f4f1b3b4b","nullable":false,"description":"The unique ID of the attachment."},"url":{"type":"string","example":"https://www.provider-a.com/attachments/Spain_Benefits_Snapshot.pdf","nullable":false,"description":"The url of the attachment."},"label":{"type":"string","example":"Spain_Benefits_Snapshot.pdf","nullable":false,"description":"The label of the attachment."}}}}}}},"country":{"type":"string","example":"US","nullable":false,"description":"Country code."},"currency":{"type":"string","example":"USD","nullable":false,"description":"Currency."},"is_unisure":{"type":"boolean","example":true,"nullable":false,"description":"Indicates if Unisure."},"attachments":{"type":"array","items":{"type":"object","required":["id","label","url"],"properties":{"id":{"type":"string","example":"5f4d1f3f-4b3b-4b1e-8f4f-3b1f4f1b3b4b","nullable":false,"description":"The unique ID of the attachment."},"url":{"type":"string","example":"https://www.provider-a.com/attachments/Spain_Benefits_Snapshot.pdf","nullable":false,"description":"The url of the attachment."},"label":{"type":"string","example":"Spain_Benefits_Snapshot.pdf","nullable":false,"description":"The label of the attachment."}}}},"client_info":{"type":"string","example":"You're now offering this employee Flexible Retribution that includes meals, transport and daycare tax free.","nullable":true,"description":"Client information."},"employee_info":{"type":"string","example":"Your company is now offering supplemental benefits.","nullable":true,"description":"Employee information."},"home_page_url":{"type":"string","example":"https://www.provider-a.com","nullable":false,"description":"The home page URL of the benefit provider."},"max_contribution":{"type":"number","example":10,"nullable":true,"description":"Maximum contribution."},"min_contribution":{"type":"number","example":10,"nullable":true,"description":"Minimum contribution."},"contribution_options":{"type":"array","items":{"type":"object","required":["id","amount"],"properties":{"id":{"type":"string","example":"5f4d1f3f-4b3b-4b1e-8f4f-3b1f4f1b3b4b","nullable":false,"description":"Unique ID of the contribution."},"amount":{"type":"number","example":1000,"nullable":false,"description":"Amount."}}}}}}},"description":{"type":"string","example":"Provide a cost coverage or subsidy for employees relating to Meals or Grocery.","nullable":false,"description":"The description of the benefit."},"is_mandatory":{"type":"boolean","example":true,"nullable":false,"description":"Indicates if the benefit is mandatory."},"is_discriminatory":{"type":"boolean","example":true,"nullable":false,"description":"Indicates if the benefit is discriminatory."}}}}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"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"}}}},"request":{"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"}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"query","name":"country_code","schema":{"type":"string","pattern":"^[A-Z]{2}$","maxLength":2,"minLength":2},"example":"US","required":true,"description":"Country code."},{"in":"query","name":"work_visa","schema":{"type":"boolean"},"example":true,"required":true,"description":"Indicates if work visa is required."},{"in":"query","name":"work_hours_per_week","schema":{"type":"number","maximum":168,"minimum":0},"example":40,"required":true,"description":"Working hours per week"},{"in":"query","name":"employment_type","schema":{"enum":["Full-time","Part-time"],"type":"string"},"example":"Full-time","required":true,"description":"Type of employment"},{"in":"query","name":"team_id","schema":{"type":"string","format":"uuid"},"example":"123e4567-e89b-12d3-a456-426614174000","required":true,"description":"The ID of the team the worker belongs to."},{"in":"query","name":"legal_entity_id","schema":{"type":"string","format":"uuid"},"example":"123e4567-e89b-12d3-a456-426614174000","required":true,"description":"The ID of the legal entity."}],"security":[{"deelToken":[]},{"oauth2":["benefits:read"]}]}},"/ats/job-postings/{job_posting_id}":{"get":{"tags":["ATS"],"summary":"Retrieve ATS job posting","operationId":"retrieveAtsJobPosting","description":"This endpoint retrieves a single job posting by its ID. It provides detailed information about the job posting, including its associated job details, publication status, and other relevant metadata.\n **Token scopes**: `ats:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","required":["id","title","richtext_description","is_compensation_visible","job","publications","created_at","updated_at"],"properties":{"id":{"type":"string","format":"uuid","example":"443a9b58-735c-4dc3-9744-589abb2dbe5f","description":"Unique identifier for the job posting"},"job":{"type":"object","required":["id","job_locations","job_employment_types","compensation"],"properties":{"id":{"type":"string","format":"uuid","example":"5f3cbc4b-2c51-4b48-a2c5-141f581dbf8a","description":"Unique identifier for the job"},"job_teams":{"type":"array","items":{"type":"object","required":["id","team"],"properties":{"id":{"type":"string","format":"uuid","example":"53e4d5bb-65e3-42ff-ada7-65badeeb9d8f","description":"Unique identifier for the job team"},"team":{"type":"object","required":["id","name"],"properties":{"id":{"type":"string","format":"uuid","example":"127ee4e0-3776-46c8-8999-5e045e2ae1cf","description":"Unique identifier for the team"},"name":{"type":"string","example":"Product Design Team","description":"Team name","x-sensitive-employment":true}},"description":"Details for the team assigned to the job"}}},"nullable":true,"description":"Teams associated with the job","x-sensitive-employment":true},"compensation":{"type":"object","example":{"id":"9a8b7c6d-5e4f-4321-abcd-9876543210ff","max_amount":105000,"min_amount":85000,"currency_iso_code":"USD"},"nullable":true,"required":["id","currency_iso_code"],"properties":{"id":{"type":"string","format":"uuid","example":"9a8b7c6d-5e4f-4321-abcd-9876543210ff","description":"Unique identifier for the compensation record"},"max_amount":{"type":"number","example":105000,"nullable":true,"description":"Maximum compensation amount"},"min_amount":{"type":"number","example":85000,"nullable":true,"description":"Minimum compensation amount"},"currency_iso_code":{"type":"string","example":"USD","description":"Currency ISO code for the compensation"}},"description":"Compensation information for the job","x-sensitive-employment":true},"job_locations":{"type":"array","items":{"type":"object","required":["id","location"],"properties":{"id":{"type":"string","format":"uuid","example":"ae5ea0d8-300b-4027-9d14-0330ac5e527c","description":"Unique identifier for the job location"},"location":{"type":"object","required":["id","name"],"properties":{"id":{"type":"string","format":"uuid","example":"f61a2d36-2790-45d0-b9c9-988c6c234b9b","description":"Unique identifier for the location"},"name":{"type":"string","example":"France","description":"Location name","x-sensitive-employment":true}},"description":"Details for the location assigned to the job"}}},"description":"Locations associated with the job","x-sensitive-employment":true},"job_departments":{"type":"array","items":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","example":"092007cf-8e8b-4720-99a2-ec29a0824cce","description":"Unique identifier for the job department"},"department":{"type":"object","nullable":true,"properties":{"id":{"type":"string","format":"uuid","example":"8cec1556-8681-436c-a307-2af84ac1b66d","description":"Unique identifier for the department"},"name":{"type":"string","example":"Design","description":"Department name","x-sensitive-employment":true}},"description":"Details for the department associated with the job"}}},"nullable":true,"description":"Departments associated with the job","x-sensitive-employment":true},"job_employment_types":{"type":"array","items":{"type":"object","required":["id","employment_type"],"properties":{"id":{"type":"string","format":"uuid","example":"33a13504-ec08-4f2a-98cf-64c0cc20f20b","description":"Unique identifier for the job employment type"},"employment_type":{"type":"object","required":["id","name"],"properties":{"id":{"type":"string","format":"uuid","example":"5ed1ab2a-395f-4cf1-854f-7aa060a31db3","description":"Unique identifier for the employment type"},"name":{"type":"string","example":"Temporary","description":"Employment type name"}},"description":"Details for the employment type assigned to the job"}}},"description":"Employment types associated with the job","x-sensitive-employment":true}},"description":"Associated job information"},"title":{"type":"string","example":"Product Designer","description":"Job posting title","x-sensitive-employment":true},"created_at":{"type":"string","format":"date-time","example":"2025-07-24T16:28:46.063Z","description":"Creation timestamp"},"updated_at":{"type":"string","format":"date-time","example":"2025-07-25T10:11:12.613Z","description":"Last update timestamp"},"publications":{"type":"array","items":{"type":"object","required":["id","job_board","current_state"],"properties":{"id":{"type":"string","format":"uuid","example":"07e7f02c-e10f-4751-a1af-a7d110617e27","description":"Unique identifier for the job posting publication"},"job_board":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","example":"95858e6b-3971-408c-97d6-73ca4fce10b7","description":"Unique identifier for the job board"}},"description":"Job board where the posting is published"},"current_state":{"type":"object","required":["id","state_slug","created_at"],"properties":{"id":{"type":"string","format":"uuid","example":"958e9211-5944-49df-a9df-af43967b233f","description":"Unique identifier for the publication state"},"created_at":{"type":"string","format":"date-time","example":"2025-07-24T16:28:46.063Z","description":"Timestamp when the publication was created","x-sensitive-employment":true},"created_by":{"type":"string","format":"uuid","example":"42d103ea-9367-432a-8e6f-7ab548eeddcd","nullable":true,"description":"User who created the publication"},"state_slug":{"enum":["PUBLISHED_BASIC","PUBLISHED_PREMIUM","UNPUBLISHED","EXPIRED","IN_PROGRESS","FAILED"],"type":"string","example":"PUBLISHED_BASIC","description":"Current publication state","x-sensitive-employment":true},"error_message":{"type":"string","example":"Publication failed due to invalid job board credentials","nullable":true,"description":"Error message if publication failed"}},"description":"Current publication state details"}}},"description":"Publication information for different job boards"},"application_form":{"type":"object","nullable":true,"required":["id","title"],"properties":{"id":{"type":"string","format":"uuid","example":"6bfbc928-8d34-46a0-8bca-6503f0e7128c","description":"Unique identifier for the application form"},"title":{"type":"string","example":"Standard Application","description":"Title of the application form"}},"description":"Application form assigned to the job posting"},"richtext_description":{"type":"string","example":"<p>Some description</p>","nullable":true,"description":"Rich text description of the job posting","x-sensitive-employment":true},"is_compensation_visible":{"type":"boolean","example":false,"description":"Indicates if compensation details are visible to candidates","x-sensitive-employment":true}}}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_parameter","description":"Machine-readable error code"},"message":{"type":"string","example":"status: Expected array,","description":"A description of the returned error"}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"job_posting_id","schema":{"type":"string","format":"uuid"},"example":"1b9d6c7e-2c3f-4f5a-8b6c-7d8e9f0a1b2c","required":true,"description":"Unique identifier of the job posting to retrieve"}],"security":[{"deelToken":[]},{"oauth2":["ats:read"]}]}},"/ats/locations":{"get":{"tags":["ATS"],"summary":"Retrieve a list of ATS locations","operationId":"retrieveAListOfAtsLocations-v2026-01-01","description":"List locations: Returns a paginated list of all locations associated with an organization in ATS. Use this to retrieve available work locations when creating job postings or filtering candidates by location. Scope: ats:read\n **Token scopes**: `ats:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data","next_cursor","total_count","has_more"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","name","updated_at","created_at"],"properties":{"id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","description":"Unique identifier for the location"},"city":{"type":"string","example":"New York","nullable":true,"description":"City name","x-sensitive-employment":true},"name":{"type":"string","example":"United States","description":"Name of the location/country","x-sensitive-employment":true},"is_remote":{"type":"boolean","example":false,"description":"Indicates if this is a remote location","x-sensitive-employment":true},"created_at":{"type":"string","format":"date-time","example":"2023-01-01T00:00:00Z","description":"Timestamp when the location was created"},"updated_at":{"type":"string","format":"date-time","example":"2023-01-01T00:00:00Z","description":"Timestamp when the location was last updated"},"country_code":{"type":"string","example":"US","nullable":true,"description":"ISO country code","x-sensitive-employment":true},"location_group":{"type":"object","example":{"id":"550e8400-e29b-41d4-a716-446655440000","name":"Remote"},"nullable":true,"properties":{"id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","description":"Unique identifier for the location group"},"name":{"type":"string","example":"Remote","description":"Name of the location group"}},"description":"Location group information"},"province_or_region_text":{"type":"string","example":"New York","nullable":true,"description":"Province or region text","x-sensitive-employment":true}}},"example":[{"id":"550e8400-e29b-41d4-a716-446655440000","city":"New York","name":"United States","is_remote":false,"created_at":"2023-01-01T00:00:00Z","updated_at":"2023-01-01T00:00:00Z","country_code":"US","location_group":{"id":"550e8400-e29b-41d4-a716-446655440000","name":"Remote"},"province_or_region_text":"New York"}]},"has_more":{"type":"boolean","example":true,"description":"Indicates if there are more locations available"},"next_cursor":{"type":"string","example":"cursor123","nullable":true,"description":"Cursor for pagination to get the next set of results"},"total_count":{"type":"integer","example":100,"description":"Total number of locations available"}}}}},"description":"Successful response with locations data"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_parameter"},"field":{"type":"string","example":"start_date"},"message":{"type":"string","example":"start_date is required"}}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"query","name":"cursor","schema":{"type":"string"},"example":"cursorValue","description":"The cursor for pagination"},{"in":"query","name":"limit","schema":{"type":"integer","format":"int32","default":20,"maximum":100,"minimum":1},"example":50,"description":"Maximum number of records returned in one response"}],"security":[{"deelToken":[]},{"oauth2":["ats:read"]}]}},"/invoices/{invoice_id}":{"get":{"tags":["Accounting"],"summary":"Get invoice by id","operationId":"getInvoiceById-v2026-01-01","description":"Retrieve invoice details\n **Token scopes**: `accounting:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","example":"h6tNU34NabNyFB5MmkE6e","description":"Unique identifier for the invoice"},"label":{"type":"string","example":"INV-2025-1255892","description":"Human-readable label or reference number for the invoice"},"total":{"type":"string","example":"5.00","description":"Total amount of the invoice","x-sensitive-employment":true},"status":{"enum":["open","pending","skipped","preprocessing","processing","credited","processed","paid","failed","cancelled","refunded","unpayable","awaiting_payment"],"type":"string","example":"paid","description":"Current payment status of the invoice."},"paid_at":{"type":"string","format":"date-time","example":"2025-04-28T00:23:18.618Z","description":"Date and time when the invoice was paid"},"currency":{"type":"string","example":"USD","description":"Currency code for the invoice total"},"due_date":{"type":"string","format":"date-time","example":"2025-05-03T00:00:00.000Z","description":"The due date for the invoice payment"},"issued_at":{"type":"string","format":"date-time","example":"2025-04-28T00:23:18.800Z","description":"Date and time when the invoice was issued"},"worker_id":{"type":"string","format":"uuid","example":"2c275e07-4846-490e-b2e4-6e84139032c3","description":"Unique identifier for the worker profile"},"created_at":{"type":"string","format":"date-time","example":"2025-04-28T00:23:18.704Z","description":"Timestamp of when the invoice was created in the system"},"line_items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"4nrrh24GYU6JFtBEPa4Hy","description":"Unique identifier for the line item"},"type":{"enum":["AI_WORKFORCE_MONTHLY_FEE","ANON_REPORT_FEE","ANYTIME_PAY_GP_RESERVE","ASO_FEE","ASO_PAYROLL_FUNDING","ATS_LINKEDIN_PREMIUM_FEE","BACKGROUND_CHECK_FEE","BANK_ACCOUNT_OPENING_FEE","BANK_FILE_FEE","BENEFITS_ADMIN_MONTHLY_PLATFORM_FEE","CLIENT_PREFUNDING_AMOUNT","COR_LOCAL_COLLECTION_FEE","COR_START_DELAY","CUSTOM_DOMAIN_FEE","CUSTOM_ONE_OFF_COST","CUSTOM_ONE_OFF_FEE","DEEL_ATS_SUBSCRIPTIONS","DEEL_COMPENSATION_FEE","DEEL_ENGAGE_ATS_FEE","DEEL_ENGAGE_MONTHLY_SUBSCRIPTION_FEE","DEEL_FIELD_SERVICES_EOR_FEES","DEEL_FIELD_SERVICES_PASSTHROUGH_FEES","DEEL_FIELD_SERVICES_SWM_FEES","DEEL_HR_FEE","DEEL_HRIS_FEE","DEEL_IT_ACCESSORY_REPLACEMENT","DEEL_IT_APP_RESALE","DEEL_IT_ASSEMBLED_DELIVERY","DEEL_IT_BYOD_ACTIVATION_FEE","DEEL_IT_BYOD_STORAGE_FEE","DEEL_IT_CANCELLATION","DEEL_IT_CERTIFIED_DATA_ERASURE","DEEL_IT_CLEARANCE","DEEL_IT_CUSTOM_SHIPPING","DEEL_IT_CUSTOM_SOURCING","DEEL_IT_DEVICE_UNLOCK_FEE","DEEL_IT_ENDPOINT_PROTECTION_FEES","DEEL_IT_ENDPOINT_PROTECTION_FEES_OVERAGES","DEEL_IT_END_OF_CONTRACT_PURCHASE","DEEL_IT_EXPRESS_SHIPPING","DEEL_IT_EXTENDED_WARRANTY","DEEL_IT_IDENTITY_FEES","DEEL_IT_IDENTITY_FEES_OVERAGES","DEEL_IT_IT_SEAT","DEEL_IT_IT_SERVICE_DESK","DEEL_IT_JC_PLATFORM_FEES","DEEL_IT_JC_PLATFORM_FEES_OVERAGES","DEEL_IT_JC_PLATFORMPRIME_FEES","DEEL_IT_JC_PLATFORMPRIME_FEES_OVERAGES","DEEL_IT_LAPTOP_CONFIG","DEEL_IT_LOANER","DEEL_IT_MDM","DEEL_IT_MDM_OVERAGES","DEEL_IT_NON_DEEL_IT_DEVICE_CHARGE","DEEL_IT_PACKAGING","DEEL_IT_PURCHASE","DEEL_IT_REDISTRIBUTION_FEE","DEEL_IT_RENTAL","DEEL_IT_REPAIR","DEEL_IT_REPAIR_WITH_PARTS","DEEL_IT_REPLACEMENT","DEEL_IT_SAAS","DEEL_IT_SERVICE","DEEL_IT_SERVICE_BUNDLE","DEEL_IT_SHIPPING","DEEL_IT_SINGLE_ITEM_FEE","DEEL_IT_STOREFRONT_FEE","DEEL_IT_STORE_AND_REUSE_CUSTOMER_OWNED_FEE","DEEL_IT_STORE_AND_REUSE_CUSTOMER_OWNED_STORAGE_FEE","DEEL_IT_STORE_AND_REUSE_FEE","DEEL_IT_VAT","DEEL_IT_WELCOME_PACK","DEEL_MAINTENANCE_FEE","DEEL_TALENT_CLIENT_SAAS_FEE_ONE_OFF","DEEL_TALENT_CLIENT_SAAS_FEE_RECURRING","DEEL_TALENT_TP_SAAS_FEE_ONE_OFF","DEEL_TALENT_TP_SAAS_FEE_RECURRING","DEEL_WORKFORCE_PLANNING_SUBSCRIPTIONS","DEPOSIT_REFUND","DISCOUNT","DPA_AGREEMENT_FEE","EMPLOYEE_NAVIGATOR_IMPLEMENTATION_FEE","EMPLOYEE_NAVIGATOR_PEPM_FEE","ENGAGE_HR_SUITE_SUBSCRIPTION_FEE","ENGAGE_PLUGINS_SUBSCRIPTION_FEE","ENGAGE_ZAVVY_LEGACY_SUBSCRIPTION_FEE","ENTITY_MANAGEMENT_PLATFORM_FEE","ENTITY_SETUP_FEE","EOR_13_TH_14_TH_MONTH_SALARY","EOR_13_TH_MONTH_SALARY","EOR_ACCIDENT_AND_DISABILITY","EOR_ACCIDENT_AND_DISABILITY_FEE","EOR_ACCRUED_HOLIDAY","EOR_ADDITIONAL_FEE","EOR_ALLOWANCE","EOR_ANYTIME_PAYROLL_FEE","EOR_BENEFIT_IN_KIND_WITHHELD_AMOUNT","EOR_BONUS","EOR_COMPANY_DOCTOR_COST","EOR_DEDUCTION","EOR_DEPOSIT","EOR_EARLY_INVOICING_FUNDING_AMOUNT","EOR_EMPLOYER_COST","EOR_EQUITY_TAX_WITHHELD","EOR_EXPENSE","EOR_EXTERNAL_LEGAL_ADVISORY_COST","EOR_FERTILITY","EOR_FERTILITY_FEE","EOR_FERTILITY_PLAN_COST","EOR_FOREIGN_CURRENCY_CONTRACT_FEE","EOR_FOREIGN_CURRENCY_FEE","EOR_HEALTH_ALLOWANCE","EOR_HEALTH_ALLOWANCE_PLAN_COST","EOR_HEALTH_AND_SAFETY_TRAINING_COST","EOR_HEALTH_BENEFIT","EOR_HEALTH_BENEFIT_PLAN_COST","EOR_HEALTH_INSURANCE_FEE","EOR_LEGAL_FEE","EOR_LEGAL_SETTLEMENT_PAYOUT","EOR_LIFE_INSURANCE","EOR_LIFE_INSURANCE_FEE","EOR_LIFE_INSURANCE_PLAN_COST","EOR_LOCAL_COLLECTION_FEE","EOR_MANAGEMENT_FEE","EOR_MEAL_VOUCHER","EOR_MEAL_VOUCHER_FEE","EOR_MEAL_VOUCHER_PLAN_COST","EOR_MEDICAL_ONBOARDING_COST","EOR_MENTAL_HEALTH","EOR_MENTAL_HEALTH_FEE","EOR_MENTAL_HEALTH_PLAN_COST","EOR_NON_STATUTORY_EMPLOYER_COST","EOR_OFFCYCLE","EOR_OFF_BOARDING_FEE","EOR_OTHER","EOR_PENSION","EOR_PENSION_FEE","EOR_PENSION_PLAN_COST","EOR_QES_FEE","EOR_SALARY_ADVANCE","EOR_SETUP_FEE","EOR_SEVERANCE","EOR_SIGNING_BONUS","EOR_SIGNING_BONUS_DEDUCTION","EOR_SIGNING_BONUS_EMPLOYER_COST","EOR_SIGNING_BONUS_EMPLOYER_COST_DEDUCTION","EOR_SINGLE_TERMINATION_FEE","EOR_START_DELAY","EOR_STUDY_FUND","EOR_STUDY_FUND_FEE","EOR_STUDY_FUND_PLAN_COST","EOR_TAX_RULING","EOR_TAX_VAT","EOR_TIME_OFF","EOR_TRAVEL_INSURANCE_ANNUAL_SUBSCRIPTION_FEE","EOR_TRAVEL_INSURANCE_MONTHLY_SUBSCRIPTION_FEE","EOR_VISA_MANAGEMENT_FEE","EOR_WET_INK_FEE","EOR_WORK","EQUITY_ANNUAL_SUBSCRIPTION_FEE","EQUITY_EOR_PER_HEAD_FEE","EQUITY_IMPLEMENTATION_FEE","EQUITY_MAINTENANCE_FEE","EXPENSE_CARD","EXPENSE_CARD_FEE","G2N_BENEFITS","G2N_BENEFIT_IN_KIND","G2N_EMPLOYER_CONTRIBUTIONS","G2N_EOR_NET_PAY_WITHOUT_EXPENSES","G2N_GROSS_DEDUCTIONS","G2N_GROSS_TAXABLE","G2N_NET_ADDITIONS","G2N_NET_DEDUCTIONS","G2N_NET_PAY","G2N_ODP_OFFSET","G2N_ON_CALL_OVERTIME","G2N_OTHER_ADJUSTMENTS","G2N_PAY_RATE","G2N_SEVERANCE","G2N_TOTAL_EXPENSES","G2N_VACATION_PAYOUT","G2N_WAGE_ADDITIONS","G2N_WORKER_TAX_AND_CONTRIBUTIONS","GLOBAL_HR_CONSULTING_ANNUAL_SUBSCRIPTION_FEE","GLOBAL_HR_CONSULTING_EOR_MASS_TERMINATION_FEE","GLOBAL_HR_CONSULTING_MANAGED_HR_MONTHLY_SUBSCRIPTION_FEE","GLOBAL_HR_CONSULTING_MONTHLY_SUBSCRIPTION_FEE","GLOBAL_HR_CONSULTING_PROJECT_FEE","GLOBAL_HR_DPO_AS_A_SERVICE_ANNUAL_SUBSCRIPTION_FEE","GLOBAL_HR_EU_UK_REPRESENTATIVE_SERVICE_ANNUAL_SUBSCRIPTION_FEE","GLOBAL_HR_PRIVACY_CONSULTING_SERVICES_ANNUAL_SUBSCRIPTION_FEE","GLOBAL_HR_PRIVACY_SERVICES_ANNUAL_SUBSCRIPTION_FEE","GL_CUSTOM_CONFIGURATION","GP_ADD_ON_FEE","GP_ADVANCE_PAYMENTS_FEE","GP_BANK_ACCOUNTS_OPENED","GP_CHINA_DECLARATIONS","GP_DEEL_LIABILITY","GP_DEPOSIT","GP_EARLY_TERMINATION_FEE","GP_ELECTRONIC_SAFE_PAYSLIPS","GP_EMPLOYEE_AGREEMENTS_EFE","GP_EMPLOYEE_FUNDING","GP_EXCEPTIONAL_MATTERS_HOURS_FEE","GP_EXPENSES_FEE","GP_GB_PENSION_FUND_MANAGEMENT","GP_GLOBAL_RERUN_OF_PAYROLL_REPORTS_FEE","GP_LEGAL_CONTROL_ASSISTANCE_HOURS_FEE","GP_MEAL_VOUCHERS","GP_MEDICAL_VISITS","GP_NEW_BRANCH_CREATION_ASSISTANCES","GP_NEW_REPORTS_AND_MODIFICATIONS_FEE","GP_NON_AUTOMATED_LODGEMENTS_FEE","GP_OFFCYCLE_MODIFICATIONS_OR_RERUN_FEE","GP_PARALLEL_RUN_FEE","GP_PAYROLL_CONNECT_FEE","GP_PAYROLL_CONNECT_SETUP_ENTITY_FEE_FLAT","GP_PAYROLL_EMPLOYEE_FEE","GP_PAYROLL_EMPLOYEE_SERVICE_FEE","GP_PAYROLL_ENTITY_SETUP_FEE","GP_PAYROLL_FEE","GP_PAYROLL_FEE_PER_COUNTRY","GP_PAYROLL_FUNDING_FEE","GP_PAYROLL_OFFBOARDING_FEE","GP_PAYROLL_ONBOARDING_FEE","GP_PAYROLL_SOFTWARE_FEE","GP_START_DELAY","GP_VAT_TAX","GP_WORK_VISAS","GP_YEARLY_CLOSING_FEE","HEALTH_INSURANCE_ANNUAL_SUBSCRIPTION_FEE","HEALTH_INSURANCE_FEE","HEALTH_INSURANCE_MONTHLY_SUBSCRIPTION_FEE","HOFY_EQUIPMENT_MONTHLY_SUBSCRIPTION_FEE","HOFY_EQUIPMENT_SEMIANNUAL_SUBSCRIPTION_FEE","HOFY_EQUIPMENT_SERVICE","HOFY_EQUIPMENT_TERMINATION_FEE","IC_BONUS","IC_COMMISSION","IC_DEDUCTION","IC_DEEL_PERCENTAGE_FEE","IC_DEEL_PREMIUM","IC_EXPENSE","IC_MILESTONE","IC_OFFCYCLE","IC_OTHER","IC_OVERTIME","IC_PRO_RATA","IC_SAAS_FLAT","IC_SAAS_MISSING_FEES","IC_SAAS_PER_CONTRACT","IC_START_DELAY","IC_TASK","IC_TAX_VAT","IC_TIME_OFF","IC_WITHHOLDING_TAX","IC_WORK","INTEGRATION_HRIS_FEE","INTERCOMPANY_MARKUP_SALARY_EXPENSES","INTERCOMPANY_OTHER_FINANCIAL_EXPENSES","INTERCOMPANY_OTHER_FINANCIAL_INCOME","INTERCOMPANY_PAYMENTS_LEASE_SERVICES","INTERCOMPANY_PAYMENTS_MARKET_PENETRATION","INTERCOMPANY_PAYMENT_EOR_GP_SERVICES","INTERCOMPANY_PAYMENT_EOR_SERVICES","INTERCOMPANY_PAYMENT_GP_SERVICES","INTERCOMPANY_PAYMENT_TECHNOLOGY_BASED_SERVICES","INTERCOMPANY_PROVISION_COGS_SERVICES","INTERCOMPANY_PROVISION_G_AND_A_SERVICES","INTERCOMPANY_PROVISION_PRE_POST_SALES_SERVICES","INTERCOMPANY_PROVISION_R_AND_D_SERVICES","INTERCOMPANY_SALARY_EXPENSES_PARTICIPATION","LATE_PAYMENT_FEE","LOCAL_TAX_REIMBURSEMENT_FEE","MANAGED_HR_MONTHLY_SUBSCRIPTION_FEE","MOBILITY_BUSINESS_VISA_APPLICATION","MOBILITY_BUSINESS_VISA_DOCUMENT_PREPARATION","MOBILITY_BUSINESS_VISA_ISSUANCE","MOBILITY_BUSINESS_VISA_TRAVEL_LETTER","MOBILITY_DOCUMENTATION_FEE","MOBILITY_DOCUMENT_A_ONE_CERTIFICATE","MOBILITY_DOCUMENT_COLLECTION","MOBILITY_DOCUMENT_ISSUANCE","MOBILITY_DOCUMENT_MANAGEMENT","MOBILITY_DOCUMENT_PREPARATION","MOBILITY_DOCUMENT_REVIEW","MOBILITY_EXPENSE_GOVERNMENT_FEES","MOBILITY_EXPENSE_MAIL_TRANSPORTATION","MOBILITY_EXPENSE_OTHER","MOBILITY_EXPENSE_PRINTING","MOBILITY_EXPENSE_TRANSLATION","MOBILITY_GOVERNMENT_STATUTORY_LEGAL_FEE","MOBILITY_H1_B_LOTTERY","MOBILITY_IMMIGRATION_CONSULTATION","MOBILITY_IMMIGRATION_DEPENDANT","MOBILITY_IMMIGRATION_DEPENDANT_RENEWAL","MOBILITY_IMMIGRATION_EMPLOYER_TRANSFER","MOBILITY_IMMIGRATION_FAST_TRACK","MOBILITY_IMMIGRATION_PROCESSING_FEE","MOBILITY_IMMIGRATION_RENEWAL_EXTENSION","MOBILITY_IMMIGRATION_VISA_CANCELLATION","MOBILITY_IMMIGRATION_WORK_PERMIT","MOBILITY_NOTIFICATION_CHANGE_OF_EMPLOYER","MOBILITY_NOTIFICATION_GENERAL","MOBILITY_NOTIFICATION_PREFECTURE","MOBILITY_USCIS_PREMIUM_PROCESSING","NETX_FEE","OFFICE_SOLUTION_COST","OFFICE_SOLUTION_FEE","PAYGROUP_ASTUTE_CUSTOM_DEVELOPMENT_FEE","PAYGROUP_ASTUTE_FEE","PAYGROUP_ASTUTE_IMPLEMENTATION_FEE","PAYGROUP_ASTUTE_INTEGRATION_FEE","PAYGROUP_COR_CONTRACTOR_COST","PAYGROUP_COR_MANAGEMENT_FEE","PAYGROUP_EOR_DEPOSIT","PAYGROUP_EOR_EMPLOYEE_COST","PAYGROUP_EOR_MANAGEMENT_FEE","PAYGROUP_FLARE_REFERRAL_FEE","PAYGROUP_GP_ADDITIONAL_PROCESSING_FEE_OFFCYCLES","PAYGROUP_GP_ADDITIONAL_PROCESSING_FEE_ONBOARDING","PAYGROUP_GP_ADDITIONAL_PROCESSING_FEE_TERMINATIONS","PAYGROUP_GP_ANNUAL_LODGEMENT_PROCESSING_FEE","PAYGROUP_GP_ANNUAL_PAYMENT_SUMMARY_FEE","PAYGROUP_GP_EMPLOYEE_REPORT_FEE","PAYGROUP_GP_IMPLEMENTATION_FEE","PAYGROUP_GP_LODGEMENT_FEE","PAYGROUP_GP_TREASURY_FEE","PAYGROUP_HR_MANAGEMENT_FEE","PAYGROUP_HR_MANAGER_FEE","PAYGROUP_IWS_BAS_LODGEMENT_FEE","PAYGROUP_IWS_BOOKKEEPING_FEE","PAYGROUP_IWS_IMPLEMENTATION_FEE","PAYGROUP_IWS_ROSTERING_FEE","PAYGROUP_PAYROLL_PROCESSING_FEE","PAYGROUP_RECRUITMENT_FEE","PAYGROUP_SMS_FEE","PAYGROUP_TALENTOZ_ANNUAL_SUBSCRIPTION_FEE","PAYGROUP_TALENTOZ_IMPLEMENTATION_FEE","PAYGROUP_TAX_CGST","PAYGROUP_TAX_CONSUMPTION","PAYGROUP_TAX_GST","PAYGROUP_TAX_IGST","PAYGROUP_TAX_SGST","PAYGROUP_TAX_SST","PAYGROUP_TAX_VAT","PAYMENT_PROCESSING_FEE","PEO_CARROT_FERTILITY_JOURNEY_FEE","PEO_COBRA_CONTINUATION_FEE","PEO_EARLY_TERMINATION_FEE","PEO_EMPLOYEE_FUNDING","PEO_EXPENSES_FEE","PEO_FEE","PEO_LATE_PAYMENT_FEE","PEO_OFFCYCLE_FEE","PEO_NON_PEO_EE_MINERAL_ACCESS_FEE","PEO_PAYROLL_COST","PEO_POSTERS","PEO_RETIREMENT_PLAN_ADMIN_FEE","PEO_RETIREMENT_PLAN_ESTABLISHMENT_FEE","PEO_RETROACTIVE_FEE","PEO_TIMECO_FEE","PEO_WC_BILLING_ND","PEO_WC_BILLING_OH","PEO_WC_BILLING_WA","PEO_WC_BILLING_WY","PEO_DELIVERY_FEE","PEO_IMPLEMENTATION_FEE","POST_REGISTRATION_FEE","PREPAID_BILLING_CONTRACTOR","PREPAID_BILLING_EOR","PREPAID_BILLING_EXPIRED_CREDITS","PREPAID_BILLING_FUNDING_AMOUNT","PRE_REGISTRATION_FEE","REFUND","SAAS_PER_EQUIPMENT_FEE","SERVICE_REFUND","SHIELD_DEPOSIT","SHIELD_MANAGEMENT_FEE","SHIELD_PAYROLL_COSTS","SYSTEM_INTEGRATOR_FEE","TALENT_FEE","TAX_CUSTOM","TRAVEL_INSURANCE_ANNUAL_SUBSCRIPTION_FEE","TRAVEL_INSURANCE_FEE","TRAVEL_INSURANCE_MONTHLY_SUBSCRIPTION_FEE","UNSPECIFIED","US_OFFCYCLE_MODIFICATIONS_OR_RERUN_FEE","US_PAYROLL_CERTIFICATE_OF_GOOD_STANDING_FEE","US_PAYROLL_DUPLICATE_FILING_FEE","US_PAYROLL_EMPLOYEE_FEE","US_PAYROLL_EMPLOYEE_FUNDING","US_PAYROLL_EXPENSES_FEE","US_PAYROLL_FRANCHISE_REGISTRATION_SETUP_FEE","US_PAYROLL_FRANCHISE_REGISTRATION_STATE_FILING_FEE","US_PAYROLL_FUNDING_FEE","US_PAYROLL_MAILING_FEE","US_PAYROLL_OFFBOARDING_FEE","US_PAYROLL_ONBOARDING_FEE","US_PAYROLL_PAYROLL_REGISTRATION_SETUP_FEE","US_PAYROLL_PLATFORM_FEE","US_PAYROLL_REGISTERED_AGENT_ANNUAL_SUBSCRIPTION_FEE","VMS_TALENT_PARTNER_FEE","WEWORK_ACCESS_FEE","WITHHOLDING_TAX","EOR_HEALTH_AND_SAFETY_TRAINING_FEE"],"type":"string","example":"EOR_WORK","description":"The type of this line item"},"total":{"type":"string","example":"5.00","description":"Total amount for this line item","x-sensitive-employment":true},"fx_rate":{"type":"string","example":"0.8425667","description":"Exchange rate used for this line item"},"quantity":{"type":"integer","example":1,"description":"Quantity of units billed in this line item","x-sensitive-employment":true},"tax_rate":{"type":"string","example":"0.00","description":"Tax rate applied to this line item","x-sensitive-employment":true},"tax_type":{"type":"string","example":"vat","nullable":true,"description":"Type of tax applied (if any); can be null"},"description":{"type":"string","example":"2C2O2EZQQ8","description":"Main description of the line item","x-sensitive-pii":true},"price_per_unit":{"type":"number","example":5,"description":"Price charged per unit","x-sensitive-employment":true},"sub_description":{"type":"string","example":"EROZA5ZECO","description":"Optional additional description or detail","x-sensitive-pii":true}}},"description":"The individual line items associated with the invoice"},"recipient_legal_entity_id":{"type":"string","format":"uuid","example":"2c275e07-4846-490e-b2e4-6e84139032c3","description":"Unique identifier for the recipient legal entity"}},"description":"The invoice resource returned"}}}}},"description":"The invoice resource returned"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Invoice not found","description":"Error response"}}},"description":"Error messages"},"request":{"type":"object","properties":{"method":{"type":"string","example":"GET","description":"Method of the API"},"status":{"type":"number","example":404,"description":"Status of API response"}},"description":"Error request details"}}}}},"description":"Invoice not found"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"invoice_id","schema":{"type":"string"},"example":"abcd1234efgh5678","required":true,"description":"The invoice ID used to identify the invoice to be retireved."}],"security":[{"deelToken":[]},{"oauth2":["accounting:read"]}]}},"/screenings/kyc/external":{"post":{"tags":["Screenings"],"summary":"Submit external KYC","operationId":"submitExternalKyc","description":"The endpoint standardizes identity verification and compliance processes, combining automated Live ID verification (IDV) and manual review workflows\n **Token scopes**: `worker:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["created_at","request_id"],"properties":{"created_at":{"type":"string","format":"date-time","example":"2017-07-21T17:32:28Z","description":"Timestamp when screening was successfully received and processed (ISO 8601)"},"request_id":{"type":"string","example":"64rpWq2xQT225nGMQIaKg","description":"Request identifier for this KYC submission"}}}}}}},"description":"KYC data successfully received"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"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"}}}},"request":{"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"}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["worker:write"]}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["first_name","last_name","date_of_birth","kyc_document","selfie_with_id","front","screening_type","screening_status"],"properties":{"back":{"type":"string","format":"binary","description":"Back side file of the KYC document. Required when kyc_document.type equals to either 'driving_license' or 'government_id'. Not needed when equals to 'passport'. Optional when type is 'other'"},"front":{"type":"string","format":"binary","description":"Front side file of the KYC document"},"last_name":{"type":"string","example":"Doe","maxLength":100,"description":"Worker's last name"},"first_name":{"type":"string","example":"John","maxLength":100,"description":"Worker's first name"},"middle_name":{"type":"string","example":"Michael","nullable":true,"maxLength":100,"description":"Worker's middle name (if available)"},"kyc_document":{"type":"object","required":["issuance_country","type","id_number"],"properties":{"type":{"enum":["passport","driving_license","government_id","other"],"type":"string","example":"passport","description":"Type of KYC document (e.g., passport, driver's license)"},"id_number":{"type":"string","example":"X12345678","maxLength":50,"description":"Document identification number"},"document_name":{"type":"string","example":"Work Visa ID","maxLength":100,"description":"Name of the document when type is 'other'"},"issuance_date":{"type":"string","format":"date","example":"2015-06-01","description":"Date when the document was issued (YYYY-MM-DD)"},"expiration_date":{"type":"string","format":"date","example":"2045-06-01","description":"Expiry date of the document (YYYY-MM-DD)"},"issuance_country":{"type":"string","example":"US","maxLength":2,"minLength":2,"description":"Country where the document was issued (ISO 3166‑1 alpha‑2)"}}},"date_of_birth":{"type":"string","format":"date","example":"1985-11-23","description":"Worker's date of birth (YYYY-MM-DD)"},"screening_type":{"enum":["live","manual"],"type":"string","example":"live","description":"Tells your API whether the identity verification check should be performed automatically (“live”) or via human review (“manual”)"},"selfie_with_id":{"type":"string","format":"binary","description":"Selfie file for identity verification"},"screening_status":{"enum":["approved","rejected"],"type":"string","example":"approved","description":"The result of the screening process"}}}}}}}}}},"/onboarding/tracker/hris_profile/{hris_profile_id}":{"get":{"tags":["Onboarding"],"summary":"Get onboarding details by employee HRIS profile ID","operationId":"getOnboardingDetailsByEmployeeHrisProfileId-v2026-01-01","description":"Use this endpoint to retrieve a comprehensive overview of a worker's onboarding status, including their profile details, contract status, and checklist progress.\n **Token scopes**: `contracts:read`, `people:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"profile":{"type":"object","nullable":true,"properties":{"name":{"type":"string","example":"John Doo","description":"Name associated with the profile","x-sensitive-pii":true},"email":{"type":"string","format":"email","example":"test@email.com","description":"Email of the profile","x-sensitive-pii":true},"country":{"type":"string","example":"CA","nullable":true,"description":"Country code","x-sensitive-pii":true},"last_login":{"type":"string","format":"date-time","example":"2021-07-14T22:00:00+00:00","description":"Last login timestamp"},"previously_onboarded":{"type":"boolean","example":true,"description":"Indicates if the contractor has previously onboarded"}},"description":"Employee profile information"},"stepper":{"type":"array","items":{"type":"object","properties":{"data":{"type":"object","properties":{"emails":{"type":"array","items":{"type":"object","properties":{"meta":{"type":"object","properties":{"type":{"type":"string","example":"CONTRACTOR_INVITE_SIGN_UP","description":"Type of email"},"email":{"type":"string","format":"email","example":"test@email.com","description":"Email address","x-sensitive-pii":true},"sent_at":{"type":"string","format":"date-time","example":"2021-07-14T22:00:00+00:00","description":"Timestamp when the email was sent"}},"description":"Email metadata"}}},"description":"List of emails sent during the stepper process"},"next_reminder_date":{"type":"string","format":"date-time","example":"2021-07-14T22:00:00+00:00","nullable":true,"description":"Next reminder date, if applicable"}}},"type":{"type":"string","example":"REMINDER_SENT","description":"Type of the stepper action"},"completed_at":{"type":"string","format":"date-time","example":"2021-07-14T22:00:00+00:00","nullable":true,"description":"Completion timestamp of the stepper action"}},"description":"Stepper action information"},"description":"List of stepper actions taken during the onboarding process"},"summary":{"type":"array","items":{"type":"object","properties":{"data":{"type":"object","properties":{"country":{"type":"string","example":"CA","description":"Country code for location-related summaries"},"timezone":{"type":"string","example":"Europe/Brussels","description":"Timezone information"},"has_withdraw_methods":{"type":"boolean","example":true,"description":"Indicates if withdrawal methods exist"}},"description":"Additional data about the summary item"},"name":{"type":"string","example":"Contract start date","description":"Name of the summary item"},"type":{"type":"string","example":"START_DATE","description":"Type of the summary item"},"value":{"anyOf":[{"type":"string","nullable":true},{"type":"number"},{"type":"boolean"},{"type":"string","format":"date-time","nullable":true},{"type":"object","additionalProperties":true}],"example":"2021-07-14T22:00:00+00:00","description":"Value of the summary item"}},"description":"Summary item information"},"description":"Summary of the onboarding process"},"contract":{"type":"object","properties":{"id":{"type":"string","example":"PzpYaren","description":"Unique contract ID"},"oid":{"type":"string","example":"PzpYaren","description":"Contract OID"},"name":{"type":"string","example":"Contract Name","description":"Contract name"},"status":{"type":"string","example":"in_progress","description":"Contract status (e.g., in_progress)"},"created_at":{"type":"string","format":"date-time","example":"2021-07-14T22:00:00+00:00","description":"Contract creation timestamp"},"first_sign":{"type":"string","example":"client","description":"The first sign (either 'client' or 'contractor')"},"completion_date":{"type":"string","format":"date-time","example":"2021-07-14T22:00:00+00:00","nullable":true,"description":"The completion date of the contract, if applicable"},"client_signed_at":{"type":"string","format":"date-time","example":"2021-07-14T22:00:00+00:00","nullable":true,"description":"Timestamp when the client signed the contract"},"employee_agreement":{"type":"object","properties":{"status":{"type":"string","example":"AwaitingEmployeeSignature","nullable":true,"description":"Status of the Employment Agreement. Can be null if the EA has not yet been generated"},"version_hash":{"type":"string","example":"cdf4f572eb13a5eaf46d","nullable":true,"description":"Version of the Employment Agreement. Can be null if the EA has not yet been generated"}},"description":"Information about the Employment Agreement"},"first_early_invoice":{"type":"object","nullable":true,"properties":{"id":{"type":"string","example":"9r259RyjAnP7GeMpQnjAT","description":"Unique invoice ID"},"amount":{"type":"string","example":"100.00","description":"Invoice amount"},"status":{"enum":["OPEN","PENDING","SKIPPED","PREPROCESSING","PROCESSING","CREDITED","PROCESSED","PAID","FAILED","CANCELLED","REFUNDED","UNPAYABLE","AWAITING_PAYMENT"],"type":"string","example":"PENDING","description":"Status of the invoice"},"paid_at":{"type":"string","format":"date-time","example":"2026-03-01T00:00:00+00:00","nullable":true,"description":"Timestamp when the invoice was paid, if applicable"},"currency":{"type":"string","example":"EUR","description":"Currency code for the invoice amount"},"due_date":{"type":"string","format":"date-time","example":"2026-04-01T00:00:00.000Z","nullable":true,"description":"Due date for the invoice"},"description":{"type":"string","example":"EOR funding statement for February, 2026","description":"Invoice description"}},"description":"Only applicable for EOR contracts. First early invoice (EOR funding statement) for the contract, if any"},"contractor_signed_at":{"type":"string","format":"date-time","example":"2021-07-14T22:00:00+00:00","nullable":true,"description":"Timestamp when the contractor signed the contract"},"invited_contractor_email":{"type":"string","format":"email","example":"test@email.com","nullable":true,"description":"Email of the invited contractor","x-sensitive-pii":true}},"description":"Information about the contract"},"progress":{"type":"object","properties":{"status":{"type":"string","example":"ACTIVE","description":"Current status of the onboarding process (e.g., ACTIVE)"},"reference_date":{"type":"string","format":"date-time","example":"2021-07-14T22:00:00+00:00","description":"Reference date for the progress"},"subject_to_overdue":{"type":"boolean","example":true,"description":"Indicates if the onboarding is subject to overdue"},"reference_date_timezone":{"type":"string","example":"Europe/Brussels","description":"Timezone of the reference date"},"is_action_required_from_client":{"type":"boolean","example":true,"description":"Indicates if action is required from the client"}},"description":"Progress of the onboarding process"},"checklist":{"type":"object","properties":{"steps":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","example":"sign_up_to_deel","description":"The type of checklist step"},"label":{"type":"string","example":"Create contractor account","description":"The label for the checklist step"},"status":{"type":"string","example":"done","description":"Status of the checklist step"},"completed_at":{"type":"string","format":"date-time","example":"2021-07-14T22:00:00+00:00","nullable":true,"description":"Completion timestamp of the checklist step"},"reject_reason":{"type":"string","example":"<p>Please submit the correct document for Form 145</p>","description":"Reason for rejecting the checklist step (It may contain HTML elements)"}},"description":"Checklist step information"},"description":"List of checklist steps"}},"description":"List of checklist steps"},"hiring_type":{"type":"string","example":"contractor","description":"Hiring type (e.g., contractor)"},"hris_profile":{"type":"object","properties":{"oid":{"type":"string","example":"150f635e-fae1-4b9d-9f86-768bbbac3698","description":"HRIS Profile OID"},"name":{"type":"string","example":"John Doo","description":"HRIS Profile name","x-sensitive-pii":true},"email":{"type":"string","format":"email","example":"test@email.com","description":"Email of the HRIS profile","x-sensitive-pii":true},"work_email":{"type":"string","format":"email","example":"test@email.com","nullable":true,"description":"Work email of the HRIS profile","x-sensitive-pii":true}},"description":"Employeee HRIS profile information"}}}}}}},"description":"Onboarding overview"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"hris_profile_id","schema":{"type":"string"},"example":"150f635e-fae1-4b9d-9f86-768bbbac3698","required":true,"description":"The unique identifier of the employee HRIS profile."}],"security":[{"deelToken":[]},{"oauth2":["contracts:read","people:read"]}]}},"/eor/start-date":{"get":{"tags":["EOR"],"summary":"Fetch Start Date for EOR Contracts","operationId":"fetchStartDateForEorContracts","description":"Returns the earliest allowed start date for a new EOR contract quote based on employment parameters.\n **Token scopes**: `contracts:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["min_start_date","first_payroll_lock","start_date_buffer","is_same_month_payment_country"],"properties":{"min_start_date":{"type":"string","format":"date-time","example":"2025-05-19T21:09:54.630Z","description":"The earliest possible employment start date"},"start_date_buffer":{"type":"integer","example":1,"description":"Number of business days to buffer from today"},"first_payroll_lock":{"type":"integer","example":20,"description":"Day of month when payroll gets locked"},"is_same_month_payment_country":{"type":"boolean","example":false,"description":"Whether the employment country requires start date within the same month"}}}}}}},"description":"Start date details"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"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"}}}},"request":{"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"}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"query","name":"employment_country","schema":{"type":"string","pattern":"^[A-Z]{2}$"},"example":"US","required":true,"description":"Employment country in ISO 3166-1 alpha-2 format"},{"in":"query","name":"employee_nationality","schema":{"type":"string","pattern":"^[A-Z]{2}$"},"example":"BR","required":false,"description":"Employee nationality in ISO 3166-1 alpha-2 format"},{"in":"query","name":"work_visa","schema":{"type":"boolean"},"example":true,"required":false,"description":"Whether a work visa is required"},{"in":"query","name":"team_id","schema":{"type":"string"},"example":"123e4567-e89b-12d3-a456-426614174001","required":true,"description":"Team ID"},{"in":"query","name":"legal_entity_id","schema":{"type":"string"},"example":"123e4567-e89b-12d3-a456-426614174001","required":false,"description":"Legal entity ID"},{"in":"query","name":"employment_state","schema":{"type":"string"},"example":"CA","required":false,"description":"State or province of employment"},{"in":"query","name":"special_job_id","schema":{"type":"string"},"example":"123e4567-e89b-12d3-a456-426614174001","required":false,"description":"Special job ID (if applicable)"}],"security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]}},"/eor":{"post":{"tags":["EOR"],"summary":"Create an EOR contract","operationId":"createAnEorContract-v2026-01-01","description":"Creates an Employee of Record (EOR) contract quote. This endpoint allows to submit details for an EOR contract. Deel will process the information and return a quote for the requested contract.\n **Token scopes**: `contracts:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","example":"contract-12345","nullable":false,"description":"ID of the created contract quote."},"type":{"enum":["ongoing_time_based","milestones","time_based","pay_as_you_go_time_based","commission","payg_milestones","payg_tasks","eor","unknown","employee","global_payroll","shield_msa","hris_direct_employee","peo"],"type":"string","example":"eor","description":"Type of the contract."},"costs":{"type":"object","properties":{"summary":{"type":"object","properties":{"salary":{"type":"string","example":"700,000.00","description":"Annual gross salary in local currency."},"currency":{"type":"string","example":"EUR","description":"Local currency code (e.g., BRL, PLN)."},"exchange_rate":{"type":"string","example":"0.92","description":"Exchange rate used to convert from local to supporting currency."},"totals_formatted":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string","example":"Monthly total","description":"Display title for the total (e.g., 'Monthly Total')."},"total":{"type":"string","example":"61,613.86","description":"Formatted amount in local currency."},"frequency":{"type":"string","example":"monthly","description":"Time period for the total (e.g., monthly, annual)."},"total_supporting":{"type":"string","example":"67,116.35","description":"Formatted amount in supporting currency."}}},"description":"Formatted summary totals in both local and supporting currencies."},"supporting_currency":{"type":"string","example":"USD","description":"Reference or secondary currency (e.g., USD) used for reporting totals."}},"description":"Top-level overview of costs, including key totals and currency metadata."},"sections":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","example":"MONTHLY_EMPLOYMENT_BREAKDOWN","description":"Internal identifier for the cost section (e.g., MONTHLY_EMPLOYMENT_BREAKDOWN)."},"label":{"type":"string","example":"Monthly employment breakdown","description":"Display name for the cost section."},"groups":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","example":"GROSS_MONTHLY_SALARY","description":"Internal identifier for the group."},"costs":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string","example":"Salary","description":"Name of the specific cost item (e.g., Salary, Meal Voucher)."},"totals":{"type":"array","items":{"type":"object","properties":{"total":{"type":"string","example":"58,333.33","description":"Total cost amount in local currency."},"frequency":{"type":"string","example":"monthly","description":"How often this cost occurs (e.g., monthly, annual, one-time)."},"total_supporting":{"type":"string","example":"63,542.84","description":"Total cost amount in the supporting currency."}}},"description":"Monthly and annual totals for the cost item in local and supporting currencies."}}},"description":"Individual cost items within the group."},"label":{"type":"string","example":"Gross salary","description":"Display name for the group (e.g., Gross Salary, Employer Cost)."},"totals":{"type":"array","items":{"type":"object","properties":{"total":{"type":"string","example":"58,633.33","description":"Group total in local currency."},"frequency":{"type":"string","example":"monthly","description":"How often the total is calculated (e.g., monthly, annual)."},"total_supporting":{"type":"string","example":"63,869.63","description":"Group total in supporting currency."}}},"description":"Aggregated totals for all items within the group."},"has_breakdown":{"type":"boolean","example":true,"description":"Indicates if the group contains multiple detailed cost items to be expanded."}}},"description":"Collections of related costs grouped under a common label."},"totals":{"type":"array","items":{"type":"object","properties":{"total":{"type":"string","example":"61,613.86","description":"Total cost for the section in local currency."},"frequency":{"type":"string","example":"monthly","description":"How often the total is calculated (e.g., monthly, annual)."},"total_supporting":{"type":"string","example":"67,116.35","description":"Total cost for the section in supporting currency."}}},"description":"Overall totals for the section, summing all groups and standalone items."},"is_summarized":{"type":"boolean","example":true,"description":"Indicates whether the section is presented in summarized form."},"standalone_items":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","example":"One off payment","description":"Internal identifier for the standalone cost item."},"label":{"type":"string","example":"Printed Agreement handling fee","description":"Display name for the standalone cost item."},"totals":{"type":"array","items":{"type":"object","properties":{"total":{"type":"string","example":"73.44","description":"Standalone cost amount in local currency."},"frequency":{"type":"string","example":"monthly","description":"How often this cost occurs (e.g., monthly, annual, one-time)."},"total_supporting":{"type":"string","example":"80.00","description":"Standalone cost amount in the supporting currency."}}},"description":"Monthly and annual totals for the standalone item in local and supporting currencies."}}},"description":"Cost items that do not belong to regular groups, often irregular or one-off costs."}}},"description":"Detailed and categorized cost sections including grouped and standalone items."},"additional_data":{"type":"object","example":{},"properties":{"annual_notes":{"type":"array","items":{"type":"string"},"example":[],"description":"Notes or assumptions specifically relevant to annual cost calculations."},"monthly_notes":{"type":"array","items":{"type":"string"},"example":[],"description":"Notes or assumptions specifically relevant to monthly cost calculations."},"once_off_notes":{"type":"array","items":{"type":"string"},"example":[],"description":"Notes regarding one-time costs or irregular payments in the quote."},"additional_notes":{"type":"array","items":{"type":"string"},"example":["Kindly note that the onboarding process for employees in this country requires the completion of a QES (Qualified Electronic Signature) process, which carries a fee of $80 USD. This fee is designed to cover the additional administrative expenses associated with the QES process. In the event that the QES option is not available, an alternative would be to proceed with a printed agreement signature process, incurring costs of $80 USD. These costs include expenses for printing, shipping, and handling related to the signing of the printed agreement.","Deel can countersign the employment agreement once you provide a Qualifying Electronic Signature (QES). After the employee registers on the Deel platform, we will notify and invite you to sign the Scope of Work, through the QES process. Please note that we are unable to proceed with your employee full onboarding until you complete this QES signing step."],"description":"General conditions, assumptions, or fees that may apply to the quote."}},"description":"Supplementary notes and contextual information relevant to the cost quote."}},"description":"Detailed breakdown of employment costs including summary totals, sectioned cost groups, and additional context notes.","x-sensitive-employment":true},"client":{"type":"object","example":{"legal_entity":{"name":"Acme Corporation"}},"properties":{"legal_entity":{"type":"object","properties":{"name":{"type":"string","example":"Acme Corporation","description":"Legal entity name"}}}},"description":"Client information for the contract."},"status":{"enum":["new","under_review","waiting_for_employee_contract","waiting_for_client_sign","processing_payment","waiting_for_contractor_sign","waiting_for_eor_sign","waiting_for_employee_sign","awaiting_deposit_payment","in_progress","completed","cancelled","user_cancelled","rejected","waiting_for_client_payment","onboarding"],"type":"string","example":"new","nullable":false,"description":"Current status of the contract."},"employee":{"type":"object","properties":{"email":{"type":"string","example":"john.doe@example.com","description":"Employee's email","x-sensitive-pii":true},"last_name":{"type":"string","example":"Doe","description":"Employee's last name","x-sensitive-pii":true},"first_name":{"type":"string","example":"John","description":"Employee's first name","x-sensitive-pii":true},"legal_name":{"type":"string","example":"Johnathan Doe","description":"Employee's legal name","x-sensitive-pii":true}}},"job_title":{"type":"string","example":"Software Engineer","description":"Employee's job title"},"seniority":{"type":"object","required":["id","name"],"properties":{"id":{"type":"integer","example":1,"description":"Seniority level ID"},"name":{"type":"string","example":"Senior","description":"Seniority level name"}},"description":"Seniority level of the employee"},"created_at":{"type":"string","format":"date-time","example":"2025-01-01T12:00:00Z","description":"Contract creation timestamp"},"employment":{"type":"object","properties":{"state":{"type":"string","example":"CA","nullable":true,"description":"State or province of employment"},"country":{"type":"string","example":"US","description":"Country of employment"},"end_date":{"type":"string","format":"date-time","example":"2025-12-31T00:00:00Z","nullable":true,"description":"Employment end date"},"start_date":{"type":"string","format":"date-time","example":"2025-01-15T00:00:00Z","description":"Employment start date"},"scope_of_work":{"type":"string","example":"Full time engineering duties including backend and API work.","description":"Scope of work description."},"time_off_type":{"type":"string","example":"STANDARD","description":"Type of time off for the employee"},"probation_period":{"type":"integer","example":90,"nullable":true,"description":"Number of probation days"},"work_visa_required":{"type":"boolean","example":false,"description":"If a work visa is required"},"calculated_holidays":{"type":"string","example":"20","description":"Number of calculated holidays"}},"description":"Employment contract specific details."},"health_plan":{"type":"object","nullable":true,"properties":{"id":{"type":"string","example":"healthplan-123","description":"Health plan ID"},"name":{"type":"string","example":"Premium Health","description":"Health plan name"}}},"compensation_details":{"type":"object","properties":{"salary":{"type":"string","example":"100000","description":"Gross annual salary"},"currency":{"type":"string","example":"USD","description":"Currency of the salary"},"variable_compensation":{"type":"string","example":"5","description":"Variable compensation account or percentage"},"variable_compensation_type":{"type":"string","example":"PERCENTAGE","nullable":true,"description":"Type of variable compensation"}},"x-sensitive-employment":true}}}}}}},"description":"Successfully created the EOR contract quote."},"400":{"content":{"application/json":{"examples":{"error":{"value":{"error":{"code":400,"message":"Invalid input data provided for the EOR contract."}},"summary":"Example error response"}}}},"description":"Invalid request parameters."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"examples":{"error":{"value":{"error":{"code":500,"message":"An unexpected error occurred while creating the EOR contract."}},"summary":"Example server error response"}}}},"description":"Internal server error."}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["employment","employee","job_title","seniority","client","compensation_details"],"properties":{"client":{"type":"object","required":["team"],"properties":{"team":{"type":"object","required":["id"],"properties":{"id":{"oneOf":[{"type":"string","description":"Unique identifier of this resource."},{"type":"integer","format":"int64"}],"example":"team-12345","description":"Team identifying information."}}},"legal_entity":{"type":"object","properties":{"id":{"oneOf":[{"type":"string","description":"Unique identifier of this resource."},{"type":"integer","format":"int64"}],"example":"entity-67890","description":"Legal entity reference for the client."}}}},"description":"Client details for the contract."},"pension":{"type":"object","properties":{"id":{"type":"string","example":"pension-001","description":"Pension provider id. You can see available pension providers in the country guide endpoint."},"contribution":{"type":"string","example":"5%","description":"Enter the value of pension contribution. You should send this value only if the contribution object is available in the country guide endpoint and the value should be there between minimum and maximum values indicated."}},"description":"Some countries required a pension benefit."},"benefits":{"type":"array","items":{"type":"object","properties":{"plan_id":{"type":"string","example":"00000000-0000-0000-0000-000000000000","description":"The ID of a benefits plan to include in the calculation."},"cover_all":{"type":"boolean","example":true,"description":"Flag indicating if benefit will fully cover the employee."},"provider_id":{"type":"string","example":"00000000-0000-0000-0000-000000000000","description":"The ID of a benefits provider to include in the calculation."},"contribution":{"type":"number","example":100,"description":"The amount the client will contribute for the benefit in the currency of the contract. Only taken into account if cover_all is set to false. For Unisure provider contribution is always in USD."},"cover_dependents":{"type":"boolean","example":true,"description":"Flag indicating if benefit will cover dependents. Only needed if cover_all is set to true."}},"description":"List of additional benefits to include in the calculation"}},"employee":{"type":"object","required":["first_name","last_name","nationality"],"properties":{"email":{"type":"string","example":"john.doe@example.com","description":"Employee's email address."},"address":{"type":"object","nullable":true,"properties":{"zip":{"type":"string","example":"44000","description":"Zip code."},"city":{"type":"string","example":"Denver","description":"City name."},"state":{"type":"string","example":"CO","nullable":true,"description":"State code."},"street":{"type":"string","example":"Deel Street 500","description":"Street and number."},"country":{"type":"string","example":"US","pattern":"^[A-Z]{2}$","maxLength":2,"minLength":2,"description":"Country code."}}},"last_name":{"type":"string","example":"Doe","description":"Employee's last name."},"first_name":{"type":"string","example":"John","description":"Employee's first name."},"external_id":{"type":"string","example":"ext-employee-001","description":"External identifier of the employee."},"nationality":{"type":"string","example":"US","description":"Employee's nationality."},"pf_deductions":{"enum":["12% of Basic","12% of Rs 15,000 (Rs 1,800)"],"type":"string","example":"12% of Basic","description":"Employee's PF deductions. Required only for India contracts."}}},"job_title":{"type":"string","example":"Senior Backend Engineer","description":"Employee's job title."},"seniority":{"type":"object","properties":{"id":{"oneOf":[{"type":"string","description":"Unique identifier of this resource."},{"type":"integer","format":"int64"}],"example":"seniority-123","description":"Identifier for the seniority level (string or numeric ID)."}},"description":"Seniority selection for the role."},"employment":{"type":"object","example":{"country":"US","start_date":"2024-01-15","scope_of_work":"Scope of work description."},"required":["country","start_date","work_visa_required","scope_of_work"],"properties":{"type":{"enum":["Full-time","Part-time"],"type":"string","example":"Full-time","description":"Is it a full-time contract or a part-time contract?"},"state":{"type":"string","example":"CO","nullable":true,"description":"State code of the state/province where the this person will be employed."},"country":{"type":"string","example":"US","pattern":"^[A-Z]{2}$","maxLength":2,"minLength":2,"description":"Country code of employment."},"end_date":{"type":"string","format":"date","example":"2024-12-31","nullable":true,"description":"End date in ISO-8601 format (YYYY-MM-DD)."},"holidays":{"type":"number","example":20,"nullable":true,"description":"Enter the number of holidays. Leave this field blank if you are choosing \"STANDARD\" time_off_type."},"is_hourly":{"type":"boolean","example":true,"description":"Is the employee contract hourly instead of salaried?"},"start_date":{"type":"string","format":"date","example":"2024-01-15","description":"Start date in ISO-8601 format (YYYY-MM-DD)."},"scope_of_work":{"anyOf":[{"type":"string","example":"Scope of work description.","maxLength":10000,"minLength":100,"description":"Scope of work description."},{"type":"object","properties":{"scope_template_id":{"type":"string","format":"uuid","example":"00000000-0000-0000-0000-000000000000","description":"Scope template UUID."}}},{"type":"object","properties":{"scope_validation_id":{"type":"string","format":"uuid","example":"00000000-0000-0000-0000-000000000000","description":"Scope validation UUID."}}}],"example":"Scope of work description.","description":"Scope of work; either a string with full text or an object referencing a template/validation UUID."},"time_off_type":{"enum":["STANDARD","SPECIFIC"],"type":"string","example":"STANDARD","description":"If you want to use standard number of holidays for this employee, choose \"STANDARD\". If you want to enter a specific number of holidays, choose \"SPECIFIC\" and enter the number of days in the holidays field."},"seniority_date":{"type":"string","format":"date","example":"2020-01-15","description":"Seniority date"},"sick_leave_days":{"type":"integer","example":10,"description":"Number of sick leave days"},"probation_period":{"type":"number","example":30,"nullable":true,"description":"Number of probation days."},"notice_period_type":{"enum":["STANDARD","CUSTOM"],"type":"string","example":"STANDARD","description":"Type of notice period."},"work_visa_required":{"type":"boolean","default":false,"example":false,"description":"Do you require Deel to apply for work visa for this person?"},"work_hours_per_week":{"type":"number","example":30,"description":"Employee's work hours per week. Required only if contract is set as hourly."},"probation_period_time_unit":{"enum":["DAY","WEEK","MONTH"],"type":"string","example":"MONTH","description":"Time unit of probation period."},"notice_period_after_probation":{"type":"number","example":30,"nullable":true,"description":"Notice period after probation required when type is CUSTOM."},"notice_period_during_probation":{"type":"number","example":14,"nullable":true,"description":"Notice period during probation required when type is CUSTOM."},"employee_completed_past_probation":{"type":"boolean","default":false,"example":false,"description":"Whether the employee has previously passed the probation period."},"probation_period_type_for_definite":{"enum":["STANDARD","CUSTOM"],"type":"string","example":"STANDARD","description":"Type of probation period for definite contracts."},"notice_period_after_probation_time_unit":{"enum":["DAY","WEEK","MONTH"],"type":"string","example":"DAY","description":"Time unit of notice period after probation."},"notice_period_during_probation_time_unit":{"enum":["DAY","WEEK","MONTH"],"type":"string","example":"DAY","description":"Time unit of notice period during probation."}},"description":"Employment contract specific details."},"health_plan_id":{"type":"string","example":"healthplan-123","description":"Healthcare plan id. You can see available healthcare plans in the country guide endpoint."},"compensation_details":{"type":"object","required":["currency"],"properties":{"salary":{"type":"number","example":100000,"description":"Employee's gross annual salary. Required only if contract is salaried."},"currency":{"type":"string","example":"USD","description":"Salary currency."},"hourly_rate":{"type":"number","example":25,"description":"Employee's hourly rate. Required only if contract is set as hourly."},"signing_bonus":{"type":"number","example":1000,"nullable":true,"description":"Signing bonus amount."},"fixed_adjustments":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","example":"Internet Allowance","description":"Adjustment name."},"value":{"type":"number","example":150,"description":"Adjustment value."},"opt_out":{"type":"boolean","example":false,"description":"Whether the adjustment is being opted out of."},"optional":{"type":"boolean","example":false,"description":"Whether the adjustment is optional."},"description":{"type":"string","example":"Internet Allowance","description":"Adjustment description."},"is_recurring":{"type":"boolean","example":true,"description":"Whether the adjustment is paid recurring monthly or one-time on employee's first payroll."},"rule_cost_id":{"type":"string","example":"rule-cost-123","description":"Identifier of the rule cost associated with the adjustment."},"is_country_specific":{"type":"boolean","example":true,"description":"Whether this adjustment is country-specific."},"skipping_confirmation_text":{"type":"string","example":"Skipping confirmation text","description":"Optional skipping confirmation text shown to the user."}}}},"variable_compensation":{"type":"number","example":5,"nullable":true,"description":"Variable compensation. For example, if the person will earn 5% of the gross annual salary as the variable compensation, enter 5."},"signing_bonus_payout_type":{"enum":["FIRST_CYCLE","AFTER_PROBATION","AFTER_FIRST_CONTRACT_ANNIVERSARY"],"type":"string","example":"AFTER_PROBATION","nullable":true,"description":"Should be set only if signing_bonus is set. It defines when the bonus is paid."},"variable_compensation_type":{"enum":["PERCENTAGE","FIXED",null],"type":"string","example":"PERCENTAGE","nullable":true,"description":"Should be set only if variable_compensation is set. It can be PERCENTAGE or FIXED."},"variable_compensation_title":{"type":"string","example":"Annual Bonus","description":"Variable compensation title."},"variable_compensation_timeline":{"enum":["ANNUALLY","BIANNUALLY","QUARTERLY","MONTHLY"],"type":"string","example":"QUARTERLY","nullable":true,"description":"Variable compensation timeline."},"variable_compensation_effective_date":{"type":"string","format":"date","example":"2024-01-01","description":"Variable compensation effective date."}}},"quote_additional_fields":{"type":"object","nullable":true,"properties":{"dob":{"type":"string","example":"1990-01-01","description":"Employee's date of birth."},"gender":{"type":"string","example":"female","description":"Employee's gender."},"worker_type":{"enum":["Skilled","Unskilled"],"type":"string","example":"Skilled","description":"Type of worker."}},"description":"Some countries require additional employee information for employment contracts."}}}}}}},"required":true,"description":"The details of the Employee (EOR) contract to be created."}}},"/engage/learning/actionable-journeys":{"get":{"tags":["Learning"],"summary":"Retrieve worker's actionable journeys","operationId":"retrieveWorkersActionableJourneys","description":"Return list of ActionableJourneys for a given Worker. The concept of Actionable Journeys in the Public API corresponds directly to what is labeled as Courses in the user interface. Learn more about [Learning Management](https://www.deel.com/hr/engage/learning-management-software/)\n **Token scopes**: `worker:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data","next_cursor"],"properties":{"data":{"type":"array","items":{"type":"object","required":["journey","completion","recipient_setting_type","recipient_setting_dynamic_role_name","recipient_setting_dynamic_role_id","recipientable","scopeable","step","actionable_path"],"properties":{"step":{"type":"object","required":["id","journey_id","journey"],"properties":{"id":{"type":"string","format":"uuid","example":"54463680-7653-4f99-a87e-efa43d6290c0","description":"Unique identifier of the Step"},"journey":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"69c18d4d-3428-4ebf-96a8-9445c0bbd9ab","description":"Unique identifier of the Journey"},"title":{"type":"string","example":"Health and Safety Training","description":"Title of the journey"}},"description":"Basic Journey information for the step"},"journey_id":{"type":"string","format":"uuid","example":"69c18d4d-3428-4ebf-96a8-9445c0bbd9ab","description":"ID of the Journey this step belongs to"}},"description":"Step details"},"journey":{"type":"object","required":["id","title","description","is_cohort_based","is_self_assignment_allowed","is_visible_in_library","is_template","is_time_based","visibility_slug","draft_for_id","organization_id","created_at","updated_at","published_at","recently_edited_at","type_slug","cover_picture","created_by_hris_organization_user_profile","updated_by_hris_organization_user_profile"],"properties":{"id":{"type":"string","format":"uuid","example":"69c18d4d-3428-4ebf-96a8-9445c0bbd9ab","description":"Unique identifier of the journey"},"title":{"type":"string","example":"Health and Safety Training","description":"Title of the journey"},"type_slug":{"type":"string","example":"default","description":"The type slug of the Journey e.g default, Scorm"},"created_at":{"type":"string","format":"date-time","example":"2025-02-13T13:25:01.371Z","description":"The timestamp when the Journey was created"},"updated_at":{"type":"string","format":"date-time","example":"2025-04-15T16:18:19.928Z","description":"The timestamp when the Journey was last updated"},"description":{"type":"string","example":"Welcome to Deel's Health and Safety course.","description":"Description of the Journey"},"is_template":{"type":"boolean","example":false,"description":"Whether the Journey is a template"},"draft_for_id":{"type":"string","format":"uuid","example":"d0fe1c70-aa70-48fa-971a-db805b1ea66d","nullable":true,"description":"If this is draft for an existing Journey, draft_for_id is the reference to the original Journey ID."},"published_at":{"type":"string","format":"date-time","example":"2025-02-05T10:37:26.368Z","description":"The timestamp when the Journey was published"},"cover_picture":{"type":"object","nullable":true,"properties":{"id":{"type":"string","format":"uuid","example":"0127f9ba-e6f7-478d-8dc0-619fda871628","description":"Unique identifier of the CoverPicture Attachment"},"url":{"type":"string","format":"uri","example":"https://picsum.photos/seed/picsum/200/300","description":"URL to access the cover picture"},"file_name":{"type":"string","example":"health-and-safety.png","description":"Name of the file"},"attachable_id":{"type":"string","format":"uuid","example":"69c18d4d-3428-4ebf-96a8-9445c0bbd9ab","description":"ID of the entity this attachment belongs to e.g. JourneyID"},"attachable_type":{"type":"string","example":"Journey","description":"Type of the entity this attachment belongs to e.g Journey"},"file_content_type":{"type":"string","example":"image/jpeg","description":"Content type of the file"},"attachment_type_slug":{"type":"string","example":"cover_picture","description":"Type of the attachment (e.g., cover_picture)"}},"description":"CoverPicture details for the Journey"},"is_time_based":{"type":"boolean","example":false,"description":"Whether the Journey is time-based"},"is_cohort_based":{"type":"boolean","example":false,"description":"Whether the Journey is cohort-based"},"organization_id":{"type":"integer","example":166431,"description":"The organizationID this Journey belongs to"},"visibility_slug":{"enum":["organization","public","private-marketplace"],"type":"string","example":"private-marketplace","description":"The visibility setting of the Journey"},"recently_edited_at":{"type":"string","format":"date-time","example":"2025-02-05T10:37:26.361Z","description":"The timestamp when the Journey was recently edited"},"is_visible_in_library":{"type":"boolean","example":false,"description":"Whether the Journey is visible in the library"},"is_self_assignment_allowed":{"type":"boolean","example":false,"description":"Whether self-assignment is allowed for this Journey"},"created_by_hris_organization_user_profile":{"type":"object","properties":{"type":{"enum":["WORKER","CLIENT"],"type":"string","example":"CLIENT","description":"Type of the User","x-sensitive-pii":true},"email":{"type":"string","format":"email","example":"mary.crist@private.com","description":"Email of the user who created the Journey","x-sensitive-pii":true},"country":{"type":"string","example":"DE","nullable":true,"description":"Country of the User","x-sensitive-pii":true},"pic_url":{"type":"string","format":"uri","example":"https://avatars.githubusercontent.com/u/67282049?s=200&v=4","description":"URL of the profile picture","x-sensitive-pii":true},"job_title":{"type":"string","example":"Software Engineer","nullable":true,"description":"Job title of the User","x-sensitive-pii":true},"last_name":{"type":"string","example":"Crist","description":"Last name of the User","x-sensitive-pii":true},"first_name":{"type":"string","example":"Mary","description":"First name of the User","x-sensitive-pii":true},"work_email":{"type":"string","format":"email","example":"mary.crist@workplace.com","nullable":true,"description":"Work email of the User","x-sensitive-pii":true},"deactivated_at":{"type":"string","format":"date-time","example":null,"nullable":true,"description":"Deactivation timestamp, if applicable","x-sensitive-pii":true},"preferred_name":{"type":"string","example":"Mary Crist","description":"Preferred name of the User","x-sensitive-pii":true},"organization_public_id":{"type":"string","format":"uuid","example":"84352093-cbe1-48f7-92ca-1f4bdb07b76f","description":"Public ID of the organization","x-sensitive-pii":true},"hris_organization_user_id":{"type":"string","format":"uuid","example":"fe5473e1-f6ff-45bf-b7bb-c8e44a225de7","description":"HRIS organization user ID","x-sensitive-pii":true}},"description":"Profile of the user who created the journey","x-sensitive-pii":true},"updated_by_hris_organization_user_profile":{"type":"object","properties":{"type":{"enum":["WORKER","CLIENT"],"type":"string","example":"CLIENT","description":"Type of the User","x-sensitive-pii":true},"email":{"type":"string","format":"email","example":"mary.crist@private.com","description":"Email of the user who last updated the journey","x-sensitive-pii":true},"country":{"type":"string","example":"DE","nullable":true,"description":"Country of the User","x-sensitive-pii":true},"pic_url":{"type":"string","format":"uri","example":"https://avatars.githubusercontent.com/u/67282049?s=200&v=4","description":"URL of the profile picture","x-sensitive-pii":true},"job_title":{"type":"string","example":"Software Engineer","nullable":true,"description":"Job title of the User","x-sensitive-pii":true},"last_name":{"type":"string","example":"Crist","description":"Last name of the User","x-sensitive-pii":true},"first_name":{"type":"string","example":"Mary","description":"First name of the User","x-sensitive-pii":true},"work_email":{"type":"string","format":"email","example":"mary.crist@workplace.com","nullable":true,"description":"Work email of the User","x-sensitive-pii":true},"deactivated_at":{"type":"string","format":"date-time","example":null,"nullable":true,"description":"Deactivation timestamp, if applicable","x-sensitive-pii":true},"preferred_name":{"type":"string","example":"Mary Crist","description":"Preferred name of the User","x-sensitive-pii":true},"organization_public_id":{"type":"string","format":"uuid","example":"84352093-cbe1-48f7-92ca-1f4bdb07b76f","description":"Public ID of the organization","x-sensitive-pii":true},"hris_organization_user_id":{"type":"string","format":"uuid","example":"fe5473e1-f6ff-45bf-b7bb-c8e44a225de7","description":"HRIS organization user ID","x-sensitive-pii":true}},"description":"Profile of the user who last updated the journey","x-sensitive-pii":true}},"description":"Journey details"},"scopeable":{"type":"object","required":["id","is_self_assigned","assignee_hris_organization_user"],"properties":{"id":{"type":"string","format":"uuid","example":"0db4a31b-dce1-4ad6-8dcb-a1178b4add22","description":"Unique identifier of the scopeable entity e.g AssignmentID"},"is_self_assigned":{"type":"boolean","example":false,"description":"Whether the assignment was self-assigned"},"assignee_hris_organization_user":{"type":"object","properties":{"type":{"enum":["WORKER","CLIENT"],"type":"string","example":"WORKER","description":"Type of the assignee user","x-sensitive-pii":true},"email":{"type":"string","format":"email","example":"thomas.howel@private.com","description":"Email address of the assignee","x-sensitive-pii":true},"country":{"type":"string","example":"DE","nullable":true,"description":"Country of the assignee","x-sensitive-pii":true},"pic_url":{"type":"string","format":"uri","example":"https://avatars.githubusercontent.com/u/67282049?s=200&v=4","description":"URL of the profile picture of the assignee","x-sensitive-pii":true},"job_title":{"type":"string","example":"Software Engineer","nullable":true,"description":"Job title of the assignee","x-sensitive-pii":true},"last_name":{"type":"string","example":"Thomas","description":"Last name of the assignee","x-sensitive-pii":true},"first_name":{"type":"string","example":"Howell","description":"First name of the assignee","x-sensitive-pii":true},"work_email":{"type":"string","format":"email","example":"thomas.howe@privatel.com","description":"Work email of the assignee","x-sensitive-pii":true},"deactivated_at":{"type":"string","format":"date-time","example":null,"nullable":true,"description":"Deactivation timestamp of the assignee, if applicable","x-sensitive-pii":true},"preferred_name":{"type":"string","example":"Thomas Howell","description":"Preferred name of the assignee","x-sensitive-pii":true},"organization_public_id":{"type":"string","format":"uuid","example":"e24787df-a7ac-4d01-88a0-6aabeb187692","description":"Public ID of the organization the assignee belongs to","x-sensitive-pii":true},"hris_organization_user_id":{"type":"string","format":"uuid","example":"72b997c0-39ce-4f02-92e6-040fd5131d56","description":"HRIS organization user ID of the assignee","x-sensitive-pii":true}},"description":"Details of the assigned user","x-sensitive-pii":true}},"description":"Scopeable entity details e.g Assignment details"},"completion":{"type":"object","required":["percentage"],"properties":{"percentage":{"type":"number","example":37.5,"maximum":100,"minimum":0,"description":"Completion percentage of the Journey"}},"description":"Completion status of the Journey"},"recipientable":{"type":"object","required":["hris_organization_user_id","type","deactivated_at","organization_public_id","first_name","last_name","preferred_name","country","pic_url","job_title","work_email","email"],"properties":{"type":{"enum":["WORKER","CLIENT"],"type":"string","example":"WORKER","description":"Type of the recipient User","x-sensitive-pii":true},"email":{"type":"string","format":"email","example":"thomas.howel@private.com","description":"Email address of the recipient","x-sensitive-pii":true},"country":{"type":"string","example":"DE","nullable":true,"description":"Country of the recipient","x-sensitive-pii":true},"pic_url":{"type":"string","format":"uri","example":"https://avatars.githubusercontent.com/u/67282049?s=200&v=4","description":"URL of the profile picture of the recipient","x-sensitive-pii":true},"job_title":{"type":"string","example":"Software Engineer","nullable":true,"description":"Job title of the recipient","x-sensitive-pii":true},"last_name":{"type":"string","example":"Howell","description":"Last name of the recipient","x-sensitive-pii":true},"first_name":{"type":"string","example":"Thomas","description":"First name of the recipient","x-sensitive-pii":true},"work_email":{"type":"string","format":"email","example":"thomas.howell@test.com","description":"Work email of the recipient","x-sensitive-pii":true},"deactivated_at":{"type":"string","format":"date-time","example":null,"nullable":true,"description":"Deactivation timestamp of the recipient, if applicable","x-sensitive-pii":true},"preferred_name":{"type":"string","example":"Thomas Howell","description":"Preferred name of the recipient","x-sensitive-pii":true},"organization_public_id":{"type":"string","format":"uuid","example":"e24787df-a7ac-4d01-88a0-6aabeb187692","description":"Public ID of the organization the recipient belongs to","x-sensitive-pii":true},"hris_organization_user_id":{"type":"string","format":"uuid","example":"72b997c0-39ce-4f02-92e6-040fd5131d56","description":"HRIS organization user ID of the recipient","x-sensitive-pii":true}},"description":"Recipient for the ActionableJourney Step. Used in conjunction with recipient_setting_type. Recipient can be the same user as Assignee or any other user e.g Manager or Accounts Lead based on the RecipientSetting for the Step.","x-sensitive-pii":true},"actionable_path":{"type":"string","example":"/learning/actionable-journeys/75d7c4ad-dc7c-4dab-8031-2f5802c02b07/recipient-step-redirection?scopeableId=f43974d7-2ba2-41ae-b45f-f3c9fcf51502&scopeableType=Assignment","description":"Path to redirect User for starting/resuming the Actionable Journey."},"recipient_setting_type":{"enum":["hris_organization_user","manager","buddy","mentor"],"type":"string","example":"hris_organization_user","nullable":true,"description":"Type of RecipientSetting. e.g Manager, Buddy etc."},"recipient_setting_dynamic_role_id":{"type":"string","example":"0127f9ba-e6f7-478d-8dc0-619fda871628","nullable":true,"description":"Dynamic role/relationship ID for RecipientSetting."},"recipient_setting_dynamic_role_name":{"type":"string","example":"Accounts Lead","nullable":true,"description":"Dynamic role name for RecipientSetting"}},"description":"ActionableJourney item"}},"next_cursor":{"type":"string","example":"eyJvZmZzZXQiOjAsImxpbWl0IjpudWxsLCJzY29wZSI6bnVsbH0","description":"Cursor for the next page of results"}},"description":"ActionableJourney is a representation of a JourneyAssignment and JourneyStep. This defines which Worker should be acting on which Step of the Journey. Generally, it would be same as Assignee of the JourneyAssignment, but can be different when RecipientSettings are added to Steps."}}},"description":"Successful retrieval of actionable journeys"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"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"}}}},"request":{"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"}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"query","name":"journey_ids","schema":{"type":"array","items":{"type":"string","format":"uuid"}},"example":["985aa5c1-00f0-49a2-ac30-9be1489ecd8d"],"description":"Filter by Journey IDs."},{"in":"query","name":"journey_assignment_ids","schema":{"type":"array","items":{"type":"string","format":"uuid"}},"example":["c765c265-f7c9-41b1-832a-c70fd25b3582"],"description":"Filter by JourneyAssignment IDs."},{"in":"query","name":"limit","schema":{"type":"number","default":20,"maximum":100,"minimum":1},"example":50,"description":"Return a page of results with given number of records."},{"in":"query","name":"cursor","schema":{"type":"string"},"example":"eyJvZmZzZXQiOjF9","description":"Cursor to the next page of results. If not provided, the first page will be returned."}],"security":[{"deelToken":[]},{"oauth2":["worker:read"]}]}},"/benefits/legal-entities/{id}/pay-stub":{"get":{"tags":["Payroll"],"summary":"Get pay stub from employees from organization integrated with external benefits vendor","operationId":"getPayStubFromEmployeesFromOrganizationIntegratedWithExternalBenefitsVendor-v2026-01-01","description":"Returns pay stub records for employees within a legal entity integrated with an external benefits vendor, with support for filtering by payroll date range, status, and offset-based pagination.\n **Token scopes**: `organizations:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"source":{"enum":["HISTORICAL","NEW"],"type":"string","example":"NEW","nullable":false,"description":"Source of the payroll data."},"employees":{"type":"array","items":{"type":"object","properties":{"gross_pay":{"type":"number","example":1000,"nullable":false,"description":"Total gross pay for the employee for this payroll period.","x-sensitive-employment":true},"contract_id":{"type":"string","example":"mqj9gkr","nullable":false,"description":"Identifier for the employee contract."},"employee_id":{"type":"string","example":"f47ac10b-58cc-4372-a567-0e02b2c3d479","nullable":false,"description":"Unique identifier for the employee."},"hours_worked":{"type":"number","example":40,"nullable":false,"description":"Total hours worked by the employee in this payroll period."},"contributions":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","example":"401k","nullable":false,"description":"Name of the contribution."},"type":{"enum":["Roth","Trad"],"type":"string","example":"Roth","nullable":false,"description":"Type of the contribution."},"amount":{"type":"number","example":100,"nullable":false,"description":"Amount contributed.","x-sensitive-employment":true}}},"nullable":false,"description":"List of contributions made by the employee."},"employer_contributions":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","example":"401k","nullable":false,"description":"Name of the employer contribution."},"type":{"enum":["Match Rate","Non Elective"],"type":"string","example":"Match Rate","nullable":false,"description":"Type of the employer contribution."},"amount":{"type":"number","example":100,"nullable":false,"description":"Amount of the employer contribution."}}},"nullable":false,"description":"List of contributions made by the employer.","x-sensitive-employment":true}}},"nullable":false,"description":"List of employees included in the payroll."},"payroll_id":{"type":"string","example":"f47ac10b-58cc-4372-a567-0e02b2c3d479","nullable":false,"description":"Unique identifier for the payroll."},"payment_date":{"type":"string","example":"2021-01-01","nullable":false,"description":"Date when the payment is made."},"payment_type":{"enum":["RECONCILIATION","PARALLEL","HISTORICAL","OFFCYCLE","REGULAR"],"type":"string","example":"REGULAR","nullable":false,"description":"Type of payroll payment."},"payment_status":{"enum":["OPEN","LOCKED","CLOSED"],"type":"string","example":"OPEN","nullable":false,"description":"Current status of the payroll payment."},"payroll_end_date":{"type":"string","example":"2021-01-15","nullable":false,"description":"End date of the payroll period."},"payroll_schedule":{"enum":["BIMONTHLY","MONTHLY","BIWEEKLY","WEEKLY"],"type":"string","example":"BIWEEKLY","nullable":false,"description":"Frequency of the payroll schedule."},"payroll_start_date":{"type":"string","example":"2021-01-01","nullable":false,"description":"Start date of the payroll period."}}}},"page":{"type":"object","properties":{"offset":{"type":"integer","example":0,"nullable":false,"description":"Items to be skipped when searching"},"total_rows":{"type":"integer","example":100,"nullable":false,"description":"Total number of rows"},"items_per_page":{"type":"integer","example":100,"nullable":false,"description":"Items per page"}}}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"query","name":"payroll_start_date","schema":{"type":"string"},"example":"2021-01-01","required":false,"description":"Payroll start date"},{"in":"query","name":"payroll_end_date","schema":{"type":"string"},"example":"2021-01-15","required":false,"description":"Payroll end date"},{"in":"query","name":"status","schema":{"type":"string"},"example":"OPEN","required":false,"description":"Payroll status"},{"in":"query","name":"items_per_page","schema":{"type":"integer","default":100},"example":100,"required":false,"description":"Items per page"},{"in":"query","name":"offset","schema":{"type":"integer","default":0},"example":0,"required":false,"description":"Items to be skipped when searching"},{"in":"path","name":"id","schema":{"type":"string"},"example":"f47ac10b-58cc-4372-a567-0e02b2c3d479","required":true,"description":"Id from the legal entity to fetch data"}],"security":[{"deelToken":[]},{"oauth2":["organizations:read"]}]}},"/eor/{oid}/terminations/{terminationId}":{"get":{"tags":["EOR"],"summary":"Get termination","operationId":"getEorTermination","description":"This API allows clients and employees with viewer permissions to retrieve termination data. It ensures that only authorized users can access sensitive information related to terminations.\n **Token scopes**: `contracts:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"number","format":"float"},"end_date":{"type":"string","format":"date-time","example":"'2025-01-31T00:00:00.000Z'","nullable":true,"description":"The definitive contract end date"},"contract_id":{"type":"string","example":"5B74FnLM","description":"Public contract oid"},"request_data":{"type":"object","nullable":true,"properties":{"reason":{"type":"string","nullable":true},"end_date":{"type":"string","format":"date-time","example":"'2025-01-31T00:00:00.000Z'","nullable":true,"description":"The definitive contract end date"},"reason_detail":{"type":"string","example":"Employee is moving to another country","nullable":true,"description":"Optional field to describe the reason behind the resignation request"},"desired_end_date":{"type":"string","format":"date-time","example":"2025-01-31","nullable":true,"description":"The desired end date. If the date is not provided, it will be selected by HRX the closest date possible"},"termination_impact":{"type":"object","nullable":true,"properties":{"id":{"type":"string","format":"uuid"},"title":{"type":"string","example":"Bad Impact","description":"Termination impact title"},"description":{"type":"string","example":"It will be bad","description":"Termination impact description"}},"description":"Custom termination impact data if there is some configured on HR module"},"eligible_for_rehire":{"enum":["YES","NO","DONT_KNOW"],"type":"string","example":"DONT_KNOW","nullable":true,"description":"Parameter to inform whether it would be possible for the client to hire the employee again"},"eligible_for_rehire_reason":{"type":"string","example":false,"nullable":true,"description":"Describe if the option DONT_KNOW was selected on eligibleForRehire"},"custom_termination_reason_id":{"type":"number","format":"float","nullable":true,"description":"Custom termination reason ID. A custom termination reason can be added on Client HR module"}}},"desired_end_date":{"type":"string","format":"date-time","example":"2025-01-31","nullable":true,"description":"The desired end date. If the date is not provided, it will be selected by HRX the closest date possible"}}}}},"description":"Ok response"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string"}}},"minItems":1}}},"description":"Unauthorized response"},"403":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string"}}},"minItems":1}}},"description":"Forbidden response"},"404":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string"}}},"minItems":1}}},"description":"Not Found response"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"oid","schema":{"type":"string"},"required":true,"description":"Public contract oid"},{"in":"path","name":"terminationId","schema":{"type":"string"},"required":true,"description":"Termination id"}],"security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]}},"/contracts/{contract_id}/adjustments":{"get":{"tags":["Adjustments"],"summary":"Retrieve adjustments","operationId":"retrieveAdjustments","description":"Get all adjustments for the specific contract.\n **Token scopes**: `adjustments:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the adjustment"},"file":{"type":"object","nullable":true,"properties":{"id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the file"},"name":{"type":"string","example":"your_file_name","description":"The name of the file"},"fileType":{"type":"string","example":"pdf","description":"The type of the file"}},"description":"Info for the attachment of adjustment"},"title":{"type":"string","example":"Your title here","description":"The title of the adjustment","x-sensitive-pii":true,"x-sensitive-employment":true},"amount":{"type":"string","example":"1234.56","description":"The amount of the adjustment","x-sensitive-pii":true,"x-sensitive-employment":true},"status":{"enum":["open","pending_approval","overwritten","failed","success","DRAFT","PENDING","APPROVED","DENIED","DISBURSE_SCHEDULED","REIMBURSED","UNDER_REVIEW","ERRORS_FOUND","PENDING_DEEL_REVIEW","AI_CHECK_IN_PROGRESS"],"type":"string","example":"open","description":"Adjustment status"},"created_at":{"type":"string","format":"date-time","example":"2020-11-02T12:00:00.000Z","description":"The date and time when the adjustment was created"},"updated_at":{"type":"string","format":"date-time","example":"2020-11-02T12:00:00.000Z","description":"The date and time when the adjustment was last updated"},"contract_id":{"type":"string","example":"m3jk2j","description":"The identifier of the contract associated with the adjustment","x-sensitive-pii":true},"description":{"type":"string","example":"Your description here","description":"The description of the adjustment","x-sensitive-pii":true,"x-sensitive-employment":true},"cycle_reference":{"type":"string","example":"your_cycle_reference","nullable":true,"description":"The reference to the cycle associated with the adjustment"},"move_next_cycle":{"type":"boolean","example":true,"description":"If an adjustments can belong to another payroll cycle"},"date_of_adjustment":{"type":"string","format":"date-time","example":"2023-11-02","nullable":true,"description":"The date of the adjustment","x-sensitive-pii":true},"actual_end_cycle_date":{"type":"string","example":"2023-11-15T00:00:00.000Z","description":"The date of the actual end cycle date"},"adjustment_category_id":{"type":"string","example":"c9cf4c2c0165f48f494415390c3b49","description":"The identifier of the adjustment category associated with the adjustment"},"actual_start_cycle_date":{"type":"string","example":"2023-11-01T00:00:00.000Z","description":"The date of the actual start cycle date"}}}}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string","example":"Not Authorized","description":"You must have access to the contract sent"}}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"query","name":"from","schema":{"type":"string","format":"date"},"example":"2023-11-01","description":"Filter adjustments by start date."},{"in":"query","name":"to","schema":{"type":"string","format":"date"},"example":"2023-11-15","description":"Filter adjustments by end date."},{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"m3jk2j","required":true,"description":"Deel adjustment id."}],"security":[{"deelToken":[]},{"oauth2":["adjustments:read"]}]}},"/invoices":{"get":{"tags":["Accounting"],"summary":"Retrieve invoices","operationId":"retrieveInvoices","description":"Retrieve a list of paid invoices for your workforce.\n **Token scopes**: `accounting:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data","page"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","status","currency","created_at","total","label","paid_at","vat_total","vat_percentage","vat_id","is_overdue","issued_at","due_date","contract_id"],"properties":{"id":{"type":"string","example":"GqaY5BHQJUAM2Jg9kq2j2","description":"Unique identifier of this resource."},"label":{"type":"string","example":"INV-2023-4","description":"Label or reference number of the invoice."},"total":{"type":"string","example":"1000","description":"Total invoice amount, including fees and VAT."},"amount":{"type":"string","example":"1000","nullable":true,"description":"Billed amount of the invoice."},"status":{"enum":["pending","paid","processing","credited","refunded"],"type":"string","example":"paid","nullable":false,"description":"Current status of the invoice."},"vat_id":{"type":"string","example":"123456789","nullable":true,"description":"VAT identification number related to the invoice."},"paid_at":{"anyOf":[{"type":"string","format":"date-time","nullable":true},{"type":"string","nullable":true}],"example":"2022-05-24T09:38:46.235Z","description":"Date/time when the invoice was paid (ISO-8601). May be null or empty string."},"currency":{"type":"string","example":"GBP","pattern":"^[A-Z]{3}$","nullable":false,"maxLength":3,"minLength":3,"description":"Three-letter currency code for the invoice."},"deel_fee":{"type":"string","example":"10","nullable":true,"description":"Fee charged by Deel."},"due_date":{"type":"string","format":"date-time","example":"2022-05-24T09:38:46.235Z","nullable":true,"description":"Date and time when the invoice is due (ISO-8601 format)."},"issued_at":{"type":"string","format":"date-time","example":"2022-05-24T09:38:46.235Z","nullable":true,"description":"Date and time when the invoice was issued (ISO-8601 format)."},"vat_total":{"type":"string","example":"210","nullable":true,"description":"Total amount of VAT charged on the invoice."},"created_at":{"type":"string","format":"date-time","example":"2022-05-24T09:38:46.235Z","nullable":false,"description":"Date and time when the invoice was created (ISO-8601 format)."},"is_overdue":{"type":"boolean","example":true,"nullable":true,"description":"Indicates whether the invoice is overdue."},"contract_id":{"type":"string","example":"37nex2x","nullable":true,"description":"Unique identifier of the related contract."},"vat_percentage":{"type":"string","example":"21","nullable":true,"description":"Percentage of VAT charged on the invoice."},"recipient_legal_entity_id":{"type":"string","format":"uuid","example":"2c275e07-4846-490e-b2e4-6e84139032c3","description":"Unique identifier for the recipient legal entity"}}}},"page":{"type":"object","required":["total_rows","items_per_page","offset"],"properties":{"cursor":{"type":"string","example":"GqaY5BHQJUAM2Jg9kq2j2","nullable":true,"description":"Cursor for paginated results."},"offset":{"type":"number","example":0,"maximum":999999999,"minimum":0,"nullable":false,"description":"The starting position of the current page of results."},"total_rows":{"type":"number","example":500,"nullable":false,"description":"Total number of rows available for the query."},"items_per_page":{"type":"number","example":10,"maximum":99,"minimum":1,"nullable":false,"description":"Number of items displayed per page."}}}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"insufficient_permission","description":"Machine readable error"},"message":{"type":"string","example":"human readable error message","description":"Description of the returned error"}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"query","name":"issued_from_date","schema":{"type":"string"},"example":"2022-05-24","description":"Filter invoices issued on or after the specified date."},{"in":"query","name":"issued_to_date","schema":{"type":"string"},"example":"2022-05-24","description":"Filter invoices issued before the specified date."},{"in":"query","name":"status","schema":{"enum":["all"],"type":"string"},"example":"all","required":false,"description":"If status query has value of all, all invoices will be returned. Otherwise only paid invoices will be fetched."},{"in":"query","name":"limit","schema":{"type":"number","default":25,"maximum":50,"minimum":1},"example":10,"description":"Number of records to retrieve per page."},{"in":"query","name":"offset","schema":{"type":"number","format":"int64","default":0,"maximum":999999999,"minimum":0},"example":0,"description":"Index of the first record to return."},{"in":"query","name":"cursor","schema":{"type":"string"},"example":"GqaY5BHQJUAM2Jg9kq2j2","required":false,"description":"Return next page of results after the given cursor."},{"in":"query","name":"include","style":"form","schema":{"enum":["cor"],"type":"string"},"example":"include=cor","explode":false,"required":false,"description":"Will include invoices from COR workers in the response."}],"security":[{"deelToken":[]},{"oauth2":["accounting:read"]}]}},"/accounts-payable/vendor-bills":{"post":{"tags":["Treasury"],"summary":"Create Vendor Bill","operationId":"createVendorBill-v2026-01-01","description":"Creates vendor bills from structured invoice data submitted by an external invoice provider integration.\n **Token scopes**: `treasury-vendorbill:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","vendor_id","subsidiary_id","amount","subtotal","currency","date","description","due_date","reference","external_id","exchange_rate","is_active","created_at","updated_at","line_items"],"properties":{"id":{"type":"string","format":"uuid","example":"9b9fc43a-a90c-4615-ac50-baf1e314b53e","description":"Unique identifier for the vendor in the treasury system"},"date":{"type":"string","format":"date","example":"2025-01-15","description":"Invoice/bill date"},"amount":{"type":"number","example":1500,"description":"Total amount including VAT"},"currency":{"type":"string","example":"USD","description":"ISO 4217 currency code"},"due_date":{"type":"string","format":"date","example":"2025-02-15","description":"Due date for payment"},"subtotal":{"type":"number","example":1500,"description":"Subtotal amount excluding VAT"},"is_active":{"type":"boolean","example":true,"description":"Whether the vendor bill is active"},"reference":{"type":"string","example":"BF-2025-001","description":"Vendor bill reference"},"vendor_id":{"type":"string","example":"123","description":"Vendor ID"},"created_at":{"type":"string","format":"date-time","example":"2025-01-15T10:30:00Z","description":"Creation timestamp"},"line_items":{"type":"array","items":{"type":"object","required":["id","amount","description","quantity","unit_price","vat_amount","vat_rate","vendor_bill_id","created_at","updated_at"],"properties":{"id":{"type":"string","format":"uuid","example":"9dd4c31a-7613-477e-bf67-3b56ec8879d9","description":"Unique identifier of the line item"},"amount":{"type":"number","example":1500,"description":"Total amount for this line item"},"quantity":{"type":"number","example":10,"description":"Quantity of items"},"vat_code":{"type":"string","example":"S-GB","nullable":true,"description":"VAT code name"},"vat_rate":{"type":"number","example":0,"description":"VAT rate percentage"},"created_at":{"type":"string","format":"date-time","example":"2025-01-15T10:30:00Z","description":"Creation timestamp"},"unit_price":{"type":"number","example":150,"description":"Price per unit"},"updated_at":{"type":"string","format":"date-time","example":"2025-01-15T10:30:00Z","description":"Last update timestamp"},"vat_amount":{"type":"number","example":0,"description":"VAT amount for this line item"},"description":{"type":"string","example":"Legal consultation services","description":"Description of the line item"},"department_id":{"type":"string","example":"99","nullable":true,"description":"Unique identifier for the Financial department"},"vendor_bill_id":{"type":"string","format":"uuid","example":"9b9fc43a-a90c-4615-ac50-baf1e314b53e","description":"Reference to parent vendor bill"},"expense_account_id":{"type":"string","example":"250","nullable":true,"description":"Unique identifier for the expense account"}}},"description":"Line items for the vendor bill"},"updated_at":{"type":"string","format":"date-time","example":"2025-01-15T10:30:00Z","description":"Last update timestamp"},"description":{"type":"string","example":"Legal services for Q1 2025","description":"General description of the vendor bill"},"external_id":{"type":"string","example":"brightflag-invoice-12345","description":"External system identifier (e.g., Brightflag ID)"},"exchange_rate":{"type":"number","example":1,"nullable":true,"description":"Exchange rate to USD"},"subsidiary_id":{"type":"string","example":"456","description":"Unique identifier for the Deel legal entity/subsidiary"}}}}}}},"description":"Vendor bill created successfully"},"400":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"invalid_parameter","description":"Machine-readable error code"},"field":{"type":"string","example":"vendor_id","description":"Name of the field causing the error"},"message":{"type":"string","example":"vendor_id is required","description":"Human-readable explanation"}}},"example":[{"code":"invalid_parameter","field":"vendor_id","message":"vendor_id is required"},{"code":"invalid_parameter","field":"amount","message":"amount must be a positive number"}]}}}}},"description":"Bad request - validation error"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"409":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"duplicate_reference","description":"Machine-readable error code"},"field":{"type":"string","example":"reference","description":"Name of the field causing the error"},"message":{"type":"string","example":"Vendor bill with reference BF-2025-001 already exists","description":"Human-readable explanation"}}},"example":[{"code":"duplicate_reference","field":"reference","message":"Vendor bill with reference BF-2025-001 already exists"}]}}}}},"description":"Conflict - duplicate reference"},"500":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"internal_server_error","description":"Machine-readable error code"},"message":{"type":"string","example":"An unexpected error occurred","description":"Human-readable explanation"}}},"example":[{"code":"internal_server_error","message":"An unexpected error occurred"}]}}}}},"description":"Internal server error"}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["treasury-vendorbill:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["vendor_id","subsidiary_id","amount","subtotal","currency","date","description","due_date","reference","external_id","line_items"],"properties":{"date":{"type":"string","format":"date","example":"2025-01-15","description":"Invoice/bill date"},"amount":{"type":"number","example":1500,"minimum":0.01,"description":"Total amount including VAT"},"currency":{"type":"string","example":"USD","pattern":"^[A-Z]{3}$","maxLength":3,"minLength":3,"description":"ISO 4217 currency code"},"due_date":{"type":"string","format":"date","example":"2025-02-15","description":"Due date for payment"},"subtotal":{"type":"number","example":1500,"minimum":0.01,"description":"Subtotal amount excluding VAT"},"reference":{"type":"string","example":"BF-2025-001","maxLength":100,"minLength":1,"description":"Vendor bill reference"},"vendor_id":{"type":"string","example":"123","minimum":1,"description":"Unique identifier for the Vendor"},"line_items":{"type":"array","items":{"type":"object","required":["amount","description","quantity","unit_price","vat_rate"],"properties":{"amount":{"type":"number","example":1500,"minimum":0.01,"description":"Total amount for this line item"},"quantity":{"type":"number","example":10,"minimum":0.01,"description":"Quantity of items"},"vat_code":{"type":"string","example":"S-GB","description":"VAT Code name"},"vat_rate":{"type":"number","example":0,"minimum":0,"description":"VAT rate percentage"},"unit_price":{"type":"number","example":150,"minimum":0.01,"description":"Price per unit"},"vat_amount":{"type":"number","example":0,"minimum":0,"description":"VAT amount for this line item"},"description":{"type":"string","example":"Legal consultation services","minLength":1,"description":"Description of the line item"},"department_id":{"type":"string","example":"99","minimum":1,"description":"Unique Identifier for the Financial department"},"expense_account_id":{"type":"string","example":"250","minimum":1,"description":"Unique Identifier for the Expense account"}}},"minItems":1,"description":"Line items for the vendor bill"},"description":{"type":"string","example":"Legal services for Q1 2025","minLength":1,"description":"General description of the vendor bill"},"external_id":{"type":"string","example":"brightflag-invoice-12345","minLength":1,"description":"External system identifier (e.g., Brightflag ID)"},"subsidiary_id":{"type":"string","example":"456","minimum":1,"description":"Unique identifier for the Deel legal entity/subsidiary"}}}}}}},"required":true,"description":"Create vendor bills from external invoice provider data"}}},"/timesheets/root-presets":{"post":{"tags":["Projects"],"summary":"Create Hourly Report Root Preset","operationId":"createHourlyReportRootPreset","description":"Create a new hourly report root preset.\n **Token scopes**: `timesheets:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the created root preset"},"async_task":{"type":"object","properties":{"id":{"type":"integer","example":12345,"description":"The identifier of the asynchronous task processing this request"}}}}}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Organization is required"}}}}},"description":"Bad Request"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["timesheets:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["title"],"properties":{"file":{"type":"string","format":"binary","example":"template.pdf","nullable":true,"description":"Optional file attachment for the root preset"},"type":{"enum":["RATE","TRACKING"],"type":"string","example":"RATE","description":"The type of preset, RATE – indicates a preset that overrides the default contract rate, TRACKING - used exclusively for tracking, applying the default contract rate"},"title":{"type":"string","example":"Standard Monthly Timesheet Template","maxLength":255,"description":"The title of the hourly report root preset (maximum 255 characters)"},"description":{"type":"string","example":"Base template for monthly timesheet reporting across all contracts","maxLength":30000,"description":"Detailed description of the root preset's purpose and usage (maximum 30000 characters)"},"hourly_report_presets":{"type":"array","items":{"type":"object","required":["contract_id"],"properties":{"file":{"type":"string","format":"binary","example":"contract_specific_template.pdf","nullable":true,"description":"Optional file attachment for this specific preset instance"},"rate":{"type":"number","example":75.5,"minimum":0.1,"description":"The hourly rate for this preset (must be greater than 0)"},"title":{"type":"string","example":"Client A Monthly Timesheet","maxLength":255,"description":"The title for this specific preset instance (maximum 255 characters)"},"action_type":{"enum":["ADD"],"type":"string","default":"ADD","example":"ADD","description":"The action to perform with this preset (currently only ADD is supported)"},"contract_id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the contract this preset is associated with"},"description":{"type":"string","example":"Monthly timesheet template customized for Client A's reporting requirements","nullable":true,"maxLength":30000,"description":"Detailed description for this specific preset instance (maximum 30000 characters)"}}},"default":[],"description":"Array of preset configurations to be created along with the root preset"},"hourly_report_presets_processing_type":{"enum":["ASYNC","SYNC"],"type":"string","default":"SYNC","example":"SYNC","description":"Determines whether presets should be processed synchronously or asynchronously"}}}}},"required":true}},"get":{"tags":["Projects"],"summary":"Get Hourly Report Root Presets","operationId":"getHourlyReportRootPresets","description":"Retrieve a list of hourly report root presets.\n **Token scopes**: `timesheets:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data","page"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","title","description","hourly_report_presets_count","contracts_count"],"properties":{"id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the hourly report root preset"},"file":{"type":"object","nullable":true,"properties":{"id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the file"},"name":{"type":"string","example":"your_file_name","description":"The name of the file"},"type":{"type":"string","example":"pdf","description":"The type of the file"}}},"type":{"enum":["RATE","TRACKING"],"type":"string","example":"RATE","description":"The type of preset, RATE – indicates a preset that overrides the default contract rate, TRACKING - used exclusively for tracking, applying the default contract rate"},"title":{"type":"string","example":"Standard Monthly Template","description":"The title of the hourly report root preset"},"description":{"type":"string","example":"Base template for monthly timesheet reporting","description":"Detailed description of the hourly report root preset"},"contracts_count":{"type":"integer","example":5,"description":"Number of contracts using this root preset"},"hourly_report_presets_count":{"type":"integer","example":12,"description":"Number of hourly report presets created from this root preset"}}}},"page":{"type":"object","required":["total_rows","cursor"],"properties":{"cursor":{"type":"string","example":"next_page_token_123","description":"Pagination cursor for fetching the next set of results"},"total_rows":{"type":"integer","example":100,"description":"Total number of root presets available"}}}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Organization is required"}}}}},"description":"Bad Request"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"query","name":"limit","schema":{"type":"integer","default":10,"maximum":100},"example":20,"description":"Maximum number of items to return per page (max: 100)"},{"in":"query","name":"order_by","schema":{"enum":["created_at"],"type":"string","default":"created_at"},"example":"created_at","description":"Field to order the results by"},{"in":"query","name":"order_direction","schema":{"enum":["ASC","DESC"],"type":"string","default":"DESC"},"example":"DESC","description":"Direction to order the results (ascending or descending)"},{"in":"query","name":"work_statement_statuses","schema":{"type":"array","items":{"type":"string"},"default":["ACTIVE","PENDING","INITIAL"]},"example":["ACTIVE","PENDING"],"description":"Filter results by work statement status"},{"in":"query","name":"cursor","schema":{"type":"string"},"example":"next_page_token_123","description":"Pagination cursor for fetching the next page of results"}],"security":[{"deelToken":[]},{"oauth2":["timesheets:read"]}]}},"/escalations/workers/me/hrx":{"get":{"tags":["Worker HR"],"summary":"Get HRX manager for worker","operationId":"getHrxManagerForWorker","description":"Use this endpoint to retrieve details of the Human Resource Experience (HRX) Manager assigned to a worker. This can be used to display contact and scheduling information for the HRX representative. Only accessible to employees with appropriate permissions.\n **Token scopes**: `worker:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","required":["id","name","avatar","cal_com_link","created_at","updated_at"],"properties":{"id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","description":"Unique identifier (UUID) for the HRX representative"},"name":{"type":"string","example":"Person Name","description":"Full name of the HRX representative","x-sensitive-pii":true,"x-sensitive-employment":true},"avatar":{"type":"string","example":"www.storage.com/person/avatar.png","description":"URL to the HRX representative's avatar/profile picture","x-sensitive-pii":true},"created_at":{"type":"string","format":"date-time","example":"2024-01-15T10:30:00Z","description":"Timestamp when the HRX record was created"},"updated_at":{"type":"string","format":"date-time","example":"2024-01-15T10:30:00Z","description":"Timestamp when the HRX record was last updated"},"cal_com_url":{"type":"string","example":"https://www.website.com/schedule-a-call","description":"A link to schedule call with HRX Manager"}}}}}}},"description":"Successful operation. Returns HRX representative information for the worker based on their country."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"unauthorized","description":"Machine-readable error code"},"message":{"type":"string","example":"User is no authorized to use read this information","description":"Human-readable explanation of the error"}}}}}}}},"description":"Forbidden - user is not authorized to access this resource. Only employees can access HRX information."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"not_found","description":"Machine-readable error code"},"message":{"type":"string","example":"No assigned HRX Manager found","description":"Human-readable explanation of the error"}}}}}}}},"description":"Not Found - There is no assignment of HRX Manager against this worker"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"service_unavailable","description":"Machine-readable error code"},"message":{"type":"string","example":"The service is currently experiencing issues","description":"Human-readable explanation of the error"}}}}}}}},"description":"Internal server error - unexpected error occurred while processing the request."}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["worker:read"]}]}},"/people/custom_fields":{"get":{"tags":["Custom Fields"],"summary":"List all people custom fields","operationId":"listAllPeopleCustomFields","description":"Fetch all custom fields associated with People records, offering additional personalized information.\n **Token scopes**: `people:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Unique identifier of the custom field"},"name":{"type":"string","example":"Custom Field Name","maxLength":255,"description":"Name of the custom field"},"type":{"oneOf":[{"type":"object","required":["name"],"properties":{"name":{"enum":["text","number","date","percentage"],"type":"string","example":"text","description":"Simple types"}}},{"type":"object","required":["name","is_fixed"],"properties":{"name":{"enum":["currency"],"type":"string","example":"currency","description":"Currency type"},"currency":{"type":"string","example":"USD","nullable":true,"maxLength":3,"description":"Currency code"},"is_fixed":{"type":"boolean","example":true,"description":"When currency is fixed, only the amount can be edited by the users"}}},{"type":"object","required":["name","options"],"properties":{"name":{"enum":["list","multiselect"],"type":"string","example":"list","description":"List types"},"options":{"type":"array","items":{"type":"string"},"example":["Option 1","Option 2"],"description":"List of options for the custom field"}}}],"example":"text","description":"Type of the custom field"},"settings":{"type":"object","required":["required","is_enabled","access"],"properties":{"access":{"type":"object","required":["is_sensitive"],"properties":{"provided_by":{"enum":["organization","worker"],"type":"string","example":"organization","nullable":true,"description":"Entity providing access to the custom field"},"is_sensitive":{"type":"boolean","example":true,"description":"Whether the custom field is sensitive"},"group_permission_set":{"type":"string","example":"custom_fields_set1","nullable":true,"description":"Permission set identifier for the custom field"}},"description":"Access settings for the custom field"},"required":{"type":"boolean","example":true,"description":"Whether the custom field is required"},"countries":{"type":"array","items":{"type":"string"},"example":["CA","GB","US"],"description":"Countries for which the custom field is applicable."},"is_enabled":{"type":"boolean","example":true,"description":"Whether the custom field is enabled"},"worker_types":{"type":"array","items":{"enum":["eor","contractor","hris_direct_employee","direct_employee","contractor_outside_deel"],"type":"string"},"example":["eor","contractor"],"description":"Worker types for which the custom field is applicable"}},"description":"Settings for the custom field"},"placement":{"enum":["profile","contract"],"type":"string","example":"profile","nullable":true,"description":"Valid placements for custom field"},"created_at":{"type":"string","format":"date-time","example":"2022-01-01T00:00:00Z","description":"Creation date of the custom field"},"description":{"type":"string","example":"Description of the custom field","nullable":true,"maxLength":140,"description":"Description of the custom field"}}}}}}}},"description":"Successful response"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Error message"}}}}},"description":"Internal Server Error"}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["people:read"]}]}},"/contracts/{contract_id}":{"get":{"tags":["Contracts"],"summary":"Retrieve a single contract","operationId":"retrieveASingleContract-v2026-01-01","description":"Retrieve a single contract.\n **Token scopes**: `contracts:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","title","type","status","created_at","updated_at","special_clause","start_date","termination_date","is_archived","client","worker","invitations","signatures"],"properties":{"id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","nullable":false,"minLength":1,"description":"Unique identifier for the contract."},"type":{"enum":["ongoing_time_based","milestones","time_based","pay_as_you_go_time_based","commission","payg_milestones","payg_tasks","contractor_outside_deel","eor","unknown","employee","global_payroll","shield_msa","hris_direct_employee","peo"],"type":"string","example":"ongoing_time_based","description":"Type of a contract."},"quote":{"type":"object","properties":{"benefits":{"type":"array","items":{"type":"object","properties":{"fee":{"type":"number","example":200.5,"description":"Fee in local currency."},"name":{"type":"string","example":"Health Insurance","description":"Benefit's name."},"plan":{"type":"string","example":"Premium","description":"Benefit's plan."},"price":{"type":"number","example":150.75,"description":"Price in local currency."},"fee_usd":{"type":"number","example":220,"description":"Fee in USD."},"currency":{"type":"string","example":"USD","pattern":"^[A-Z]{3}$","nullable":false,"maxLength":3,"minLength":3,"description":"Currency code."},"price_usd":{"type":"number","example":170.5,"description":"Price in USD."}}},"example":[{"fee":200.5,"name":"Health Insurance","plan":"Premium","price":150.75,"fee_usd":220,"currency":"USD","price_usd":170.5}],"description":"Array of benefits."},"currency":{"type":"string","example":"USD","pattern":"^[A-Z]{3}$","maxLength":3,"minLength":3,"description":"Currency used for the quote."}},"description":"EOR quote approved by Deel."},"title":{"type":"string","example":"Software Development Contract","nullable":false,"minLength":1,"description":"Title of the contract."},"client":{"type":"object","nullable":true,"required":["team"],"properties":{"id":{"type":"string","example":"team-abc123","description":"Unique identifier of this resource."},"team":{"type":"object","required":["id","name"],"properties":{"id":{"oneOf":[{"type":"string","example":"team-xyz789","description":"Unique identifier of this resource (string format)."},{"type":"number","example":4524200,"description":"Unique identifier of this resource (numeric format)."}],"example":"team-xyz789","description":"Unique identifier of this resource."},"name":{"type":"string","example":"Engineering Team","nullable":false,"description":"Name of a team."}},"description":"Team information for the client organization."},"email":{"type":"string","format":"email","example":"client@example.com","nullable":true,"minLength":5,"description":"User's email address."},"full_name":{"type":"string","example":"Acme Corp","description":"Full name of the client."},"legal_entity":{"type":"object","nullable":true,"properties":{"id":{"type":"string","example":"team-xyz789","description":"Unique identifier of this resource."},"name":{"type":"string","example":"Engineering Team","nullable":false,"description":"Name of a team."},"type":{"type":"string","example":"company","nullable":true,"description":"Type of the legal entity."},"email":{"type":"string","example":"test@example.com","nullable":true,"description":"Email address of the legal entity."},"subtype":{"type":"string","example":"general-partnership","nullable":true,"description":"Sub-type of the legal entity."},"vat_number":{"type":"string","example":"123456789","nullable":true,"description":"VAT number of the legal entity."},"registration_number":{"type":"string","example":"123456789","nullable":true,"description":"Registration number of the legal entity."}},"description":"Legal entity details of the client."}},"description":"Client details associated with the contract."},"status":{"enum":["new","under_review","waiting_for_employee_contract","waiting_for_client_sign","processing_payment","waiting_for_contractor_sign","waiting_for_eor_sign","waiting_for_employee_sign","awaiting_deposit_payment","in_progress","completed","cancelled","user_cancelled","rejected","waiting_for_client_payment","onboarding","waiting_for_approval","onboarded"],"type":"string","example":"in_progress","nullable":false,"description":"Status of a contract in Deel workflow."},"worker":{"type":"object","nullable":true,"properties":{"id":{"type":"string","example":"team-abc123","description":"Unique identifier of this resource."},"email":{"type":"string","format":"email","example":"client@example.com","nullable":true,"minLength":5,"description":"User's email address.","x-sensitive-pii":true},"country":{"type":"string","example":"US","nullable":true,"description":"Country of the worker.","x-sensitive-pii":true},"full_name":{"type":"string","example":"Acme Corp","description":"Full name of the client.","x-sensitive-pii":true},"last_name":{"type":"string","example":"Doe","description":"Last name of the worker.","x-sensitive-pii":true},"first_name":{"type":"string","example":"John","description":"First name of the worker.","x-sensitive-pii":true},"nationality":{"type":"string","example":"US","nullable":true,"description":"Nationality of the worker.","x-sensitive-pii":true},"date_of_birth":{"anyOf":[{"type":"string","format":"date","example":"1990-01-01","description":"Date of birth of the worker.","x-sensitive-pii":true},{"type":"string","example":"","maxLength":0,"description":"Date of birth of the worker.","x-sensitive-pii":true}]},"expected_email":{"type":"string","example":"test@example.com","description":"Expected email address of the worker (e.g., invitation target email).","x-sensitive-pii":true},"alternate_email":{"type":"array","items":{"type":"object","title":"Root Schema","properties":{"email":{"type":"string","example":"test@example.com","description":"Email address of the worker."},"isVerified":{"type":"boolean","title":"True if email has been verified","example":true,"description":"Indicates whether this alternate email address has been verified."}}},"nullable":true,"description":"List of alternate email addresses.","x-sensitive-pii":true}},"description":"Worker details associated with the contract."},"location":{"type":"string","example":"Spain","nullable":true,"description":"Location name associated with the contract."},"job_title":{"type":"string","example":"Backend Developer","description":"Job title associated with the contract."},"seniority":{"type":"object","nullable":true,"properties":{"id":{"type":"number","example":1,"nullable":true,"description":"Unique identifier of this resource."},"name":{"type":"string","example":"Mid (Individual Contributor Level 2)","nullable":true,"description":"Name of seniority level e.g. Mid (Individual Contributor Level 2)."},"level":{"type":"number","example":2,"nullable":true,"description":"Level of seniority level e.g. 2."}},"description":"Seniority describes level of expertise at a job e.g. junior."},"created_at":{"type":"string","format":"date-time","example":"2022-01-01T00:00:00Z","description":"Date and time when the contract was created."},"signatures":{"type":"object","properties":{"signed_at":{"type":"string","format":"date-time","example":"2022-01-01T00:00:00Z","nullable":true,"description":"Date and time when the contract was signed."},"client_signature":{"type":"string","example":"Jane Doe","nullable":false,"description":"Client representative signature (typically a name)."},"client_signed_at":{"type":"string","format":"date-time","example":"2022-01-01T00:00:00Z","nullable":true,"description":"Date and time when the client signed the contract."},"worker_signature":{"type":"string","example":"Jane Doe","nullable":false,"description":"Worker signature (typically a name).","x-sensitive-pii":true},"worker_signed_at":{"type":"string","format":"date-time","example":"2022-01-01T00:00:00Z","nullable":true,"description":"Date and time when the worker signed the contract."}},"description":"Signature information for the contract parties."},"start_date":{"type":"string","format":"date-time","example":"2022-01-01T00:00:00Z","description":"Date and time when the contract starts."},"updated_at":{"type":"string","format":"date-time","example":"2022-05-02T00:00:00Z","description":"Date and time when the contract was updated."},"external_id":{"type":"string","example":"external_id","nullable":true,"description":"External identifier of the contract."},"invitations":{"type":"object","properties":{"client_email":{"type":"string","example":"client@example.com","nullable":true,"description":"User's email address."},"worker_email":{"type":"string","example":"worker@example.com","nullable":true,"description":"User's email address.","x-sensitive-pii":true}},"description":"Invitation email addresses for signing the contract."},"is_archived":{"type":"boolean","example":"false","nullable":true,"description":"Flag to indicate if the contract is archived."},"who_reports":{"type":"string","example":"client","description":"Who reports the hours."},"cost_centers":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","example":"6P73USR022JKJ2KU1","description":"Cost center name."},"number":{"type":"string","example":"553","description":"Cost center number."},"allocation_percentage":{"type":"number","example":100,"description":"Percentage of the cost center allocation."}}},"description":"List of cost centers associated with the contract."},"product_area":{"type":"number","example":1234,"nullable":true,"description":"Product area code associated with the contract."},"custom_fields":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"64f65ef7-4d4d-4a26-b745-0398bb49f7f5","nullable":true,"description":"Unique identifier of the custom field."},"name":{"type":"string","example":"Employee ID","nullable":false,"description":"Custom field property name."},"value":{"type":"string","example":"54234","nullable":false,"description":"Custom field property value."}},"description":"Customized attributes on contracts (Employee ID, Project code, etc)."},"nullable":true,"description":"List of custom fields attached to the contract."},"notice_period":{"type":"number","example":30,"nullable":true,"description":"Notice period in days."},"scope_of_work":{"type":"string","example":"Scope of work","nullable":true,"description":"Scope of work of the contract."},"work_schedule":{"type":"object","nullable":true,"required":["name","work_hours_per_week","country","worker_types","work_schedule_type","days"],"properties":{"days":{"type":"array","items":{"type":"object","required":["day","start","end","work_hours"],"properties":{"day":{"enum":["MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY","SUNDAY"],"type":"string","example":"MONDAY","description":"Day of the week"},"end":{"type":"string","format":"time","example":"17:00:00","pattern":"^([01]?[0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$","nullable":true,"description":"End time for the work day (HH:MM:SS format)"},"start":{"type":"string","format":"time","example":"09:00:00","pattern":"^([01]?[0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$","description":"Start time for the work day (HH:MM:SS format)"},"work_hours":{"type":"number","format":"float","example":8,"maximum":24,"minimum":0,"description":"Number of working hours for this day"}},"description":"Defines working hours for a specific day of the week"},"description":"Working days and hours configuration"},"name":{"type":"string","example":"34ZNYKYL3G","maxLength":50,"description":"Unique identifier or name for the work schedule"},"country":{"type":"string","example":"IN","pattern":"^[A-Z]{2}$","description":"Country code where this work schedule applies (ISO 3166-1 alpha-2)"},"worker_types":{"type":"array","items":{"enum":["SALARIED_DIRECT_EMPLOYEE_PAYROLL","SALARIED_HRIS_DIRECT_EMPLOYEE","SALARIED_EOR_EMPLOYEE","HOURLY_EOR_EMPLOYEE","HOURLY_DIRECT_EMPLOYEE_PAYROLL"],"type":"string"},"minItems":1,"description":"List of worker types that can use this schedule"},"employment_type":{"enum":["FULL_TIME","PART_TIME","CONTRACT","TEMPORARY",null],"type":"string","example":"FULL_TIME","nullable":true,"description":"Type of employment arrangement"},"work_schedule_type":{"type":"string","example":"Fixed work schedule","description":"Work schedule type"},"work_hours_per_week":{"type":"integer","example":40,"maximum":168,"minimum":1,"description":"Total number of working hours per week"}},"description":"Defines a work schedule including working days, hours, and employment details"},"special_clause":{"type":"string","example":"Special clause","nullable":true,"description":"Special clause of the contract."},"employment_type":{"enum":["FULL_TIME","PART_TIME",null],"type":"string","example":"FULL_TIME","nullable":true,"description":"Type of employment."},"termination_date":{"type":"string","example":"2022-01-01T00:00:00Z","nullable":true,"description":"Date and time when the contract ends."},"contract_template":{"type":"object","nullable":true,"properties":{"id":{"type":"string","example":"37nex2x","description":"Unique identifier of a contract template."},"title":{"type":"string","example":"UK Employment Contract 2022.","description":"Title of a contract template"}},"description":"Contract template details."},"work_statement_id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","nullable":true,"description":"The unique identifier of the associated work statement."},"employment_details":{"type":"object","properties":{"type":{"type":"string","example":"full_time","description":"Type of employment."},"days_per_week":{"type":"number","example":5,"description":"Number of days per week."},"hours_per_day":{"type":"number","example":8,"description":"Number of hours per day."},"probation_period":{"type":"number","example":30,"nullable":true,"description":"Probation period in days."},"paid_vacation_days":{"type":"number","example":20,"description":"Number of paid vacation days."}},"description":"Employment-related details for the contract.","x-sensitive-employment":true},"compensation_details":{"type":"object","properties":{"scale":{"type":"string","example":"hourly","nullable":true,"description":"Scale of the payment."},"amount":{"type":"string","example":100,"nullable":true,"description":"Amount to be paid. This field can be excluded when creating a Pay-as-you-go task-based or Milestone contracts."},"cycle_end":{"type":"number","example":31,"nullable":true,"description":"Day of the cycle end"},"frequency":{"type":"string","example":"monthly","description":"Scale of the invoice cycle."},"currency_code":{"type":"string","example":"GBP","pattern":"^[A-Z]{3}$","nullable":true,"maxLength":3,"minLength":3,"description":"Currency code."},"first_payment":{"type":"string","example":"500","nullable":true,"description":"First payment amount."},"cycle_end_type":{"enum":["DAY_OF_WEEK","DAY_OF_LAST_WEEK","DAY_OF_MONTH",null],"type":"string","example":"DAY_OF_MONTH","nullable":true,"description":" Cycle end type"},"first_payment_date":{"type":"string","example":"2024-08-30T20:59:59.999+00:00","nullable":true,"description":"First payment date."},"gross_annual_salary":{"type":"string","example":"50000","nullable":true,"description":"Gross annual salary."},"gross_signing_bonus":{"type":"string","example":"5000","nullable":true,"description":"Gross signing bonus."},"gross_variable_bonus":{"type":"string","example":"5000","nullable":true,"description":"Gross variable bonus."}},"description":"Compensation and payment configuration for the contract.","x-sensitive-employment":true}}}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Not Found","description":"Error response"}}},"description":"Error messages"},"request":{"type":"object","properties":{"method":{"type":"string","example":"GET","description":"Method of the API"},"status":{"type":"number","example":404,"description":"Status of API response"}},"description":"Error request details"}}}}},"description":"Not found"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"query","name":"expand","schema":{"enum":["cost_centers"],"type":"string"},"example":"cost_centers","description":"Include cost centers in the response."},{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"37nex2x","required":true,"description":"Unique identifier of the contract."}],"security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]},"patch":{"tags":["Contracts"],"summary":"Add external Id","operationId":"addExternalId","description":"Add an external Id to a Deel contract. You can use this to add a Deel contract's refernece Id in your platform. External Id can be passed as a query parameter in List contract endpoint to find this contract later.\n **Token scopes**: `contracts:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["id","title","type","status","created_at","updated_at","special_clause","start_date","termination_date","is_archived","client","worker","invitations","signatures"],"properties":{"id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","nullable":false,"minLength":1,"description":"Unique identifier for the contract."},"type":{"enum":["ongoing_time_based","milestones","time_based","pay_as_you_go_time_based","commission","payg_milestones","payg_tasks","contractor_outside_deel","eor","unknown","employee","global_payroll","shield_msa","hris_direct_employee","peo"],"type":"string","example":"ongoing_time_based","description":"Type of a contract."},"quote":{"type":"object","properties":{"benefits":{"type":"array","items":{"type":"object","properties":{"fee":{"type":"number","example":200.5,"description":"Fee in local currency."},"name":{"type":"string","example":"Health Insurance","description":"Benefit's name."},"plan":{"type":"string","example":"Premium","description":"Benefit's plan."},"price":{"type":"number","example":150.75,"description":"Price in local currency."},"fee_usd":{"type":"number","example":220,"description":"Fee in USD."},"currency":{"type":"string","example":"USD","pattern":"^[A-Z]{3}$","nullable":false,"maxLength":3,"minLength":3,"description":"Currency code."},"price_usd":{"type":"number","example":170.5,"description":"Price in USD."}}},"example":[{"fee":200.5,"name":"Health Insurance","plan":"Premium","price":150.75,"fee_usd":220,"currency":"USD","price_usd":170.5}],"description":"Array of benefits."},"currency":{"type":"string","example":"USD","pattern":"^[A-Z]{3}$","maxLength":3,"minLength":3,"description":"Currency used for the quote."}},"description":"EOR quote approved by Deel."},"title":{"type":"string","example":"Software Development Contract","nullable":false,"minLength":1,"description":"Title of the contract."},"client":{"type":"object","nullable":true,"required":["team"],"properties":{"id":{"type":"string","example":"team-abc123","description":"Unique identifier of this resource."},"team":{"type":"object","required":["id","name"],"properties":{"id":{"oneOf":[{"type":"string","example":"team-xyz789","description":"Unique identifier of this resource (string format)."},{"type":"number","example":4524200,"description":"Unique identifier of this resource (numeric format)."}],"example":"team-xyz789","description":"Unique identifier of this resource."},"name":{"type":"string","example":"Engineering Team","nullable":false,"description":"Name of a team."}},"description":"Team information for the client organization."},"email":{"type":"string","nullable":true,"description":"User's email address. It can be an empty string when no email has been provided for the worker. This can happen for draft contracts or workers with incomplete onboarding."},"full_name":{"type":"string","example":"Acme Corp","description":"Full name of the client."},"legal_entity":{"type":"object","nullable":true,"properties":{"id":{"type":"string","example":"team-xyz789","description":"Unique identifier of this resource."},"name":{"type":"string","example":"Engineering Team","nullable":false,"description":"Name of a team."},"type":{"type":"string","example":"company","nullable":true,"description":"Type of the legal entity."},"email":{"type":"string","example":"test@example.com","nullable":true,"description":"Email address of the legal entity."},"subtype":{"type":"string","example":"general-partnership","nullable":true,"description":"Sub-type of the legal entity."},"vat_number":{"type":"string","example":"123456789","nullable":true,"description":"VAT number of the legal entity."},"registration_number":{"type":"string","example":"123456789","nullable":true,"description":"Registration number of the legal entity."}},"description":"Legal entity details of the client."}},"description":"Client details associated with the contract."},"status":{"enum":["new","under_review","waiting_for_employee_contract","waiting_for_client_sign","processing_payment","waiting_for_contractor_sign","waiting_for_eor_sign","waiting_for_employee_sign","awaiting_deposit_payment","in_progress","completed","cancelled","user_cancelled","rejected","waiting_for_client_payment","onboarding","waiting_for_approval","onboarded"],"type":"string","example":"in_progress","nullable":false,"description":"Status of a contract in Deel workflow."},"worker":{"type":"object","nullable":true,"properties":{"id":{"type":"string","example":"team-abc123","description":"Unique identifier of this resource."},"email":{"type":"string","format":"email","example":"client@example.com","nullable":true,"minLength":5,"description":"User's email address.","x-sensitive-pii":true,"x-sensitive-employment":true},"country":{"type":"string","example":"US","nullable":true,"description":"Country of the worker.","x-sensitive-pii":true},"full_name":{"type":"string","example":"Acme Corp","description":"Full name of the client.","x-sensitive-pii":true,"x-sensitive-employment":true},"last_name":{"type":"string","example":"Doe","description":"Last name of the worker.","x-sensitive-pii":true,"x-sensitive-employment":true},"first_name":{"type":"string","example":"John","description":"First name of the worker.","x-sensitive-pii":true,"x-sensitive-employment":true},"nationality":{"type":"string","example":"US","nullable":true,"description":"Nationality of the worker.","x-sensitive-pii":true},"date_of_birth":{"oneOf":[{"type":"string","format":"date-time","example":"1990-01-01T00:00:00Z","description":"Full ISO 8601 date-time."},{"type":"string","format":"date","example":"1990-01-01","description":"Full ISO 8601 date (YYYY-MM-DD)."},{"enum":[""],"type":"string","description":"Empty string for unknown/unset values."}],"description":"Date of birth of the worker. Supports full date-time, date-only, or an empty string.","x-sensitive-pii":true,"x-sensitive-employment":true},"expected_email":{"type":"string","example":"test@example.com","description":"Expected email address of the worker (e.g., invitation target email).","x-sensitive-pii":true,"x-sensitive-employment":true},"alternate_email":{"type":"array","items":{"type":"object","title":"Root Schema","properties":{"email":{"type":"string","example":"test@example.com","description":"Email address of the worker.","x-sensitive-employment":true},"isVerified":{"type":"boolean","title":"True if email has been verified","example":true,"description":"Indicates whether this alternate email address has been verified."}}},"nullable":true,"description":"List of alternate email addresses.","x-sensitive-pii":true}},"description":"Worker details associated with the contract."},"job_title":{"type":"string","example":"Backend Developer","description":"Job title associated with the contract."},"seniority":{"type":"object","nullable":true,"properties":{"id":{"type":"number","example":1,"nullable":true,"description":"Unique identifier of this resource."},"name":{"type":"string","example":"Mid (Individual Contributor Level 2)","nullable":true,"description":"Name of seniority level e.g. Mid (Individual Contributor Level 2)."},"level":{"type":"number","example":2,"nullable":true,"description":"Level of seniority level e.g. 2."}},"description":"Seniority describes level of expertise at a job e.g. junior."},"created_at":{"type":"string","format":"date-time","example":"2022-01-01T00:00:00Z","description":"Date and time when the contract was created."},"signatures":{"type":"object","properties":{"signed_at":{"type":"string","format":"date-time","example":"2022-01-01T00:00:00Z","nullable":true,"description":"Date and time when the contract was signed."},"client_signature":{"type":"string","example":"Jane Doe","nullable":false,"description":"Client representative signature (typically a name)."},"client_signed_at":{"type":"string","format":"date-time","example":"2022-01-01T00:00:00Z","nullable":true,"description":"Date and time when the client signed the contract."},"worker_signature":{"type":"string","example":"Jane Doe","nullable":false,"description":"Worker signature (typically a name).","x-sensitive-pii":true,"x-sensitive-employment":true},"worker_signed_at":{"type":"string","format":"date-time","example":"2022-01-01T00:00:00Z","nullable":true,"description":"Date and time when the worker signed the contract."}},"description":"Signature information for the contract parties."},"start_date":{"type":"string","format":"date-time","example":"2022-01-01T00:00:00Z","description":"Date and time when the contract starts."},"updated_at":{"type":"string","format":"date-time","example":"2022-05-02T00:00:00Z","description":"Date and time when the contract was updated."},"external_id":{"type":"string","example":"external_id","nullable":true,"description":"External identifier of the contract."},"invitations":{"type":"object","properties":{"client_email":{"type":"string","example":"client@example.com","nullable":true,"description":"User's email address."},"worker_email":{"type":"string","example":"worker@example.com","nullable":true,"description":"User's email address.","x-sensitive-pii":true,"x-sensitive-employment":true}},"description":"Invitation email addresses for signing the contract."},"is_archived":{"type":"boolean","example":"false","nullable":true,"description":"Flag to indicate if the contract is archived."},"who_reports":{"type":"string","example":"client","description":"Who reports the hours."},"cost_centers":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","example":"6P73USR022JKJ2KU1","description":"Cost center name."},"number":{"type":"string","example":"553","description":"Cost center number."},"allocation_percentage":{"type":"number","example":100,"description":"Percentage of the cost center allocation."}}},"description":"List of cost centers associated with the contract."},"custom_fields":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","example":"Employee ID","nullable":false,"description":"Custom field property name."},"value":{"type":"string","example":"54234","nullable":false,"description":"Custom field property value."}},"description":"Customized attributes on contracts (Employee ID, Project code, etc)."},"nullable":true,"description":"List of custom fields attached to the contract."},"notice_period":{"type":"number","example":30,"nullable":true,"description":"Notice period in days."},"scope_of_work":{"type":"string","example":"Scope of work","nullable":true,"description":"Scope of work of the contract."},"work_schedule":{"type":"object","nullable":true,"required":["name","work_hours_per_week","country","worker_types","work_schedule_type","days"],"properties":{"days":{"type":"array","items":{"type":"object","required":["day","start","end","work_hours"],"properties":{"day":{"enum":["MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY","SUNDAY"],"type":"string","example":"MONDAY","description":"Day of the week"},"end":{"type":"string","format":"time","example":"17:00:00","pattern":"^([01]?[0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$","nullable":true,"description":"End time for the work day (HH:MM:SS format)"},"start":{"type":"string","format":"time","example":"09:00:00","pattern":"^([01]?[0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$","description":"Start time for the work day (HH:MM:SS format)"},"work_hours":{"type":"number","format":"float","example":8,"maximum":24,"minimum":0,"description":"Number of working hours for this day"}},"description":"Defines working hours for a specific day of the week"},"description":"Working days and hours configuration"},"name":{"type":"string","example":"34ZNYKYL3G","maxLength":50,"description":"Unique identifier or name for the work schedule"},"country":{"type":"string","example":"IN","pattern":"^[A-Z]{2}$","description":"Country code where this work schedule applies (ISO 3166-1 alpha-2)"},"worker_types":{"type":"array","items":{"enum":["SALARIED_DIRECT_EMPLOYEE_PAYROLL","SALARIED_HRIS_DIRECT_EMPLOYEE","SALARIED_EOR_EMPLOYEE","HOURLY_EOR_EMPLOYEE","HOURLY_DIRECT_EMPLOYEE_PAYROLL"],"type":"string"},"minItems":1,"description":"List of worker types that can use this schedule"},"employment_type":{"enum":["FULL_TIME","PART_TIME","CONTRACT","TEMPORARY",null],"type":"string","example":"FULL_TIME","nullable":true,"description":"Type of employment arrangement"},"work_schedule_type":{"type":"string","example":"Fixed work schedule","description":"Work schedule type"},"work_hours_per_week":{"type":"integer","example":40,"maximum":168,"minimum":1,"description":"Total number of working hours per week"}},"description":"Defines a work schedule including working days, hours, and employment details"},"special_clause":{"type":"string","example":"Special clause","nullable":true,"description":"Special clause of the contract."},"employment_type":{"enum":["FULL_TIME","PART_TIME",null],"type":"string","example":"FULL_TIME","nullable":true,"description":"Type of employment."},"termination_date":{"type":"string","example":"2022-01-01T00:00:00Z","nullable":true,"description":"Date and time when the contract ends."},"contract_template":{"type":"object","nullable":true,"properties":{"id":{"type":"string","example":"37nex2x","description":"Unique identifier of a contract template."},"title":{"type":"string","example":"UK Employment Contract 2022.","description":"Title of a contract template"}},"description":"Contract template details."},"work_statement_id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","nullable":true,"description":"The unique identifier of the associated work statement."},"employment_details":{"type":"object","properties":{"type":{"type":"string","example":"full_time","description":"Type of employment."},"days_per_week":{"type":"number","example":5,"description":"Number of days per week."},"hours_per_day":{"type":"number","example":8,"description":"Number of hours per day."},"probation_period":{"type":"number","example":30,"nullable":true,"description":"Probation period in days."},"paid_vacation_days":{"type":"number","example":20,"description":"Number of paid vacation days."}},"description":"Employment-related details for the contract.","x-sensitive-employment":true},"compensation_details":{"type":"object","properties":{"scale":{"type":"string","example":"hourly","nullable":true,"description":"Scale of the payment."},"amount":{"type":"string","example":100,"nullable":true,"description":"Amount to be paid. This field can be excluded when creating a Pay-as-you-go task-based or Milestone contracts."},"cycle_end":{"type":"number","example":31,"nullable":true,"description":"Day of the cycle end"},"frequency":{"type":"string","example":"monthly","description":"Scale of the invoice cycle."},"currency_code":{"type":"string","example":"GBP","pattern":"^[A-Z]{3}$","nullable":true,"maxLength":3,"minLength":3,"description":"Currency code."},"first_payment":{"type":"string","example":"500","nullable":true,"description":"First payment amount."},"cycle_end_type":{"enum":["DAY_OF_WEEK","DAY_OF_LAST_WEEK","DAY_OF_MONTH",null],"type":"string","example":"DAY_OF_MONTH","nullable":true,"description":" Cycle end type"},"first_payment_date":{"type":"string","example":"2024-08-30T20:59:59.999+00:00","nullable":true,"description":"First payment date."},"gross_annual_salary":{"type":"string","example":"50000","nullable":true,"description":"Gross annual salary."},"gross_signing_bonus":{"type":"string","example":"5000","nullable":true,"description":"Gross signing bonus."},"gross_variable_bonus":{"type":"string","example":"5000","nullable":true,"description":"Gross variable bonus."}},"description":"Compensation and payment configuration for the contract.","x-sensitive-employment":true}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Not found","description":"Error response"}}},"description":"Error messages"},"request":{"type":"object","properties":{"method":{"type":"string","example":"PATCH","description":"Method of the API"},"status":{"type":"number","example":404,"description":"Status of API response"}},"description":"Error request details"}}}}},"description":"Not found"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"37nex2x","required":true,"description":"Deel contract id."}],"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["external_id"],"properties":{"external_id":{"type":"string","example":"5f0b87ae-58bf-4ca6-944a-ecbecf3025d6","nullable":true,"description":"A unique identifier for the object provided by an external system. Use or send null when you want to reset the external id."}}}}}}},"required":true,"description":"Contract object that needs to be created"}}},"/eor/contracts/{contract_id}/amendments/{amendment_id}":{"get":{"tags":["EOR"],"summary":"View information about amendment","operationId":"viewInformationAboutAmendment","description":"Retrieves the full details for a specific EOR contract amendment, including requested changes to salary, scope, and key dates.\n **Token scopes**: `contracts:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"b9fd7198-7e81-4e57-bcf9-de6315194327","description":"Id of amendment"},"type":{"enum":["INSTANT","OPS","LEGAL","DISABLED","CUSTOM","AUTOMATED",null],"type":"string","example":"OPS","nullable":true,"description":"Type of amendment"},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"8e6ba281-c703-4af3-ad93-b27434b70c7d","description":"Id of amendment item"},"item":{"type":"string","example":"SALARY_INCREASE","description":"Amendment item"},"type":{"enum":["INSTANT","OPS","LEGAL","DISABLED","CUSTOM","AUTOMATED"],"type":"string","example":"OPS","description":"Type of amendment"},"new_value":{"type":"string","example":"62382.93","description":"The new valid value after the attempted change."},"data_point":{"type":"string","example":"salary","description":"The field that is selected for amendment."},"previous_value":{"type":"string","example":"68.9170","description":"The previous valid value before the attempted change."}}},"description":"Items of amendment"},"scope":{"type":"string","example":"Project scope details","description":"Scope of the amendment."},"salary":{"type":"string","example":"50000.00","description":"Salary for the amendment.","x-sensitive-employment":true},"source":{"enum":["APP","PUBLIC_API","APP_BULK_AMENDMENT",null],"type":"string","example":"APP","nullable":true,"description":"Source of amendment flow creation."},"currency":{"type":"string","example":"GBP","description":"Contract currency."},"end_date":{"type":"string","format":"date-time","example":"2023-10-04T13:27:20.148Z","nullable":true,"description":"End date of the employment."},"holidays":{"type":"integer","example":20,"nullable":true,"description":"Number of holidays."},"job_code":{"type":"string","example":"49589","nullable":true,"description":"Job code associated with the job title."},"job_title":{"type":"string","example":"Software Engineer","maxLength":1000,"description":"Job title associated with the amendment.","x-sensitive-pii":true},"created_at":{"type":"string","format":"date-time","example":"2023-10-04T13:27:20.148Z","description":"Creation date of the amendment."},"start_date":{"type":"string","format":"date-time","example":"2023-10-04T13:27:20.148Z","description":"Start date of the employment."},"updated_at":{"type":"string","format":"date-time","example":"2023-10-04T13:27:20.148Z","description":"Date when amendment is updated"},"hourly_rate":{"type":"string","example":"50000.00","nullable":true,"description":"Hourly rate of the amendment","x-sensitive-employment":true},"custom_items":{"type":"array","items":{"type":"object","required":["id","type","status"],"properties":{"id":{"type":"string","format":"uuid","example":"e7b45fa6-9a72-4ab6-b163-ef50ccaba7fb","description":"Unique identifier for the custom amendment item"},"type":{"type":"string","example":"START_DATE","description":"Type/context of the custom amendment item"},"status":{"enum":["REJECTED","APPROVED","PENDING_REVIEW","PENDING_LEGAL"],"type":"string","example":"PENDING_REVIEW","description":"Current status of the custom amendment item"},"description":{"type":"string","example":"Please change the start date to 20th November 2025.","nullable":true,"description":"Detailed description of the custom amendment item"},"rejection_reason":{"type":"string","example":"Start date cannot be moved this far in advance.","nullable":true,"description":"Reason for rejection if the item was rejected"}}},"description":"Custom amendment items associated with the amendment flow"},"job_category":{"type":"string","example":"Engineering","nullable":true,"description":"Job category associated with the job title."},"requested_by":{"type":"string","example":"John Doe","nullable":true,"description":"Profile name of the user who requested the change"},"seniority_id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","nullable":true,"description":"Seniority level identifier."},"document_type":{"enum":["EA","SOW","SOW_EA",null],"type":"string","example":"SOW_EA","nullable":true,"description":"Amendment document type"},"legal_context":{"type":"object","example":{"status":"REQUEST_LEGAL_REVIEW","details":"This amendment requires input from the legal team and will be moved to `paused` until it is resolved manually","jira_ticket":"COHDSB-9600","jira_web_url":"https://letsdeel.atlassian.net/browse/COHDSB-9600","requested_at":"2025-04-23T10:40:25.527Z"},"nullable":true,"properties":{"status":{"enum":["REQUEST_LEGAL_REVIEW","WAITING_FOR_ANOTHER_TEAM","WAITING_FOR_HRX_ACTION","DECLINED","SOLVED"],"type":"string","example":"REQUEST_LEGAL_REVIEW","description":"Current status of the legal review process"},"details":{"type":"string","example":"This amendment requires input from the legal team and will be moved to `paused` until it is resolved manually","description":"Details regarding the legal request"},"jira_ticket":{"type":"string","example":"COHDSB-9600","description":"Jira ticket identifier linked to the legal context"},"jira_web_url":{"type":"string","format":"uri","example":"https://letsdeel.atlassian.net/browse/COHDSB-9600","description":"Link to the Jira ticket for tracking"},"requested_at":{"type":"string","format":"date-time","example":"2025-04-23T10:40:25.527Z","description":"Timestamp when legal review was requested"}},"description":"Additional details needed for legal input"},"time_off_type":{"enum":["STANDARD","SPECIFIC","PRORATED"],"type":"string","example":"STANDARD","description":"Type of time off."},"void_deadline":{"type":"string","format":"date-time","example":"2023-01-01T00:00:00Z","nullable":true,"description":"Deadline this SOW to be voided"},"effective_date":{"type":"string","format":"date-time","example":"2023-01-01T00:00:00Z","nullable":true,"description":"Effective date of the amendment."},"seniority_date":{"type":"string","format":"date","example":"2023-01-01","nullable":true,"description":"The seniority date represents the employee’s original start date with a previous employer. It is used to preserve employment tenure when the employee transfers to this company. Can be null if not applicable."},"employment_type":{"enum":["FULL_TIME","PART_TIME"],"type":"string","example":"FULL_TIME","description":"Type of employment."},"sick_leave_days":{"type":"integer","format":"number","example":12,"nullable":true,"description":"Number of sick leave days"},"employment_state":{"type":"string","example":"Active","nullable":true,"description":"State of employment."},"probation_period":{"type":"integer","example":3,"nullable":true,"description":"Duration of the probation period."},"work_schedule_id":{"type":"string","format":"uuid","example":"2b786de3-9b25-42d9-8a2d-61583bcfc09e","nullable":true,"description":"Work schedule id"},"fixed_adjustments":{"type":"array","items":{"type":"object","required":["id","value","description","is_recurring","status","is_amended","is_country_specific","created_at","updated_at"],"properties":{"id":{"type":"string","example":"cmfo0hqd5bw00cqs1b1jd7eag","description":"System-generated unique identifier for the fixed adjustment record in an amendment request."},"value":{"type":"string","example":"1200.50","pattern":"^(?!0+(\\.0+)?$)\\d+(?:\\.\\d+)?$","description":"Value of the fixed adjustment."},"status":{"enum":["WAITING_FOR_SIGNING","ACTIVE","OUTDATED","CANCELLED"],"type":"string","example":"WAITING_FOR_SIGNING","description":"Current status of the fixed adjustment."},"created_at":{"type":"string","format":"date-time","example":"2025-09-22T10:21:13.815Z","description":"Timestamp when the fixed adjustment was created."},"is_amended":{"type":"boolean","example":true,"description":"Whether this fixed adjustment was amended from a previous one."},"is_deleted":{"type":"boolean","example":false,"description":"True if the fixed adjustment was deleted as part of the amendment; otherwise false."},"updated_at":{"type":"string","format":"date-time","example":"2025-09-22T10:21:13.815Z","description":"Timestamp when the fixed adjustment was last updated."},"description":{"type":"string","example":"Housing allowance for employee relocation","maxLength":256,"minLength":1,"description":"Description of the fixed adjustment."},"is_recurring":{"type":"boolean","example":true,"description":"Whether the fixed adjustment is recurring. If set to false, it will be treated as a one-time fixed allowance."},"is_country_specific":{"type":"boolean","example":false,"description":"Whether this fixed adjustment applies only to a specific country."},"parent_fixed_adjustment_id":{"type":"string","example":"cmfo0hqd5i9kbhfvk8fn7aniy","nullable":true,"description":"Reference to the parent fixed adjustment, if applicable."}}},"description":"List of fixed adjustments associated with the amendment request."},"rejection_context":{"type":"object","example":{"rejected_at":"2025-02-24T11:08:57.433Z"},"nullable":true,"properties":{"rejected_at":{"type":"string","format":"date-time","example":"2025-02-24T11:08:57.433Z","description":"Timestamp of when the rejection occurred"}},"description":"Additional details containing rejection reason"},"amendment_statuses":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","example":"ACTIVE","description":"Logical, system-oriented identifier of the amendment status. Can be used to group statuses under a parent category and subgroup them for more granular state tracking. The structure typically follows a dot-separated hierarchy (e.g., 'PARENT','PARENT.CHILD', 'PARENT.CHILD.CHILD.CHILD', ...), which allows logical grouping and filtering of related statuses."},"friendly_name":{"type":"string","example":"ACTIVE","description":"Human-readable label of the amendment status (e.g., DRAFT, PENDING, APPROVED)."},"amendment_flow_status":{"type":"object","properties":{"created_at":{"type":"string","format":"date-time","example":"2023-10-04T13:27:20.148Z","description":"The timestamp when this amendment status was created."}},"description":"Metadata about the amendment status, including when it was created."}},"description":"Details of a specific amendment status in the lifecycle of the amendment."},"description":"List of amendment statuses representing the history and progression of an amendment."},"notice_period_type":{"enum":["STANDARD","CUSTOM",null],"type":"string","example":"CUSTOM","nullable":true,"description":"Type of notice period."},"void_deadline_type":{"enum":["CUTOFF","START_DATE","END_DATE","EXPIRY",null],"type":"string","example":"CUTOFF","nullable":true,"description":"Type of void deadline"},"work_hours_per_week":{"type":"string","example":"40.00","description":"Number of work hours per week.","x-sensitive-employment":true},"employee_nationality":{"type":"string","example":"GB","description":"Nationality of the employee.","x-sensitive-pii":true},"is_hrx_action_needed":{"type":"boolean","example":false,"description":"Is HRX action needed."},"variable_compensation":{"type":"object","required":["id","title","amount","type","timeline","parent_id","effective_date","created_at","updated_at"],"properties":{"id":{"type":"string","example":"cmg0p4zgszy3m8v3a04bd5sjs","description":"The unique ID assigned by the system to this variable compensation record."},"type":{"enum":["FIXED","PERCENTAGE"],"type":"string","example":"FIXED","description":"The way the compensation is calculated. `FIXED` means a fixed amount (like $1000). `PERCENTAGE` means it’s based on a percentage of the salary."},"title":{"type":"string","example":"Bonus","description":"Title or name of the variable compensation."},"amount":{"type":"string","format":"decimal","example":"100000.0000","description":"The value of the compensation. Shown as a string to keep the exact number of decimals."},"timeline":{"enum":["MONTHLY","QUARTERLY","ANNUALLY","BIANNUALLY"],"type":"string","example":"ANNUALLY","description":"How often the compensation is paid — for example monthly, quarterly, annually, or twice a year."},"parent_id":{"type":"string","example":"cmg0p4zgszy3m8v3a04bd5sjs","nullable":true,"description":"Reference to the parent variable compensation, if applicable. Null if this compensation is not linked to any compensation."},"created_at":{"type":"string","format":"date-time","example":"2025-09-26T10:25:50.476Z","description":"The date and time when this record was first created in the system."},"is_amended":{"type":"boolean","example":true,"description":"Shows whether this compensation has been changed as part of an amendment."},"is_deleted":{"type":"boolean","example":true,"description":"Shows whether this compensation has been deleted."},"updated_at":{"type":"string","format":"date-time","example":"2025-09-26T10:25:50.476Z","description":"The date and time when this record was last updated."},"effective_date":{"type":"string","format":"date-time","example":"2025-10-18T00:00:00.000Z","description":"The date when this compensation starts being valid."},"incentive_plan":{"type":"object","properties":{"details":{"type":"string","example":"Year-end performance bonus based on quarterly targets.","description":"Extra details about the incentive plan, if any."},"employee_signature":{"type":"string","example":"John Doe","description":"The employee’s signature for the incentive plan, if collected."},"employee_signed_at":{"type":"string","format":"date-time","example":"2025-12-15T14:30:00.000Z","description":"The date and time when the employee signed the incentive plan. Empty if not signed."}},"description":"Details of the incentive plan linked to this compensation, if any."}},"description":"Represents a variable compensation record (such as a bonus, commission, or incentive) within a contract. It contains details like the amount, type, frequency, and whether it is part of an incentive plan. The record also tracks when it was created, updated, and whether it has been amended."},"notice_period_time_unit":{"enum":["DAY","WEEK","MONTH",null],"type":"string","example":"WEEK","nullable":true,"description":"Notice period time unit."},"is_effective_date_updated":{"type":"boolean","example":false,"description":"Is Effective Date updated."},"work_schedule_rules_version":{"type":"string","example":"2","nullable":true,"description":"Work schedule rule version."},"notice_period_after_probation":{"type":"string","example":"30","nullable":true,"description":"Notice period after probation."},"notice_period_during_probation":{"type":"string","example":"15","nullable":true,"description":"Notice period during probation."},"probation_period_type_for_definite":{"enum":["STANDARD","CUSTOM",null],"type":"string","example":"STANDARD","nullable":true,"description":"Type of probation period for definite contracts."}}}}}}},"description":"Amendment info"},"400":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"VALIDATION_ERROR"},"message":{"type":"string","example":"Internal validation error occurred"}}}}}},"example":{"errors":[{"code":"VALIDATION_ERROR","message":"Internal validation error occurred."}]}}},"description":"Bad Request. The request could not be understood or was missing required parameters."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"AMENDMENT_ERROR","description":"Unique error code identifying the type of not-found error."},"message":{"type":"string","example":"The requested resource could not be found.","description":"Human-readable description of the missing resource."}}}}}}}},"description":"Resource not found (e.g., contract, profile, amendment, change request)."},"500":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"AMENDMENT_ERROR"},"message":{"type":"string","example":"An unexpected error occurred"}}}}}},"example":{"errors":[{"code":"AMENDMENT_ERROR","message":"An unexpected error occurred"}]}}},"description":"Internal server error."}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string","format":"alphanumeric"},"example":"3w6pd6r","required":true,"description":"The unique identifier of EOR worker contract."},{"in":"path","name":"amendment_id","schema":{"type":"string","format":"uuid"},"example":"77733bb9-9e17-4dfd-ba1b-1315f77cd7f7","required":true,"description":"A unique identifier for the employee contract amendment."}],"security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]},"delete":{"tags":["EOR"],"summary":"Cancel amendment","operationId":"cancelAmendment","description":"Cancel a pending employee contract amendment. This action voids the amendment request and prevents it from being reviewed or applied.\n **Token scopes**: `contracts:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["success"],"properties":{"success":{"type":"boolean","example":true}}}}}}},"description":"Successful response"},"400":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"VALIDATION_ERROR"},"message":{"type":"string","example":"Internal validation error occurred"}}}}}},"example":{"errors":[{"code":"VALIDATION_ERROR","message":"Internal validation error occurred."}]}}},"description":"Bad Request. The request could not be understood or was missing required parameters."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"AMENDMENT_ERROR","description":"Unique error code identifying the type of not-found error."},"message":{"type":"string","example":"The requested resource could not be found.","description":"Human-readable description of the missing resource."}}}}}}}},"description":"Resource not found (e.g., contract, profile, amendment, change request)."},"500":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"AMENDMENT_ERROR"},"message":{"type":"string","example":"An unexpected error occurred"}}}}}},"example":{"errors":[{"code":"AMENDMENT_ERROR","message":"An unexpected error occurred"}]}}},"description":"Internal server error."}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string","format":"alphanumeric"},"example":"3w6pd6r","required":true,"description":"The unique identifier of EOR worker contract."},{"in":"path","name":"amendment_id","schema":{"type":"string","format":"uuid"},"example":"77733bb9-9e17-4dfd-ba1b-1315f77cd7f7","required":true,"description":"A unique identifier for the employee contract amendment."}],"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}]},"patch":{"tags":["EOR"],"summary":"Update a specific EOR contract amendment","operationId":"updateASpecificEorContractAmendment","description":"Updates a specific contract amendment. This can only be performed on amendments in a DRAFT status. This action is irreversible and will overwrite any previous draft data.\n **Token scopes**: `contracts:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"b9fd7198-7e81-4e57-bcf9-de6315194327","description":"Id of amendment"},"type":{"enum":["INSTANT","OPS","LEGAL","DISABLED","CUSTOM","AUTOMATED",null],"type":"string","example":"OPS","nullable":true,"description":"Type of amendment"},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"8e6ba281-c703-4af3-ad93-b27434b70c7d","description":"Id of amendment item"},"item":{"type":"string","example":"SALARY_INCREASE","description":"Amendment item"},"type":{"enum":["INSTANT","OPS","LEGAL","DISABLED","CUSTOM","AUTOMATED"],"type":"string","example":"OPS","description":"Type of amendment"},"new_value":{"type":"string","example":"62382.93","description":"The new valid value after the attempted change."},"data_point":{"type":"string","example":"salary","description":"The field that is selected for amendment."},"previous_value":{"type":"string","example":"68.9170","description":"The previous valid value before the attempted change."}}},"description":"Items of amendment"},"scope":{"type":"string","example":"Project scope details","description":"Scope of the amendment."},"salary":{"type":"string","example":"50000.00","description":"Salary for the amendment.","x-sensitive-employment":true},"source":{"enum":["APP","PUBLIC_API","APP_BULK_AMENDMENT",null],"type":"string","example":"APP","nullable":true,"description":"Source of amendment flow creation."},"currency":{"type":"string","example":"GBP","description":"Contract currency."},"end_date":{"type":"string","format":"date-time","example":"2023-10-04T13:27:20.148Z","nullable":true,"description":"End date of the employment."},"holidays":{"type":"integer","example":20,"nullable":true,"description":"Number of holidays."},"job_code":{"type":"string","example":"49589","nullable":true,"description":"Job code associated with the job title."},"job_title":{"type":"string","example":"Software Engineer","maxLength":1000,"description":"Job title associated with the amendment.","x-sensitive-pii":true},"created_at":{"type":"string","format":"date-time","example":"2023-10-04T13:27:20.148Z","description":"Creation date of the amendment."},"start_date":{"type":"string","format":"date-time","example":"2023-10-04T13:27:20.148Z","description":"Start date of the employment."},"updated_at":{"type":"string","format":"date-time","example":"2023-10-04T13:27:20.148Z","description":"Date when amendment is updated"},"hourly_rate":{"type":"string","example":"50000.00","nullable":true,"description":"Hourly rate of the amendment","x-sensitive-employment":true},"custom_items":{"type":"array","items":{"type":"object","required":["id","type","status"],"properties":{"id":{"type":"string","format":"uuid","example":"e7b45fa6-9a72-4ab6-b163-ef50ccaba7fb","description":"Unique identifier for the custom amendment item"},"type":{"type":"string","example":"START_DATE","description":"Type/context of the custom amendment item"},"status":{"enum":["REJECTED","APPROVED","PENDING_REVIEW","PENDING_LEGAL"],"type":"string","example":"PENDING_REVIEW","description":"Current status of the custom amendment item"},"description":{"type":"string","example":"Please change the start date to 20th November 2025.","nullable":true,"description":"Detailed description of the custom amendment item"},"rejection_reason":{"type":"string","example":"Start date cannot be moved this far in advance.","nullable":true,"description":"Reason for rejection if the item was rejected"}}},"description":"Custom amendment items associated with the amendment flow"},"job_category":{"type":"string","example":"Engineering","nullable":true,"description":"Job category associated with the job title."},"requested_by":{"type":"string","example":"John Doe","nullable":true,"description":"Profile name of the user who requested the change"},"seniority_id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","nullable":true,"description":"Seniority level identifier."},"document_type":{"enum":["EA","SOW","SOW_EA",null],"type":"string","example":"SOW_EA","nullable":true,"description":"Amendment document type"},"legal_context":{"type":"object","example":{"status":"REQUEST_LEGAL_REVIEW","details":"This amendment requires input from the legal team and will be moved to `paused` until it is resolved manually","jira_ticket":"COHDSB-9600","jira_web_url":"https://letsdeel.atlassian.net/browse/COHDSB-9600","requested_at":"2025-04-23T10:40:25.527Z"},"nullable":true,"properties":{"status":{"enum":["REQUEST_LEGAL_REVIEW","WAITING_FOR_ANOTHER_TEAM","WAITING_FOR_HRX_ACTION","DECLINED","SOLVED"],"type":"string","example":"REQUEST_LEGAL_REVIEW","description":"Current status of the legal review process"},"details":{"type":"string","example":"This amendment requires input from the legal team and will be moved to `paused` until it is resolved manually","description":"Details regarding the legal request"},"jira_ticket":{"type":"string","example":"COHDSB-9600","description":"Jira ticket identifier linked to the legal context"},"jira_web_url":{"type":"string","format":"uri","example":"https://letsdeel.atlassian.net/browse/COHDSB-9600","description":"Link to the Jira ticket for tracking"},"requested_at":{"type":"string","format":"date-time","example":"2025-04-23T10:40:25.527Z","description":"Timestamp when legal review was requested"}},"description":"Additional details needed for legal input"},"time_off_type":{"enum":["STANDARD","SPECIFIC","PRORATED"],"type":"string","example":"STANDARD","description":"Type of time off."},"void_deadline":{"type":"string","format":"date-time","example":"2023-01-01T00:00:00Z","nullable":true,"description":"Deadline this SOW to be voided"},"effective_date":{"type":"string","format":"date-time","example":"2023-01-01T00:00:00Z","nullable":true,"description":"Effective date of the amendment."},"seniority_date":{"type":"string","format":"date","example":"2023-01-01","nullable":true,"description":"The seniority date represents the employee’s original start date with a previous employer. It is used to preserve employment tenure when the employee transfers to this company. Can be null if not applicable."},"employment_type":{"enum":["FULL_TIME","PART_TIME"],"type":"string","example":"FULL_TIME","description":"Type of employment."},"sick_leave_days":{"type":"integer","format":"number","example":12,"nullable":true,"description":"Number of sick leave days"},"employment_state":{"type":"string","example":"Active","nullable":true,"description":"State of employment."},"probation_period":{"type":"integer","example":3,"nullable":true,"description":"Duration of the probation period."},"work_schedule_id":{"type":"string","format":"uuid","example":"2b786de3-9b25-42d9-8a2d-61583bcfc09e","nullable":true,"description":"Work schedule id"},"fixed_adjustments":{"type":"array","items":{"type":"object","required":["id","value","description","is_recurring","status","is_amended","is_country_specific","created_at","updated_at"],"properties":{"id":{"type":"string","example":"cmfo0hqd5bw00cqs1b1jd7eag","description":"System-generated unique identifier for the fixed adjustment record in an amendment request."},"value":{"type":"string","example":"1200.50","pattern":"^(?!0+(\\.0+)?$)\\d+(?:\\.\\d+)?$","description":"Value of the fixed adjustment."},"status":{"enum":["WAITING_FOR_SIGNING","ACTIVE","OUTDATED","CANCELLED"],"type":"string","example":"WAITING_FOR_SIGNING","description":"Current status of the fixed adjustment."},"created_at":{"type":"string","format":"date-time","example":"2025-09-22T10:21:13.815Z","description":"Timestamp when the fixed adjustment was created."},"is_amended":{"type":"boolean","example":true,"description":"Whether this fixed adjustment was amended from a previous one."},"is_deleted":{"type":"boolean","example":false,"description":"True if the fixed adjustment was deleted as part of the amendment; otherwise false."},"updated_at":{"type":"string","format":"date-time","example":"2025-09-22T10:21:13.815Z","description":"Timestamp when the fixed adjustment was last updated."},"description":{"type":"string","example":"Housing allowance for employee relocation","maxLength":256,"minLength":1,"description":"Description of the fixed adjustment."},"is_recurring":{"type":"boolean","example":true,"description":"Whether the fixed adjustment is recurring. If set to false, it will be treated as a one-time fixed allowance."},"is_country_specific":{"type":"boolean","example":false,"description":"Whether this fixed adjustment applies only to a specific country."},"parent_fixed_adjustment_id":{"type":"string","example":"cmfo0hqd5i9kbhfvk8fn7aniy","nullable":true,"description":"Reference to the parent fixed adjustment, if applicable."}}},"description":"List of fixed adjustments associated with the amendment request."},"rejection_context":{"type":"object","example":{"rejected_at":"2025-02-24T11:08:57.433Z"},"nullable":true,"properties":{"rejected_at":{"type":"string","format":"date-time","example":"2025-02-24T11:08:57.433Z","description":"Timestamp of when the rejection occurred"}},"description":"Additional details containing rejection reason"},"amendment_statuses":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","example":"PREPARING_DOCUMENTS","description":"Logical, system-oriented identifier of the amendment status. Can be used to group statuses under a parent category and subgroup them for more granular state tracking. The structure typically follows a dot-separated hierarchy (e.g., 'PARENT','PARENT.CHILD', 'PARENT.CHILD.CHILD.CHILD', ...), which allows logical grouping and filtering of related statuses."},"friendly_name":{"type":"string","example":"PREPARING_DOCUMENTS","description":"Friendly name of amendment status"},"amendment_flow_status":{"type":"object","properties":{"created_at":{"type":"string","format":"date-time","example":"2023-10-04T13:27:20.148Z","description":"Creation date"}},"description":"Metadata about the amendment status, including when it was created."}}},"description":"List of amendment statuses representing the history and progression of an amendment."},"notice_period_type":{"enum":["STANDARD","CUSTOM",null],"type":"string","example":"CUSTOM","nullable":true,"description":"Type of notice period."},"void_deadline_type":{"enum":["CUTOFF","START_DATE","END_DATE","EXPIRY",null],"type":"string","example":"CUTOFF","nullable":true,"description":"Type of void deadline"},"work_hours_per_week":{"type":"string","example":"40.00","description":"Number of work hours per week.","x-sensitive-employment":true},"employee_nationality":{"type":"string","example":"GB","description":"Nationality of the employee.","x-sensitive-pii":true},"is_hrx_action_needed":{"type":"boolean","example":false,"description":"Is HRX action needed."},"variable_compensation":{"type":"object","required":["id","title","amount","type","timeline","parent_id","effective_date","created_at","updated_at"],"properties":{"id":{"type":"string","example":"cmg0p4zgszy3m8v3a04bd5sjs","description":"The unique ID assigned by the system to this variable compensation record."},"type":{"enum":["FIXED","PERCENTAGE"],"type":"string","example":"FIXED","description":"The way the compensation is calculated. `FIXED` means a fixed amount (like $1000). `PERCENTAGE` means it’s based on a percentage of the salary."},"title":{"type":"string","example":"Bonus","description":"Title or name of the variable compensation."},"amount":{"type":"string","format":"decimal","example":"100000.0000","description":"The value of the compensation. Shown as a string to keep the exact number of decimals."},"timeline":{"enum":["MONTHLY","QUARTERLY","ANNUALLY","BIANNUALLY"],"type":"string","example":"ANNUALLY","description":"How often the compensation is paid — for example monthly, quarterly, annually, or twice a year."},"parent_id":{"type":"string","example":"cmg0p4zgszy3m8v3a04bd5sjs","nullable":true,"description":"Reference to the parent variable compensation, if applicable. Null if this compensation is not linked to any compensation."},"created_at":{"type":"string","format":"date-time","example":"2025-09-26T10:25:50.476Z","description":"The date and time when this record was first created in the system."},"is_amended":{"type":"boolean","example":true,"description":"Shows whether this compensation has been changed as part of an amendment."},"is_deleted":{"type":"boolean","example":true,"description":"Shows whether this compensation has been deleted."},"updated_at":{"type":"string","format":"date-time","example":"2025-09-26T10:25:50.476Z","description":"The date and time when this record was last updated."},"effective_date":{"type":"string","format":"date-time","example":"2025-10-18T00:00:00.000Z","description":"The date when this compensation starts being valid."},"incentive_plan":{"type":"object","properties":{"details":{"type":"string","example":"Year-end performance bonus based on quarterly targets.","description":"Extra details about the incentive plan, if any."},"employee_signature":{"type":"string","example":"John Doe","description":"The employee’s signature for the incentive plan, if collected."},"employee_signed_at":{"type":"string","format":"date-time","example":"2025-12-15T14:30:00.000Z","description":"The date and time when the employee signed the incentive plan. Empty if not signed."}},"description":"Details of the incentive plan linked to this compensation, if any."}},"description":"Represents a variable compensation record (such as a bonus, commission, or incentive) within a contract. It contains details like the amount, type, frequency, and whether it is part of an incentive plan. The record also tracks when it was created, updated, and whether it has been amended."},"notice_period_time_unit":{"enum":["DAY","WEEK","MONTH",null],"type":"string","example":"WEEK","nullable":true,"description":"Notice period time unit."},"is_effective_date_updated":{"type":"boolean","example":false,"description":"Is Effective Date updated."},"work_schedule_rules_version":{"type":"string","example":"2","nullable":true,"description":"Work schedule rule version."},"notice_period_after_probation":{"type":"string","example":"30","nullable":true,"description":"Notice period after probation."},"notice_period_during_probation":{"type":"string","example":"15","nullable":true,"description":"Notice period during probation."},"probation_period_type_for_definite":{"enum":["STANDARD","CUSTOM",null],"type":"string","example":"STANDARD","nullable":true,"description":"Type of probation period for definite contracts."}}}}}}},"description":"Amendment info"},"400":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"VALIDATION_ERROR"},"message":{"type":"string","example":"Internal validation error occurred"}}}}}},"example":{"errors":[{"code":"VALIDATION_ERROR","message":"Internal validation error occurred."}]}}},"description":"Bad Request. The request could not be understood or was missing required parameters."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"RESOURCE_NOT_FOUND","description":"Unique error code identifying the type of not-found error."},"field":{"type":"string","example":"contract_id","nullable":true,"description":"The field or identifier that caused the error."},"message":{"type":"string","example":"The requested resource could not be found.","description":"Human-readable description of the missing resource."}}}}}},"examples":{"Contract Not Found":{"value":{"errors":[{"code":"CONTRACT_NOT_FOUND","field":"contract_id","message":"Contract not found."}]},"summary":"When a contract cannot be located"},"Amendment Not Found":{"value":{"errors":[{"code":"AMENDMENT_NOT_FOUND","field":"amendment_flow_id","message":"Amendment not found."}]},"summary":"When an amendment cannot be located"}}}},"description":"Resource not found (e.g., contract, profile, amendment, change request)."},"409":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"CHANGE_REQUEST_CONFIRMED"},"field":{"type":"string","example":"change_request_id"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string","example":"Change request is already confirmed."}}}}}},"example":{"errors":[{"code":"CHANGE_REQUEST_CONFIRMED","field":"change_request_id","message":"Change request is already confirmed."}]}}},"description":"Conflict error. Indicates that the requested operation conflicts with the current state of the resource."},"422":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"AMENDMENT_ITEM_VALIDATION_FAILED","description":"Unique error code identifying the type of error."},"field":{"type":"string","example":"holidays","nullable":true,"description":"The field where the error occurred (if applicable)."},"details":{"type":"object","example":{"new_value":"2","previous_value":"6"},"properties":{"new_value":{"type":"string","example":"2","description":"The new value that caused the validation error."},"previous_value":{"type":"string","example":"6","description":"The previous valid value before the attempted change."}},"description":"Additional structured details about the error."},"message":{"type":"string","example":"The minimum holidays for NG is 6 day(s)","description":"Human-readable description of the error."}}},"description":"List of validation or business rule errors."}}},"examples":{"Multiple Validation Errors":{"value":{"errors":[{"code":"AMENDMENT_ITEM_VALIDATION_FAILED","field":"holidays","details":{"new_value":"2","previous_value":"6"},"message":"The minimum holidays for NG is 6 day(s) (previous: 6, new: 2)"},{"code":"AMENDMENT_ITEM_DISABLED","field":"salary_increase","details":{"new_value":"20000","previous_value":"10000"},"message":"salary_increase is disabled in country United States"}]},"summary":"Two errors in one response"},"Single Disabled Data point Error":{"value":{"errors":[{"code":"AMENDMENT_ITEM_DISABLED","field":"salary","message":"salary is not enabled for white label API"}]},"summary":"Example with one disabled data point error for whitelabel API"}}}},"description":"Validation errors or disabled amendments."},"500":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"AMENDMENT_ERROR"},"message":{"type":"string","example":"An unexpected error occurred"}}}}}},"example":{"errors":[{"code":"AMENDMENT_ERROR","message":"An unexpected error occurred"}]}}},"description":"Internal server error."}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string","format":"alphanumeric"},"example":"3w6pd6r","required":true,"description":"The unique identifier of EOR worker contract."},{"in":"path","name":"amendment_id","schema":{"type":"string","format":"uuid"},"example":"77733bb9-9e17-4dfd-ba1b-1315f77cd7f7","required":true,"description":"A unique identifier for the employee contract amendment. This string is either supplied by the client or generated by the system and is used to uniquely identify the amendment during upsert operations."}],"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"scope":{"type":"string","example":"Project scope details","maxLength":20000,"description":"Scope of the amendment."},"custom":{"type":"array","items":{"type":"object","required":["description","type"],"properties":{"id":{"type":"string","format":"uuid","example":"21baf29c-4468-435d-93a4-f1bd76dd2d65","description":"An optional identifier for the custom object."},"type":{"type":"string","example":"START_DATE","description":"The type of the custom object. Must be one of the valid custom types."},"description":{"type":"string","example":"Please change the start date to 20th November 2025","maxLength":1000,"minLength":50,"description":"A required description for the custom object."}}},"description":"An optional array of custom objects."},"salary":{"type":"number","example":50000,"description":"Salary for the amendment."},"end_date":{"type":"string","format":"date","example":"2023-12-31","description":"End date of the employment."},"holidays":{"type":"number","example":20,"description":"Number of holidays."},"job_title":{"type":"string","example":"Software Engineer","maxLength":1000,"description":"Job title associated with the amendment."},"start_date":{"type":"string","format":"date","example":"2023-01-01","description":"Start date of the employment."},"hourly_rate":{"type":"number","example":50000,"description":"Hourly rate of the amendment. The max value supported is 1e19"},"seniority_id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","description":"Public Id of the seniority level."},"time_off_type":{"enum":["STANDARD","SPECIFIC","PRORATED"],"type":"string","example":"STANDARD","description":"Type of time off."},"effective_date":{"type":"string","format":"date","example":"2023-01-01","description":"Effective date for the amendment."},"seniority_date":{"type":"string","format":"date","example":"2023-01-01","nullable":true,"description":"The seniority date represents the employee’s original start date with a previous employer. It is used to preserve employment tenure when the employee transfers to this company. Can be null if not applicable."},"additional_info":{"type":"object","example":{"ai_scope_check_public_id":"ecf930fe-d9be-412c-9345-61dd80dc6822","job_categorization_log_id":"550e8400-e29b-41d4-a716-446655440000"},"nullable":true,"properties":{"ai_scope_check_public_id":{"type":"string","format":"uuid","example":"ecf930fe-d9be-412c-9345-61dd80dc6822","description":"Identifier or flag for AI scope validation check"},"job_categorization_log_id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","description":"Identifier for job categorisation log"}},"description":"Additional metadata related to job validation and categorisation"},"employment_type":{"enum":["FULL_TIME","PART_TIME"],"type":"string","example":"FULL_TIME","description":"Type of employment."},"employment_state":{"type":"string","example":"Active","description":"State of employment."},"probation_period":{"type":"number","example":3,"description":"Duration of the probation period."},"fixed_adjustments":{"type":"array","items":{"type":"object","required":["value","description","is_recurring"],"properties":{"id":{"type":"string","example":"cmfo0hqd5bw00cqs1b1jd7eag","description":"The ID of an existing active fixed adjustment to update or delete. Include this in the request only if you are updating or deleting an existing adjustment. Do not include it when creating a new one."},"value":{"type":"string","example":"1200.50","pattern":"^(?!0+(\\.0+)?$)\\d+(?:\\.\\d+)?$","description":"Value of the fixed adjustment. Must be a positive number, not zero."},"is_deleted":{"type":"boolean","example":false,"description":"Flag to mark the fixed adjustment as deleted. Required only when the fixed adjustment needs to be removed; omit it otherwise."},"description":{"type":"string","example":"Housing allowance for employee relocation","maxLength":256,"minLength":1,"description":"Description of the fixed adjustment."},"is_recurring":{"type":"boolean","example":true,"description":"Whether the fixed adjustment is recurring. If set to false, it will be treated as a one-time fixed allowance."}}},"description":"Array of fixed adjustments to be submitted for the amendment request."},"notice_period_type":{"enum":["STANDARD","CUSTOM"],"type":"string","example":"CUSTOM","description":"Type of notice period."},"work_hours_per_week":{"type":"number","example":40,"description":"Number of work hours per week."},"variable_compensation":{"type":"object","required":["amount","type"],"properties":{"id":{"type":"string","example":"9cmfo0hqd5bw00cqs1b1jd7eag","description":"The ID of an existing active variable compensation to update or delete. Include this in the request only if you are updating or deleting an existing compensation. Do not include it when creating a new one."},"type":{"enum":["PERCENTAGE","FIXED"],"type":"string","example":"PERCENTAGE","description":"Type of variable compensation."},"title":{"type":"string","example":"Performance Bonus","maxLength":250,"minLength":1,"description":"The title of the compensation. Required when creating a new compensation. Optional when updating an existing compensation."},"amount":{"type":"number","format":"double","example":5000.75,"minimum":0,"description":"Positive amount for the variable compensation."},"timeline":{"enum":["MONTHLY","QUARTERLY","ANNUALLY","BIANNUALLY"],"type":"string","example":"ANNUALLY","description":"How often this compensation occurs. Required when creating a new compensation. Forbidden when updating an existing compensation."},"is_deleted":{"type":"boolean","example":false,"description":"Flag to mark the variable compensation as deleted. Required only when the variable compensation needs to be removed; omit it otherwise"},"effective_date":{"type":"string","format":"date","example":"2025-01-01","description":"The date when this compensation starts or becomes effective. Required when creating a new compensation. Optional when updating an existing compensation."}},"description":"Represents a change to an employee’s variable compensation (e.g., bonus or commission). This schema is used for creating new variable compensation items or updating existing ones. Some fields are required when creating, optional when updating, and forbidden when updating, as specified in each field description."},"notice_period_after_probation":{"type":"number","example":4,"description":"Notice period after probation."},"notice_period_during_probation":{"type":"number","example":2,"description":"Notice period during probation."},"probation_period_type_for_definite":{"enum":["STANDARD","CUSTOM"],"type":"string","example":"STANDARD","description":"Type of probation period for definite contracts."}}}}}}}}}},"/eor/contracts/{contract_id}/documents/{type}":{"get":{"tags":["EOR"],"summary":"Fetch EOR contract document","operationId":"fetchEorContractDocument","description":"Returns the document as a PDF\n **Token scopes**: `contracts:read`","responses":{"200":{"content":{"application/pdf":{"schema":{"type":"string","format":"binary"}}},"description":"The document as a PDF"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"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"}}}},"request":{"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"}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"required":true,"description":"EOR contract ID"},{"in":"path","name":"type","schema":{"enum":["FRAMEWORK_AGREEMENT"],"type":"string"},"example":"FRAMEWORK_AGREEMENT","required":true,"description":"The type of document. Currently only FRAMEWORK_AGREEMENT is supported."}],"security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]}},"/eor/workers/compliance-documents":{"get":{"tags":["EOR"],"summary":"List of employee compliance documents","operationId":"listOfEmployeeComplianceDocuments-v2026-01-01","description":"Get a list of employee compliance documents.\n **Token scopes**: `worker:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["documents"],"properties":{"documents":{"type":"array","items":{"type":"object","required":["id","name","description","is_optional","required_in_30_days","country","has_template","fillable","filenames","uploaded_at","status","rejection_message","is_acknowledgement_only_document"],"properties":{"id":{"type":"string","format":"uuid","example":"9b9fc43a-a90c-4615-ac50-baf1e314b53e","description":"Unique identifier for the compliance document requirement."},"name":{"type":"string","example":"Passport or National ID","description":"Display name of the compliance document."},"status":{"enum":["AWAITING_EX_REVIEW","AWAITING_EXTERNAL_REVIEW","REJECTED","APPROVED","ON_HOLD",null],"type":"string","example":"APPROVED","nullable":true,"description":"Review status of the uploaded document, null if no document has been uploaded yet."},"country":{"type":"string","example":"US","description":"ISO 3166-1 alpha-2 country code where the document is required."},"fillable":{"type":"boolean","example":false,"description":"Whether the document can be filled through the Deel platform."},"filenames":{"type":"array","items":{"type":"string"},"example":["passport_scan.pdf"],"description":"List of uploaded file names. Empty array when no files have been uploaded."},"description":{"type":"string","example":"Please upload a clear copy of your passport or national ID card.","description":"Description of the document requirement. Empty string when no description exists."},"is_optional":{"type":"boolean","example":false,"description":"Whether the document is optional for the worker. Also true when the document is required within 30 days."},"uploaded_at":{"type":"string","format":"date-time","example":"2025-01-05T14:30:00.000Z","nullable":true,"description":"ISO 8601 timestamp when the document was uploaded, null if no document has been uploaded."},"has_template":{"type":"boolean","example":true,"description":"Whether a template is available for this document."},"rejection_message":{"type":"string","example":"Document is not clearly readable","description":"Plain text message explaining why the document was rejected. Empty string when no rejection message exists."},"is_consent_required":{"type":"boolean","example":true,"description":"Whether consent is required for acknowledgement-only documents. Only present when is_acknowledgement_only_document is true."},"required_in_30_days":{"type":"boolean","example":false,"description":"Whether the document is required within 30 days of employment start."},"is_acknowledgement_only_document":{"type":"boolean","example":false,"description":"Whether this document only requires acknowledgement without file upload."}}},"description":"List of compliance documents required for the worker."}}}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"authentication_required"},"field":{"type":"string","example":null,"nullable":true},"message":{"type":"string","example":"Authentication required. Please provide a valid access token."}}}}}}}},"description":"Authentication failed. The access token is missing, expired, or invalid."},"403":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"insufficient_permissions"},"field":{"type":"string","example":null,"nullable":true},"message":{"type":"string","example":"You do not have permission to access this resource."}}}}}}}},"description":"Access denied. The authenticated user does not have the required worker:read scope or is not an employee profile."},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"internal_server_error"},"field":{"type":"string","example":null,"nullable":true},"message":{"type":"string","example":"An unexpected error occurred while processing your request. Please try again later."}}}}}}}},"description":"Internal server error."}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["worker:read"]}]}},"/timesheets/root-presets/{id}":{"get":{"tags":["Projects"],"summary":"Get Hourly Report Root Preset by ID","operationId":"getHourlyReportRootPresetById","description":"Retrieve a specific hourly report root preset by its ID.\n **Token scopes**: `timesheets:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","title","status","description"],"properties":{"id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the hourly report root preset"},"file":{"type":"object","nullable":true,"properties":{"id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the file"},"name":{"type":"string","example":"your_file_name","description":"The name of the file"},"type":{"type":"string","example":"pdf","description":"The type of the file"}}},"type":{"enum":["RATE","TRACKING"],"type":"string","example":"RATE","description":"The type of preset, RATE – indicates a preset that overrides the default contract rate, TRACKING - used exclusively for tracking, applying the default contract rate"},"title":{"type":"string","example":"Standard Monthly Timesheet","description":"The title of the hourly report root preset"},"status":{"type":"string","example":"active","description":"The current status of the hourly report root preset"},"description":{"type":"string","example":"Base template for monthly timesheet reporting","description":"Detailed description of the hourly report root preset's purpose and contents"}}}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Organization is required"}}}}},"description":"Bad Request"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Not Found"}}}}},"description":"Not Found"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"id","schema":{"type":"string","format":"uuid"},"example":"123e4567-e89b-12d3-a456-426614174000","required":true,"description":"The unique identifier of the hourly report root preset to retrieve"}],"security":[{"deelToken":[]},{"oauth2":["timesheets:read"]}]}},"/time_offs/profile/{hris_profile_id}/entitlements":{"get":{"tags":["Time Off"],"summary":"Get Profile Entitlements","operationId":"getProfileEntitlements","description":"List time-off entitlements.\n **Token scopes**: `time-off:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["hris_profile_id","entitlements"],"properties":{"entitlements":{"type":"array","items":{"type":"object","required":["tracking_period","tracking_period_end_date","total_entitlements","available","is_allowance_unlimited"],"properties":{"id":{"type":"string","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Entitlement ID"},"used":{"type":"string","example":"0","description":"Used time off"},"events":{"type":"array","items":{"type":"object","required":["id","profile_id","policy_id","tracking_period","type","amount","created_at","updated_at"],"properties":{"id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Event ID"},"type":{"enum":["ACCRUAL","ACCRUAL_DEDUCTION","ACCRUAL_PRORATE","ACCRUAL_TERMINATION","MANUAL_ADJUSTMENT","NO_ROLLOVER","ROLLOVER_ADJUSTMENT","ROLLOVER_CARRY_OVER","ROLLOVER_EXPIRATION","ROLLOVER_PAYOUT","ROLLOVER_PROJECTED","TIME_OFF"],"type":"string","example":"ACCRUAL","description":"Event type"},"amount":{"type":"number","format":"float","example":"8","description":"Event amount"},"policy_id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Policy ID"},"created_at":{"type":"string","format":"date-time","example":"2022-01-01T00:00:00Z","description":"Event creation date"},"event_date":{"type":"string","format":"date-time","example":"2022-01-01T00:00:00Z","description":"Event date"},"profile_id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Profile ID"},"updated_at":{"type":"string","format":"date-time","example":"2022-01-01T00:00:00Z","description":"Event update date"},"description":{"type":"string","example":"Event description","description":"Event description"},"time_off_id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Time off ID"},"accrual_date":{"type":"string","format":"date-time","example":"2022-01-01T00:00:00Z","description":"Accrual date"},"expiration_date":{"type":"string","format":"date-time","example":"2022-01-01T00:00:00Z","description":"Expiration date"},"tracking_period":{"type":"string","format":"date-time","example":"2022-01-01T00:00:00Z","description":"Tracking period"},"rollover_tracking_period":{"type":"string","format":"date-time","example":"2022-01-01T00:00:00Z","description":"Rollover tracking period"}}},"nullable":true},"policy":{"type":"object","required":["id","name","created_at","updated_at"],"properties":{"id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Policy ID"},"name":{"type":"string","example":"Policy name","description":"Policy name"},"created_at":{"type":"string","format":"date-time","example":"2022-01-01T00:00:00Z","description":"Policy creation date"},"leave_type":{"enum":["SHORT_TERM_LEAVE","LONG_TERM_LEAVE"],"type":"string","example":"SHORT_TERM_LEAVE","description":"Leave type"},"updated_at":{"type":"string","format":"date-time","example":"2022-01-01T00:00:00Z","description":"Policy update date"},"description":{"type":"string","example":"Policy description","description":"Policy description"},"policy_type":{"type":"object","required":["id","name"],"properties":{"id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Policy type ID"},"name":{"type":"string","example":"Policy type name","description":"Policy type name"}}},"tracking_unit":{"enum":["HOUR","BUSINESS_DAY","CALENDAR_DAY","WEEK","MONTH","YEAR"],"type":"string","example":"HOUR","description":"Tracking unit"},"policy_type_id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Policy type ID"},"time_off_types":{"type":"array","items":{"type":"object","required":["id","name"],"properties":{"id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Time off type ID"},"name":{"type":"string","example":"Time off type name","description":"Time off type name"}}}},"tracking_cadence":{"enum":["FIXED_DAY","ANNIVERSARY"],"type":"string","example":"FIXED_DAY","description":"Tracking cadence"},"tracking_start_date":{"type":"string","format":"date","example":"2022-01-01","description":"Tracking start date"},"tracking_unit_amount":{"type":"number","format":"float","example":"8","description":"Tracking unit amount"}}},"accrued":{"type":"string","example":"0","nullable":true,"description":"Accrued time off"},"expired":{"type":"string","example":"0","description":"Expired time off"},"approved":{"type":"string","example":"0","description":"Approved time off"},"allowance":{"type":"string","example":"0","nullable":true,"description":"Time off allowance"},"available":{"type":"string","example":"0","nullable":true,"description":"Available time off. Will be null if is_allowance_unlimited is true"},"requested":{"type":"string","example":"0","description":"Requested time off"},"rollovers":{"type":"array","items":{"type":"object","required":["rollover_tracking_period","amount"],"properties":{"amount":{"anyOf":[{"type":"number","format":"float"},{"type":"string"}]},"expiration_date":{"type":"string","format":"date-time","example":"2022-01-01T00:00:00Z","description":"Rollover expiration date"},"rollover_tracking_period":{"type":"string","format":"date-time","example":"2022-01-01T00:00:00Z","description":"Rollover tracking period"}}},"nullable":true},"accrual_unit":{"enum":["HOUR","BUSINESS_DAY","CALENDAR_DAY","WEEK","MONTH","YEAR"],"type":"string","example":"HOUR","description":"Accrual unit"},"future_events":{"type":"array","items":{"type":"object","required":["id","profile_id","policy_id","tracking_period","type","amount","created_at","updated_at"],"properties":{"id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Event ID"},"type":{"enum":["ACCRUAL","ACCRUAL_DEDUCTION","ACCRUAL_PRORATE","ACCRUAL_TERMINATION","MANUAL_ADJUSTMENT","NO_ROLLOVER","ROLLOVER_ADJUSTMENT","ROLLOVER_CARRY_OVER","ROLLOVER_EXPIRATION","ROLLOVER_PAYOUT","ROLLOVER_PROJECTED","TIME_OFF"],"type":"string","example":"ACCRUAL","description":"Event type"},"amount":{"type":"number","format":"float","example":"8","description":"Event amount"},"policy_id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Policy ID"},"created_at":{"type":"string","format":"date-time","example":"2022-01-01T00:00:00Z","description":"Event creation date"},"event_date":{"type":"string","format":"date-time","example":"2022-01-01T00:00:00Z","description":"Event date"},"profile_id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Profile ID"},"updated_at":{"type":"string","format":"date-time","example":"2022-01-01T00:00:00Z","description":"Event update date"},"description":{"type":"string","example":"Event description","description":"Event description"},"time_off_id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Time off ID"},"accrual_date":{"type":"string","format":"date-time","example":"2022-01-01T00:00:00Z","description":"Accrual date"},"expiration_date":{"type":"string","format":"date-time","example":"2022-01-01T00:00:00Z","description":"Expiration date"},"tracking_period":{"type":"string","format":"date-time","example":"2022-01-01T00:00:00Z","description":"Tracking period"},"rollover_tracking_period":{"type":"string","format":"date-time","example":"2022-01-01T00:00:00Z","description":"Rollover tracking period"}}},"nullable":true},"accrual_amount":{"type":"string","example":"0","description":"Accrual amount"},"tracking_period":{"type":"string","example":"2022-01-01T00:00:00Z","description":"Tracking period"},"balance_adjusted":{"type":"string","example":"0","nullable":true,"description":"Balance adjusted"},"time_off_event_id":{"type":"string","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Time off event ID"},"upcoming_accruals":{"type":"string","example":"0","description":"Upcoming accruals"},"total_entitlements":{"type":"string","example":"0","description":"Total entitlements"},"past_tracking_periods":{"type":"array","items":{"type":"string"}},"is_allowance_unlimited":{"type":"boolean","example":false,"nullable":false,"description":"True when the allowance is unlimited"},"tracking_period_end_date":{"type":"string","example":"2022-01-01T00:00:00Z","description":"Tracking period end date"}}}},"hris_profile_id":{"type":"string","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"HRIS profile ID"}}}}},"description":"Successful response"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"query","name":"policy_type_name","schema":{"enum":["Moving leave","Adoption leave","Personal leave","Parental leave","Military leave","Childbirth leave","Study leave","Sick leave","Bereavement leave","Family & domestic violence leave","Marriage/wedding leave","Blood donation leave","Volunteer leave","Vacation","Doctor's appointment leave","Maternity leave","Hajj leave","Paternity leave","Civic/public duty leave","Childcare leave","Unpaid leave","Paid leave","Other leave","Disability leave","Pregnancy leave","RTT","Regional holiday","Breastfeeding leave","Advanced vacation"],"type":"string","example":"Moving leave","nullable":true,"maxLength":255,"description":"Policy type name"}},{"in":"query","name":"tracking_period_date","schema":{"type":"string","format":"date","nullable":true},"example":"2022-01-01","description":"Tracking period date"},{"in":"path","name":"hris_profile_id","schema":{"type":"string","format":"uuid","maxItems":100,"minItems":1},"example":"d290f1ee-6c54-4b01-90e6-d701748f0851","required":true,"description":"HRIS profile ID"}],"security":[{"deelToken":[]},{"oauth2":["time-off:read"]}]}},"/workers/{worker_id}/session":{"delete":{"tags":["Worker Session"],"summary":"Delete worker access token","operationId":"deleteWorkerAccessToken","description":"Deletes the worker access token\n **Token scopes**: `admin:worker`","responses":{"204":{"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"worker_id","schema":{"type":"string"},"example":"5f4e1f77-0f1c-4f6d-8b0f-1b1b4b1b1b1b","required":true,"description":"The ID of the worker whose access token you want to delete."}],"security":[{"deelToken":[]},{"oauth2":["admin:worker"]}]}},"/eor/contracts/{contract_id}/amendments/{amendment_id}/effective-date-limitations":{"get":{"tags":["EOR"],"summary":"Retrieve Effective Date Limitations","operationId":"retrieveEffectiveDateLimitations","description":"Retrieves validation rules for the effective date in an amendment flow of an EOR contract, including date limits, defaults, and visibility settings.\n **Token scopes**: `contracts:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","example":{"message":"Due to the country's regulations, the effective date is available from the first day of the current payroll cycle onwards","is_hidden":false,"is_disabled":true,"max_effective_date":"2025-12-31T00:00:00Z","min_effective_date":"2025-07-01T00:00:00Z","default_effective_date":"2025-08-01T00:00:00Z"},"properties":{"message":{"type":"string","example":"Due to the country's regulations, the effective date is available from the first day of the current payroll cycle onwards","description":"Optional human-readable additional explanation on effective date limitation"},"is_hidden":{"type":"boolean","example":false,"description":"Indicates if the effective date field should be hidden."},"is_disabled":{"type":"boolean","example":true,"description":"Indicates if the effective date field is disabled"},"max_effective_date":{"type":"string","format":"date","example":"2025-12-31T00:00:00Z","nullable":true,"description":"The latest valid effective date"},"min_effective_date":{"type":"string","format":"date-time","example":"2025-07-01T00:00:00Z","nullable":true,"description":"The earliest valid effective date"},"default_effective_date":{"type":"string","format":"date-time","example":"2025-08-01T00:00:00Z","nullable":true,"description":"A default effective date suggested by the system"}}}}}}},"description":"Returns the effective date limits for the amendment."},"400":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"VALIDATION_ERROR"},"message":{"type":"string","example":"Internal validation error occurred"}}}}}},"example":{"errors":[{"code":"VALIDATION_ERROR","message":"Internal validation error occurred."}]}}},"description":"Bad Request. The request could not be understood or was missing required parameters."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"AMENDMENT_ERROR","description":"Unique error code identifying the type of not-found error."},"message":{"type":"string","example":"The requested resource could not be found.","description":"Human-readable description of the missing resource."}}}}}}}},"description":"Resource not found (e.g., contract, profile, amendment, change request)."},"500":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"AMENDMENT_ERROR"},"message":{"type":"string","example":"An unexpected error occurred"}}}}}},"example":{"errors":[{"code":"AMENDMENT_ERROR","message":"An unexpected error occurred"}]}}},"description":"Internal server error."}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string","example":"3w6pd6r"},"required":true,"description":"The unique identifier of the EOR worker contract"},{"in":"path","name":"amendment_id","schema":{"type":"string","format":"uuid","example":"ad8e84f9-a9a2-4842-a6ee-1d76228e39b1"},"required":true,"description":"A unique identifier for the employee contract amendment"}],"security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]}},"/lookups/currencies":{"get":{"tags":["Lookups"],"summary":"Retrieve Supported Currency List","operationId":"retrieveSupportedCurrencyList","description":"Retrieve the list of currencies supported by Deel, including their ISO codes and names","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","required":["code"],"properties":{"code":{"type":"string","example":"USD","pattern":"^[A-Z]{3}$","maxLength":3,"minLength":3,"description":"The ISO 4217 three-letter currency code."},"name":{"type":"string","example":"United States Dollar","nullable":true,"description":"The name of the currency. This may be null if a name is not available."}}},"description":"List of currencies supported by Deel."}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":[]}]}},"/payments/{payment_id}/breakdown":{"get":{"tags":["Accounting"],"summary":"Retrieve a payment breakdown","operationId":"retrieveAPaymentBreakdown-v2026-01-01","description":"Get a full breakdown of a payment made to Deel. Breakdown will include individual invoices and Deel fee as line items.\n **Token scopes**: `accounting:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string","format":"date-time","example":"2022-10-01T00:59:28.482Z","description":"Date associated with the payment breakdown."},"work":{"type":"string","example":"3000.00","description":"Base payment amount for work performed, including regular salary/wages and off-cycle payments.","x-sensitive-employment":true},"bonus":{"type":"string","example":"500.00","description":"Additional bonus payment amount awarded to the worker.","x-sensitive-employment":true},"total":{"type":"string","example":"3500.00","description":"Total payment due for this breakdown item.","x-sensitive-employment":true},"others":{"type":"string","example":"0.00","description":"Other payment amounts.","x-sensitive-employment":true},"currency":{"type":"string","example":"USD","description":"Currency code for this payment."},"expenses":{"type":"string","example":"0.00","description":"Expenses related to the payment.","x-sensitive-employment":true},"group_id":{"oneOf":[{"type":"string","format":"uuid"},{"enum":[""],"type":"string"}],"example":"4fd2daf5-7d59-4990-ba17-5dfc5f1034d0","description":"Unique identifier for the group associated with this payment. Empty for organization-level payments, individual payments, and standalone service fees that are not associated with a specific group."},"overtime":{"type":"string","example":"0.00","description":"Overtime payment amount.","x-sensitive-employment":true},"pro_rata":{"type":"string","example":"0.00","description":"Pro-rated payment amount.","x-sensitive-employment":true},"approvers":{"type":"string","example":"John Smith, Jane Doe","description":"Comma-separated list of names of people who approved this payment. May be empty if no approvals were required or recorded.","x-sensitive-pii":true},"frequency":{"enum":["hourly","daily","weekly","biweekly","semimonthly","monthly","custom",""],"type":"string","example":"monthly","description":"Work unit scale from the contractor's work statement. Indicates how work is measured and reported (hourly, daily, weekly, monthly, or custom units). Empty for contracts with fixed payments that don't require work quantity tracking, such as milestone-based contracts and consulting agreements."},"adjustment":{"type":"string","example":"0.00","description":"Adjustment amount for the payment.","x-sensitive-employment":true},"deductions":{"type":"string","example":"0.00","description":"Deductions from the payment.","x-sensitive-employment":true},"invoice_id":{"type":"string","example":"GqaY5BHQJUAM2Jg9kq2j2","description":"Unique identifier of this resource."},"commissions":{"type":"string","example":"0.00","description":"Commissions included in the payment.","x-sensitive-employment":true},"approve_date":{"oneOf":[{"type":"string","format":"date-time"},{"enum":[""],"type":"string"}],"example":"2022-10-28T14:32:15.847Z","description":"Date when the work report was approved by designated approvers. Empty for payments that don't require work report approval, such as service fees, management fees, and automated payments."},"payment_date":{"type":"string","format":"date-time","example":"2022-11-01T17:20:32.837Z","description":"Date when the payment was made."},"contract_type":{"enum":["milestones","time_based","ongoing_time_based","pay_as_you_go_time_based","commission","payg_milestones","payg_tasks","eor","peo","peo_csa","unknown","employee","global_payroll","shield_msa","gp_client_agreement","ep_client_agreement","power_of_attorney","debt_authorization","hris_direct_employee","hris_service_agreement","hofy_standalone_payment","wework_standalone_payment","travel_insurance_standalone_payment","health_insurance_standalone_payment","prepaid_billing","missing_saas_fees","one_off_service_fee","eor_management_fee","eor_one_off_management_fee","engage_monthly_subscription_fee","ats_subscription_fee","benefits_admin_monthly_platform_fee","contractor_outside_deel","late_payment_fee","background_check_standalone_payment","peo_service_fee","payment_processing_fee","deel_percentage_fee","netx_fee","prepaid_funding_statement","one_off_mobility_service_fee","prepaid_billing_expired_credits","implementation_delay","managed_hr_monthly_subscription_fee","expense_card","anon_report_fee","ic_maintenance_platform_fee"],"type":"string","example":"ongoing_time_based","description":"Type of contract this payment relates to. Determines the nature of the work relationship and payment structure."},"processing_fee":{"type":"string","example":"0.00","description":"Processing fee amount applied to the payment.","x-sensitive-employment":true},"contract_country":{"type":"string","example":"US","description":"Country where the contract is established."},"contractor_email":{"type":"string","example":"name@email.com","description":"Email address of the worker.","x-sensitive-pii":true},"payment_currency":{"type":"string","example":"USD","description":"Currency in which the payment was processed."},"contract_start_date":{"oneOf":[{"type":"string","format":"date-time"},{"enum":[""],"type":"string"}],"example":"2020-03-31T10:58:49.780Z","description":"Start date of the contract. Empty for service agreements and fee-related contracts (such as equipment payments, insurance payments, and management fees) that don't have traditional contract start dates."},"general_ledger_account":{"type":"string","example":"6000 - Office Expenses","description":"General ledger account code or name for accounting purposes. May be configured at the group, company, or organization level. Empty if not configured."},"total_payment_currency":{"type":"string","example":"1000.00","description":"Total payment in the payment currency.","x-sensitive-employment":true},"contractor_employee_name":{"type":"string","example":"Jane Doe","description":"Name of the worker.","x-sensitive-pii":true},"contractor_unique_identifier":{"oneOf":[{"type":"string","format":"uuid"},{"enum":[""],"type":"string"}],"example":"550e8400-e29b-41d4-a716-446655440000","description":"Unique identifier for the worker. May be empty for certain contract types such as service agreements and fees."}}}}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"payment_id","schema":{"type":"string"},"example":"YJdYFAA586JYf8A324T57","required":true,"description":"Unique identifier for the payment to retrieve the breakdown."}],"security":[{"deelToken":[]},{"oauth2":["accounting:read"]}]}},"/time_offs/review":{"post":{"tags":["Time Off"],"summary":"Approve/Reject time-off requests","operationId":"approveRejectTimeOffRequests-v2026-01-01","description":"Approve/Reject time-off requests in batch. The request body should contain a list of time-off IDs and the desired status (either APPROVED or REJECTED). The response will indicate which requests were successfully processed and which ones encountered errors.\n **Token scopes**: `time-off:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["reviewed","not_reviewed"],"properties":{"reviewed":{"type":"array","items":{"type":"object","required":["id","status"],"properties":{"id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Time off id"},"status":{"enum":["APPROVED","USED","REJECTED"],"type":"string","example":"APPROVED","description":"Time off status after review"}}}},"not_reviewed":{"type":"array","items":{"type":"object","required":["id","error"],"properties":{"id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Time off id"},"error":{"type":"string","example":"Time off is not pending review","description":"The error or reason why a time-off could not be reviewed"}}}}}}},"description":"The response contains two lists: one for time-offs that were successfully reviewed and another for those that could not be reviewed. Each time-off in the reviewed list contains its ID and the status it was set to (either APPROVED/USED or REJECTED). The notReviewed list contains the IDs of time-offs that could not be reviewed along with an error message explaining why."}}},"description":"Review process completed successfully"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"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"}}}},"request":{"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"}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["time-off:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","status"],"properties":{"id":{"type":"string","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Time off id"},"status":{"enum":["APPROVED","REJECTED"],"type":"string","example":"APPROVED","description":"Decision on whether the time off request was approved or rejected"}}},"maxItems":100,"minItems":1,"description":"Array of time-offs to be reviewed"}}}}}}}},"/eor/contracts/{contract_id}/documents":{"get":{"tags":["EOR"],"summary":"Fetch EOR contract documents","operationId":"fetchEorContractDocuments","description":"Lists all documents for a given EOR contract\n **Token scopes**: `contracts:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["document_type"],"properties":{"signature":{"type":"string","example":"Client Signature","nullable":true,"description":"The signature of the client if the document is signed.","x-sensitive-pii":true},"signed_at":{"type":"string","format":"date-time","example":"2025-01-01T00:00:00.000Z","nullable":true,"description":"The date and time the client signed the document if it is signed."},"document_type":{"enum":["FRAMEWORK_AGREEMENT"],"type":"string","example":"FRAMEWORK_AGREEMENT","description":"The type of document. Currently only FRAMEWORK_AGREEMENT is supported."},"eor_signature":{"type":"string","example":"EOR Signature","nullable":true,"description":"The signature of the EOR if the document is signed.","x-sensitive-pii":true},"eor_signed_at":{"type":"string","format":"date-time","example":"2025-01-01T00:00:00.000Z","nullable":true,"description":"The date and time the EOR signed the document if it is signed."},"client_job_title":{"type":"string","example":"Job Title","nullable":true,"description":"The job title of the client if the document is signed.","x-sensitive-pii":true,"x-sensitive-employment":true}}}}}}}},"description":"The documents for the given EOR contract"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"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"}}}},"request":{"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"}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"required":true,"description":"EOR contract ID"}],"security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]}},"/eor/contracts/{contract_id}/offboarding/restricted-dates":{"get":{"tags":["EOR"],"summary":"Retrieve restricted offboarding dates","operationId":"retrieveRestrictedOffboardingDates","description":"Retrieves a list of dates, including weekends and public holidays, that are restricted for employee offboarding based on country-specific rules. Use this endpoint to plan employee offboarding by validating end-date selection. Call it when initiating an EOR offboarding flow to determine which dates are unavailable and what is the first day available.\n **Token scopes**: `contracts:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["earliest_available_end_date","restricted_dates","is_out_work_scheduled_allowed","is_end_date_allowed_on_holidays"],"properties":{"restricted_dates":{"type":"array","items":{"type":"string","format":"date-time","example":"2025-06-20T00:00:00.000Z"},"description":"Dates that are not enabled for selection."},"earliest_available_end_date":{"type":"string","format":"date-time","example":"2025-06-20T00:00:00.000Z","description":"The earliest date that can be selected as the end date."},"is_out_work_scheduled_allowed":{"type":"boolean","example":true,"description":"Whether scheduling out of work is allowed."},"is_end_date_allowed_on_holidays":{"type":"boolean","example":true,"description":"Whether end date selection is allowed on holidays."}}}}}}},"description":"Successful retrieval of restricted dates."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_format","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"email","description":"The field name where input validation failed"},"message":{"type":"string","example":"The email field must be a valid email address format","description":"Description of the returned error"}}}}}}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"expired_token","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"authorization","description":"The field name where authentication failed"},"message":{"type":"string","example":"Your access token has expired. Please authenticate again to continue.","description":"Description of the returned error"}}}}}}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"access_denied","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"contract_id","description":"The field name where permission was denied"},"message":{"type":"string","example":"You do not have permission to access contract CT-12345. Contact your administrator for access.","description":"Description of the returned error"}}}}}}}},"description":"Forbidden"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"database_connection_failed","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":null,"description":"The field name where error occurred (null for server errors)"},"message":{"type":"string","example":"A temporary server error occurred. Please try again in a few moments or contact support if the issue persists.","description":"Description of the returned error"}}}}}}}},"description":"Internal Server Error"}},"parameters":[{"in":"query","name":"termination_type","schema":{"enum":["TERMINATION","RESIGNATION"],"type":"string","nullable":false},"example":"TERMINATION","required":false,"description":"Type of offboarding."},{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"abcd4fg","required":true,"description":"The unique identifier of the employee contract."}],"security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]}},"/equity/exercise":{"post":{"tags":["Contracts"],"summary":"Create a request to exercise equity.","operationId":"createARequestToExerciseEquity-v2026-01-01","description":"Create a request to exercise equity.\n **Token scopes**: `contracts:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","status","created_at","updated_at"],"properties":{"id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Unique identifier of the equity exercise request."},"status":{"type":"string","example":"WTH_TAX_CALCULATION_REQUESTED","description":"The initial status of the newly created equity exercise request."},"created_at":{"type":"string","format":"date-time","example":"2023-05-01T12:00:00.000Z","description":"ISO 8601 timestamp when the equity exercise request was created."},"updated_at":{"type":"string","format":"date-time","example":"2023-05-01T12:00:00.000Z","description":"ISO 8601 timestamp when the equity exercise request was last updated."}}}}},"example":{"data":{"id":"d290f1ee-6c54-4b01-90e6-d701748f0851","status":"WTH_TAX_CALCULATION_REQUESTED","created_at":"2023-05-01T12:00:00.000Z","updated_at":"2023-05-01T12:00:00.000Z"}}}},"description":"Equity exercise request created successfully."},"400":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"\"option_grant_id\" with value \"abc\" fails to match the required pattern: /^[0-9]+$/","description":"Describes the validation failure."}}},"minItems":1}}},"example":{"errors":[{"message":"\"option_grant_id\" with value \"abc\" fails to match the required pattern: /^[0-9]+$/"}]}}},"description":"Request validation failed. A required field is missing, has an invalid format, or the worker is not eligible for equity exercise."},"401":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Authentication required. Please provide a valid access token.","description":"Describes the authentication failure reason."}}},"minItems":1}}},"example":{"errors":[{"message":"Authentication required. Please provide a valid access token."}]}}},"description":"Authentication failed. The access token is missing, expired, or invalid."},"403":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"You do not have permission to access this resource.","description":"Describes the authorization failure reason."}}},"minItems":1}}},"example":{"errors":[{"message":"You do not have permission to access this resource."}]}}},"description":"Access denied. The authenticated user does not have the required contracts:write scope."},"404":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"HrisProfile not found","description":"Describes why the resource was not found."}}},"minItems":1}}},"example":{"errors":[{"message":"Profile not found"}]}}},"description":"The worker profile associated with the given worker_id was not found."},"422":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"The equity exercise request is already in process","description":"Describes the conflict that prevented processing."}}},"minItems":1}}},"example":{"errors":[{"message":"The equity exercise request is already in process"}]}}},"description":"A request with the same exercise_id already exists. Each exercise_id can only be used once."},"429":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Too many requests. Please retry after some time.","description":"Indicates rate limiting. Implement exponential backoff before retrying."}}},"minItems":1}}},"example":{"errors":[{"message":"Too many requests. Please retry after some time."}]}}},"description":"Rate limit exceeded."},"500":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"An unexpected error occurred while processing your request. Please try again later.","description":"General error description for logging and debugging."}}},"minItems":1}}},"example":{"errors":[{"message":"An unexpected error occurred while processing your request. Please try again later."}]}}},"description":"Internal server error. Possible causes include missing EOR contract for the worker, FX rate service failure, or database errors."}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["fmv","fmv_currency_code","exercise_id","worker_id","issuer_id","option_grant_id","option_grant_label","option_grant_issue","option_grant_issue_date","option_grant_expiry_date","option_grant_strike_price","option_grant_currency","quantity","stakeholder_id","stakeholder_email","stakeholder_relationship","address_country","address_state","address_city","address_street","address_zip"],"properties":{"fmv":{"type":"string","example":"100.00","description":"The fair market value of the equity."},"quantity":{"type":"number","example":100,"description":"The quantity of equity to exercise. Must be a positive number."},"issuer_id":{"type":"string","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"The unique identifier of the issuer."},"worker_id":{"type":"string","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"The public UUID of the worker. Must correspond to an existing worker in the system."},"address_zip":{"type":"string","example":"94107","description":"The zip code of the address."},"exercise_id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"The unique identifier of the exercise."},"address_city":{"type":"string","example":"San Francisco","description":"The city of the address."},"address_state":{"type":"string","example":"CA","description":"The state of the address."},"address_street":{"type":"string","example":"123 Main St","description":"The street of the address."},"stakeholder_id":{"type":"string","example":"SH-001234","description":"The unique identifier of the stakeholder."},"address_country":{"type":"string","example":"US","description":"The country of the address."},"option_grant_id":{"type":"string","example":"12345","description":"The numeric identifier of the option grant. Must contain only digits."},"fmv_currency_code":{"type":"string","example":"USD","description":"The currency code of the fair market value (ISO 4217)."},"stakeholder_email":{"type":"string","format":"email","example":"stakeholder@example.com","description":"The email address of the stakeholder."},"option_grant_issue":{"type":"string","example":"Series A","description":"The issue of the option grant."},"option_grant_label":{"type":"string","example":"Stock Option Grant #1","description":"The label of the option grant."},"option_grant_currency":{"type":"string","example":"USD","description":"The currency of the option grant (ISO 4217)."},"option_grant_issue_date":{"type":"string","format":"date","example":"2022-01-01","description":"The issue date of the option grant (ISO 8601 date)."},"option_grant_expiry_date":{"type":"string","format":"date","example":"2032-01-01","description":"The expiry date of the option grant (ISO 8601 date)."},"stakeholder_relationship":{"type":"string","example":"employee","description":"The relationship of the stakeholder."},"option_grant_strike_price":{"type":"string","example":"10.50","description":"The strike price of the option grant."}}}}},"required":true}}},"/eor/contracts/{contract_id}/hrx-documents/{document_id}":{"get":{"tags":["HRX Documents"],"summary":"Download HRX documents","operationId":"downloadHrxDocuments","description":"Generates a pre-signed URL to download a specific HRX document as a PDF file for a given EOR contract. The URL is valid for 15 minutes. The document is generated and managed by HRX (Human Resources Experience) and includes various employment-related documents such as employment agreements, onboarding materials, tax documents, visa support letters, and other official documentation required throughout the employment lifecycle.\n **Token scopes**: `contracts:read`, `worker:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["url","created_at","updated_at"],"properties":{"url":{"type":"string","format":"uri","example":"https://s3.amazonaws.com/deel-documents/hrx/cb28e9a7-43cf-4f24-be6f-d72991cace2e.pdf?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIOSFODNN7EXAMPLE%2F20230916%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230916T112000Z&X-Amz-Expires=900&X-Amz-SignedHeaders=host&X-Amz-Signature=example","description":"Pre-signed URL to download the HRX document PDF. Valid for 15 minutes."},"created_at":{"type":"string","format":"date-time","example":"2025-09-16T11:54:06.763Z","description":"When the document was created"},"updated_at":{"type":"string","format":"date-time","example":"2025-09-16T11:54:50.168Z","description":"When the document was last updated"}},"description":"Download information for the HRX document"}}}}},"description":"Successfully generated pre-signed URL for HRX document download"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_format","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"email","description":"The field name where input validation failed"},"message":{"type":"string","example":"The email field must be a valid email address format","description":"Description of the returned error"}}}}}}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"expired_token","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"authorization","description":"The field name where authentication failed"},"message":{"type":"string","example":"Your access token has expired. Please authenticate again to continue.","description":"Description of the returned error"}}}}}}}},"description":"Unauthorized"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"123E4567","required":true,"description":"The unique identifier of the employee contract."},{"in":"path","name":"document_id","schema":{"type":"string","format":"uuid"},"example":"123e4567-e89b-12d3-a456-426614174000","required":true,"description":"The unique identifier of the document to download."}],"security":[{"deelToken":[]},{"oauth2":["contracts:read","worker:read"]}]}},"/eor/contracts/{contract_id}/offboarding/time-offs":{"get":{"tags":["EOR"],"summary":"Retrieve Employee Time Off Data for Offboarding","operationId":"retrieveEmployeeTimeOffDataForOffboarding","description":"This endpoint provides detailed time off information for an employee, including accrued, used, and scheduled days across all tracking periods. It also includes policy details, tracking configurations, and additional metadata to support the offboarding request process. The data is used to display comprehensive time off information on the offboarding request page.\n **Token scopes**: `contracts:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["contract_id","tracking_type","entitlements","upcoming_time_offs","has_external_integration","policy_settings"],"properties":{"contract_id":{"type":"string","example":"r78nrqi","description":"The unique identifier of the employee contract"},"entitlements":{"type":"array","items":{"type":"object","required":["id","tracking_period","tracking_period_end_date","used","requests","entitlement_unit","created_at","updated_at"],"properties":{"id":{"type":"string","format":"uuid","example":"aa3b5309-7f99-4417-b082-17aff902ddb5","description":"The entitlement ID"},"used":{"type":"number","example":13,"description":"Amount of time off used in this period"},"requests":{"type":"integer","example":1,"description":"Number of time off requests in this period"},"created_at":{"type":"string","format":"date-time","example":"2025-09-11T00:00:00.000Z","description":"When the entitlement was created"},"updated_at":{"type":"string","format":"date-time","example":"2025-09-11T00:00:00.000Z","description":"When the entitlement was updated"},"tracking_period":{"type":"string","format":"date","example":"2025-03-14","description":"The tracking period start date"},"entitlement_unit":{"enum":["BUSINESS_DAY","CALENDAR_DAY","HOUR","WEEK","MONTH","YEAR"],"type":"string","example":"CALENDAR_DAY","description":"Unit of time measurement"},"tracking_period_end_date":{"type":"string","format":"date","example":"2026-03-13","description":"The tracking period end date"}}},"description":"List of entitlement periods sorted by tracking period (descending)"},"tracking_type":{"enum":["OFF_PLATFORM","ON_PLATFORM"],"type":"string","example":"ON_PLATFORM","description":"The time off tracking type"},"policy_settings":{"type":"object","required":["is_accrued_days_available","is_estimated_payout_available","entitlement_unit"],"properties":{"entitlement_unit":{"type":"string","example":"CALENDAR_DAY","description":"The entitlement unit for the policy"},"is_accrued_days_available":{"type":"boolean","example":true,"description":"Whether accrued days are available"},"is_estimated_payout_available":{"type":"boolean","example":true,"description":"Whether estimated payout is available"}},"description":"Policy configuration settings for time off calculations"},"remaining_balance":{"type":"number","example":36.49,"nullable":true,"description":"Remaining time off balance"},"upcoming_time_offs":{"type":"array","items":{"type":"object","required":["id","requested_at","status","start_date","end_date","amount","approved_at","created_at","updated_at"],"properties":{"id":{"type":"string","format":"uuid","example":"aa3b5309-7f99-4417-b082-17aff902ddb5","description":"Time off request ID"},"amount":{"type":"number","example":13,"description":"Amount of time off requested"},"status":{"type":"string","example":"APPROVED","description":"Status of the time off request"},"end_date":{"type":"string","format":"date-time","example":"2025-12-28T00:00:00Z","description":"End date of the time off"},"created_at":{"type":"string","format":"date-time","example":"2025-09-11T00:00:00.000Z","description":"When the time off request was created"},"start_date":{"type":"string","format":"date-time","example":"2025-12-08T00:00:00Z","description":"Start date of the time off"},"updated_at":{"type":"string","format":"date-time","example":"2025-09-11T00:00:00.000Z","description":"When the time off request was updated"},"approved_at":{"type":"string","format":"date-time","example":"2025-08-13T00:00:00.000Z","description":"When the time off was approved"},"requested_at":{"type":"string","format":"date-time","example":"2025-08-13T00:00:00.000Z","description":"When the time off was requested"}}},"description":"List of upcoming time off requests"},"has_external_integration":{"type":"boolean","example":true,"description":"Whether the contract has external integration"}}}}}}},"description":"Successfully retrieved used time off information"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_format","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"email","description":"The field name where input validation failed"},"message":{"type":"string","example":"The email field must be a valid email address format","description":"Description of the returned error"}}}}}}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"expired_token","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"authorization","description":"The field name where authentication failed"},"message":{"type":"string","example":"Your access token has expired. Please authenticate again to continue.","description":"Description of the returned error"}}}}}}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"access_denied","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"contract_id","description":"The field name where permission was denied"},"message":{"type":"string","example":"You do not have permission to access contract CT-12345. Contact your administrator for access.","description":"Description of the returned error"}}}}}}}},"description":"Forbidden"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"database_connection_failed","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":null,"description":"The field name where error occurred (null for server errors)"},"message":{"type":"string","example":"A temporary server error occurred. Please try again in a few moments or contact support if the issue persists.","description":"Description of the returned error"}}}}}}}},"description":"Internal Server Error"}},"parameters":[{"in":"query","name":"end_date","schema":{"type":"string","format":"date"},"example":"2025-10-20","required":false,"description":"Desired end date for offboarding"},{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"5B74FnLM","required":true,"description":"The unique identifier of the employee contract."}],"security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]}},"/timesheets/presets/{id}":{"patch":{"tags":["Projects"],"summary":"Update Hourly Report Preset","operationId":"updateHourlyReportPreset","description":"Update an existing hourly report preset.\n **Token scopes**: `timesheets:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the updated hourly report preset"}}}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Work statement is not in allowed status"}}}}},"description":"Bad Request"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Forbidden"}}}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Not Found"}}}}},"description":"Not Found"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"id","schema":{"type":"string","format":"uuid"},"example":"123e4567-e89b-12d3-a456-426614174000","required":true,"description":"The unique identifier of the hourly report preset to update"}],"security":[{"deelToken":[]},{"oauth2":["timesheets:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"file":{"type":"string","format":"binary","example":"timesheet_template.pdf","nullable":true,"description":"The file to be attached to this hourly report preset (optional)"},"rate":{"type":"number","format":"float","example":75.5,"minimum":0.1,"description":"The hourly rate for this preset (must be greater than 0)"},"title":{"type":"string","example":"Client Project Hours Q1 2024","maxLength":255,"description":"The title of the hourly report preset (maximum 255 characters)"},"description":{"type":"string","example":"Quarterly timesheet template for tracking billable hours on the client's main project","nullable":true,"maxLength":30000,"description":"A detailed description of the hourly report preset's purpose and contents (maximum 30000 characters)"}}}}}}},"required":true}},"delete":{"tags":["Projects"],"summary":"Delete Hourly Report Preset","operationId":"deleteHourlyReportPreset","description":"Delete an existing hourly report preset.\n **Token scopes**: `timesheets:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["deleted"],"properties":{"deleted":{"type":"boolean","example":true,"description":"Indicates whether the hourly report preset was successfully deleted"}}}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Work statement is not in allowed status"}}}}},"description":"Bad Request"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Forbidden"}}}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Not Found"}}}}},"description":"Not Found"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"id","schema":{"type":"string","format":"uuid"},"example":"123e4567-e89b-12d3-a456-426614174000","required":true,"description":"The unique identifier of the hourly report preset to delete"}],"security":[{"deelToken":[]},{"oauth2":["timesheets:write"]}]},"get":{"tags":["Projects"],"summary":"Get Hourly Report Preset by ID","operationId":"getHourlyReportPresetById","description":"Retrieve a specific hourly report preset by its ID.\n **Token scopes**: `timesheets:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","title","status","description"],"properties":{"id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the hourly report preset"},"file":{"type":"object","nullable":true,"properties":{"id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the file"},"name":{"type":"string","example":"your_file_name","description":"The name of the file"},"type":{"type":"string","example":"pdf","description":"The type of the file"}}},"type":{"enum":["RATE","TRACKING"],"type":"string","example":"RATE","description":"The type of preset based on type of root preset"},"title":{"type":"string","example":"Monthly Hours Summary","description":"The title of the hourly report preset"},"status":{"type":"string","example":"active","description":"The current status of the hourly report preset"},"description":{"type":"string","example":"Monthly summary of billable hours for client projects","description":"A detailed description of the hourly report preset"}}}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Forbidden"}}}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Not Found"}}}}},"description":"Not Found"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"id","schema":{"type":"string","format":"uuid"},"example":"123e4567-e89b-12d3-a456-426614174000","required":true,"description":"The unique identifier of the hourly report preset to retrieve"}],"security":[{"deelToken":[]},{"oauth2":["timesheets:read"]}]}},"/immigration/client/cases":{"get":{"tags":["Immigration"],"summary":"List of immigration cases","operationId":"listOfImmigrationCases-v2026-01-01","description":"Retrieves a paginated list of immigration cases with filters for applicant name, case type, status, and country. Returns case details including type, status, process, timestamps, and optional closure information.\n **Token scopes**: `immigration:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data","has_more","total_count"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","status","case_type","process","applicant","closure","created_at","updated_at"],"properties":{"id":{"type":"string","format":"uuid","example":"d7348f5b-b0a6-4c84-ae07-2e5ccdd60134","description":"Unique identifier of the immigration case."},"status":{"enum":["OPEN","CLOSED","ON_HOLD"],"type":"string","example":"OPEN","description":"Current lifecycle status of the immigration case."},"closure":{"type":"object","example":{"note":"Employee contract was terminated.","reason":"CONTRACT_CANCELLED"},"nullable":true,"required":["reason","note"],"properties":{"note":{"type":"string","example":"Employee contract was terminated.","nullable":true,"maxLength":400,"description":"Additional notes explaining the case closure."},"reason":{"enum":["CONTRACT_CANCELLED","NATIONALITY_CHANGE","NEW_CASE_TYPE_IS_REQUIRED","ONBOARDING_RELEASED","OTHER"],"type":"string","example":"CONTRACT_CANCELLED","nullable":true,"description":"Reason why the immigration case was closed."}},"description":"Closure details of the case if the case has been closed."},"process":{"type":"object","required":["id","name","status"],"properties":{"id":{"type":"string","format":"uuid","example":"c8895566-11aa-22bb-33cc-44dd55ee66ff","description":"Unique identifier of the current process."},"name":{"type":"string","example":"Initial Review","maxLength":255,"description":"Human-readable name of the current process step."},"status":{"type":"object","required":["id","name"],"properties":{"id":{"type":"string","format":"uuid","example":"f1234567-abcd-ef01-2345-6789abcd0123","nullable":true,"description":"Unique identifier of the process status."},"name":{"type":"string","example":"IN_PROGRESS","nullable":true,"maxLength":255,"description":"Human-readable name of the process status."}},"description":"Current status of the process."}},"description":"Current active process associated with the case."},"applicant":{"type":"object","example":{"id":"b1234567-89ab-cdef-0123-456789abcdef","name":"John Doe"},"nullable":true,"required":["name"],"properties":{"id":{"type":"string","format":"uuid","example":"b1234567-89ab-cdef-0123-456789abcdef","nullable":true,"description":"Unique identifier of the applicant."},"name":{"type":"string","example":"John Doe","maxLength":255,"description":"Full name of the applicant."}},"description":"Applicant associated with the immigration case."},"case_type":{"type":"object","required":["id","name"],"properties":{"id":{"type":"string","format":"uuid","example":"a1234567-89ab-cdef-0123-456789abcdef","description":"Unique identifier of the case type."},"name":{"type":"string","example":"Work Permit","maxLength":255,"description":"Human-readable name of the case type."}},"description":"Type of immigration case."},"created_at":{"type":"string","format":"date-time","example":"2024-01-12T08:30:00Z","description":"Timestamp indicating when the case was created."},"updated_at":{"type":"string","format":"date-time","example":"2024-01-13T10:45:00Z","description":"Timestamp indicating when the case was last updated."}}},"description":"List of cases in the current page."},"has_more":{"type":"boolean","example":true,"description":"Indicates whether more results are available for pagination."},"next_cursor":{"type":"string","example":"eyJpZCI6IjEyMzQ1NiJ9","nullable":true,"description":"Cursor value to be used for fetching the next page of results."},"total_count":{"type":"integer","example":100,"description":"Total number of cases matching the search criteria."}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_parameter","description":"Machine-readable error code"},"field":{"type":"string","example":"/data/example_field","description":"Name of the field causing the error (for validation issues)"},"message":{"type":"string","example":"Must have required property 'example_field'","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"service_unavailable","description":"Machine-readable error code"},"message":{"type":"string","example":"The service is currently experiencing issues","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."}},"parameters":[{"in":"query","name":"search","schema":{"type":"string","maxLength":100,"minLength":3},"example":"john","required":false,"description":"Search by applicant name or code"},{"in":"query","name":"case_type_ids","schema":{"type":"array","items":{"type":"string","format":"uuid"}},"example":["e9b4ce94-2e3e-4d41-9faf-1ad2389cac1d"],"required":false,"description":"Filter by case type IDs"},{"in":"query","name":"statuses","schema":{"type":"array","items":{"enum":["OPEN","ON_HOLD","CLOSED"],"type":"string"}},"example":["OPEN","ON_HOLD","CLOSED"],"required":false,"description":"Filter by case status"},{"in":"query","name":"countries","schema":{"type":"array","items":{"type":"string","pattern":"^[A-Z]{2}$","maxLength":2,"minLength":2,"description":"The ISO 3166-1 alpha-2 country code."},"maxItems":100,"minItems":1},"example":["AE","SA"],"required":false,"description":"Filter by country. Uses ISO 3166-1 alpha-2 codes (https://www.iban.com/country-codes)."},{"in":"query","name":"cursor","schema":{"type":"string"},"example":"next-page-token-123","required":false,"description":"Pagination cursor for fetching next set of results"},{"in":"query","name":"limit","schema":{"type":"integer","default":20,"maximum":100},"example":20,"required":false,"description":"Max number of results to return"}],"security":[{"deelToken":[]},{"oauth2":["immigration:read"]}]},"post":{"tags":["Immigration"],"summary":"Create an immigration case","operationId":"createAnImmigrationCase","description":"Create an immigration case.\n **Token scopes**: `immigration:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","status","process","created_at","updated_at"],"properties":{"id":{"type":"string","format":"uuid","example":"223e4567-e89b-12d3-a456-426614174111","description":"Unique identifier for the case"},"status":{"enum":["OPEN","CLOSED","ON_HOLD"],"type":"string","example":"OPEN","description":"Current status of the case"},"process":{"type":"object","required":["id","process_name","status_name"],"properties":{"id":{"type":"string","format":"uuid","example":"223e45611-e19b-12d3-a456-426614174000","description":"Unique identifier for the process"},"status_name":{"type":"string","example":"Document Review","description":"Human-readable status of the process"},"process_name":{"type":"string","example":"Right to Work Verification","description":"Name of the immigration process"}},"description":"Details about the current immigration process associated with the case"},"created_at":{"type":"string","format":"date-time","example":"2024-12-10T15:45:00Z","description":"Timestamp when the case was created"},"updated_at":{"type":"string","format":"date-time","example":"2024-12-10T15:45:00Z","description":"Timestamp when the case was last updated"},"closure_note":{"type":"string","example":"All requirements met and visa approved","nullable":true,"maxLength":400,"description":"Optional note explaining why the case was closed"},"closure_reason":{"type":"string","example":"COMPLETED_SUCCESSFULLY","nullable":true,"description":"Standardized reason for case closure"}},"description":"The immigration case data returned after successful creation"}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_parameter","description":"Machine-readable error code"},"field":{"type":"string","example":"/data/example_field","description":"Name of the field causing the error (for validation issues)"},"message":{"type":"string","example":"Must have required property 'example_field'","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"service_unavailable","description":"Machine-readable error code"},"message":{"type":"string","example":"The service is currently experiencing issues","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["immigration:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"oneOf":[{"type":"object","title":"Right to Work Case","required":["case_type","country_code","contract_id"],"properties":{"case_type":{"enum":["RIGHT_TO_WORK"],"type":"string","example":"RIGHT_TO_WORK","description":"The type of immigration case to be created. Determines the workflow and requirements"},"contract_id":{"type":"string","example":"12345","maxLength":20,"description":"The contract object identifier. Required for document reviews and visa applications"},"country_code":{"type":"string","example":"US","maxLength":2,"description":"ISO 3166-1 alpha-2 country code where the immigration case needs to be processed"}}},{"type":"object","title":"EOR Visa Case","required":["case_type","country_code","contract_id"],"properties":{"case_type":{"enum":["EOR_VISA"],"type":"string","example":"EOR_VISA","description":"The type of immigration case to be created. Determines the workflow and requirements"},"contract_id":{"type":"string","example":"12345","maxLength":20,"description":"The contract object identifier. Required for document reviews and visa applications"},"country_code":{"type":"string","example":"US","maxLength":2,"description":"ISO 3166-1 alpha-2 country code where the immigration case needs to be processed"},"visa_type_id":{"type":"string","format":"uuid","example":"223e4567-e89b-12d3-a456-426614174000","description":"The id of visa type that is being applied for. Identifies the type of the visa."}}},{"type":"object","title":"Sponsored Visa Case","required":["case_type","country_code","contract_id","entity_id"],"properties":{"case_type":{"enum":["SPONSORED_VISA"],"type":"string","example":"SPONSORED_VISA","description":"The type of immigration case to be created. Determines the workflow and requirements"},"entity_id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the entity sponsoring the visa. Required for sponsored visa applications"},"contract_id":{"type":"string","example":"12345","maxLength":20,"description":"The contract object identifier. Required for document reviews and visa applications"},"country_code":{"type":"string","example":"US","maxLength":2,"description":"ISO 3166-1 alpha-2 country code where the immigration case needs to be processed"},"visa_type_id":{"type":"string","format":"uuid","example":"223e4567-e89b-12d3-a456-426614174000","description":"The id of visa type that is being applied for. Identifies the type of the visa."}}},{"type":"object","title":"Pre-hire EOR Visa Case","required":["case_type","country_code","team_id"],"properties":{"team_id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the team for which the pre-hire visa case is being created"},"case_type":{"enum":["PRE_HIRE_EOR_VISA"],"type":"string","example":"PRE_HIRE_EOR_VISA","description":"The type of immigration case to be created. Determines the workflow and requirements"},"country_code":{"type":"string","example":"US","maxLength":2,"description":"ISO 3166-1 alpha-2 country code where the immigration case needs to be processed"},"visa_type_id":{"type":"string","format":"uuid","example":"223e4567-e89b-12d3-a456-426614174000","description":"The id of visa type that is being applied for. Identifies the type of the visa."}}},{"type":"object","title":"Pre-hire Sponsorship Visa Case","required":["case_type","country_code","team_id"],"properties":{"team_id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the team for which the pre-hire sponsorship visa case is being created"},"case_type":{"enum":["PRE_HIRE_SPONSORSHIP_VISA"],"type":"string","example":"PRE_HIRE_SPONSORSHIP_VISA","description":"The type of immigration case to be created. Determines the workflow and requirements"},"entity_id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the entity sponsoring the visa. Required for sponsored visa applications"},"country_code":{"type":"string","example":"US","maxLength":2,"description":"ISO 3166-1 alpha-2 country code where the immigration case needs to be processed"},"visa_type_id":{"type":"string","format":"uuid","example":"223e4567-e89b-12d3-a456-426614174000","description":"The id of visa type that is being applied for. Identifies the type of the visa."}}},{"type":"object","title":"Business Visa Case","required":["case_type","country_code","travel_information","visa_type_id","employee_details"],"properties":{"team_id":{"type":"string","format":"uuid","example":"223e4567-e89b-12d3-a456-426614174000","description":"The id of the team for which the employee will be added to. Required if contract_id is not provided"},"case_type":{"enum":["BUSINESS_VISA"],"type":"string","example":"BUSINESS_VISA","description":"The type of immigration case to be created. Determines the workflow and requirements"},"entity_id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the entity sponsoring the visa. Required for sponsored visa applications"},"contract_id":{"type":"string","example":"12345","maxLength":20,"description":"The contract object identifier. If not provided, employee_details and team_id become required"},"country_code":{"type":"string","example":"US","maxLength":2,"description":"ISO 3166-1 alpha-2 country code where the immigration case needs to be processed"},"visa_type_id":{"type":"string","format":"uuid","example":"223e4567-e89b-12d3-a456-426614174000","description":"The id of visa type that is being applied for. Identifies the type of the visa"},"employee_details":{"type":"object","required":["citizenships","residence"],"properties":{"email":{"type":"string","format":"email","example":"john.doe@example.com","maxLength":255,"minLength":3,"description":"Employee's email address.  Required if contract_id is not provided"},"last_name":{"type":"string","example":"Doe","maxLength":100,"minLength":3,"description":"Employee's last name.  Required if contract_id is not provided"},"residence":{"type":"string","example":"US","maxLength":2,"minLength":2,"description":"ISO 3166-1 alpha-2 country code of employee's current residence"},"first_name":{"type":"string","example":"John","maxLength":100,"minLength":3,"description":"Employee's first name.  Required if contract_id is not provided"},"citizenships":{"type":"array","items":{"type":"string","maxLength":2,"minLength":2},"example":["US","BR"],"description":"List of ISO 3166-1 alpha-2 country codes representing employee's citizenships"}},"description":"Employee information. Citizenships and residence attributes are always required for business visa cases. The remaining fields are only required when no contract_id is present."},"travel_information":{"type":"object","required":["start_date","end_date","purpose"],"properties":{"purpose":{"enum":["INTERNAL_BUSINESS_WITH_WORK_FOR_CLIENT","INTERNAL_BUSINESS_WITHOUT_WORK_FOR_CLIENT","MEETINGS_WITH_OR_FOR_A_CLIENT","MEETINGS_WITH_POTENTIAL_CLIENTS","NEGOTIATING_CONTRACTS_OR_SIGNING_AGREEMENTS","OTHER_EXTERNAL_BUSINESS","CONFERENCE","TEAM_OFFSITE","SPEAKING_AT_CONFERENCE_UNPAID","SPEAKING_AT_CONFERENCE_PAID","ATTENDING_INTERNAL_TRAINING","ATTENDING_EXTERNAL_TRAINING","DELIVERING_TRAINING_TO_INTERNAL_PARTICIPANTS","DELIVERING_TRAINING_TO_EXTERNAL_PARTICIPANTS_UNPAID","DELIVERING_TRAINING_TO_EXTERNAL_PARTICIPANTS_PAID","PARTICIPATION_IN_RESEARCH_PROJECTS_AND_STUDIES","ASSEMBLY_MAINTENANCE_REPAIR_INSTALLATION","TECHNICAL_SUPPORT_OR_SUPERVISION","OTHER_HANDS_ON_LABOUR","MARKET_RESEARCH_AND_EXPLORING_INVESTMENT_OPPORTUNITIES","OTHER"],"type":"string","example":"CONFERENCE","description":"The purpose of the business trip"},"end_date":{"type":"string","format":"date","example":"2025-01-30","description":"Trip end date in YYYY-MM-DD format"},"start_date":{"type":"string","format":"date","example":"2025-01-15","description":"Trip start date in YYYY-MM-DD format"}},"description":"Travel details for the business visa"}}}]}}}}},"required":true}}},"/payments":{"get":{"tags":["Accounting"],"summary":"Retrieve payment receipts","operationId":"retrievePaymentReceipts-v2026-01-01","description":"Returns a cursor-paginated list of payments made to Deel, including worker details, payment status, and payment methods. Use the `next_cursor` value from the response to retrieve subsequent pages.\n **Token scopes**: `accounting:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"rows":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"34d7Y48Ymu44g66fghN9F","nullable":false,"description":"Unique identifier of the payment."},"label":{"type":"string","example":"REC-2024-3","description":"A descriptive label for the payment."},"total":{"type":"string","example":"1500.00","description":"Original invoice total before any credits or balance were applied."},"status":{"enum":["paid","processing"],"type":"string","example":"paid","description":"Status of the payment. Either 'paid' or 'processing'."},"paid_at":{"type":"string","format":"date-time","example":"2022-05-24T09:38:46.235Z","nullable":false,"description":"Date and time when the payment was completed, in ISO-8601 format."},"workers":{"type":"array","items":{"type":"object","title":"The worker for the payment","required":["picUrl"],"properties":{"id":{"type":"string","format":"uuid","example":"f2f31dd9-06d7-4944-89bd-449b0fd54855","nullable":true,"description":"Unique identifier for the worker."},"name":{"type":"string","default":"","example":"Jane Doe","description":"Full name of the worker.","x-sensitive-pii":true},"picUrl":{"type":"string","default":null,"example":"https://cdn.deel.com/avatars/user-123.jpg","nullable":true,"description":"URL to the worker's Deel avatar."},"contract_id":{"type":"string","example":"37nex2x","nullable":true,"description":"The unique identifier of the employee contract."}}},"description":"Array of workers associated with this payment."},"invoices":{"type":"array","items":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"invoice-001","description":"Unique identifier of the invoice."}}},"description":"Array of invoices associated with this payment."},"timezone":{"type":"string","example":"+02:00","pattern":"^[+-]\\d{2}:\\d{2}$","description":"Timezone offset in ISO 8601 format (e.g., +02:00, -05:00)."},"total_due":{"type":"string","example":"1400.00","description":"Amount due for the payment after applying any credits or balance. Equals 'total' when no credits were used."},"created_at":{"type":"string","format":"date-time","example":"2022-05-23T14:45:30.123Z","description":"Date and time when the payment was created, in ISO-8601 format."},"deel_reference":{"type":"string","example":"DEEL72T6KJ","nullable":true,"description":"Deel reference identifier for the payment."},"payment_method":{"type":"object","properties":{"type":{"enum":["stripe_bacs_debit","pay_pal","stripe_card","bt_card","stripe_ach","coinbase","go_cardless","brex","stripe_sepa_debit","transferwise","go_cardless_becs","bank_transfer","mercury_wire","bt_pay_pal","ach","client_balance","fee_credits","eor_funding_balance","alviere_ach","adyen_card"],"type":"string","example":"ach","nullable":false,"description":"Type of payment method used for the transaction."}},"description":"Payment method details for the transaction."},"payment_currency":{"type":"string","example":"GBP","pattern":"^[A-Z]{3}$","maxLength":3,"minLength":3,"description":"Three-letter currency code for the payment, following ISO 4217."},"general_funds_used":{"type":"object","properties":{"amount":{"type":"string","example":"50.00","description":"Amount deducted from general funds, in the payment currency. '0.00' if not used."},"original_amount":{"type":"string","example":"50.00","nullable":true,"description":"Amount deducted from general funds, in the original currency it was held in. Null if not used."},"original_currency":{"type":"string","example":"USD","nullable":true,"description":"Currency in which the general funds were held, following ISO 4217. Null if not used."}},"description":"Amount paid using the client's general balance funds."},"deel_granted_credits_used":{"type":"object","properties":{"amount":{"type":"string","example":"0.00","description":"Amount deducted from Deel-granted credits, in the payment currency. '0.00' if not used."},"original_amount":{"type":"string","example":null,"nullable":true,"description":"Amount deducted from Deel-granted credits, in the original currency they were held in. Null if not used."},"original_currency":{"type":"string","example":null,"nullable":true,"description":"Currency in which the Deel-granted credits were held, following ISO 4217. Null if not used."}},"description":"Amount paid using Deel-granted credits."},"prepaid_billing_credits_used":{"type":"object","properties":{"amount":{"type":"string","example":"40.00","description":"Amount deducted from prepaid billing credits, in the payment currency. '0.00' if not used."},"original_amount":{"type":"string","example":"40.00","nullable":true,"description":"Amount deducted from prepaid billing credits, in the original currency they were held in. Null if not used."},"original_currency":{"type":"string","example":"USD","nullable":true,"description":"Currency in which the prepaid billing credits were held, following ISO 4217. Null if not used."}},"description":"Amount paid using prepaid billing credits."},"eor_early_invoicing_funds_used":{"type":"object","properties":{"amount":{"type":"string","example":"10.00","description":"Amount deducted from EOR early invoicing funds, in the payment currency. '0.00' if not used."},"original_amount":{"type":"string","example":"10.00","nullable":true,"description":"Amount deducted from EOR early invoicing funds, in the original currency they were held in. Null if not used."},"original_currency":{"type":"string","example":"USD","nullable":true,"description":"Currency in which the EOR early invoicing funds were held, following ISO 4217. Null if not used."}},"description":"Amount paid using EOR early invoicing funds."}}},"description":"Array of payment receipts matching the query criteria."},"total":{"type":"number","example":150,"nullable":false,"description":"The total number of payments matching the query."},"has_more":{"type":"boolean","example":"true","nullable":false,"description":"Inform if there are more entries to be fetched using next cursor,."},"next_cursor":{"type":"string","example":"BHF2gkMEMT8D9UQDmty66","nullable":true,"description":"A cursor for pagination. Use the value returned in the 'next_cursor' field to get the next page of results. If there are no more results, this will be null."},"total_count":{"type":"number","example":150,"nullable":false,"description":"The total number of payments matching the query."}}}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR"},"message":{"type":"string","example":"An unexpected error occurred"}}}}}},"example":{"errors":[{"code":"AMENDMENT_ERROR","message":"An unexpected error occurred"}]}}},"description":"Internal server error."}},"parameters":[{"in":"query","name":"date_from","schema":{"type":"string","format":"date"},"example":"2022-01-01","description":"Filters results to include payments created on or after this date (in ISO 8601 format)."},{"in":"query","name":"date_to","schema":{"type":"string","format":"date"},"example":"2022-12-31","description":"Filters results to include payments created before this date (in ISO 8601 format)."},{"in":"query","name":"cursor","schema":{"type":"string"},"example":"BHF2gkMEMT8D9UQDmty66","description":"A cursor for pagination. Use the value returned in the 'next_cursor' field to get the next page of results."},{"in":"query","name":"currencies","schema":{"oneOf":[{"type":"array","items":{"type":"string","pattern":"^[A-Z]{3}$","maxLength":3,"minLength":3}},{"type":"string","pattern":"^[A-Z]{3}$","maxLength":3,"minLength":3}]},"example":["USD","EUR"],"description":"Filters payments by their currency codes. Can be a single currency code or an array of codes."},{"in":"query","name":"entities","schema":{"oneOf":[{"type":"array","items":{"enum":["individual","company"],"type":"string"}},{"enum":["individual","company"],"type":"string"}]},"example":["company"],"description":"Filters payments by legal entity type (e.g., 'individual' or 'company'). Can be a single entity type or an array."},{"in":"query","name":"statuses","schema":{"oneOf":[{"type":"array","items":{"enum":["paid","processing"],"type":"string"}},{"enum":["paid","processing"],"type":"string"}]},"example":["paid","processing"],"description":"Filters payments by their status (e.g., 'paid' or 'processing'). Can be a single status type or an array."}],"security":[{"deelToken":[]},{"oauth2":["accounting:read"]}]}},"/eor/workers/{worker_id}/payslips":{"get":{"tags":["EOR"],"summary":"Retrieve employee payslip records","operationId":"retrieveEmployeePayslipRecords-v2026-01-01","description":"Retrieve a list of payslip records for a specific employee, detailing payment periods, status, and associated identifiers.\n **Token scopes**: `payslips:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","from","to","status"],"properties":{"id":{"type":"string","example":"oid123","description":"Unique identifier for the payslip record."},"to":{"type":"string","format":"date","example":"2025-01-31","nullable":true,"description":"End date of the payment period."},"from":{"type":"string","format":"date","example":"2025-01-01","description":"Start date of the payment period."},"status":{"type":"string","example":"PUBLISHED","description":"Status of the payslip (e.g., 'Pending', 'Processed')."}}}}}},"examples":{"success":{"value":{"data":[{"id":"pay-001","to":"2023-10-31T23:59:59Z","from":"2023-10-01T00:00:00Z","status":"PUBLISHED"},{"id":"pay-002","to":"2023-11-30T23:59:59Z","from":"2023-11-01T00:00:00Z","status":"PUBLISHED"}]},"summary":"Example of a successful response."}}}},"description":"Payslip records successfully retrieved."},"400":{"content":{"application/json":{"examples":{"invalidWorkerId":{"value":{"error":"The provided worker ID is invalid. Ensure it is a valid UUID."},"summary":"Invalid worker ID format."}}}},"description":"Invalid request. The worker ID format is incorrect."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"content":{"application/json":{"examples":{"notFound":{"value":{"error":"No payslip records found for the specified worker ID."},"summary":"Worker ID not found."}}}},"description":"Worker not found or no payslips available."},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"worker_id","schema":{"type":"string"},"example":"123e4567-e89b-12d3-a456-426614174000","required":true,"description":"The ID of the worker whose payslips are being retrieved."}],"security":[{"deelToken":[]},{"oauth2":["payslips:read"]}]}},"/contracts":{"get":{"tags":["Contracts"],"summary":"List of contracts","operationId":"listOfContracts","description":"Retrieve a list of contracts.\n **Token scopes**: `contracts:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data","page"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","title","type","status","client","invitations","signatures","is_shielded","is_archived","created_at","termination_date"],"properties":{"id":{"type":"string","example":"d0377f58-f152-413a-aa9f-997bdfc61fc2","nullable":false,"minLength":1,"description":"UUID of the contract."},"type":{"enum":["ongoing_time_based","milestones","time_based","pay_as_you_go_time_based","commission","payg_milestones","payg_tasks","eor","unknown","peo","employee","global_payroll","shield_msa","hris_direct_employee","contractor_outside_deel"],"type":"string","example":"ongoing_time_based","description":"Type of a contract."},"scale":{"type":"string","example":"weekly","nullable":true,"description":"The payment scale (e.g., hourly, weekly, monthly, etc.)."},"title":{"type":"string","example":"Ken","nullable":false,"minLength":1,"description":"Title of the contract."},"client":{"type":"object","example":{"team":{"id":"d0377f58-f152-413a-aa9f-997bdfc61fc2","name":"Ken"}},"properties":{"team":{"type":"object","example":{"id":"d0377f58-f152-413a-aa9f-997bdfc61fc2","name":"Ken"},"required":["id","name"],"properties":{"id":{"type":"string","example":"d0377f58-f152-413a-aa9f-997bdfc61fc2","description":"Unique identifier of this resource."},"name":{"type":"string","example":"Ken","nullable":true,"description":"Name of a team."}},"description":"Team information for the client."}},"description":"Client information associated with the contract."},"status":{"enum":["new","under_review","waiting_for_approval","waiting_for_employee_contract","waiting_for_client_sign","processing_payment","waiting_for_contractor_sign","waiting_for_eor_sign","waiting_for_employee_sign","waiting_for_hris_employee_sign","awaiting_deposit_payment","in_progress","completed","cancelled","user_cancelled","rejected","waiting_for_client_payment","onboarding","onboarded"],"type":"string","example":"waiting_for_client_sign","nullable":false,"description":"Status of a contract in Deel workflow."},"worker":{"type":"object","example":{"id":"28da9a07-102c-4a69-9781-3182a514f669","email":"test@example.com","image":"https://example.com/image.jpg","full_name":"John Doe","alternate_email":[{"email":"test@example.com","isVerified":true}]},"nullable":true,"required":["id"],"properties":{"id":{"type":"string","example":"28da9a07-102c-4a69-9781-3182a514f669","description":"Unique identifier of this resource."},"email":{"type":"string","example":"test@example.com","nullable":true,"minLength":5,"description":"User's email address.","x-sensitive-pii":true},"image":{"type":"string","format":"uri","example":"https://example.com/image.jpg","nullable":true,"minLength":5,"description":"URL of the worker's profile image."},"full_name":{"type":"string","example":"John Doe","nullable":false,"minLength":1,"description":"Full name of the worker.","x-sensitive-pii":true},"alternate_email":{"type":"array","items":{"type":"object","example":{"email":"test@example.com","isVerified":true},"properties":{"email":{"type":"string","format":"email","example":"test@example.com","nullable":true,"minLength":5,"description":"User's email address."},"isVerified":{"type":"boolean","example":true,"description":"Indicates whether the alternate email address is verified."}},"description":"Alternate email address object."},"example":[{"email":"test@example.com","isVerified":true}],"description":"List of alternate email addresses.","x-sensitive-pii":true}},"description":"Worker information associated with the contract."},"created_at":{"type":"string","format":"date-time","example":"2019-03-21T13:45:07.515Z","nullable":true,"description":"Timestamp when the contract was created, in ISO-8601 format."},"signatures":{"type":"object","example":{"client_signed_at":"2019-03-21T13:45:07.515Z","worker_signature":"John Doe","worker_signed_at":"2019-03-21T13:45:07.515Z"},"required":["client_signed_at","worker_signature","worker_signed_at"],"properties":{"client_signed_at":{"type":"string","format":"date-time","example":"2019-03-21T13:45:07.515Z","nullable":true,"description":"Timestamp when the client signed the contract, in ISO-8601 format."},"worker_signature":{"type":"string","example":"John Doe","nullable":true,"description":"Worker's signature."},"worker_signed_at":{"type":"string","format":"date-time","example":"2019-03-21T13:45:07.515Z","nullable":true,"description":"Timestamp when the worker signed the contract, in ISO-8601 format."}},"description":"Signature information for the contract."},"external_id":{"type":"string","example":"123456","nullable":true,"description":"A unique identifier for the object provided by an external system."},"invitations":{"type":"object","example":{"client_email":"test@example.com","worker_email":"test@example.com"},"properties":{"client_email":{"type":"string","example":"test@example.com","nullable":true,"description":"Email address of the client to invite."},"worker_email":{"type":"string","example":"test@example.com","nullable":true,"description":"Email address of the worker to invite.","x-sensitive-pii":true}},"description":"Details of invitations sent for signing the contract."},"is_archived":{"type":"boolean","example":false,"description":"Indicates whether the contract is archived."},"is_shielded":{"type":"boolean","example":false,"description":"Indicates whether the contract is shielded."},"who_reports":{"enum":["both","client","contractor"],"type":"string","example":"both","description":"Indicates who is responsible for providing regular reports."},"cost_centers":{"type":"array","items":{"type":"object","example":{"name":"6P73USR022JKJ2KU1","number":"553","allocation_percentage":100},"properties":{"name":{"type":"string","example":"6P73USR022JKJ2KU1","description":"Cost center name."},"number":{"type":"string","example":"553","description":"Cost center number."},"allocation_percentage":{"type":"number","example":100,"description":"Percentage of the cost center allocation."}},"description":"Cost center object."},"example":[{"name":"6P73USR022JKJ2KU1","number":"553","allocation_percentage":100}],"description":"List of cost centers associated with the contract."},"notice_period":{"type":"number","default":0,"example":30,"minimum":0,"description":"Number of days required to give notice before terminating the contract."},"termination_date":{"type":"string","format":"date-time","example":"2022-10-21T09:33:12.256Z","nullable":true,"description":"Date when the contract is terminated, in ISO-8601 format."}}},"example":[{"id":"d0377f58-f152-413a-aa9f-997bdfc61fc2","type":"ongoing_time_based","title":"Ken","client":{"team":{"id":"d0377f58-f152-413a-aa9f-997bdfc61fc2","name":"Ken"}},"status":"waiting_for_client_sign","created_at":"2019-03-21T13:45:07.515Z","signatures":{"client_signed_at":"2019-03-21T13:45:07.515Z","worker_signature":"John Doe","worker_signed_at":"2019-03-21T13:45:07.515Z"},"invitations":{"client_email":"test@example.com","worker_email":"test@example.com"},"is_archived":false,"is_shielded":false,"termination_date":"2022-10-21T09:33:12.256Z"}],"description":"Array of contract objects."},"page":{"type":"object","example":{"cursor":"eyJ0eXBlIjoiY29udGV4dCIsInN0YXR1cyI6Im5ldyJ9","total_rows":100},"required":["cursor","total_rows"],"properties":{"cursor":{"type":"string","example":"eyJ0eXBlIjoiY29udGV4dCIsInN0YXR1cyI6Im5ldyJ9","nullable":false,"description":"Cursor for paginated results."},"total_rows":{"type":"number","example":100,"nullable":false,"description":"Total number of rows in the result set."}},"description":"Pagination information for the response."}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Invalid query parameters","description":"Error response"}}},"description":"Error messages"},"request":{"type":"object","properties":{"method":{"type":"string","example":"GET","description":"Method of the API"},"status":{"type":"number","example":400,"description":"Status of API response"}},"description":"Error request details"}}}}},"description":"Bad Request - Validation error or invalid parameters"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"query","name":"after_cursor","schema":{"type":"string"},"example":"eyJlZmZlY3RpdmVEYXRlIjoiMjAyMy0wNS0wMyIsImlkIjozOSwibGltaXQiOjMsInJhbmsiOjZ9","description":"Return next page of results after the given cursor."},{"in":"query","name":"limit","schema":{"type":"string","default":50,"maximum":150,"minimum":1,"pattern":"^[0-9]+$"},"example":50,"description":"Return a page of results with the given number of records."},{"in":"query","name":"order_direction","schema":{"enum":["asc","desc"],"type":"string"},"example":"desc","description":"Order direction of results; ascending or descending."},{"in":"query","name":"types","schema":{"type":"array","items":{"enum":["ongoing_time_based","milestones","time_based","pay_as_you_go_time_based","commission","payg_milestones","payg_tasks","eor","peo","unknown","employee","global_payroll","shield_msa","hris_direct_employee","contractor_outside_deel"],"type":"string","description":"Type of a contract."}},"example":["ongoing_time_based","milestones","pay_as_you_go_time_based"],"description":"Filter contracts by type. A contract is included in the results if its type is in this list."},{"in":"query","name":"statuses","schema":{"type":"array","items":{"enum":["new","under_review","waiting_for_employee_contract","waiting_for_client_sign","processing_payment","waiting_for_contractor_sign","waiting_for_eor_sign","waiting_for_employee_sign","awaiting_deposit_payment","in_progress","completed","cancelled","user_cancelled","rejected","waiting_for_client_payment","onboarding","onboarded"],"type":"string","nullable":false,"description":"Status of a contract in Deel workflow."}},"example":["waiting_for_client_sign","waiting_for_contractor_sign"],"description":"Filter contracts by current status. A contract is included in the results if its status is in this list."},{"in":"query","name":"team_id","schema":{"type":"string"},"example":"123e4567-e89b-12d3-a456-426614174000","description":"Filter contracts for the given team ID. NOTE: All query parameters are technically strings or arrays of strings."},{"in":"query","name":"external_id","schema":{"type":"string"},"example":"1234567890","description":"Filter contracts for the given external ID."},{"in":"query","name":"external_id_absent","schema":{"type":"string"},"example":"true","description":"Filter contracts by external ID presence. When true, returns contracts without an external ID. When false, returns contracts with an external ID. Cannot be used with external_id query param when set to true."},{"in":"query","name":"countries","schema":{"type":"array","items":{"type":"string","pattern":"^[A-Z]{2}$","maxLength":2,"minLength":2,"description":"Country code."}},"example":["US","GB"],"description":"Filter contracts by country codes."},{"in":"query","name":"currencies","schema":{"oneOf":[{"type":"array","items":{"type":"string","pattern":"^[A-Z]{3}$","maxLength":3,"minLength":3}},{"type":"string","pattern":"^[A-Z]{3}$","maxLength":3,"minLength":3}]},"example":["USD","GBP"],"description":"Filter contracts by currency codes."},{"in":"query","name":"search","schema":{"type":"string"},"example":"Test","description":"Include a contract if its name or the contractor's name contains the given search term."},{"in":"query","name":"sort_by","schema":{"enum":["contract_title","worker_name"],"type":"string"},"example":"contract_title","description":"Sort contracts by the given field name."},{"in":"query","name":"expand","schema":{"enum":["cost_centers"],"type":"string"},"example":"cost_centers","description":"Include cost centers in the response."}],"security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]},"post":{"tags":["Contractors"],"summary":"Create a new contract","operationId":"createANewContract-v2026-01-01","description":"Create a new Deel contract.\n **Token scopes**: `contracts:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","title","type","status","created_at","job_title","special_clause","start_date","termination_date","is_archived","client","worker","invitations","signatures","compensation_details","employment_details","work_statement_id"],"properties":{"id":{"type":"string","example":"5vrzvjn","description":"The public id of the object"},"type":{"enum":["ongoing_time_based","milestones","time_based","pay_as_you_go_time_based","commission","payg_milestones","payg_tasks","eor","unknown","employee","global_payroll","shield_msa","hris_direct_employee"],"type":"string","example":"time_based","description":"Type of a contract"},"quote":{"type":"object","properties":{"benefits":{"type":"array","items":{"type":"object","properties":{"fee":{"type":"number","example":100,"description":"Fee in local currency"},"name":{"type":"string","example":"Health Insurance","description":"Benefit's name"},"plan":{"type":"string","example":"Basic","description":"Benefit's plan"},"price":{"type":"number","example":100,"description":"Price in local currency"},"fee_usd":{"type":"number","example":100,"description":"Fee in USD"},"currency":{"type":"string","example":"GBP","pattern":"^[A-Z]{3}$","nullable":false,"maxLength":3,"minLength":3,"description":"Currency code."},"price_usd":{"type":"number","example":100,"description":"Price in USD"}}},"description":"Array of benefits"},"currency":{"type":"string","example":"GBP","pattern":"^[A-Z]{3}$","maxLength":3,"minLength":3,"description":"Currency code."},"cba_total":{"type":"number","example":"900.00","description":"Total CBA in local currency"},"created_at":{"type":"string","format":"date","example":"1999-12-31","pattern":"^\\d{4}-\\d{2}-\\d{2}$","nullable":true,"description":"Short date in format ISO-8601 (YYYY-MM-DD). For example: 2022-12-31."},"updated_at":{"type":"string","format":"date","example":"1999-12-31","pattern":"^\\d{4}-\\d{2}-\\d{2}$","nullable":true,"description":"Short date in format ISO-8601 (YYYY-MM-DD). For example: 2022-12-31."},"salary_total":{"type":"number","example":"900.00","description":"Total salary in local currency"},"annual_salary":{"type":"number","example":"900.00","description":"Annual Salary in local currency"},"cba_total_usd":{"type":"number","example":"900.00","description":"Total CBA in USD"},"breakdown_costs":{"type":"object","example":{"monthly":{"costs":[{"name":"Health Insurance","total":50,"currency":"GBP","total_usd":50}],"total":900,"total_usd":900}},"properties":{"monthly":{"type":"object","example":{"costs":[{"name":"Health Insurance","total":50,"currency":"GBP","total_usd":50}],"total":900,"total_usd":900},"properties":{"costs":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","example":"Health Insurance","description":"Cost's name"},"total":{"type":"number","example":50,"description":"Total cost in local currency"},"currency":{"type":"string","example":"GBP","pattern":"^[A-Z]{3}$","nullable":false,"maxLength":3,"minLength":3,"description":"Currency code."},"total_usd":{"type":"number","example":50,"description":"Total cost in USD"}}},"example":[{"name":"Health Insurance","total":50,"currency":"GBP","total_usd":50}],"description":"List of individual monthly cost line items included in the quote."},"total":{"type":"number","example":900,"description":"Total costs in local currency"},"total_usd":{"type":"number","example":900,"description":"Total costs in USD"}},"description":"Monthly cost breakdown for the quote."}},"description":"Cost breakdown for the quote, grouped by billing cadence (e.g., monthly)."},"salary_total_usd":{"type":"number","example":"900.00","description":"Total salary in USD"},"gross_salary_total":{"type":"number","example":"900.00","description":"Total gross salary in local currency"},"mobility_fee_total":{"type":"number","example":"900.00","description":"Total mobility fee in local currency"},"monthly_cost_total":{"type":"number","example":"900.00","description":"Total monthly cost in local currency"},"platform_fee_total":{"type":"number","example":"900.00","description":"Total platform fee in local currency"},"employer_cost_total":{"type":"number","example":"900.00","description":"Total employer cost in local currency"},"gross_salary_total_usd":{"type":"number","example":"900.00","description":"Total gross salary in USD"},"mobility_fee_total_usd":{"type":"number","example":"900.00","description":"Total mobility fee in USD"},"monthly_cost_total_usd":{"type":"number","example":"900.00","description":"Total monthly cost in USD"},"platform_fee_total_usd":{"type":"number","example":"900.00","description":"Total platform fee in USD"},"employer_cost_total_usd":{"type":"number","example":"900.00","description":"Total employer cost in USD"},"severance_accrual_total":{"type":"number","example":"900.00","description":"Total severance accrual in local currency"},"recurring_allowance_total":{"type":"number","example":"900.00","description":"Total recurring allowance in local currency"},"severance_accrual_total_usd":{"type":"number","example":"900.00","description":"Total severance accrual in USD"},"recurring_allowance_total_usd":{"type":"number","example":"900.00","description":"Total recurring allowance in USD"}},"description":"EOR quote approved by Deel"},"title":{"type":"string","example":"Software Developer","nullable":false,"minLength":1,"description":"Title of a contract"},"client":{"type":"object","nullable":true,"required":["team","legal_entity"],"properties":{"id":{"type":"string","example":"00000000-0000-0000-0000-000000000000","description":"Unique identifier of this resource."},"team":{"type":"object","required":["id","name"],"properties":{"id":{"type":"string","example":"00000000-0000-0000-0000-000000000000","description":"Unique identifier of this resource."},"name":{"type":"string","example":"Engineering","nullable":false,"description":"Name of a team"}},"description":"Team information for the client organization."},"email":{"type":"string","format":"email","example":"test@example.com","nullable":true,"minLength":5,"description":"User's email address."},"full_name":{"type":"string","example":"John Doe","description":"User's full name."},"legal_entity":{"type":"object","nullable":true,"required":["id","name","email","type","subtype","registration_number","vat_number"],"properties":{"id":{"type":"string","example":"00000000-0000-0000-0000-000000000000","description":"Unique identifier of this resource."},"name":{"type":"string","example":"John Doe","description":"Name of a legal entity"},"type":{"enum":["individual","company"],"type":"string","example":"company","description":"Type of a legal entity"},"email":{"type":"string","example":"test@example.com","nullable":true,"description":"User's email address."},"subtype":{"type":"string","example":"LLC","description":"Subtype of a legal entity"},"vat_number":{"type":"string","example":"12345678","description":"VAT number of a legal entity"},"registration_number":{"type":"string","example":"12345678","description":"Registration number of a legal entity"}},"description":"Legal entity information for the client organization."}},"description":"Client details associated with the contract."},"status":{"enum":["new","under_review","waiting_for_employee_contract","waiting_for_client_sign","processing_payment","waiting_for_contractor_sign","waiting_for_eor_sign","waiting_for_employee_sign","awaiting_deposit_payment","in_progress","completed","cancelled","user_cancelled","rejected","waiting_for_client_payment"],"type":"string","example":"new","nullable":false,"description":"Status of a contract in Deel workflow"},"worker":{"type":"object","nullable":true,"properties":{"id":{"type":"string","example":"00000000-0000-0000-0000-000000000000","nullable":true,"description":"A unique identifier for this resource."},"email":{"type":"string","format":"email","example":"test@example.com","nullable":true,"minLength":5,"description":"User's email address."},"image":{"type":"string","format":"url","example":"https://example.com/image.jpg","description":"URL to worker's image"},"country":{"type":"string","example":"US","nullable":true,"description":"Worker's country (location not nationality)"},"full_name":{"type":"string","example":"John Doe","nullable":false,"minLength":1,"description":"Worker's full name."},"last_name":{"type":"string","example":"Doe","nullable":true,"maxLength":255,"description":"Worker's last name"},"first_name":{"type":"string","example":"John","nullable":true,"maxLength":255,"description":"Worker's first name"},"nationality":{"type":"string","example":"US","nullable":true,"description":"Worker's nationality."},"legal_entity":{"type":"object","required":["type","personal_name","registration_number"],"properties":{"type":{"enum":["individual","company"],"type":"string","example":"company","description":"Type of a legal entity"},"personal_name":{"type":"string","example":"John Doe","description":"Name of a legal entity"},"registration_number":{"type":"string","example":"12345678","description":"Registration number of a legal entity"}},"description":"Worker legal entity information, if applicable."},"date_of_birth":{"type":"string","format":"date-time","example":"2022-05-24T09:38:46.235Z","nullable":true,"description":"Long date-time format following ISO-8601"},"expected_email":{"type":"string","format":"email","example":"test@example.com","nullable":true,"minLength":5,"description":"Worker's email address."},"alternate_email":{"type":"array","items":{"type":"object","title":"Root Schema","required":["email","isVerified"],"properties":{"email":{"type":"string","format":"email","example":"test@example.com","nullable":true,"minLength":5,"description":"User's email address."},"isVerified":{"type":"boolean","title":"True if email has been verified","example":true,"description":"True if email has been verified"}}},"description":"List of alternate email addresses."}},"description":"Worker details associated with the contract."},"job_title":{"type":"string","example":"Software Developer","description":"Job title associated with the contract."},"seniority":{"type":"object","nullable":true,"required":["id","name"],"properties":{"id":{"type":"number","example":123456,"description":"Unique identifier of this resource."},"name":{"type":"string","example":"Mid (Individual Contributor Level 2)","nullable":false,"minLength":1,"description":"Name of seniority level e.g. Mid (Individual Contributor Level 2)"},"level":{"type":"number","example":2,"nullable":true,"description":"Level of seniority level e.g. 2"}},"description":"Seniority describes level of expertise at a job e.g. junior"},"created_at":{"type":"string","format":"date-time","example":"2022-05-24T09:38:46.235Z","nullable":true,"description":"Long date-time format following ISO-8601"},"signatures":{"type":"object","required":["client_signature","client_signed_at","worker_signature","worker_signed_at","signed_at"],"properties":{"signed_at":{"type":"string","example":"2022-05-24T09:38:46.235Z","nullable":true,"description":"Long date-time format following ISO-8601"},"client_signature":{"type":"string","example":"John Doe","description":"normally name of client is used as signature"},"client_signed_at":{"type":"string","example":"2022-05-24T09:38:46.235Z","nullable":true,"description":"Long date-time format following ISO-8601"},"worker_signature":{"type":"string","example":"John Doe","nullable":false,"description":"Signatures of client representative."},"worker_signed_at":{"type":"string","example":"2022-05-24T09:38:46.235Z","nullable":true,"description":"Long date-time format following ISO-8601"}},"description":"List of signatures recorded for this contract."},"start_date":{"type":"string","format":"date-time","example":"2022-05-24T09:38:46.235Z","nullable":true,"description":"Long date-time format following ISO-8601"},"external_id":{"type":"string","example":"00000000-0000-0000-0000-000000000000","nullable":true,"description":"A unique identifier for the object provided by an external system."},"invitations":{"type":"object","properties":{"client_email":{"type":"string","example":"test@example.com","nullable":true,"description":"User's email address."},"worker_email":{"type":"string","example":"test@example.com","nullable":true,"description":"User's email address.","x-sensitive-pii":true}},"description":"List of signature invitations sent for this contract."},"is_archived":{"type":"boolean","example":false,"description":"Flag to indicate if the contract is archived"},"who_reports":{"enum":["both","client","contractor","",null],"type":"string","example":"both","description":"Flag to indicate who is supposed to provide regular reports"},"custom_fields":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","example":"Employee ID","nullable":false,"description":"Custom field property name."},"value":{"type":"string","example":"54234","nullable":false,"description":"Custom field property value."}},"description":"Customized attributes on contracts (Employee ID, Project code, etc)."},"example":[{"name":"Employee ID","value":"54234"}],"description":"Custom fields attached to the contract."},"notice_period":{"type":"number","default":10,"example":15,"minimum":0,"description":"Days before to notice the termination of contract for either party."},"scope_of_work":{"type":"string","example":"Software development","nullable":true,"description":"Scope of work for the contract"},"special_clause":{"type":"string","example":"Special clause","description":"Special clause for the contract"},"termination_date":{"oneOf":[{"type":"string","format":"date-time","example":"2022-05-24T09:38:46.235Z","nullable":true,"description":"Long date-time format following ISO-8601"},{"enum":[""],"type":"string","example":""}],"example":"2022-05-24T09:38:46.235Z","description":"Contract termination date. When present, it is a date-time string in ISO-8601 format."},"work_statement_id":{"type":"string","example":"1597885e-c30d-4747-b665-d9ac4990e90a","description":"The public unique identifier of the work statement"},"employment_details":{"type":"object","required":["type","days_per_week","hours_per_day","probation_period","paid_vacation_days"],"properties":{"type":{"type":"string","example":"employee","description":"Employment type classification for the contract."},"state":{"type":"string","example":"CO","nullable":true,"description":"State code."},"country":{"type":"string","example":"US","pattern":"^[A-Z]{2}$","maxLength":2,"minLength":2,"description":"Country code."},"days_per_week":{"type":"number","example":5,"description":"Number of days per week"},"hours_per_day":{"type":"number","example":8,"description":"Number of hours per day"},"probation_period":{"type":"number","example":30,"nullable":true,"description":"Number of days for probation period"},"paid_vacation_days":{"type":"number","example":20,"description":"Number of paid vacation days"}},"description":"Employment-related details for the contract, when applicable."},"compensation_details":{"type":"object","example":{"scale":"hourly","amount":"100.00","frequency":"monthly","currency_code":"GBP","first_payment":"100.00","first_payment_date":"2022-05-24T09:38:46.235Z","gross_annual_salary":"100.00","gross_signing_bonus":"100.00","gross_variable_bonus":"100.00"},"required":["currency_code","amount","scale","frequency","first_payment","first_payment_date","gross_annual_salary","gross_signing_bonus","gross_variable_bonus"],"properties":{"scale":{"type":"string","example":"hourly","description":"Scale of compensation"},"amount":{"type":"string","example":"100.00","nullable":true,"description":"Amount of compensation"},"frequency":{"type":"string","example":"monthly","description":"Frequency of compensation"},"currency_code":{"type":"string","example":"GBP","pattern":"^[A-Z]{3}$","maxLength":3,"minLength":3,"description":"Currency code."},"first_payment":{"type":"string","example":"2022-05-24T09:38:46.235Z","nullable":true,"description":"First payment"},"first_payment_date":{"type":"string","example":"2022-05-24T09:38:46.235Z","nullable":true,"description":"Long date-time format following ISO-8601"},"gross_annual_salary":{"type":"string","example":"100.00","nullable":true,"description":"Gross annual salary"},"gross_signing_bonus":{"type":"string","example":"100.00","nullable":true,"description":"Gross signing bonus"},"gross_variable_bonus":{"type":"string","example":"100.00","nullable":true,"description":"Gross variable bonus"}},"description":"Compensation configuration and payment schedule details for the contract."}}}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Invalid query parameters","description":"Error response"}}},"description":"Error messages"},"request":{"type":"object","properties":{"method":{"type":"string","example":"GET","description":"Method of the API"},"status":{"type":"number","example":400,"description":"Status of API response"}},"description":"Error request details"}}}}},"description":"Bad Request - Validation error or invalid parameters"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","anyOf":[{"allOf":[{"type":"object","required":["type","title","job_title","meta","client"],"properties":{"meta":{"type":"object","required":["documents_required"],"properties":{"is_main_income":{"type":"boolean","example":true,"description":"Flag to indicate if the contract is the main income for the contractor."},"documents_required":{"type":"boolean","example":true,"description":"Require the contractor to upload necessary compliance documents as per their country’s labor laws."}},"description":"Additional custom info about a contract"},"title":{"type":"string","example":"Software Developer","description":"The title of the contract."},"client":{"type":"object","required":["legal_entity","team"],"properties":{"team":{"type":"object","required":["id"],"properties":{"id":{"anyOf":[{"type":"string"},{"type":"number"}],"example":[12345678,"00000000-0000-0000-0000-000000000000"],"description":"Unique identifier of this resource."}},"description":"Choose the Deel team for this contract. Use teams endpoint to retrieve a list of teams in your organization."},"legal_entity":{"type":"object","required":["id"],"properties":{"id":{"anyOf":[{"type":"string"},{"type":"number"}],"example":[12345678,"00000000-0000-0000-0000-000000000000"],"description":"Unique identifier of this resource."}},"description":"Choose the Deel legal entity for this contract. Use legal entity endpoint to retrieve a list of legal entities in your organization."}},"description":"Client details for the contract, including the legal entity and team."},"worker":{"type":"object","nullable":true,"required":["first_name","expected_email"],"properties":{"last_name":{"type":"string","example":"Doe","nullable":true,"maxLength":255,"description":"Worker's last name"},"first_name":{"type":"string","example":"John","nullable":true,"maxLength":255,"description":"Worker's first name"},"work_email":{"type":"string","format":"email","example":"john.doe@company.com","nullable":true,"maxLength":255,"description":"Worker's work email address."},"expected_email":{"type":"string","format":"email","example":"test@example.com","nullable":true,"minLength":5,"description":"Worker's email address."}},"description":"Worker properties"},"job_title":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"number"}],"example":[12345678,"00000000-0000-0000-0000-000000000000"],"description":"Unique identifier of this resource."},"name":{"type":"string","example":"Software Developer","nullable":true,"maxLength":255,"description":"Job title. Please leave it blank when entering an Id."}},"description":"Worker's job title. You can enter a custom job title or use a pre-defined job title using the Id retrieved in job-titles endpoint."},"seniority":{"type":"object","nullable":true,"properties":{"id":{"anyOf":[{"type":"string"},{"type":"number"}],"example":[12345678,"00000000-0000-0000-0000-000000000000"],"description":"Unique identifier of this resource."}},"description":"Job seniority level. Please use the seniority levels endpoint to retrieve the list of seniority levels."},"state_code":{"type":"string","example":"CO","nullable":true,"description":"The state or province code. Use country lookup endpoint to retrieve state codes."},"citizenship":{"type":"string","example":"US","pattern":"^[A-Z]{2}$","nullable":true,"maxLength":2,"minLength":2,"description":"ISO 3166-1 alpha-2 country code of the worker's citizenship."},"external_id":{"type":"string","example":"00000000-0000-0000-0000-000000000000","nullable":true,"description":"External Id."},"who_reports":{"enum":["both","client","contractor"],"type":"string","example":"both","description":"Flag to indicate who is supposed to provide regular reports"},"country_code":{"type":"string","example":"US","pattern":"^[A-Z]{2}$","maxLength":2,"minLength":2,"description":"Country code."},"notice_period":{"type":"number","default":10,"example":15,"minimum":0,"description":"Days before to notice the termination of contract for either party."},"scope_of_work":{"type":"string","example":"Software development","nullable":true,"description":"Describe the work to be performed."},"special_clause":{"type":"string","example":"Special clause","nullable":true,"description":"Enter any special clause you may have."},"scope_of_work_id":{"type":"string","format":"uuid","example":"f72f1ef4-b9fe-40e3-9d63-711d4b095048","nullable":true,"description":"Existing scope of work public id"},"termination_date":{"type":"string","format":"date","example":"1999-12-31","pattern":"^\\d{4}-\\d{2}-\\d{2}$","nullable":true,"description":"Short date in format ISO-8601 (YYYY-MM-DD). For example: 2022-12-31."},"contract_template_id":{"type":"string","example":"00000000-0000-0000-0000-000000000000","nullable":true,"description":"Contract Template Id."}},"description":"Details of contract to create"},{"type":"object","required":["type","start_date"],"properties":{"type":{"enum":["pay_as_you_go_time_based"],"type":"string","example":"pay_as_you_go_time_based","description":"Type of contract"},"start_date":{"type":"string","format":"date","example":"1999-12-31","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Short date in format ISO-8601 (YYYY-MM-DD). For example: 2022-12-31."}}},{"type":"object","required":["compensation_details"],"properties":{"compensation_details":{"allOf":[{"type":"object","required":["currency_code","frequency","cycle_end","cycle_end_type","payment_due_type","payment_due_days"],"properties":{"amount":{"type":"number","example":100,"description":"Amount to be paid. This field can be excluded when creating a Pay-as-you-go task-based or Milestone contracts."},"cycle_end":{"type":"number","example":15,"maximum":31,"minimum":1,"description":"Date invoice cycle ends."},"frequency":{"enum":["weekly","monthly","biweekly","semimonthly","calendar-month"],"type":"string","example":"monthly","description":"Scale of the invoice cycle."},"currency_code":{"type":"string","example":"GBP","pattern":"^[A-Z]{3}$","maxLength":3,"minLength":3,"description":"Currency code."},"first_payment":{"type":"number","default":0,"example":500,"minimum":0,"description":"First payment amount."},"notice_period":{"type":"number","default":10,"example":15,"minimum":0,"description":"Days before to notice the termination of contract for either party."},"cycle_end_type":{"enum":["DAY_OF_WEEK","DAY_OF_LAST_WEEK","DAY_OF_MONTH"],"type":"string","example":"DAY_OF_WEEK","description":"Cycle end can be weekly 1-7 (Monday = 1) or monthly 1-31."},"payment_due_days":{"type":"number","example":7,"maximum":90,"minimum":0,"description":"Number of days to pay the invoice."},"payment_due_type":{"enum":["REGULAR","WITHIN_MONTH","AFTER_MONTH","BEFORE_CYCLE_END"],"type":"string","default":"REGULAR","example":"REGULAR","description":"Type of payment due. If the payment is due on the last day of month, enter 'WITHIN_MONTH'. If the payment is due some days after the end of the month, enter 'AFTER_MONTH'. If the payment is due before the end of the invoice cycle, enter 'BEFORE_CYCLE_END'."},"first_payment_date":{"type":"string","example":"1999-12-31","nullable":true,"description":"Short date in format ISO-8601 (YYYY-MM-DD). For example: 2022-12-31."},"pay_before_weekends":{"type":"boolean","example":true,"description":"If the payment due is on a weekend, pay on Friday."}}},{"type":"object","required":["amount","scale"],"properties":{"scale":{"enum":["hourly","daily","weekly","monthly","biweekly","semimonthly","custom"],"type":"string","example":"daily","description":"Defines the scale at which the amount is paid. For example, enter 'hourly' to define the amount per hour. This field can be excluded when creating a Pay-as-you-go task-based or Milestone contracts."},"amount":{"type":"number","example":100,"description":"Amount to be paid. This field can be excluded when creating a Pay-as-you-go task-based or Milestone contracts."}}}],"example":{"scale":"daily","amount":100,"cycle_end":15,"frequency":"monthly","currency_code":"GBP","first_payment":500,"cycle_end_type":"DAY_OF_MONTH","payment_due_days":7,"payment_due_type":"REGULAR","first_payment_date":"1999-12-31","pay_before_weekends":true},"description":"Compensation and invoicing configuration for the contract."}}}],"title":"PAY_AS_YOU_GO_TIME_BASED"},{"allOf":[{"type":"object","required":["type","title","job_title","meta","client"],"properties":{"meta":{"type":"object","required":["documents_required"],"properties":{"is_main_income":{"type":"boolean","example":true,"description":"Flag to indicate if the contract is the main income for the contractor."},"documents_required":{"type":"boolean","example":true,"description":"Require the contractor to upload necessary compliance documents as per their country’s labor laws."}},"description":"Additional custom info about a contract"},"title":{"type":"string","example":"Software Developer","description":"The title of the contract."},"client":{"type":"object","required":["legal_entity","team"],"properties":{"team":{"type":"object","required":["id"],"properties":{"id":{"anyOf":[{"type":"string"},{"type":"number"}],"example":[12345678,"00000000-0000-0000-0000-000000000000"],"description":"Unique identifier of this resource."}},"description":"Choose the Deel team for this contract. Use teams endpoint to retrieve a list of teams in your organization."},"legal_entity":{"type":"object","required":["id"],"properties":{"id":{"anyOf":[{"type":"string"},{"type":"number"}],"example":[12345678,"00000000-0000-0000-0000-000000000000"],"description":"Unique identifier of this resource."}},"description":"Choose the Deel legal entity for this contract. Use legal entity endpoint to retrieve a list of legal entities in your organization."}},"description":"Client details for the contract, including the legal entity and team."},"worker":{"type":"object","nullable":true,"required":["first_name","expected_email"],"properties":{"last_name":{"type":"string","example":"Doe","nullable":true,"maxLength":255,"description":"Worker's last name"},"first_name":{"type":"string","example":"John","nullable":true,"maxLength":255,"description":"Worker's first name"},"work_email":{"type":"string","format":"email","example":"john.doe@company.com","nullable":true,"maxLength":255,"description":"Worker's work email address."},"expected_email":{"type":"string","format":"email","example":"test@example.com","nullable":true,"minLength":5,"description":"Worker's email address."}},"description":"Worker properties"},"job_title":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"number"}],"example":[12345678,"00000000-0000-0000-0000-000000000000"],"description":"Unique identifier of this resource."},"name":{"type":"string","example":"Software Developer","nullable":true,"maxLength":255,"description":"Job title. Please leave it blank when entering an Id."}},"description":"Worker's job title. You can enter a custom job title or use a pre-defined job title using the Id retrieved in job-titles endpoint."},"seniority":{"type":"object","nullable":true,"properties":{"id":{"anyOf":[{"type":"string"},{"type":"number"}],"example":[12345678,"00000000-0000-0000-0000-000000000000"],"description":"Unique identifier of this resource."}},"description":"Job seniority level. Please use the seniority levels endpoint to retrieve the list of seniority levels."},"state_code":{"type":"string","example":"CO","nullable":true,"description":"The state or province code. Use country lookup endpoint to retrieve state codes."},"citizenship":{"type":"string","example":"US","pattern":"^[A-Z]{2}$","nullable":true,"maxLength":2,"minLength":2,"description":"ISO 3166-1 alpha-2 country code of the worker's citizenship."},"external_id":{"type":"string","example":"00000000-0000-0000-0000-000000000000","nullable":true,"description":"External Id."},"who_reports":{"enum":["both","client","contractor"],"type":"string","example":"both","description":"Flag to indicate who is supposed to provide regular reports"},"country_code":{"type":"string","example":"US","pattern":"^[A-Z]{2}$","maxLength":2,"minLength":2,"description":"Country code."},"notice_period":{"type":"number","default":10,"example":15,"minimum":0,"description":"Days before to notice the termination of contract for either party."},"scope_of_work":{"type":"string","example":"Software development","nullable":true,"description":"Describe the work to be performed."},"special_clause":{"type":"string","example":"Special clause","nullable":true,"description":"Enter any special clause you may have."},"scope_of_work_id":{"type":"string","format":"uuid","example":"f72f1ef4-b9fe-40e3-9d63-711d4b095048","nullable":true,"description":"Existing scope of work public id"},"termination_date":{"type":"string","format":"date","example":"1999-12-31","pattern":"^\\d{4}-\\d{2}-\\d{2}$","nullable":true,"description":"Short date in format ISO-8601 (YYYY-MM-DD). For example: 2022-12-31."},"contract_template_id":{"type":"string","example":"00000000-0000-0000-0000-000000000000","nullable":true,"description":"Contract Template Id."}},"description":"Details of contract to create"},{"type":"object","required":["type","start_date"],"properties":{"type":{"enum":["payg_tasks"],"type":"string","example":"payg_tasks","description":"Type of contract"},"start_date":{"type":"string","format":"date","example":"1999-12-31","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Short date in format ISO-8601 (YYYY-MM-DD). For example: 2022-12-31."}}},{"type":"object","required":["compensation_details"],"properties":{"compensation_details":{"type":"object","example":{"amount":100,"cycle_end":15,"frequency":"monthly","currency_code":"GBP","first_payment":500,"cycle_end_type":"DAY_OF_MONTH","payment_due_days":7,"payment_due_type":"REGULAR","first_payment_date":"1999-12-31","pay_before_weekends":true},"required":["currency_code","frequency","cycle_end","cycle_end_type","payment_due_type","payment_due_days"],"properties":{"amount":{"type":"number","example":100,"description":"Amount to be paid. This field can be excluded when creating a Pay-as-you-go task-based or Milestone contracts."},"cycle_end":{"type":"number","example":15,"maximum":31,"minimum":1,"description":"Date invoice cycle ends."},"frequency":{"enum":["weekly","monthly","biweekly","semimonthly","calendar-month"],"type":"string","example":"monthly","description":"Scale of the invoice cycle."},"currency_code":{"type":"string","example":"GBP","pattern":"^[A-Z]{3}$","maxLength":3,"minLength":3,"description":"Currency code."},"first_payment":{"type":"number","default":0,"example":500,"minimum":0,"description":"First payment amount."},"notice_period":{"type":"number","default":10,"example":15,"minimum":0,"description":"Days before to notice the termination of contract for either party."},"cycle_end_type":{"enum":["DAY_OF_WEEK","DAY_OF_LAST_WEEK","DAY_OF_MONTH"],"type":"string","example":"DAY_OF_WEEK","description":"Cycle end can be weekly 1-7 (Monday = 1) or monthly 1-31."},"payment_due_days":{"type":"number","example":7,"maximum":90,"minimum":0,"description":"Number of days to pay the invoice."},"payment_due_type":{"enum":["REGULAR","WITHIN_MONTH","AFTER_MONTH","BEFORE_CYCLE_END"],"type":"string","default":"REGULAR","example":"REGULAR","description":"Type of payment due. If the payment is due on the last day of month, enter 'WITHIN_MONTH'. If the payment is due some days after the end of the month, enter 'AFTER_MONTH'. If the payment is due before the end of the invoice cycle, enter 'BEFORE_CYCLE_END'."},"first_payment_date":{"type":"string","example":"1999-12-31","nullable":true,"description":"Short date in format ISO-8601 (YYYY-MM-DD). For example: 2022-12-31."},"pay_before_weekends":{"type":"boolean","example":true,"description":"If the payment due is on a weekend, pay on Friday."}},"description":"Compensation and invoicing configuration for the contract."}}}],"title":"PAYG_TASKS"},{"allOf":[{"type":"object","required":["type","title","job_title","meta","client"],"properties":{"meta":{"type":"object","required":["documents_required"],"properties":{"is_main_income":{"type":"boolean","example":true,"description":"Flag to indicate if the contract is the main income for the contractor."},"documents_required":{"type":"boolean","example":true,"description":"Require the contractor to upload necessary compliance documents as per their country’s labor laws."}},"description":"Additional custom info about a contract"},"title":{"type":"string","example":"Software Developer","description":"The title of the contract."},"client":{"type":"object","required":["legal_entity","team"],"properties":{"team":{"type":"object","required":["id"],"properties":{"id":{"anyOf":[{"type":"string"},{"type":"number"}],"example":[12345678,"00000000-0000-0000-0000-000000000000"],"description":"Unique identifier of this resource."}},"description":"Choose the Deel team for this contract. Use teams endpoint to retrieve a list of teams in your organization."},"legal_entity":{"type":"object","required":["id"],"properties":{"id":{"anyOf":[{"type":"string"},{"type":"number"}],"example":[12345678,"00000000-0000-0000-0000-000000000000"],"description":"Unique identifier of this resource."}},"description":"Choose the Deel legal entity for this contract. Use legal entity endpoint to retrieve a list of legal entities in your organization."}},"description":"Client details for the contract, including the legal entity and team."},"worker":{"type":"object","nullable":true,"required":["first_name","expected_email"],"properties":{"last_name":{"type":"string","example":"Doe","nullable":true,"maxLength":255,"description":"Worker's last name"},"first_name":{"type":"string","example":"John","nullable":true,"maxLength":255,"description":"Worker's first name"},"work_email":{"type":"string","format":"email","example":"john.doe@company.com","nullable":true,"maxLength":255,"description":"Worker's work email address."},"expected_email":{"type":"string","format":"email","example":"test@example.com","nullable":true,"minLength":5,"description":"Worker's email address."}},"description":"Worker properties"},"job_title":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"number"}],"example":[12345678,"00000000-0000-0000-0000-000000000000"],"description":"Unique identifier of this resource."},"name":{"type":"string","example":"Software Developer","nullable":true,"maxLength":255,"description":"Job title. Please leave it blank when entering an Id."}},"description":"Worker's job title. You can enter a custom job title or use a pre-defined job title using the Id retrieved in job-titles endpoint."},"seniority":{"type":"object","nullable":true,"properties":{"id":{"anyOf":[{"type":"string"},{"type":"number"}],"example":[12345678,"00000000-0000-0000-0000-000000000000"],"description":"Unique identifier of this resource."}},"description":"Job seniority level. Please use the seniority levels endpoint to retrieve the list of seniority levels."},"state_code":{"type":"string","example":"CO","nullable":true,"description":"The state or province code. Use country lookup endpoint to retrieve state codes."},"citizenship":{"type":"string","example":"US","pattern":"^[A-Z]{2}$","nullable":true,"maxLength":2,"minLength":2,"description":"ISO 3166-1 alpha-2 country code of the worker's citizenship."},"external_id":{"type":"string","example":"00000000-0000-0000-0000-000000000000","nullable":true,"description":"External Id."},"who_reports":{"enum":["both","client","contractor"],"type":"string","example":"both","description":"Flag to indicate who is supposed to provide regular reports"},"country_code":{"type":"string","example":"US","pattern":"^[A-Z]{2}$","maxLength":2,"minLength":2,"description":"Country code."},"notice_period":{"type":"number","default":10,"example":15,"minimum":0,"description":"Days before to notice the termination of contract for either party."},"scope_of_work":{"type":"string","example":"Software development","nullable":true,"description":"Describe the work to be performed."},"special_clause":{"type":"string","example":"Special clause","nullable":true,"description":"Enter any special clause you may have."},"scope_of_work_id":{"type":"string","format":"uuid","example":"f72f1ef4-b9fe-40e3-9d63-711d4b095048","nullable":true,"description":"Existing scope of work public id"},"termination_date":{"type":"string","format":"date","example":"1999-12-31","pattern":"^\\d{4}-\\d{2}-\\d{2}$","nullable":true,"description":"Short date in format ISO-8601 (YYYY-MM-DD). For example: 2022-12-31."},"contract_template_id":{"type":"string","example":"00000000-0000-0000-0000-000000000000","nullable":true,"description":"Contract Template Id."}},"description":"Details of contract to create"},{"type":"object","required":["type"],"properties":{"type":{"enum":["payg_milestones"],"type":"string","example":"payg_milestones","description":"Type of contract"},"start_date":{"type":"string","format":"date","example":"1999-12-31","pattern":"^\\d{4}-\\d{2}-\\d{2}$","nullable":true,"description":"Short date in format ISO-8601 (YYYY-MM-DD). For example: 2022-12-31."}}},{"type":"object","required":["compensation_details"],"properties":{"compensation_details":{"type":"object","example":{"amount":100,"cycle_end":15,"frequency":"monthly","currency_code":"GBP","first_payment":500,"cycle_end_type":"DAY_OF_MONTH","payment_due_days":7,"payment_due_type":"REGULAR","first_payment_date":"1999-12-31","pay_before_weekends":true},"required":["currency_code","frequency","cycle_end","cycle_end_type","payment_due_type","payment_due_days"],"properties":{"amount":{"type":"number","example":100,"description":"Amount to be paid. This field can be excluded when creating a Pay-as-you-go task-based or Milestone contracts."},"cycle_end":{"type":"number","example":15,"maximum":31,"minimum":1,"description":"Date invoice cycle ends."},"frequency":{"enum":["weekly","monthly","biweekly","semimonthly","calendar-month"],"type":"string","example":"monthly","description":"Scale of the invoice cycle."},"currency_code":{"type":"string","example":"GBP","pattern":"^[A-Z]{3}$","maxLength":3,"minLength":3,"description":"Currency code."},"first_payment":{"type":"number","default":0,"example":500,"minimum":0,"description":"First payment amount."},"notice_period":{"type":"number","default":10,"example":15,"minimum":0,"description":"Days before to notice the termination of contract for either party."},"cycle_end_type":{"enum":["DAY_OF_WEEK","DAY_OF_LAST_WEEK","DAY_OF_MONTH"],"type":"string","example":"DAY_OF_WEEK","description":"Cycle end can be weekly 1-7 (Monday = 1) or monthly 1-31."},"payment_due_days":{"type":"number","example":7,"maximum":90,"minimum":0,"description":"Number of days to pay the invoice."},"payment_due_type":{"enum":["REGULAR","WITHIN_MONTH","AFTER_MONTH","BEFORE_CYCLE_END"],"type":"string","default":"REGULAR","example":"REGULAR","description":"Type of payment due. If the payment is due on the last day of month, enter 'WITHIN_MONTH'. If the payment is due some days after the end of the month, enter 'AFTER_MONTH'. If the payment is due before the end of the invoice cycle, enter 'BEFORE_CYCLE_END'."},"first_payment_date":{"type":"string","example":"1999-12-31","nullable":true,"description":"Short date in format ISO-8601 (YYYY-MM-DD). For example: 2022-12-31."},"pay_before_weekends":{"type":"boolean","example":true,"description":"If the payment due is on a weekend, pay on Friday."}},"description":"Compensation and invoicing configuration for the contract."}}}],"title":"PAYG_MILESTONES"},{"allOf":[{"type":"object","required":["type","title","job_title","meta","client"],"properties":{"meta":{"type":"object","required":["documents_required"],"properties":{"is_main_income":{"type":"boolean","example":true,"description":"Flag to indicate if the contract is the main income for the contractor."},"documents_required":{"type":"boolean","example":true,"description":"Require the contractor to upload necessary compliance documents as per their country’s labor laws."}},"description":"Additional custom info about a contract"},"title":{"type":"string","example":"Software Developer","description":"The title of the contract."},"client":{"type":"object","required":["legal_entity","team"],"properties":{"team":{"type":"object","required":["id"],"properties":{"id":{"anyOf":[{"type":"string"},{"type":"number"}],"example":[12345678,"00000000-0000-0000-0000-000000000000"],"description":"Unique identifier of this resource."}},"description":"Choose the Deel team for this contract. Use teams endpoint to retrieve a list of teams in your organization."},"legal_entity":{"type":"object","required":["id"],"properties":{"id":{"anyOf":[{"type":"string"},{"type":"number"}],"example":[12345678,"00000000-0000-0000-0000-000000000000"],"description":"Unique identifier of this resource."}},"description":"Choose the Deel legal entity for this contract. Use legal entity endpoint to retrieve a list of legal entities in your organization."}},"description":"Client details for the contract, including the legal entity and team."},"worker":{"type":"object","nullable":true,"required":["first_name","expected_email"],"properties":{"last_name":{"type":"string","example":"Doe","nullable":true,"maxLength":255,"description":"Worker's last name"},"first_name":{"type":"string","example":"John","nullable":true,"maxLength":255,"description":"Worker's first name"},"work_email":{"type":"string","format":"email","example":"john.doe@company.com","nullable":true,"maxLength":255,"description":"Worker's work email address."},"expected_email":{"type":"string","format":"email","example":"test@example.com","nullable":true,"minLength":5,"description":"Worker's email address."}},"description":"Worker properties"},"job_title":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"number"}],"example":[12345678,"00000000-0000-0000-0000-000000000000"],"description":"Unique identifier of this resource."},"name":{"type":"string","example":"Software Developer","nullable":true,"maxLength":255,"description":"Job title. Please leave it blank when entering an Id."}},"description":"Worker's job title. You can enter a custom job title or use a pre-defined job title using the Id retrieved in job-titles endpoint."},"seniority":{"type":"object","nullable":true,"properties":{"id":{"anyOf":[{"type":"string"},{"type":"number"}],"example":[12345678,"00000000-0000-0000-0000-000000000000"],"description":"Unique identifier of this resource."}},"description":"Job seniority level. Please use the seniority levels endpoint to retrieve the list of seniority levels."},"state_code":{"type":"string","example":"CO","nullable":true,"description":"The state or province code. Use country lookup endpoint to retrieve state codes."},"citizenship":{"type":"string","example":"US","pattern":"^[A-Z]{2}$","nullable":true,"maxLength":2,"minLength":2,"description":"ISO 3166-1 alpha-2 country code of the worker's citizenship."},"external_id":{"type":"string","example":"00000000-0000-0000-0000-000000000000","nullable":true,"description":"External Id."},"who_reports":{"enum":["both","client","contractor"],"type":"string","example":"both","description":"Flag to indicate who is supposed to provide regular reports"},"country_code":{"type":"string","example":"US","pattern":"^[A-Z]{2}$","maxLength":2,"minLength":2,"description":"Country code."},"notice_period":{"type":"number","default":10,"example":15,"minimum":0,"description":"Days before to notice the termination of contract for either party."},"scope_of_work":{"type":"string","example":"Software development","nullable":true,"description":"Describe the work to be performed."},"special_clause":{"type":"string","example":"Special clause","nullable":true,"description":"Enter any special clause you may have."},"scope_of_work_id":{"type":"string","format":"uuid","example":"f72f1ef4-b9fe-40e3-9d63-711d4b095048","nullable":true,"description":"Existing scope of work public id"},"termination_date":{"type":"string","format":"date","example":"1999-12-31","pattern":"^\\d{4}-\\d{2}-\\d{2}$","nullable":true,"description":"Short date in format ISO-8601 (YYYY-MM-DD). For example: 2022-12-31."},"contract_template_id":{"type":"string","example":"00000000-0000-0000-0000-000000000000","nullable":true,"description":"Contract Template Id."}},"description":"Details of contract to create"},{"type":"object","required":["type","start_date"],"properties":{"type":{"enum":["ongoing_time_based"],"type":"string","example":"ongoing_time_based","description":"Type of contract"},"start_date":{"type":"string","format":"date","example":"1999-12-31","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Short date in format ISO-8601 (YYYY-MM-DD). For example: 2022-12-31."}}},{"type":"object","required":["compensation_details"],"properties":{"compensation_details":{"allOf":[{"type":"object","required":["currency_code","frequency","cycle_end","cycle_end_type","payment_due_type","payment_due_days"],"properties":{"amount":{"type":"number","example":100,"description":"Amount to be paid. This field can be excluded when creating a Pay-as-you-go task-based or Milestone contracts."},"cycle_end":{"type":"number","example":15,"maximum":31,"minimum":1,"description":"Date invoice cycle ends."},"frequency":{"enum":["weekly","monthly","biweekly","semimonthly","calendar-month"],"type":"string","example":"monthly","description":"Scale of the invoice cycle."},"currency_code":{"type":"string","example":"GBP","pattern":"^[A-Z]{3}$","maxLength":3,"minLength":3,"description":"Currency code."},"first_payment":{"type":"number","default":0,"example":500,"minimum":0,"description":"First payment amount."},"notice_period":{"type":"number","default":10,"example":15,"minimum":0,"description":"Days before to notice the termination of contract for either party."},"cycle_end_type":{"enum":["DAY_OF_WEEK","DAY_OF_LAST_WEEK","DAY_OF_MONTH"],"type":"string","example":"DAY_OF_WEEK","description":"Cycle end can be weekly 1-7 (Monday = 1) or monthly 1-31."},"payment_due_days":{"type":"number","example":7,"maximum":90,"minimum":0,"description":"Number of days to pay the invoice."},"payment_due_type":{"enum":["REGULAR","WITHIN_MONTH","AFTER_MONTH","BEFORE_CYCLE_END"],"type":"string","default":"REGULAR","example":"REGULAR","description":"Type of payment due. If the payment is due on the last day of month, enter 'WITHIN_MONTH'. If the payment is due some days after the end of the month, enter 'AFTER_MONTH'. If the payment is due before the end of the invoice cycle, enter 'BEFORE_CYCLE_END'."},"first_payment_date":{"type":"string","example":"1999-12-31","nullable":true,"description":"Short date in format ISO-8601 (YYYY-MM-DD). For example: 2022-12-31."},"pay_before_weekends":{"type":"boolean","example":true,"description":"If the payment due is on a weekend, pay on Friday."}}},{"type":"object","required":["amount","scale"],"properties":{"scale":{"enum":["hourly","daily","weekly","monthly","biweekly","semimonthly","custom"],"type":"string","example":"daily","description":"Defines the scale at which the amount is paid. For example, enter 'hourly' to define the amount per hour. This field can be excluded when creating a Pay-as-you-go task-based or Milestone contracts."},"amount":{"type":"number","example":100,"description":"Amount to be paid. This field can be excluded when creating a Pay-as-you-go task-based or Milestone contracts."}}}],"example":{"scale":"daily","amount":100,"cycle_end":15,"frequency":"monthly","currency_code":"GBP","first_payment":500,"cycle_end_type":"DAY_OF_MONTH","payment_due_days":7,"payment_due_type":"REGULAR","first_payment_date":"1999-12-31","pay_before_weekends":true},"description":"Compensation and invoicing configuration for the contract."}}}],"title":"ONGOING_TIME_BASED"}]}}}},"multipart/form-data":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","anyOf":[{"allOf":[{"type":"object","required":["type","title","job_title","meta","client"],"properties":{"meta":{"type":"object","required":["documents_required"],"properties":{"is_main_income":{"type":"boolean","example":true,"description":"Flag to indicate if the contract is the main income for the contractor."},"documents_required":{"type":"boolean","example":true,"description":"Require the contractor to upload necessary compliance documents as per their country’s labor laws."}},"description":"Additional custom info about a contract"},"title":{"type":"string","example":"Software Developer","description":"The title of the contract."},"client":{"type":"object","required":["legal_entity","team"],"properties":{"team":{"type":"object","required":["id"],"properties":{"id":{"anyOf":[{"type":"string"},{"type":"number"}],"example":[12345678,"00000000-0000-0000-0000-000000000000"],"description":"Unique identifier of this resource."}},"description":"Choose the Deel team for this contract. Use teams endpoint to retrieve a list of teams in your organization."},"legal_entity":{"type":"object","required":["id"],"properties":{"id":{"anyOf":[{"type":"string"},{"type":"number"}],"example":[12345678,"00000000-0000-0000-0000-000000000000"],"description":"Unique identifier of this resource."}},"description":"Choose the Deel legal entity for this contract. Use legal entity endpoint to retrieve a list of legal entities in your organization."}},"description":"Client details for the contract, including the legal entity and team."},"worker":{"type":"object","nullable":true,"required":["first_name","expected_email"],"properties":{"last_name":{"type":"string","example":"Doe","nullable":true,"maxLength":255,"description":"Worker's last name"},"first_name":{"type":"string","example":"John","nullable":true,"maxLength":255,"description":"Worker's first name"},"work_email":{"type":"string","format":"email","example":"john.doe@company.com","nullable":true,"maxLength":255,"description":"Worker's work email address."},"expected_email":{"type":"string","format":"email","example":"test@example.com","nullable":true,"minLength":5,"description":"Worker's email address."}},"description":"Worker properties"},"job_title":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"number"}],"example":[12345678,"00000000-0000-0000-0000-000000000000"],"description":"Unique identifier of this resource."},"name":{"type":"string","example":"Software Developer","nullable":true,"maxLength":255,"description":"Job title. Please leave it blank when entering an Id."}},"description":"Worker's job title. You can enter a custom job title or use a pre-defined job title using the Id retrieved in job-titles endpoint."},"seniority":{"type":"object","nullable":true,"properties":{"id":{"anyOf":[{"type":"string"},{"type":"number"}],"example":[12345678,"00000000-0000-0000-0000-000000000000"],"description":"Unique identifier of this resource."}},"description":"Job seniority level. Please use the seniority levels endpoint to retrieve the list of seniority levels."},"state_code":{"type":"string","example":"CO","nullable":true,"description":"The state or province code. Use country lookup endpoint to retrieve state codes."},"citizenship":{"type":"string","example":"US","pattern":"^[A-Z]{2}$","nullable":true,"maxLength":2,"minLength":2,"description":"ISO 3166-1 alpha-2 country code of the worker's citizenship."},"external_id":{"type":"string","example":"00000000-0000-0000-0000-000000000000","nullable":true,"description":"External Id."},"who_reports":{"enum":["both","client","contractor"],"type":"string","example":"both","description":"Flag to indicate who is supposed to provide regular reports"},"country_code":{"type":"string","example":"US","pattern":"^[A-Z]{2}$","maxLength":2,"minLength":2,"description":"Country code."},"notice_period":{"type":"number","default":10,"example":15,"minimum":0,"description":"Days before to notice the termination of contract for either party."},"scope_of_work":{"type":"string","example":"Software development","nullable":true,"description":"Describe the work to be performed."},"special_clause":{"type":"string","example":"Special clause","nullable":true,"description":"Enter any special clause you may have."},"scope_of_work_id":{"type":"string","format":"uuid","example":"f72f1ef4-b9fe-40e3-9d63-711d4b095048","nullable":true,"description":"Existing scope of work public id"},"termination_date":{"type":"string","format":"date","example":"1999-12-31","pattern":"^\\d{4}-\\d{2}-\\d{2}$","nullable":true,"description":"Short date in format ISO-8601 (YYYY-MM-DD). For example: 2022-12-31."},"contract_template_id":{"type":"string","example":"00000000-0000-0000-0000-000000000000","nullable":true,"description":"Contract Template Id."},"custom_contract_file":{"type":"string","format":"binary","example":"contract.pdf","nullable":true,"description":"Upload the file you want to attach to this entry."}},"description":"Details of contract to create"},{"type":"object","required":["type","start_date"],"properties":{"type":{"enum":["pay_as_you_go_time_based"],"type":"string","example":"pay_as_you_go_time_based","description":"Type of contract"},"start_date":{"type":"string","format":"date","example":"1999-12-31","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Short date in format ISO-8601 (YYYY-MM-DD). For example: 2022-12-31."}}},{"type":"object","required":["compensation_details"],"properties":{"compensation_details":{"allOf":[{"type":"object","required":["currency_code","frequency","cycle_end","cycle_end_type","payment_due_type","payment_due_days"],"properties":{"amount":{"type":"number","example":100,"description":"Amount to be paid. This field can be excluded when creating a Pay-as-you-go task-based or Milestone contracts."},"cycle_end":{"type":"number","example":15,"maximum":31,"minimum":1,"description":"Date invoice cycle ends."},"frequency":{"enum":["weekly","monthly","biweekly","semimonthly","calendar-month"],"type":"string","example":"monthly","description":"Scale of the invoice cycle."},"currency_code":{"type":"string","example":"GBP","pattern":"^[A-Z]{3}$","maxLength":3,"minLength":3,"description":"Currency code."},"first_payment":{"type":"number","default":0,"example":500,"minimum":0,"description":"First payment amount."},"notice_period":{"type":"number","default":10,"example":15,"minimum":0,"description":"Days before to notice the termination of contract for either party."},"cycle_end_type":{"enum":["DAY_OF_WEEK","DAY_OF_LAST_WEEK","DAY_OF_MONTH"],"type":"string","example":"DAY_OF_WEEK","description":"Cycle end can be weekly 1-7 (Monday = 1) or monthly 1-31."},"payment_due_days":{"type":"number","example":7,"maximum":90,"minimum":0,"description":"Number of days to pay the invoice."},"payment_due_type":{"enum":["REGULAR","WITHIN_MONTH","AFTER_MONTH","BEFORE_CYCLE_END"],"type":"string","default":"REGULAR","example":"REGULAR","description":"Type of payment due. If the payment is due on the last day of month, enter 'WITHIN_MONTH'. If the payment is due some days after the end of the month, enter 'AFTER_MONTH'. If the payment is due before the end of the invoice cycle, enter 'BEFORE_CYCLE_END'."},"first_payment_date":{"type":"string","example":"1999-12-31","nullable":true,"description":"Short date in format ISO-8601 (YYYY-MM-DD). For example: 2022-12-31."},"pay_before_weekends":{"type":"boolean","example":true,"description":"If the payment due is on a weekend, pay on Friday."}}},{"type":"object","required":["amount","scale"],"properties":{"scale":{"enum":["hourly","daily","weekly","monthly","biweekly","semimonthly","custom"],"type":"string","example":"daily","description":"Defines the scale at which the amount is paid. For example, enter 'hourly' to define the amount per hour. This field can be excluded when creating a Pay-as-you-go task-based or Milestone contracts."},"amount":{"type":"number","example":100,"description":"Amount to be paid. This field can be excluded when creating a Pay-as-you-go task-based or Milestone contracts."}}}],"example":{"scale":"daily","amount":100,"cycle_end":15,"frequency":"monthly","currency_code":"GBP","first_payment":500,"cycle_end_type":"DAY_OF_MONTH","payment_due_days":7,"payment_due_type":"REGULAR","first_payment_date":"1999-12-31","pay_before_weekends":true},"description":"Compensation and invoicing configuration for the contract."}}}],"title":"PAY_AS_YOU_GO_TIME_BASED"},{"allOf":[{"type":"object","required":["type","title","job_title","meta","client"],"properties":{"meta":{"type":"object","required":["documents_required"],"properties":{"is_main_income":{"type":"boolean","example":true,"description":"Flag to indicate if the contract is the main income for the contractor."},"documents_required":{"type":"boolean","example":true,"description":"Require the contractor to upload necessary compliance documents as per their country’s labor laws."}},"description":"Additional custom info about a contract"},"title":{"type":"string","example":"Software Developer","description":"The title of the contract."},"client":{"type":"object","required":["legal_entity","team"],"properties":{"team":{"type":"object","required":["id"],"properties":{"id":{"anyOf":[{"type":"string"},{"type":"number"}],"example":[12345678,"00000000-0000-0000-0000-000000000000"],"description":"Unique identifier of this resource."}},"description":"Choose the Deel team for this contract. Use teams endpoint to retrieve a list of teams in your organization."},"legal_entity":{"type":"object","required":["id"],"properties":{"id":{"anyOf":[{"type":"string"},{"type":"number"}],"example":[12345678,"00000000-0000-0000-0000-000000000000"],"description":"Unique identifier of this resource."}},"description":"Choose the Deel legal entity for this contract. Use legal entity endpoint to retrieve a list of legal entities in your organization."}},"description":"Client details for the contract, including the legal entity and team."},"worker":{"type":"object","nullable":true,"required":["first_name","expected_email"],"properties":{"last_name":{"type":"string","example":"Doe","nullable":true,"maxLength":255,"description":"Worker's last name"},"first_name":{"type":"string","example":"John","nullable":true,"maxLength":255,"description":"Worker's first name"},"work_email":{"type":"string","format":"email","example":"john.doe@company.com","nullable":true,"maxLength":255,"description":"Worker's work email address."},"expected_email":{"type":"string","format":"email","example":"test@example.com","nullable":true,"minLength":5,"description":"Worker's email address."}},"description":"Worker properties"},"job_title":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"number"}],"example":[12345678,"00000000-0000-0000-0000-000000000000"],"description":"Unique identifier of this resource."},"name":{"type":"string","example":"Software Developer","nullable":true,"maxLength":255,"description":"Job title. Please leave it blank when entering an Id."}},"description":"Worker's job title. You can enter a custom job title or use a pre-defined job title using the Id retrieved in job-titles endpoint."},"seniority":{"type":"object","nullable":true,"properties":{"id":{"anyOf":[{"type":"string"},{"type":"number"}],"example":[12345678,"00000000-0000-0000-0000-000000000000"],"description":"Unique identifier of this resource."}},"description":"Job seniority level. Please use the seniority levels endpoint to retrieve the list of seniority levels."},"state_code":{"type":"string","example":"CO","nullable":true,"description":"The state or province code. Use country lookup endpoint to retrieve state codes."},"citizenship":{"type":"string","example":"US","pattern":"^[A-Z]{2}$","nullable":true,"maxLength":2,"minLength":2,"description":"ISO 3166-1 alpha-2 country code of the worker's citizenship."},"external_id":{"type":"string","example":"00000000-0000-0000-0000-000000000000","nullable":true,"description":"External Id."},"who_reports":{"enum":["both","client","contractor"],"type":"string","example":"both","description":"Flag to indicate who is supposed to provide regular reports"},"country_code":{"type":"string","example":"US","pattern":"^[A-Z]{2}$","maxLength":2,"minLength":2,"description":"Country code."},"notice_period":{"type":"number","default":10,"example":15,"minimum":0,"description":"Days before to notice the termination of contract for either party."},"scope_of_work":{"type":"string","example":"Software development","nullable":true,"description":"Describe the work to be performed."},"special_clause":{"type":"string","example":"Special clause","nullable":true,"description":"Enter any special clause you may have."},"scope_of_work_id":{"type":"string","format":"uuid","example":"f72f1ef4-b9fe-40e3-9d63-711d4b095048","nullable":true,"description":"Existing scope of work public id"},"termination_date":{"type":"string","format":"date","example":"1999-12-31","pattern":"^\\d{4}-\\d{2}-\\d{2}$","nullable":true,"description":"Short date in format ISO-8601 (YYYY-MM-DD). For example: 2022-12-31."},"contract_template_id":{"type":"string","example":"00000000-0000-0000-0000-000000000000","nullable":true,"description":"Contract Template Id."},"custom_contract_file":{"type":"string","format":"binary","example":"contract.pdf","nullable":true,"description":"Upload the file you want to attach to this entry."}},"description":"Details of contract to create"},{"type":"object","required":["type","start_date"],"properties":{"type":{"enum":["payg_tasks"],"type":"string","example":"payg_tasks","description":"Type of contract"},"start_date":{"type":"string","format":"date","example":"1999-12-31","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Short date in format ISO-8601 (YYYY-MM-DD). For example: 2022-12-31."}}},{"type":"object","required":["compensation_details"],"properties":{"compensation_details":{"type":"object","example":{"amount":100,"cycle_end":15,"frequency":"monthly","currency_code":"GBP","first_payment":500,"cycle_end_type":"DAY_OF_MONTH","payment_due_days":7,"payment_due_type":"REGULAR","first_payment_date":"1999-12-31","pay_before_weekends":true},"required":["currency_code","frequency","cycle_end","cycle_end_type","payment_due_type","payment_due_days"],"properties":{"amount":{"type":"number","example":100,"description":"Amount to be paid. This field can be excluded when creating a Pay-as-you-go task-based or Milestone contracts."},"cycle_end":{"type":"number","example":15,"maximum":31,"minimum":1,"description":"Date invoice cycle ends."},"frequency":{"enum":["weekly","monthly","biweekly","semimonthly","calendar-month"],"type":"string","example":"monthly","description":"Scale of the invoice cycle."},"currency_code":{"type":"string","example":"GBP","pattern":"^[A-Z]{3}$","maxLength":3,"minLength":3,"description":"Currency code."},"first_payment":{"type":"number","default":0,"example":500,"minimum":0,"description":"First payment amount."},"notice_period":{"type":"number","default":10,"example":15,"minimum":0,"description":"Days before to notice the termination of contract for either party."},"cycle_end_type":{"enum":["DAY_OF_WEEK","DAY_OF_LAST_WEEK","DAY_OF_MONTH"],"type":"string","example":"DAY_OF_WEEK","description":"Cycle end can be weekly 1-7 (Monday = 1) or monthly 1-31."},"payment_due_days":{"type":"number","example":7,"maximum":90,"minimum":0,"description":"Number of days to pay the invoice."},"payment_due_type":{"enum":["REGULAR","WITHIN_MONTH","AFTER_MONTH","BEFORE_CYCLE_END"],"type":"string","default":"REGULAR","example":"REGULAR","description":"Type of payment due. If the payment is due on the last day of month, enter 'WITHIN_MONTH'. If the payment is due some days after the end of the month, enter 'AFTER_MONTH'. If the payment is due before the end of the invoice cycle, enter 'BEFORE_CYCLE_END'."},"first_payment_date":{"type":"string","example":"1999-12-31","nullable":true,"description":"Short date in format ISO-8601 (YYYY-MM-DD). For example: 2022-12-31."},"pay_before_weekends":{"type":"boolean","example":true,"description":"If the payment due is on a weekend, pay on Friday."}},"description":"Compensation and invoicing configuration for the contract."}}}],"title":"PAYG_TASKS"},{"allOf":[{"type":"object","required":["type","title","job_title","meta","client"],"properties":{"meta":{"type":"object","required":["documents_required"],"properties":{"is_main_income":{"type":"boolean","example":true,"description":"Flag to indicate if the contract is the main income for the contractor."},"documents_required":{"type":"boolean","example":true,"description":"Require the contractor to upload necessary compliance documents as per their country’s labor laws."}},"description":"Additional custom info about a contract"},"title":{"type":"string","example":"Software Developer","description":"The title of the contract."},"client":{"type":"object","required":["legal_entity","team"],"properties":{"team":{"type":"object","required":["id"],"properties":{"id":{"anyOf":[{"type":"string"},{"type":"number"}],"example":[12345678,"00000000-0000-0000-0000-000000000000"],"description":"Unique identifier of this resource."}},"description":"Choose the Deel team for this contract. Use teams endpoint to retrieve a list of teams in your organization."},"legal_entity":{"type":"object","required":["id"],"properties":{"id":{"anyOf":[{"type":"string"},{"type":"number"}],"example":[12345678,"00000000-0000-0000-0000-000000000000"],"description":"Unique identifier of this resource."}},"description":"Choose the Deel legal entity for this contract. Use legal entity endpoint to retrieve a list of legal entities in your organization."}},"description":"Client details for the contract, including the legal entity and team."},"worker":{"type":"object","nullable":true,"required":["first_name","expected_email"],"properties":{"last_name":{"type":"string","example":"Doe","nullable":true,"maxLength":255,"description":"Worker's last name"},"first_name":{"type":"string","example":"John","nullable":true,"maxLength":255,"description":"Worker's first name"},"work_email":{"type":"string","format":"email","example":"john.doe@company.com","nullable":true,"maxLength":255,"description":"Worker's work email address."},"expected_email":{"type":"string","format":"email","example":"test@example.com","nullable":true,"minLength":5,"description":"Worker's email address."}},"description":"Worker properties"},"job_title":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"number"}],"example":[12345678,"00000000-0000-0000-0000-000000000000"],"description":"Unique identifier of this resource."},"name":{"type":"string","example":"Software Developer","nullable":true,"maxLength":255,"description":"Job title. Please leave it blank when entering an Id."}},"description":"Worker's job title. You can enter a custom job title or use a pre-defined job title using the Id retrieved in job-titles endpoint."},"seniority":{"type":"object","nullable":true,"properties":{"id":{"anyOf":[{"type":"string"},{"type":"number"}],"example":[12345678,"00000000-0000-0000-0000-000000000000"],"description":"Unique identifier of this resource."}},"description":"Job seniority level. Please use the seniority levels endpoint to retrieve the list of seniority levels."},"state_code":{"type":"string","example":"CO","nullable":true,"description":"The state or province code. Use country lookup endpoint to retrieve state codes."},"citizenship":{"type":"string","example":"US","pattern":"^[A-Z]{2}$","nullable":true,"maxLength":2,"minLength":2,"description":"ISO 3166-1 alpha-2 country code of the worker's citizenship."},"external_id":{"type":"string","example":"00000000-0000-0000-0000-000000000000","nullable":true,"description":"External Id."},"who_reports":{"enum":["both","client","contractor"],"type":"string","example":"both","description":"Flag to indicate who is supposed to provide regular reports"},"country_code":{"type":"string","example":"US","pattern":"^[A-Z]{2}$","maxLength":2,"minLength":2,"description":"Country code."},"notice_period":{"type":"number","default":10,"example":15,"minimum":0,"description":"Days before to notice the termination of contract for either party."},"scope_of_work":{"type":"string","example":"Software development","nullable":true,"description":"Describe the work to be performed."},"special_clause":{"type":"string","example":"Special clause","nullable":true,"description":"Enter any special clause you may have."},"scope_of_work_id":{"type":"string","format":"uuid","example":"f72f1ef4-b9fe-40e3-9d63-711d4b095048","nullable":true,"description":"Existing scope of work public id"},"termination_date":{"type":"string","format":"date","example":"1999-12-31","pattern":"^\\d{4}-\\d{2}-\\d{2}$","nullable":true,"description":"Short date in format ISO-8601 (YYYY-MM-DD). For example: 2022-12-31."},"contract_template_id":{"type":"string","example":"00000000-0000-0000-0000-000000000000","nullable":true,"description":"Contract Template Id."},"custom_contract_file":{"type":"string","format":"binary","example":"contract.pdf","nullable":true,"description":"Upload the file you want to attach to this entry."}},"description":"Details of contract to create"},{"type":"object","required":["type"],"properties":{"type":{"enum":["payg_milestones"],"type":"string","example":"payg_milestones","description":"Type of contract"},"start_date":{"type":"string","format":"date","example":"1999-12-31","pattern":"^\\d{4}-\\d{2}-\\d{2}$","nullable":true,"description":"Short date in format ISO-8601 (YYYY-MM-DD). For example: 2022-12-31."}}},{"type":"object","required":["compensation_details"],"properties":{"compensation_details":{"type":"object","example":{"amount":100,"cycle_end":15,"frequency":"monthly","currency_code":"GBP","first_payment":500,"cycle_end_type":"DAY_OF_MONTH","payment_due_days":7,"payment_due_type":"REGULAR","first_payment_date":"1999-12-31","pay_before_weekends":true},"required":["currency_code","frequency","cycle_end","cycle_end_type","payment_due_type","payment_due_days"],"properties":{"amount":{"type":"number","example":100,"description":"Amount to be paid. This field can be excluded when creating a Pay-as-you-go task-based or Milestone contracts."},"cycle_end":{"type":"number","example":15,"maximum":31,"minimum":1,"description":"Date invoice cycle ends."},"frequency":{"enum":["weekly","monthly","biweekly","semimonthly","calendar-month"],"type":"string","example":"monthly","description":"Scale of the invoice cycle."},"currency_code":{"type":"string","example":"GBP","pattern":"^[A-Z]{3}$","maxLength":3,"minLength":3,"description":"Currency code."},"first_payment":{"type":"number","default":0,"example":500,"minimum":0,"description":"First payment amount."},"notice_period":{"type":"number","default":10,"example":15,"minimum":0,"description":"Days before to notice the termination of contract for either party."},"cycle_end_type":{"enum":["DAY_OF_WEEK","DAY_OF_LAST_WEEK","DAY_OF_MONTH"],"type":"string","example":"DAY_OF_WEEK","description":"Cycle end can be weekly 1-7 (Monday = 1) or monthly 1-31."},"payment_due_days":{"type":"number","example":7,"maximum":90,"minimum":0,"description":"Number of days to pay the invoice."},"payment_due_type":{"enum":["REGULAR","WITHIN_MONTH","AFTER_MONTH","BEFORE_CYCLE_END"],"type":"string","default":"REGULAR","example":"REGULAR","description":"Type of payment due. If the payment is due on the last day of month, enter 'WITHIN_MONTH'. If the payment is due some days after the end of the month, enter 'AFTER_MONTH'. If the payment is due before the end of the invoice cycle, enter 'BEFORE_CYCLE_END'."},"first_payment_date":{"type":"string","example":"1999-12-31","nullable":true,"description":"Short date in format ISO-8601 (YYYY-MM-DD). For example: 2022-12-31."},"pay_before_weekends":{"type":"boolean","example":true,"description":"If the payment due is on a weekend, pay on Friday."}},"description":"Compensation and invoicing configuration for the contract."}}}],"title":"PAYG_MILESTONES"},{"allOf":[{"type":"object","required":["type","title","job_title","meta","client"],"properties":{"meta":{"type":"object","required":["documents_required"],"properties":{"is_main_income":{"type":"boolean","example":true,"description":"Flag to indicate if the contract is the main income for the contractor."},"documents_required":{"type":"boolean","example":true,"description":"Require the contractor to upload necessary compliance documents as per their country’s labor laws."}},"description":"Additional custom info about a contract"},"title":{"type":"string","example":"Software Developer","description":"The title of the contract."},"client":{"type":"object","required":["legal_entity","team"],"properties":{"team":{"type":"object","required":["id"],"properties":{"id":{"anyOf":[{"type":"string"},{"type":"number"}],"example":[12345678,"00000000-0000-0000-0000-000000000000"],"description":"Unique identifier of this resource."}},"description":"Choose the Deel team for this contract. Use teams endpoint to retrieve a list of teams in your organization."},"legal_entity":{"type":"object","required":["id"],"properties":{"id":{"anyOf":[{"type":"string"},{"type":"number"}],"example":[12345678,"00000000-0000-0000-0000-000000000000"],"description":"Unique identifier of this resource."}},"description":"Choose the Deel legal entity for this contract. Use legal entity endpoint to retrieve a list of legal entities in your organization."}},"description":"Client details for the contract, including the legal entity and team."},"worker":{"type":"object","nullable":true,"required":["first_name","expected_email"],"properties":{"last_name":{"type":"string","example":"Doe","nullable":true,"maxLength":255,"description":"Worker's last name"},"first_name":{"type":"string","example":"John","nullable":true,"maxLength":255,"description":"Worker's first name"},"work_email":{"type":"string","format":"email","example":"john.doe@company.com","nullable":true,"maxLength":255,"description":"Worker's work email address."},"expected_email":{"type":"string","format":"email","example":"test@example.com","nullable":true,"minLength":5,"description":"Worker's email address."}},"description":"Worker properties"},"job_title":{"type":"object","properties":{"id":{"anyOf":[{"type":"string"},{"type":"number"}],"example":[12345678,"00000000-0000-0000-0000-000000000000"],"description":"Unique identifier of this resource."},"name":{"type":"string","example":"Software Developer","nullable":true,"maxLength":255,"description":"Job title. Please leave it blank when entering an Id."}},"description":"Worker's job title. You can enter a custom job title or use a pre-defined job title using the Id retrieved in job-titles endpoint."},"seniority":{"type":"object","nullable":true,"properties":{"id":{"anyOf":[{"type":"string"},{"type":"number"}],"example":[12345678,"00000000-0000-0000-0000-000000000000"],"description":"Unique identifier of this resource."}},"description":"Job seniority level. Please use the seniority levels endpoint to retrieve the list of seniority levels."},"state_code":{"type":"string","example":"CO","nullable":true,"description":"The state or province code. Use country lookup endpoint to retrieve state codes."},"citizenship":{"type":"string","example":"US","pattern":"^[A-Z]{2}$","nullable":true,"maxLength":2,"minLength":2,"description":"ISO 3166-1 alpha-2 country code of the worker's citizenship."},"external_id":{"type":"string","example":"00000000-0000-0000-0000-000000000000","nullable":true,"description":"External Id."},"who_reports":{"enum":["both","client","contractor"],"type":"string","example":"both","description":"Flag to indicate who is supposed to provide regular reports"},"country_code":{"type":"string","example":"US","pattern":"^[A-Z]{2}$","maxLength":2,"minLength":2,"description":"Country code."},"notice_period":{"type":"number","default":10,"example":15,"minimum":0,"description":"Days before to notice the termination of contract for either party."},"scope_of_work":{"type":"string","example":"Software development","nullable":true,"description":"Describe the work to be performed."},"special_clause":{"type":"string","example":"Special clause","nullable":true,"description":"Enter any special clause you may have."},"scope_of_work_id":{"type":"string","format":"uuid","example":"f72f1ef4-b9fe-40e3-9d63-711d4b095048","nullable":true,"description":"Existing scope of work public id"},"termination_date":{"type":"string","format":"date","example":"1999-12-31","pattern":"^\\d{4}-\\d{2}-\\d{2}$","nullable":true,"description":"Short date in format ISO-8601 (YYYY-MM-DD). For example: 2022-12-31."},"contract_template_id":{"type":"string","example":"00000000-0000-0000-0000-000000000000","nullable":true,"description":"Contract Template Id."},"custom_contract_file":{"type":"string","format":"binary","example":"contract.pdf","nullable":true,"description":"Upload the file you want to attach to this entry."}},"description":"Details of contract to create"},{"type":"object","required":["type","start_date"],"properties":{"type":{"enum":["ongoing_time_based"],"type":"string","example":"ongoing_time_based","description":"Type of contract"},"start_date":{"type":"string","format":"date","example":"1999-12-31","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Short date in format ISO-8601 (YYYY-MM-DD). For example: 2022-12-31."}}},{"type":"object","required":["compensation_details"],"properties":{"compensation_details":{"allOf":[{"type":"object","required":["currency_code","frequency","cycle_end","cycle_end_type","payment_due_type","payment_due_days"],"properties":{"amount":{"type":"number","example":100,"description":"Amount to be paid. This field can be excluded when creating a Pay-as-you-go task-based or Milestone contracts."},"cycle_end":{"type":"number","example":15,"maximum":31,"minimum":1,"description":"Date invoice cycle ends."},"frequency":{"enum":["weekly","monthly","biweekly","semimonthly","calendar-month"],"type":"string","example":"monthly","description":"Scale of the invoice cycle."},"currency_code":{"type":"string","example":"GBP","pattern":"^[A-Z]{3}$","maxLength":3,"minLength":3,"description":"Currency code."},"first_payment":{"type":"number","default":0,"example":500,"minimum":0,"description":"First payment amount."},"notice_period":{"type":"number","default":10,"example":15,"minimum":0,"description":"Days before to notice the termination of contract for either party."},"cycle_end_type":{"enum":["DAY_OF_WEEK","DAY_OF_LAST_WEEK","DAY_OF_MONTH"],"type":"string","example":"DAY_OF_WEEK","description":"Cycle end can be weekly 1-7 (Monday = 1) or monthly 1-31."},"payment_due_days":{"type":"number","example":7,"maximum":90,"minimum":0,"description":"Number of days to pay the invoice."},"payment_due_type":{"enum":["REGULAR","WITHIN_MONTH","AFTER_MONTH","BEFORE_CYCLE_END"],"type":"string","default":"REGULAR","example":"REGULAR","description":"Type of payment due. If the payment is due on the last day of month, enter 'WITHIN_MONTH'. If the payment is due some days after the end of the month, enter 'AFTER_MONTH'. If the payment is due before the end of the invoice cycle, enter 'BEFORE_CYCLE_END'."},"first_payment_date":{"type":"string","example":"1999-12-31","nullable":true,"description":"Short date in format ISO-8601 (YYYY-MM-DD). For example: 2022-12-31."},"pay_before_weekends":{"type":"boolean","example":true,"description":"If the payment due is on a weekend, pay on Friday."}}},{"type":"object","required":["amount","scale"],"properties":{"scale":{"enum":["hourly","daily","weekly","monthly","biweekly","semimonthly","custom"],"type":"string","example":"daily","description":"Defines the scale at which the amount is paid. For example, enter 'hourly' to define the amount per hour. This field can be excluded when creating a Pay-as-you-go task-based or Milestone contracts."},"amount":{"type":"number","example":100,"description":"Amount to be paid. This field can be excluded when creating a Pay-as-you-go task-based or Milestone contracts."}}}],"example":{"scale":"daily","amount":100,"cycle_end":15,"frequency":"monthly","currency_code":"GBP","first_payment":500,"cycle_end_type":"DAY_OF_MONTH","payment_due_days":7,"payment_due_type":"REGULAR","first_payment_date":"1999-12-31","pay_before_weekends":true},"description":"Compensation and invoicing configuration for the contract."}}}],"title":"ONGOING_TIME_BASED"}]}}}}},"required":true}}},"/benefits/legal-entities/{id}/employees/{employee_id}":{"get":{"tags":["Employees"],"summary":"Get employee from organization integrated with external benefits vendor","operationId":"getEmployeeFromOrganizationIntegratedWithExternalBenefitsVendor-v2026-01-01","description":"Returns profile and contract data for a single employee within a legal entity integrated with an external benefits vendor. When `active_contracts` is `true`, only active contracts are included in the response.\n\n**Related endpoints**\n- use `contract_id` from contracts in response with `GET /benefits/legal-entities/{legal_entity_id}/contracts/{contract_id}/plans/{plan_id}`\n- use `contract_id` from contracts in response with `DELETE /benefits/legal-entities/{id}/contracts/{contract_id}/plans/{plan_id}`\n **Token scopes**: `people:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","example":"123456","nullable":false,"description":"Unique identifier for the employee."},"phones":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","example":"mobile","nullable":false,"description":"The type of phone number, e.g., mobile, home."},"dial_code":{"type":"string","example":"+1","nullable":false,"description":"The international dial code."},"phone_number":{"type":"string","example":"5555555555","nullable":false,"description":"The phone number."}},"x-sensitive-pii":true},"nullable":false,"description":"List of phone numbers associated with the employee."},"status":{"type":"string","example":"active","nullable":false,"description":"The employee status given his contracts."},"addresses":{"type":"array","items":{"type":"object","properties":{"zip":{"type":"string","example":"12345","nullable":true,"description":"The ZIP or postal code part of the address."},"city":{"type":"string","example":"New York","nullable":true,"description":"The city part of the address."},"type":{"type":"string","example":"home","nullable":false,"description":"The type of address, e.g., home, work."},"state":{"type":"string","example":"NY","nullable":true,"description":"The state part of the address."},"street":{"type":"string","example":"123 Main St","nullable":true,"description":"The street part of the address."},"country":{"type":"string","example":"US","nullable":false,"description":"The country part of the address."}}},"nullable":false,"description":"List of addresses associated with the employee.","x-sensitive-pii":true},"contracts":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"123456","nullable":false,"description":"Unique identifier for the contract."},"flsa":{"type":"boolean","example":true,"nullable":false,"description":"Indicates if the contract is compliant with the Fair Labor Standards Act."},"status":{"type":"string","example":"active","nullable":false,"description":"The contract status."},"end_date":{"type":"string","example":"2022-12-31","nullable":false,"description":"The end date of the contract, if applicable."},"job_title":{"type":"string","example":"Software Engineer","nullable":false,"description":"Job title or name of the contract."},"start_date":{"type":"string","example":"2022-01-01","nullable":false,"description":"The start date of the contract."},"compensations":{"type":"array","items":{"type":"object","nullable":false,"properties":{"rate":{"type":"number","example":1000,"nullable":false,"description":"The rate of compensation."},"type":{"enum":["MAIN","VARIABLE"],"type":"string","nullable":false,"description":"The type of compensation, either MAIN or VARIABLE."},"scale":{"type":"string","example":"hourly","nullable":true,"description":"The scale of the compensation."},"currency":{"type":"string","example":"USD","nullable":false,"description":"The currency of the compensation."},"cycle_scale":{"type":"string","example":"hour","nullable":true,"description":"The cycle scale of the compensation."},"variable_compensation_type":{"enum":["FIXED","PERCENTAGE"],"type":"string","example":"FIXED","nullable":true,"description":"The type of variable compensation, either FIXED or PERCENTAGE."}},"description":"Details about the compensations."},"nullable":false,"description":"List of compensations associated with the contract.","x-sensitive-employment":true},"contract_type":{"enum":["direct_employee","contractor"],"type":"string","nullable":false,"description":"The type of contract."},"employment_type":{"enum":["full_time","part_time"],"type":"string","nullable":false,"description":"The employment type, e.g., full-time or part-time."},"estimated_week_working_hours":{"type":"number","example":40,"nullable":false,"description":"Estimated number of working hours per week."}}},"nullable":false,"description":"List of contracts associated with the employee."},"hire_date":{"type":"string","example":"2022-01-01","nullable":true,"description":"Employee date of first contract."},"work_email":{"type":"string","example":"test@example.com","nullable":true,"description":"Employee work email address."},"date_of_birth":{"type":"string","example":"1990-01-01","nullable":true,"description":"Employee date of birth.","x-sensitive-pii":true},"marital_status":{"enum":["Common Law","Divorced","Married","Registered Partnership","Separated","Single","Widowed"],"type":"string","nullable":false,"description":"The marital status of the employee.","x-sensitive-pii":true},"personal_email":{"type":"string","example":"test2@example.com","nullable":true,"description":"Employee personal email address.","x-sensitive-pii":true},"document_number":{"type":"string","example":"123456789","nullable":false,"description":"Document number of employee identification document.","x-sensitive-pii":true},"legal_last_name":{"type":"string","example":"Doe","nullable":false,"description":"Employee legal last name.","x-sensitive-pii":true},"legal_first_name":{"type":"string","example":"John","nullable":false,"description":"Employee legal first name.","x-sensitive-pii":true},"legal_middle_name":{"type":"string","example":"Doe","nullable":true,"description":"Employee legal middle name.","x-sensitive-pii":true},"takes_owners_draw":{"type":"boolean","example":true,"nullable":false,"description":"Indicates if the employee takes an owner draw."},"ownership_percentage":{"type":"number","example":50,"nullable":false,"description":"The percentage of business ownership by the employee."}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"query","name":"active_contracts","schema":{"type":"boolean","default":true},"example":true,"required":false,"description":"Fetch only active contracts for employees"},{"in":"path","name":"id","schema":{"type":"string"},"example":"123456","required":true,"description":"Id from the legal entity to fetch data"},{"in":"path","name":"employee_id","schema":{"type":"string"},"example":"123456","required":true,"description":"Employee id from the legal entity to fetch data"}],"security":[{"deelToken":[]},{"oauth2":["people:read"]}]}},"/eor/contracts/{contract_id}/project-assignment/checkin":{"get":{"tags":["EOR"],"summary":"Fetch Project Assignment Checkin Questionnaire Data","operationId":"fetchProjectAssignmentCheckinQuestionnaireData","description":"Use this endpoint to fetch the project assignment checkin data with all necessary information to render in your side the questionnaire\n **Token scopes**: `contracts:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["sections","updated_at","created_at","id"],"properties":{"id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440004","description":"Unique identifier of the resource"},"sections":{"type":"array","items":{"type":"object","required":["title","questions"],"properties":{"title":{"type":"string","example":"Section Title","description":"Title of the section."},"subtitle":{"type":"string","example":"Information about the section","description":"Additional information shown at the top of the section."},"questions":{"type":"array","items":{"type":"object","required":["title","type","key"],"properties":{"key":{"type":"string","example":"questionExampleId","description":"Unique key identifier for the question."},"type":{"enum":["FreeText","Paragraph","SingleSelection","MultiSelection","Address","PhoneNumber","DocumentUpload","Number","Dropdown","DatePicker","Email"],"type":"string","example":"Dropdown","description":"Type of the question."},"title":{"type":"string","example":"Please  confirm, that you have read through the Employment Compliance Notice above","description":"Title of the question."},"options":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string","example":"Yes","description":"Display text for the option."},"value":{"type":"string","example":"true","nullable":true,"description":"Value associated with the option."}}},"example":[{"title":"Yes","value":"Yes"},{"title":"No","value":"No"}],"nullable":true,"description":"List of selectable options for selection-type questions. Value may be of any type."},"is_required":{"type":"boolean","example":true,"description":"Indicates if the question is required."},"default_value":{"oneOf":[{"type":"string","nullable":true},{"type":"number","nullable":true},{"type":"boolean","nullable":true}],"example":40,"description":"Default value to pre-fill in the form."},"is_only_digits":{"type":"boolean","example":false,"description":"Restricts input to numeric characters only, for FreeText questions."}}},"description":"List of questions within the section."}}},"example":{"sections":[{"title":"Section Title","subtitle":"Section Subtitle","questions":[{"key":"questionKey","type":"SingleSelection","title":"Question Title","options":[{"title":"Yes, I confirm","value":"Yes, I confirm"}],"is_required":true}]}]},"description":"Sections of questions"},"created_at":{"type":"string","format":"date-time","example":"2025-02-14T12:34:56.000Z","description":"Timestamp indicating when the resource was created (ISO 8601)."},"updated_at":{"type":"string","format":"date-time","example":"2025-02-15T09:12:34.000Z","description":"Timestamp indicating when the resource was last updated (ISO 8601)."}}}}}}},"description":"Successful response containing form configuration data."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_parameter","description":"Machine-readable error code"},"field":{"type":"string","example":"/data/example_field","description":"Name of the field causing the error (for validation issues)"},"message":{"type":"string","example":"Must have required property 'example_field'","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"409":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"code","description":"The code of the source handler which produced the returned error"},"field":{"type":"string","example":"/data/example_field","description":"Name of the field causing the error (for validation issues)"},"message":{"type":"string","example":"The requested version of the document mismatch the current version.","description":"The requested version of the document mismatch the current version."}}}}}}}},"description":"The requested version of the document mismatch the current version."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"service_unavailable","description":"Machine-readable error code"},"message":{"type":"string","example":"The service is currently experiencing issues","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."}},"parameters":[{"in":"query","name":"version","schema":{"type":"string","maxLength":20,"minLength":20},"example":"e374540fc9a92390f9a1","required":false,"description":"This field is to ensure that the latest version of the project assignment checkin matches the version received from the webhook. If it is not sent, the version validation is not performed. If it is sent, it is checked whether the current version is equal to the version sent; if not, a 409 error occurs, otherwise, the data is returned."},{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"m623fez","required":true,"description":"The unique identifier of the contract."}],"security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]},"post":{"tags":["EOR"],"summary":"Submit Project Assignment Checkin Questionnaire Data","operationId":"submitProjectAssignmentCheckinQuestionnaireData","description":"Use this endpoint to submit the checkin questionnaire. It is necessary to send all required questionnaire answers.\n **Token scopes**: `contracts:read`, `contracts:write`","responses":{"204":{"description":"No content. The request was successful, but there is no response body."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_parameter","description":"Machine-readable error code"},"field":{"type":"string","example":"/data/example_field","description":"Name of the field causing the error (for validation issues)"},"message":{"type":"string","example":"Must have required property 'example_field'","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"409":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"code","description":"The code of the source handler which produced the returned error"},"field":{"type":"string","example":"/data/example_field","description":"Name of the field causing the error (for validation issues)"},"message":{"type":"string","example":"The requested version of the document mismatch the current version.","description":"The requested version of the document mismatch the current version."}}}}}}}},"description":"The requested version of the document mismatch the current version."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"service_unavailable","description":"Machine-readable error code"},"message":{"type":"string","example":"The service is currently experiencing issues","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"m623fez","required":true,"description":"The unique identifier of the contract."}],"security":[{"deelToken":[]},{"oauth2":["contracts:read","contracts:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","required":["type","questions_with_answers"],"properties":{"type":{"enum":["EMPLOYEE","CLIENT"],"type":"string","example":"EMPLOYEE","description":"Indicates who is submitting the form. Can be either 'EMPLOYEE' or 'CLIENT'."},"version":{"type":"string","example":"7d39089b657fd85a602b","maxLength":20,"description":"Optional version identifier of the form or schema."},"questions_with_answers":{"type":"object","example":{"questionId":"Yes, I confirm","questionId2":"Free Text Answer"},"description":"Map of question IDs to their corresponding answers.","minProperties":1,"additionalProperties":{"type":"string","minLength":1,"description":"Answer for a specific question, mapped by its unique question ID."}}},"description":"Form submission payload containing respondent type, question answers, and optional version."}}}}},"required":true,"description":"Payload for submitting employee or client form answers."}}},"/eor/workers/banks-guide/country/{country}/currency/{currency}":{"get":{"tags":["EOR"],"summary":"Retrieve bank account guide","operationId":"retrieveBankAccountGuide-v2026-01-01","description":"Retrieve bank account form guide for an EOR employee. This data can be used to add a new bank account for an employee.\n **Token scopes**: `worker:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["key","is_required","ui_guide"],"properties":{"key":{"type":"string","example":"countryCode","nullable":false,"description":"The key of the field."},"type":{"type":"string","example":"text","description":"Type of the field"},"ui_guide":{"type":"object","properties":{"label":{"type":"string","example":"Country","description":"Label for this field."},"order":{"type":"integer","example":1,"description":"Order of the field in the form."},"helper_text":{"type":"string","example":"Select your country code.","nullable":true,"description":"Helper text to guide the user."}},"description":"UI guidance information for rendering this field in forms."},"is_required":{"type":"boolean","example":true,"nullable":true,"description":"Whether the field is required or not."},"validations":{"type":"array","items":{"type":"object","properties":{"type":{"enum":["MIN_LENGTH","MAX_LENGTH","REGEX"],"type":"string","example":"MIN_LENGTH","description":"The type of validation rule to apply."},"value":{"oneOf":[{"type":"string","example":"2","description":"Validation value."},{"type":"number","example":2,"description":"Validation value."}],"example":2,"description":"The value to use for the validation rule (e.g., minimum length, regex pattern)."},"error_message":{"type":"string","example":"Value must be at least 2 characters long.","description":"Error message to be displayed if validation fails."}}},"description":"Array of validation rules that apply to this field."},"values_allowed":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string","example":"Argentina","description":"The name of the allowed value."},"value":{"type":"string","example":"AR","description":"The value of the allowed value."}}},"description":"Array of allowed values for this field (used for dropdowns, select lists, etc.)."}}}}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_parameter","description":"Machine-readable error code"},"field":{"type":"string","example":"/data/example_field","description":"Name of the field causing the error (for validation issues)"},"message":{"type":"string","example":"Must have required property 'example_field'","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"country","schema":{"type":"string"},"example":"FR","required":true,"description":"Country"},{"in":"path","name":"currency","schema":{"type":"string"},"example":"EUR","required":true,"description":"Currency"}],"security":[{"deelToken":[]},{"oauth2":["worker:read"]}]}},"/invoices/{id}/download":{"get":{"tags":["Accounting"],"summary":"Download invoice PDF","operationId":"getBillingInvoiceDownloadLink","description":"Get a link to download the invoice PDF.\n **Token scopes**: `accounting:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["url"],"properties":{"id":{"type":"string","example":"abcd1234efgh5678","description":"Unique identifier of the invoice."},"url":{"type":"string","example":"https://s3URL/letsdeel.com/invoices/abcd1234efgh5678.pdf","nullable":true,"description":"URL to the requested invoice for download. This URL may expire after a certain duration."},"expires_at":{"type":"string","format":"date-time","example":"2024-11-30T10:58:49.780Z","description":"The expiration date and time of the download URL, after which the URL will no longer be accessible."}}}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"id","schema":{"type":"string"},"example":"abcd1234efgh5678","required":true,"description":"The invoice ID used to identify the invoice to be downloaded."}],"security":[{"deelToken":[]},{"oauth2":["accounting:read"]}]}},"/timesheets/presets":{"post":{"tags":["Projects"],"summary":"Create Hourly Report Preset","operationId":"createHourlyReportPreset","description":"Create a new hourly report preset.\n **Token scopes**: `timesheets:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the newly created hourly report preset"}}}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Work statement is not in allowed status"}}}}},"description":"Bad Request"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Forbidden"}}}}},"description":"Forbidden"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["timesheets:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["work_statement_id","hourly_report_root_preset_id"],"properties":{"file":{"type":"string","format":"binary","example":"report_template.pdf","nullable":true,"description":"Optional file attachment for the hourly report preset"},"rate":{"type":"number","example":75.5,"minimum":0.1,"description":"The hourly rate for this preset (must be greater than 0)"},"title":{"type":"string","example":"Client Project Hours Q1 2024","maxLength":255,"description":"The title of the hourly report preset"},"description":{"type":"string","example":"Quarterly timesheet template for tracking billable hours on the client's main project","nullable":true,"maxLength":30000,"description":"A detailed description of the hourly report preset's purpose and contents"},"work_statement_id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the associated work statement"},"hourly_report_root_preset_id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the root preset this report is based on"}}}}}}},"required":true}}},"/organizations":{"get":{"tags":["Organizations"],"summary":"Get Current Organization","operationId":"getOrganizations","description":"Retrieve details of the current organization associated with the authenticated user. The organization is automatically detected based on the authentication token provided in the request.\n **Token scopes**: `organizations:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","example":{"data":[{"id":"00000000-0000-0000-0000-000000000000","name":"Example Organization"}]},"properties":{"data":{"type":"array","items":{"type":"object","required":["id","name"],"properties":{"id":{"type":"string","format":"uuid","example":"00000000-0000-0000-0000-000000000000","description":"The unique identifier of the organization."},"name":{"type":"string","example":"Example Organization","nullable":false,"minLength":1,"description":"The name of the organization."}}}}}}}},"description":"Successful retrieval of the organization details."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Unauthorized. Please provide valid authentication credentials.","description":"An error message indicating that the authentication failed."}}}}},"description":"Unauthorized. The request is missing authentication credentials or the credentials provided are invalid."},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Organization not found.","description":"An error message indicating that no organization was found for the authenticated user."}}}}},"description":"Organization not found. The current organization associated with the authentication token could not be found."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Internal server error.","description":"A general error message indicating that the server encountered an unexpected issue."}}}}},"description":"Internal server error. An error occurred on the server while processing the request."}},"security":[{"deelToken":[]},{"oauth2":["organizations:read"]}]}},"/eor/workers/banks/guide":{"get":{"tags":["EOR"],"summary":"Retrieve bank account guide","operationId":"getEORBankAccountGuide","description":"Retrieve bank account form guide for an EOR employee. This data can be used to add a new bank account for an employee.\n **Token scopes**: `worker:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["key","required"],"properties":{"key":{"type":"string","example":"countryCode","nullable":false,"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,"nullable":false,"description":"Whether the field is required or not."},"validations":{"type":"array","items":{"type":"object","properties":{"type":{"enum":["MIN_LENGTH","MAX_LENGTH","REGEX"],"type":"string"},"value":{"oneOf":[{"type":"string","example":"2","description":"Validation value."},{"type":"number","example":2,"description":"Validation value."}]}}}},"values_allowed":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string","example":"Argentina","description":"The name of the allowed value."},"value":{"type":"string","example":"AR","description":"The value of the allowed value."}}}}}}}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["worker:read"]}]}},"/it/policies":{"get":{"tags":["IT policies"],"summary":"List IT hardware policies","operationId":"listItHardwarePolicies","description":"Retrieve a list of all available IT hardware policies. These policies define the equipment that can be ordered.  For more info, visit [IT policies](https://developer.deel.com/docs/deel-it-api#it-policies).\n **Token scopes**: `it-policies:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"550e8400-e29b-41d4-a716-446655440000","description":"Unique identifier for the policy"},"name":{"type":"string","example":"Engineering","description":"Policy name"}}}}}}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"insufficient_permission","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"first_name","description":"The field name where input validation failed"},"message":{"type":"string","example":"human readable error message","description":"Description of the returned error"}}}}}}}},"description":"Bad Request"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"insufficient_permission","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"first_name","description":"The field name where input validation failed"},"message":{"type":"string","example":"human readable error message","description":"Description of the returned error"}}}}}}}},"description":"Internal Server Error"}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["it-policies:read"]}]}},"/groups":{"get":{"tags":["Groups"],"summary":"Return list of groups","operationId":"getGroups","description":"List all the groups in your organization.\n **Token scopes**: `groups:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the group."},"name":{"type":"string","description":"The name of the group."},"status":{"enum":["active","archived"],"type":"string","description":"The current status of the group (active or archived)."},"managers":{"type":"number","description":"The number of managers associated with the group."},"created_at":{"type":"string","format":"date-time","description":"The timestamp when the group was created."},"updated_at":{"type":"string","format":"date-time","description":"The timestamp when the group was last updated."},"archived_at":{"type":"string","format":"date-time","nullable":true,"description":"The timestamp when the group was archived (if applicable)."},"external_metadata":{"type":"object","description":"Extra information about the group."}}}},"page":{"type":"object","properties":{"cursor":{"type":"string","description":"An opaque cursor to fetch the next set of results."},"total_rows":{"type":"integer","description":"The total number of groups available for the current query (including pagination)."}}}}}}},"description":"A list of groups in the organization."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Error message explaining what went wrong."}}}}},"description":"Invalid request parameters."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"query","name":"limit","schema":{"type":"integer","default":100,"maximum":100,"minimum":1},"required":false,"description":"The maximum number of groups to return (between 1 and 100)"},{"in":"query","name":"sort_order","schema":{"enum":["ASC","DESC"],"type":"string","default":"ASC"},"required":false,"description":"Sort the results in ascending (ASC) or descending (DESC) order based on the group name."},{"in":"query","name":"cursor","schema":{"type":"string"},"required":false,"description":"The encoded cursor for paginated results. This is an opaque string that allows fetching the next set of results."},{"in":"query","name":"include_archived_groups","schema":{"type":"boolean","default":true},"required":false,"description":"Include archived groups (soft deleted records). Defaults to `true`."},{"in":"query","name":"external_metadata","schema":{"type":"string"},"required":false,"description":"Extra information about the group."}],"security":[{"deelToken":[]},{"oauth2":["groups:read"]}]},"post":{"tags":["Groups"],"summary":"Create a group","operationId":"createGroup","description":"Create a new group within your organization.\n **Token scopes**: `groups:read`, `groups:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","example":{"data":{"id":"9e12eb6b-90ea-4543-8ff1-7789e7b8db7e","name":"Realod","created_at":"2024-03-07T11:42:22.342Z","updated_at":"2024-03-07T11:42:22.342Z","external_metadata":"{'showInReport': 'true'}"}},"properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the created group."},"name":{"type":"string","description":"The name of the created group."},"created_at":{"type":"string","format":"date-time","description":"The timestamp when the group was created."},"updated_at":{"type":"string","format":"date-time","description":"The timestamp when the group was last updated."},"external_metadata":{"type":"object","description":"Extra information of the group."}}}}}}},"description":"Group created successfully"},"400":{"content":{"application/json":{"schema":{"type":"object","example":{"error":{"message":"Invalid payload"}},"properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Description of the error."}}}}}}},"description":"Invalid request payload"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"security":[{"deelToken":[]},{"oauth2":["groups:read","groups:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["name"],"properties":{"name":{"type":"string","example":"Walmart","maxLength":48,"description":"The name of the group to be created."},"external_metadata":{"type":"object","example":"{'showInReport': 'true'}","description":"The extra information of the group to be created."}}}}}}},"required":true}}},"/eor/contracts/{contract_id}/offboarding/required-information":{"get":{"tags":["EOR"],"summary":"Get additional information required to request employee termination","operationId":"getAdditionalInformationRequiredToRequestEmployeeTermination","description":"This endpoint provides additional country-specific requirements for employee offboarding. It specifies any mandatory or optional questions that the client must answer and identifies required supporting documents that must be uploaded during the offboarding process. This ensures compliance with local regulations and streamlines the offboarding workflow.\n **Token scopes**: `contracts:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","example":{"questions":[{"text":"Does the employee might have protected status for termination (e.g. maternity leave, paternity leave, sick leave)?","is_optional":false},{"text":"Has the employee received prior written warnings about performance issues?","is_optional":true}],"required_upload_label":"Please provide documents to support underperformance if applicable"},"properties":{"documents":{"type":"string","example":"Please provide documents to support underperformance if applicable","nullable":true,"description":"If not null, specifies the documents that the client must upload when requesting a termination"},"questions":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string","example":"Does the employee might have protected status for termination (e.g. maternity leave, paternity leave, sick leave)?","description":"Specifies the text of additional questions that the client must answer when requesting a termination"},"is_optional":{"type":"boolean","example":false,"description":"Indicates whether answering the question is optional. If false, client must provide an answer."}}},"nullable":true,"description":"A list of additional questions that the client must answer when requesting a termination. Some questions are mandatory, while others are optional."}},"description":"Specifies the text of additional questions that the client must answer when requesting a termination"}}}}},"description":"Ok response"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_format","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"email","description":"The field name where input validation failed"},"message":{"type":"string","example":"The email field must be a valid email address format","description":"Description of the returned error"}}}}}}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"expired_token","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"authorization","description":"The field name where authentication failed"},"message":{"type":"string","example":"Your access token has expired. Please authenticate again to continue.","description":"Description of the returned error"}}}}}}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"access_denied","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"contract_id","description":"The field name where permission was denied"},"message":{"type":"string","example":"You do not have permission to access contract CT-12345. Contact your administrator for access.","description":"Description of the returned error"}}}}}}}},"description":"Forbidden"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"database_connection_failed","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":null,"description":"The field name where error occurred (null for server errors)"},"message":{"type":"string","example":"A temporary server error occurred. Please try again in a few moments or contact support if the issue persists.","description":"Description of the returned error"}}}}}}}},"description":"Internal Server Error"}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"abcd4fg","required":true,"description":"The unique identifier of the employee contract."}],"security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]}},"/contracts/{contract_id}/timesheets/presets":{"get":{"tags":["Projects"],"summary":"Get Hourly Report Presets","operationId":"getHourlyReportPresets","description":"Retrieve hourly report presets for a given contract and work statement.\n **Token scopes**: `timesheets:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data","page"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","title","description","rate","hourly_report_root_preset"],"properties":{"id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the hourly report preset"},"file":{"type":"object","nullable":true,"properties":{"id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the file"},"name":{"type":"string","example":"your_file_name","description":"The name of the file"},"type":{"type":"string","example":"pdf","description":"The type of the file"}}},"rate":{"type":"number","example":75.5,"description":"The hourly rate for this preset"},"title":{"type":"string","description":"Title of the hourly report preset."},"description":{"type":"string","example":"Monthly timesheet template for tracking billable hours","description":"Detailed description of the hourly report preset"},"hourly_report_root_preset":{"type":"object","required":["id","title","description"],"properties":{"id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the root preset"},"file":{"type":"object","nullable":true,"properties":{"id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the file"},"name":{"type":"string","example":"your_file_name","description":"The name of the file"},"type":{"type":"string","example":"pdf","description":"The type of the file"}}},"type":{"enum":["RATE","TRACKING"],"type":"string","example":"RATE","description":"The type of preset based on type of root preset"},"title":{"type":"string","example":"Standard Monthly Template","description":"The title of the root preset template"},"description":{"type":"string","example":"Base template for monthly timesheet reporting","description":"Detailed description of the root preset template"}}}}}},"page":{"type":"object","required":["cursor","total_rows"],"properties":{"cursor":{"type":"string","example":"next_page_token_123","description":"Pagination cursor for fetching the next set of results"},"total_rows":{"type":"integer","example":100,"description":"Total number of rows available in the result set"}}}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","example":"Work statement is not found"}}}}},"description":"Bad Request"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"query","name":"work_statement_id","schema":{"type":"string","format":"uuid"},"required":false,"description":"ID of the work statement (optional)"},{"in":"query","name":"order_by","schema":{"type":"string","default":"title"},"required":false,"description":"Field to order results by (title or created_at)"},{"in":"query","name":"order_direction","schema":{"type":"string","default":"ASC"},"required":false,"description":"Direction of ordering (ASC or DESC)"},{"in":"query","name":"cursor","schema":{"type":"string"},"required":false,"description":"Pagination cursor for fetching next set of results"},{"in":"query","name":"limit","schema":{"type":"integer","default":100,"maximum":100,"minimum":1},"required":false,"description":"Number of results to return per page"},{"in":"path","name":"contract_id","schema":{"type":"string","format":"uuid"},"required":true,"description":"ID of the Deel contract"}],"security":[{"deelToken":[]},{"oauth2":["timesheets:read"]}]}},"/gp/legal-entities/{legal_entity_id}/reports":{"get":{"tags":["Global Payroll"],"summary":"List payroll events by legal entity","operationId":"listPayrollEventsByLegalEntity","description":"Use this endpoint to retrieve payroll events for a specific legal entity when preparing payroll reports or auditing pay cycles. This operation is read-only and does not modify any data.\n **Token scopes**: `global-payroll:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","status","start_date","end_date"],"properties":{"id":{"type":"string","example":"clqmd5qb07xwevi01cd5kb6kw","description":"Unique identifier for the payroll event."},"status":{"type":"string","example":"OPEN","description":"Status of the payroll event (e.g., OPEN, CLOSED)."},"end_date":{"type":"string","format":"date-time","example":"2022-05-24T09:38:46.235Z","nullable":false,"description":"End date of the payroll event in ISO-8601 format."},"lock_date":{"type":"string","format":"date-time","example":"2022-05-24T09:38:46.235Z","nullable":true,"description":"Date when the payroll event is locked, in ISO-8601 format."},"start_date":{"type":"string","format":"date-time","example":"2022-05-24T09:38:46.235Z","nullable":false,"description":"Start date of the payroll event in ISO-8601 format."}}}}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"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"}}}},"request":{"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"}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"legal_entity_id","schema":{"type":"string","format":"uuid","description":"Unique identifier for the legal entity in UUID format."},"example":"6f50539e-9f62-45d0-a42e-62a62fbb984a","required":true,"description":"Unique identifier for the legal entity."}],"security":[{"deelToken":[]},{"oauth2":["global-payroll:read"]}]}},"/gp/reports/{id}/gross_to_net":{"get":{"tags":["Global Payroll"],"summary":"List gross-to-net report.","operationId":"listGrossToNetReport","description":"Get a list of global payroll reports detailing gross-to-net calculations. Supports pagination through limit and offset query parameters.\n **Token scopes**: `global-payroll:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","example":{"data":[{"grossPay":{"type":"currency","label":"Gross Pay","compareValue":null,"currentValue":6726.23,"percentageDiff":null,"formattedCurrentValue":"$6726.23"},"employeeName":{"type":"text","label":"Employee Name","compareValue":null,"currentValue":"Lucio Hills","percentageDiff":null,"formattedCurrentValue":"Lucio Hills"}}],"page":{"limit":50,"offset":0,"total_rows":95}},"required":["data","page"],"properties":{"data":{"type":"array","items":{"type":"object","description":"A single report row. Property names are dynamic column identifiers (e.g. employeeName, grossPay).","additionalProperties":{"type":"object","example":{"type":"text","label":"Employee Name","compareValue":null,"currentValue":"Lucio Hills","percentageDiff":null,"formattedCurrentValue":"Lucio Hills"},"required":["label","type"],"properties":{"type":{"type":"string","example":"text","description":"Cell type used for rendering/formatting."},"label":{"type":"string","example":"Employee Name","description":"Human-readable label of the column for this cell."},"compareValue":{"example":0,"description":"Raw value for the comparison period, if applicable."},"currentValue":{"example":"Lucio Hills","description":"Raw value for the current period. Type varies by column (string/number/null/etc)."},"percentageDiff":{"example":14.73,"description":"Percentage difference between current and comparison values, if applicable."},"formattedCurrentValue":{"example":"$6673.04","description":"Formatted value for display purposes."}},"description":"A cell value object for a given column.","additionalProperties":true}},"example":[{"grossPay":{"type":"currency","label":"Gross Pay","compareValue":null,"currentValue":6726.23,"percentageDiff":null,"formattedCurrentValue":"$6726.23"},"employeeName":{"type":"text","label":"Employee Name","compareValue":null,"currentValue":"Lucio Hills","percentageDiff":null,"formattedCurrentValue":"Lucio Hills"}}],"description":"List of report rows (summary rows are filtered out). Each row contains dynamic column keys mapped to cell objects."},"page":{"type":"object","example":{"limit":50,"offset":0,"total_rows":95},"required":["total_rows","limit","offset"],"properties":{"limit":{"type":"number","example":50,"maximum":200,"description":"Maximum number of rows returned per page."},"offset":{"type":"number","example":0,"description":"Zero-based offset of the first returned row."},"total_rows":{"type":"number","example":95,"minimum":0,"description":"Total number of rows available across all pages."}},"description":"Pagination metadata for the report rows.","additionalProperties":true}},"additionalProperties":true}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"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"}}}},"request":{"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"}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"query","name":"currency","schema":{"type":"string"},"example":"USD","description":"Currency to be used in the report calculation."},{"in":"query","name":"limit","schema":{"type":"number","maximum":200},"example":50,"description":"Maximum number of records to return."},{"in":"query","name":"offset","schema":{"type":"number"},"example":50,"description":"Offset/index of record for the next page of records to return."},{"in":"path","name":"id","schema":{"type":"string"},"example":"clbuuabvg63543201r3310y322c","required":true,"description":"Id of the gp payroll report."}],"security":[{"deelToken":[]},{"oauth2":["global-payroll:read"]}]}},"/gp/reports/{id}/gross_to_net/csv":{"get":{"tags":["Global Payroll"],"summary":"Download gross to net report","operationId":"downloadGrossToNetReport","description":"Download global payroll reports detailing gross-to-net calculations.\n **Token scopes**: `global-payroll:read`","responses":{"200":{"content":{"text/csv":{"schema":{"type":"string"}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"id","schema":{"type":"string"},"example":"clbuuabvg63543201r3310y322c","required":true,"description":"Id of the gp payroll report."},{"in":"query","name":"currency","schema":{"type":"string"},"example":"USD","description":"Currency to be used in the report calculation."}],"security":[{"deelToken":[]},{"oauth2":["global-payroll:read"]}]}},"/hris/organization-structures/teams/{team_id}/custom-fields":{"get":{"tags":["Organization Structure"],"summary":"Retrieve custom fields for organization","operationId":"retrieveCustomFieldsForOrganization","description":"Retrieves custom field values for a specific organization structure (team). This endpoint returns all custom fields configured for organization structures, including their current values, inheritance status, and any pending change requests. Custom fields can be inherited from parent teams in the organizational hierarchy, and the response indicates whether each value is inherited or set directly on the specified team. If the user has permission to view data change requests, pending changes will also be included in the response.\n **Token scopes**: `organizations:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data","has_more","next_cursor","total_count"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","name","type","value","raw_value","is_inherited","inherited_from","created_at","updated_at"],"properties":{"id":{"type":"string","format":"uuid","example":"5926d8c4-e7d0-41db-9bec-b73d0de992bf","description":"Public ID (UUID) of the custom field"},"name":{"type":"string","example":"Department Budget","description":"Name of the custom field"},"type":{"enum":["TEXT","LIST","MULTISELECT","NUMBER","CURRENCY","PERCENTAGE","DATE","NESTED"],"type":"string","example":"CURRENCY","description":"Type of the custom field"},"value":{"type":"string","example":"USD50000.00","nullable":true,"description":"Formatted value of the custom field. Null if no value is set."},"values":{"type":"array","items":{"type":"string"},"example":["Engineering","Sales","Marketing","HR"],"description":"Available options for LIST or MULTISELECT type custom fields"},"currency":{"type":"string","example":"USD","description":"Currency code for CURRENCY type custom fields"},"raw_value":{"type":"string","example":"50000.00","nullable":true,"description":"Raw/unformatted value. Null if no value is set."},"created_at":{"type":"string","format":"date-time","example":"2024-01-01T00:00:00.000Z","description":"ISO 8601 timestamp when the resource was created"},"updated_at":{"type":"string","format":"date-time","example":"2024-01-10T15:30:00.000Z","description":"ISO 8601 timestamp when the resource was last updated"},"is_editable":{"type":"boolean","example":true,"description":"Indicates whether the custom field value can be edited"},"is_required":{"type":"boolean","example":false,"description":"Indicates whether the custom field is required"},"is_inherited":{"type":"boolean","example":true,"description":"Indicates whether the value is inherited from a parent team"},"inherited_from":{"type":"object","nullable":true,"required":["team_id","team_name"],"properties":{"team_id":{"type":"string","format":"uuid","example":"5926d8c4-e7d0-41db-9bec-b73d0de992bf","description":"Public ID of the parent team from which the value is inherited"},"team_name":{"type":"string","example":"Engineering Department","description":"Name of the parent team from which the value is inherited"}},"description":"Parent team from which the value is inherited. Null if not inherited."},"pending_change":{"type":"object","nullable":true,"required":["change_request_id","status","value","raw_value","is_approvable"],"properties":{"value":{"type":"string","example":"Sales","nullable":true,"description":"Pending value for the custom field (type depends on field type - can be string, number, array, or null)"},"status":{"enum":["PENDING","SCHEDULED","COMMITTED","CANCELLED"],"type":"string","example":"PENDING","description":"Status of the change request"},"edited_by":{"type":"string","example":"Jane Smith","nullable":true,"description":"Full name of the user who requested the change"},"raw_value":{"type":"string","example":"Sales","nullable":true,"description":"Pending raw value for the custom field (type depends on field type - can be string, number, array, or null)"},"requested_at":{"type":"string","format":"date","example":"2024-01-15","nullable":true,"description":"Date when the change was requested (YYYY-MM-DD format)"},"is_approvable":{"type":"boolean","example":false,"description":"Indicates whether the current user can approve this change request"},"effective_date":{"type":"string","format":"date","example":"2024-02-01","nullable":true,"description":"Effective date for the change (YYYY-MM-DD format)"},"change_request_id":{"type":"string","format":"uuid","example":"a1b2c3d4-e5f6-4789-a012-b3c4d5e6f790","description":"Public ID (UUID) of the change request"},"approval_request_id":{"type":"string","format":"uuid","example":"b2c3d4e5-f6a7-4890-b123-c4d5e6f7a891","nullable":true,"description":"Public ID (UUID) of the approval request associated with the change request"},"modification_reason":{"type":"string","example":"Department reorganization","nullable":true,"description":"Reason for the modification"},"hris_custom_field_value_ids":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"c3d4e5f6-a7b8-4901-c234-d5e6f7a8b902","description":"Public ID (UUID) of the nested custom field value"},"value":{"type":"string","example":"Sub-department","description":"Value of the nested custom field"},"parent_id":{"type":"string","format":"uuid","example":"d4e5f6a7-b8c9-4012-d345-e6f7a8b9c013","nullable":true,"description":"Public ID (UUID) of the parent nested custom field value, if applicable"}}},"example":[{"id":"c3d4e5f6-a7b8-4901-c234-d5e6f7a8b902","value":"Sub-department","parent_id":"d4e5f6a7-b8c9-4012-d345-e6f7a8b9c013"}],"nullable":true,"description":"Array of nested custom field value IDs (for NESTED type fields)"},"modification_reason_additional_info":{"type":"string","example":"Additional context for the change","nullable":true,"description":"Additional information about the modification reason"}},"description":"Pending change request information (only included if user has 'data_change_request.view' permission)"}}},"description":"Array of custom field values for the organization structure team"},"has_more":{"type":"boolean","example":false,"description":"Whether more pages are available"},"next_cursor":{"type":"string","example":"eyJsaW1pdCI6MjAsIm9mZnNldCI6MjB9","nullable":true,"description":"Opaque cursor for the next page. Null if no more pages."},"total_count":{"type":"integer","example":2,"description":"Total number of custom field values (across all pages)"}}},"example":{"data":[{"id":"5926d8c4-e7d0-41db-9bec-b73d0de992bf","name":"Department Budget","type":"CURRENCY","value":"USD50000.00","currency":"USD","raw_value":"50000.00","created_at":"2024-01-01T00:00:00.000Z","updated_at":"2024-01-10T15:30:00.000Z","is_editable":true,"is_required":false,"is_inherited":true,"inherited_from":{"team_id":"5926d8c4-e7d0-41db-9bec-b73d0de992bf","team_name":"Engineering Department"}},{"id":"a1b2c3d4-e5f6-4789-a012-b3c4d5e6f789","name":"Department Type","type":"LIST","value":"Engineering","values":["Engineering","Sales","Marketing","HR"],"raw_value":"Engineering","created_at":"2024-01-01T00:00:00.000Z","updated_at":"2024-01-15T10:00:00.000Z","is_editable":true,"is_required":true,"is_inherited":false,"inherited_from":null,"pending_change":{"value":"Sales","status":"PENDING","edited_by":"Jane Smith","raw_value":"Sales","requested_at":"2024-01-15","is_approvable":false,"effective_date":"2024-02-01","change_request_id":"a1b2c3d4-e5f6-4789-a012-b3c4d5e6f790","approval_request_id":"b2c3d4e5-f6a7-4890-b123-c4d5e6f7a891","modification_reason":"Department reorganization"}}],"has_more":false,"next_cursor":null,"total_count":2}}},"description":"Custom field values retrieved successfully"},"400":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"invalid_parameter","description":"Error code identifying the type of error"},"field":{"type":"string","example":"organization_id","description":"The field name that caused the error, if applicable"},"message":{"type":"string","example":"Organization is not set.","description":"Human-readable error message"}}},"example":[{"code":"invalid_parameter","field":"organization_id","message":"Organization is not set."}],"description":"Array of error objects"}}}}},"description":"Bad request - Organization is not set or Deel HR is not enabled for this organization."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"query","name":"limit","schema":{"type":"integer","default":20,"maximum":100},"example":20,"required":false,"description":"Max items per page (default 20, max 100)"},{"in":"query","name":"cursor","schema":{"type":"string"},"example":"eyJsaW1pdCI6MjAsIm9mZnNldCI6MjB9","required":false,"description":"Opaque cursor for pagination"},{"in":"path","name":"team_id","schema":{"type":"string","format":"uuid"},"example":"5926d8c4-e7d0-41db-9bec-b73d0de992bf","required":true,"description":"Public ID (UUID) of the HRIS team/organization structure"}],"security":[{"deelToken":[]},{"oauth2":["organizations:read"]}]},"patch":{"tags":["Organization Structure"],"summary":"Update organization structure team custom fields","operationId":"updateOrganizationStructureTeamCustomFields","description":"Use this endpoint to keep team metadata current or to schedule future organizational changes. Provide the custom field IDs to modify and use an effective date to schedule updates. Set the value to null to delete a field value.\n **Token scopes**: `organizations:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","example":{"data":{"id":"5926d8c4-e7d0-41db-9bec-b73d0de992bf","message":"Organization structure custom field created successfully","created_at":"2024-02-01T12:00:00.000Z"}},"required":["data"],"properties":{"data":{"type":"object","example":{"id":"5926d8c4-e7d0-41db-9bec-b73d0de992bf","message":"Organization structure custom field created successfully","created_at":"2024-02-01T12:00:00.000Z"},"required":["id","created_at","message"],"properties":{"id":{"type":"string","format":"uuid","example":"5926d8c4-e7d0-41db-9bec-b73d0de992bf","description":"System-generated ID of the resource"},"message":{"type":"string","example":"Organization structure custom field created successfully","description":"Success message"},"created_at":{"type":"string","format":"date-time","example":"2024-02-01T12:00:00.000Z","description":"Timestamp when the resource was created"}}}}}}},"description":"Organization structure custom fields updated successfully"},"400":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"invalid_parameter","description":"Error code identifying the type of error"},"field":{"type":"string","example":"organization_id","description":"The field name that caused the error, if applicable"},"message":{"type":"string","example":"Organization is not set.","description":"Human-readable error message"}}},"example":[{"code":"invalid_parameter","field":"organization_id","message":"Organization is not set."}],"description":"Array of error objects"}}}}},"description":"Bad request - Organization is not set or Deel HR is not enabled for this organization."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"team_id","schema":{"type":"string","format":"uuid"},"example":"5926d8c4-e7d0-41db-9bec-b73d0de992bf","required":true,"description":"Public ID (UUID) of the HRIS team/organization structure"}],"security":[{"deelToken":[]},{"oauth2":["organizations:read"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["custom_fields"],"properties":{"edit_reason":{"type":"object","example":{"reason_oid":"c3d4e5f6-a7b8-9012-cdef-123456789012","additional_info":"Q4 budget adjustment"},"nullable":true,"properties":{"reason_oid":{"type":"string","format":"uuid","example":"c3d4e5f6-a7b8-9012-cdef-123456789012","description":"The public ID (UUID) of the modification reason"},"effective_date":{"type":"string","format":"date","example":"2024-02-01","nullable":true,"description":"Effective date for the modification reason"},"additional_info":{"type":"string","example":"Q4 budget adjustment","nullable":true,"description":"Additional information about the modification reason"}},"description":"Optional reason for the modification"},"custom_fields":{"type":"array","items":{"type":"object","required":["custom_field_id"],"properties":{"value":{"type":"string","example":"Marketing","nullable":true,"description":"The value for the custom field. Use null to delete."},"currency":{"type":"string","example":"USD","nullable":true,"description":"Currency code for currency-type custom fields (ISO 4217)"},"effective_date":{"type":"string","format":"date","example":"2024-02-01","nullable":true,"description":"Optional effective date for scheduled changes (YYYY-MM-DD)"},"custom_field_id":{"type":"string","format":"uuid","example":"5926d8c4-e7d0-41db-9bec-b73d0de992bf","description":"The public ID (UUID) of the custom field"}}},"example":[{"value":"Marketing","custom_field_id":"5926d8c4-e7d0-41db-9bec-b73d0de992bf"}],"minItems":1,"description":"Array of custom field values to update. Set value to null to delete a custom field."}}}}}}},"required":true}}},"/gp/workers/{id}/payslips/{payslip_id}/download":{"get":{"tags":["Global Payroll"],"summary":"Download a GP worker payslip","operationId":"downloadAGpWorkerPayslip-v2026-01-01","description":"Returns a pre-signed download URL for a specific Global Payroll (GP) employee payslip PDF. Use this after calling Retrieve employee payslips to obtain the payslipId. Requires the worker id (UUID) and the payslipId from the list response. The returned URL is temporary and should be used promptly to download the file. Supports only GP contract types.\n **Token scopes**: `payslips:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["url"],"properties":{"url":{"type":"string","example":"https://s3.eu-west-1.amazonaws.com/api-dev-eks.letsdeel.com/employee_payslips/ApdZbLvq0r0E_Payslip_Kulvear_Bowie_2023-12-31.pdf?AWSAccessKeyId=ASIATHF2L5PZ545TTFF7&Expires=1698149134&Signature=DmqwQiXY%2FHmPS%2FYBcB2DOZ9SDVA%3D&x-amz-security-token=zxc","description":"A pre-signed URL to download the payslip PDF."}}}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Invalid query parameters","description":"Error response"}}},"description":"Error messages"},"request":{"type":"object","properties":{"method":{"type":"string","example":"GET","description":"Method of the API"},"status":{"type":"number","example":400,"description":"Status of API response"}},"description":"Error request details"}}}}},"description":"Bad Request - Validation error or invalid parameters"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"id","schema":{"type":"string","format":"uuid","description":"Unique identifier for the worker in UUID format."},"example":"6f50539e-9f62-45d0-a42e-62a62fbb984a","required":true,"description":"Unique identifier for the worker."},{"in":"path","name":"payslipId","schema":{"type":"string","format":"uuid","description":"Unique identifier for the payslip in UUID format."},"example":"9a55c23e-1234-5678-9101-abcdefabcdef","required":true,"description":"Unique identifier for the payslip."}],"security":[{"deelToken":[]},{"oauth2":["payslips:read"]}]}},"/hris/organization_structures/external/{external_id}":{"get":{"tags":["Organization structure"],"summary":"Fetch an Org Structure from the Organization","operationId":"getOrgStructureByExternalId","description":"undefined\n **Token scopes**: `organizations:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Organization ID"},"name":{"type":"string","example":"Deel","description":"Organization name"},"type":{"type":"string","example":"company","description":"Organization type"},"roles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","example":1,"description":"Role ID"},"name":{"type":"string","example":"Admin","description":"Role name"}}}},"teams":{"type":"array","items":{"type":"object"}},"external_id":{"type":"string","example":"rkkej3","description":"External ID"},"teams_count":{"type":"integer","example":2,"description":"Number of teams in the organization"},"enable_roles":{"type":"boolean","example":true,"description":"Flag to enable roles in the organization"},"is_multiselect":{"type":"boolean","example":true,"description":"Flag to enable multiselect in the organization"}}}}}}},"description":"Successful operation"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"external_id","schema":{"type":"string"},"example":"rkkej3","required":true,"description":"External ID"}],"security":[{"deelToken":[]},{"oauth2":["organizations:read"]}]},"patch":{"tags":["Organization structure"],"summary":"Update an existing HRIS Org Structure by external ID","operationId":"updateOrgStructureByExternalId","description":"undefined\n **Token scopes**: `organizations:write`","responses":{"200":{"content":{"application/json":{}},"description":"Successful operation"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"external_id","schema":{"type":"string"},"example":"123456","required":true,"description":"External ID"}],"security":[{"deelToken":[]},{"oauth2":["organizations:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","required":["teams"],"properties":{"name":{"type":"string","example":"Engineering","description":"Name of the organization"},"teams":{"type":"array","items":{"type":"object"}},"external_id":{"type":"string","example":"123456","description":"External ID"},"enable_roles":{"type":"boolean","example":true,"description":"Enable roles"},"is_multiselect":{"type":"boolean","example":true,"description":"Is multiselect"}}}}}}},"required":true}},"delete":{"tags":["Organization structure"],"summary":"Delete an Org Structure from the Organization by external ID","operationId":"deleteOrgStructureByExternalId","description":"undefined\n **Token scopes**: `organizations:write`","responses":{"200":{"content":{"application/json":{}},"description":"Successfully deleted"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"external_id","schema":{"type":"string"},"example":"123456","required":true,"description":"External ID"}],"security":[{"deelToken":[]},{"oauth2":["organizations:write"]}]}},"/eor/contracts/{contract_id}/amendments":{"post":{"tags":["EOR"],"summary":"Create an EOR contract amendment","operationId":"createAnEorContractAmendment-v2026-01-01","description":"This endpoint allows you to create a new amendment for a EOR contract. Amendments may include changes to salary, currency, effective date, or other contract terms, and all requests are validated against business and regulatory rules.\n **Token scopes**: `contracts:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"b9fd7198-7e81-4e57-bcf9-de6315194327","description":"Id of amendment"},"type":{"enum":["INSTANT","OPS","LEGAL","DISABLED","CUSTOM","AUTOMATED",null],"type":"string","example":"OPS","nullable":true,"description":"Type of amendment"},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"8e6ba281-c703-4af3-ad93-b27434b70c7d","description":"Id of amendment item"},"item":{"type":"string","example":"SALARY_INCREASE","description":"Amendment item"},"type":{"enum":["INSTANT","OPS","LEGAL","DISABLED","CUSTOM","AUTOMATED"],"type":"string","example":"OPS","description":"Type of amendment"},"new_value":{"type":"string","example":"62382.93","description":"The new valid value after the attempted change."},"data_point":{"type":"string","example":"salary","description":"The field that is selected for amendment."},"previous_value":{"type":"string","example":"68.9170","description":"The previous valid value before the attempted change."}}},"description":"Items of amendment"},"scope":{"type":"string","example":"Project scope details","description":"Scope of the amendment."},"salary":{"type":"string","example":"50000.00","description":"Salary for the amendment.","x-sensitive-employment":true},"source":{"enum":["APP","PUBLIC_API","APP_BULK_AMENDMENT",null],"type":"string","example":"APP","nullable":true,"description":"Source of amendment flow creation."},"currency":{"type":"string","example":"GBP","description":"Contract currency."},"end_date":{"type":"string","format":"date-time","example":"2023-10-04T13:27:20.148Z","nullable":true,"description":"End date of the employment."},"holidays":{"type":"integer","example":20,"nullable":true,"description":"Number of holidays."},"job_code":{"type":"string","example":"49589","nullable":true,"description":"Job code associated with the job title."},"job_title":{"type":"string","example":"Software Engineer","maxLength":1000,"description":"Job title associated with the amendment.","x-sensitive-pii":true},"created_at":{"type":"string","format":"date-time","example":"2023-10-04T13:27:20.148Z","description":"Creation date of the amendment."},"start_date":{"type":"string","format":"date-time","example":"2023-10-04T13:27:20.148Z","description":"Start date of the employment."},"updated_at":{"type":"string","format":"date-time","example":"2023-10-04T13:27:20.148Z","description":"Date when amendment is updated"},"hourly_rate":{"type":"string","example":"50000.00","nullable":true,"description":"Hourly rate of the amendment","x-sensitive-employment":true},"custom_items":{"type":"array","items":{"type":"object","required":["id","type","status"],"properties":{"id":{"type":"string","format":"uuid","example":"e7b45fa6-9a72-4ab6-b163-ef50ccaba7fb","description":"Unique identifier for the custom amendment item"},"type":{"type":"string","example":"START_DATE","description":"Type/context of the custom amendment item"},"status":{"enum":["REJECTED","APPROVED","PENDING_REVIEW","PENDING_LEGAL"],"type":"string","example":"PENDING_REVIEW","description":"Current status of the custom amendment item"},"description":{"type":"string","example":"Please change the start date to 20th November 2025.","nullable":true,"description":"Detailed description of the custom amendment item"},"rejection_reason":{"type":"string","example":"Start date cannot be moved this far in advance.","nullable":true,"description":"Reason for rejection if the item was rejected"}}},"description":"Custom amendment items associated with the amendment flow"},"job_category":{"type":"string","example":"Engineering","nullable":true,"description":"Job category associated with the job title."},"requested_by":{"type":"string","example":"John Doe","nullable":true,"description":"Profile name of the user who requested the change"},"seniority_id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","nullable":true,"description":"Seniority level identifier."},"document_type":{"enum":["EA","SOW","SOW_EA",null],"type":"string","example":"SOW_EA","nullable":true,"description":"Amendment document type"},"legal_context":{"type":"object","example":{"status":"REQUEST_LEGAL_REVIEW","details":"This amendment requires input from the legal team and will be moved to `paused` until it is resolved manually","jira_ticket":"COHDSB-9600","jira_web_url":"https://letsdeel.atlassian.net/browse/COHDSB-9600","requested_at":"2025-04-23T10:40:25.527Z"},"nullable":true,"properties":{"status":{"enum":["REQUEST_LEGAL_REVIEW","WAITING_FOR_ANOTHER_TEAM","WAITING_FOR_HRX_ACTION","DECLINED","SOLVED"],"type":"string","example":"REQUEST_LEGAL_REVIEW","description":"Current status of the legal review process"},"details":{"type":"string","example":"This amendment requires input from the legal team and will be moved to `paused` until it is resolved manually","description":"Details regarding the legal request"},"jira_ticket":{"type":"string","example":"COHDSB-9600","description":"Jira ticket identifier linked to the legal context"},"jira_web_url":{"type":"string","format":"uri","example":"https://letsdeel.atlassian.net/browse/COHDSB-9600","description":"Link to the Jira ticket for tracking"},"requested_at":{"type":"string","format":"date-time","example":"2025-04-23T10:40:25.527Z","description":"Timestamp when legal review was requested"}},"description":"Additional details needed for legal input"},"time_off_type":{"enum":["STANDARD","SPECIFIC","PRORATED"],"type":"string","example":"STANDARD","description":"Type of time off."},"void_deadline":{"type":"string","format":"date-time","example":"2023-01-01T00:00:00Z","nullable":true,"description":"Deadline this SOW to be voided"},"effective_date":{"type":"string","format":"date-time","example":"2023-01-01T00:00:00Z","nullable":true,"description":"Effective date of the amendment."},"seniority_date":{"format":"date-time","example":"2023-10-04T13:27:20.148Z","nullable":true,"description":"The seniority date represents the employee’s original start date with a previous employer. It is used to preserve employment tenure when the employee transfers to this company. Can be null if not applicable."},"employment_type":{"enum":["FULL_TIME","PART_TIME"],"type":"string","example":"FULL_TIME","description":"Type of employment."},"sick_leave_days":{"type":"integer","format":"number","example":12,"nullable":true,"description":"Number of sick leave days"},"employment_state":{"type":"string","example":"Active","nullable":true,"description":"State of employment."},"probation_period":{"type":"integer","example":3,"nullable":true,"description":"Duration of the probation period."},"work_schedule_id":{"type":"string","format":"uuid","example":"2b786de3-9b25-42d9-8a2d-61583bcfc09e","nullable":true,"description":"Work schedule id"},"fixed_adjustments":{"type":"array","items":{"type":"object","required":["id","value","description","is_recurring","status","is_amended","is_country_specific","created_at","updated_at"],"properties":{"id":{"type":"string","example":"cmfo0hqd5bw00cqs1b1jd7eag","description":"System-generated unique identifier for the fixed adjustment record in an amendment request."},"value":{"type":"string","example":"1200.50","pattern":"^(?!0+(\\.0+)?$)\\d+(?:\\.\\d+)?$","description":"Value of the fixed adjustment."},"status":{"enum":["WAITING_FOR_SIGNING","ACTIVE","OUTDATED","CANCELLED"],"type":"string","example":"WAITING_FOR_SIGNING","description":"Current status of the fixed adjustment."},"created_at":{"type":"string","format":"date-time","example":"2025-09-22T10:21:13.815Z","description":"Timestamp when the fixed adjustment was created."},"is_amended":{"type":"boolean","example":true,"description":"Whether this fixed adjustment was amended from a previous one."},"is_deleted":{"type":"boolean","example":false,"description":"True if the fixed adjustment was deleted as part of the amendment; otherwise false."},"updated_at":{"type":"string","format":"date-time","example":"2025-09-22T10:21:13.815Z","description":"Timestamp when the fixed adjustment was last updated."},"description":{"type":"string","example":"Housing allowance for employee relocation","maxLength":256,"minLength":1,"description":"Description of the fixed adjustment."},"is_recurring":{"type":"boolean","example":true,"description":"Whether the fixed adjustment is recurring. If set to false, it will be treated as a one-time fixed allowance."},"is_country_specific":{"type":"boolean","example":false,"description":"Whether this fixed adjustment applies only to a specific country."},"parent_fixed_adjustment_id":{"type":"string","example":"cmfo0hqd5i9kbhfvk8fn7aniy","nullable":true,"description":"Reference to the parent fixed adjustment, if applicable."}}},"description":"List of fixed adjustments associated with the amendment request."},"rejection_context":{"type":"object","example":{"rejected_at":"2025-02-24T11:08:57.433Z"},"nullable":true,"properties":{"rejected_at":{"type":"string","format":"date-time","example":"2025-02-24T11:08:57.433Z","description":"Timestamp of when the rejection occurred"}},"description":"Additional details containing rejection reason"},"amendment_statuses":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","example":"PREPARING_DOCUMENTS","description":"Logical, system-oriented identifier of the amendment status. Can be used to group statuses under a parent category and subgroup them for more granular state tracking. The structure typically follows a dot-separated hierarchy (e.g., 'PARENT','PARENT.CHILD', 'PARENT.CHILD.CHILD.CHILD', ...), which allows logical grouping and filtering of related statuses."},"friendly_name":{"type":"string","example":"PREPARING_DOCUMENTS","description":"Friendly name of amendment status"},"amendment_flow_status":{"type":"object","properties":{"created_at":{"type":"string","format":"date-time","example":"2023-10-04T13:27:20.148Z","description":"Creation date"}},"description":"Metadata about the amendment status, including when it was created."}}},"description":"List of amendment statuses representing the history and progression of an amendment."},"notice_period_type":{"enum":["STANDARD","CUSTOM",null],"type":"string","example":"CUSTOM","nullable":true,"description":"Type of notice period."},"void_deadline_type":{"enum":["CUTOFF","START_DATE","END_DATE","EXPIRY",null],"type":"string","example":"CUTOFF","nullable":true,"description":"Type of void deadline"},"work_hours_per_week":{"type":"string","example":"40.00","description":"Number of work hours per week.","x-sensitive-employment":true},"employee_nationality":{"type":"string","example":"GB","description":"Nationality of the employee.","x-sensitive-pii":true},"is_hrx_action_needed":{"type":"boolean","example":false,"description":"Is HRX action needed."},"variable_compensation":{"type":"object","required":["id","title","amount","type","timeline","parent_id","effective_date","created_at","updated_at"],"properties":{"id":{"type":"string","example":"cmg0p4zgszy3m8v3a04bd5sjs","description":"The unique ID assigned by the system to this variable compensation record."},"type":{"enum":["FIXED","PERCENTAGE"],"type":"string","example":"FIXED","description":"The way the compensation is calculated. `FIXED` means a fixed amount (like $1000). `PERCENTAGE` means it’s based on a percentage of the salary."},"title":{"type":"string","example":"Bonus","description":"Title or name of the variable compensation."},"amount":{"type":"string","format":"decimal","example":"100000.0000","description":"The value of the compensation. Shown as a string to keep the exact number of decimals."},"timeline":{"enum":["MONTHLY","QUARTERLY","ANNUALLY","BIANNUALLY"],"type":"string","example":"ANNUALLY","description":"How often the compensation is paid — for example monthly, quarterly, annually, or twice a year."},"parent_id":{"type":"string","example":"cmg0p4zgszy3m8v3a04bd5sjs","nullable":true,"description":"Reference to the parent variable compensation, if applicable. Null if this compensation is not linked to any compensation."},"created_at":{"type":"string","format":"date-time","example":"2025-09-26T10:25:50.476Z","description":"The date and time when this record was first created in the system."},"is_amended":{"type":"boolean","example":true,"description":"Shows whether this compensation has been changed as part of an amendment."},"is_deleted":{"type":"boolean","example":true,"description":"Shows whether this compensation has been deleted."},"updated_at":{"type":"string","format":"date-time","example":"2025-09-26T10:25:50.476Z","description":"The date and time when this record was last updated."},"effective_date":{"type":"string","format":"date-time","example":"2025-10-18T00:00:00.000Z","description":"The date when this compensation starts being valid."},"incentive_plan":{"type":"object","properties":{"details":{"type":"string","example":"Year-end performance bonus based on quarterly targets.","description":"Extra details about the incentive plan, if any."},"employee_signature":{"type":"string","example":"John Doe","description":"The employee’s signature for the incentive plan, if collected."},"employee_signed_at":{"type":"string","format":"date-time","example":"2025-12-15T14:30:00.000Z","description":"The date and time when the employee signed the incentive plan. Empty if not signed."}},"description":"Details of the incentive plan linked to this compensation, if any."}},"description":"Represents a variable compensation record (such as a bonus, commission, or incentive) within a contract. It contains details like the amount, type, frequency, and whether it is part of an incentive plan. The record also tracks when it was created, updated, and whether it has been amended."},"notice_period_time_unit":{"enum":["DAY","WEEK","MONTH",null],"type":"string","example":"WEEK","nullable":true,"description":"Notice period time unit."},"is_effective_date_updated":{"type":"boolean","example":false,"description":"Is Effective Date updated."},"work_schedule_rules_version":{"type":"string","example":"2","nullable":true,"description":"Work schedule rule version."},"notice_period_after_probation":{"type":"string","example":"30","nullable":true,"description":"Notice period after probation."},"notice_period_during_probation":{"type":"string","example":"15","nullable":true,"description":"Notice period during probation."},"probation_period_type_for_definite":{"enum":["STANDARD","CUSTOM",null],"type":"string","example":"STANDARD","nullable":true,"description":"Type of probation period for definite contracts."}}}}}}},"description":"Amendment info"},"400":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"VALIDATION_ERROR"},"message":{"type":"string","example":"Internal validation error occurred"}}}}}},"example":{"errors":[{"code":"VALIDATION_ERROR","message":"Internal validation error occurred."}]}}},"description":"Bad Request. The request could not be understood or was missing required parameters."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"RESOURCE_NOT_FOUND","description":"Unique error code identifying the type of not-found error."},"field":{"type":"string","example":"contract_id","nullable":true,"description":"The field or identifier that caused the error."},"message":{"type":"string","example":"The requested resource could not be found.","description":"Human-readable description of the missing resource."}}}}}},"examples":{"Contract Not Found":{"value":{"errors":[{"code":"CONTRACT_NOT_FOUND","field":"contract_id","message":"Contract not found."}]},"summary":"When a contract cannot be located"},"Amendment Not Found":{"value":{"errors":[{"code":"AMENDMENT_NOT_FOUND","field":"amendment_flow_id","message":"Amendment not found."}]},"summary":"When an amendment cannot be located"}}}},"description":"Resource not found (e.g., contract, profile, amendment, change request)."},"409":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"CHANGE_REQUEST_CONFIRMED"},"field":{"type":"string","example":"change_request_id"},"details":{"type":"object","additionalProperties":true},"message":{"type":"string","example":"Change request is already confirmed."}}}}}},"example":{"errors":[{"code":"CHANGE_REQUEST_CONFIRMED","field":"change_request_id","message":"Change request is already confirmed."}]}}},"description":"Conflict error. Indicates that the requested operation conflicts with the current state of the resource."},"422":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"AMENDMENT_ITEM_VALIDATION_FAILED","description":"Unique error code identifying the type of error."},"field":{"type":"string","example":"holidays","nullable":true,"description":"The field where the error occurred (if applicable)."},"details":{"type":"object","example":{"new_value":"2","previous_value":"6"},"properties":{"new_value":{"type":"string","example":"2","description":"The new value that caused the validation error."},"previous_value":{"type":"string","example":"6","description":"The previous valid value before the attempted change."}},"description":"Additional structured details about the error."},"message":{"type":"string","example":"The minimum holidays for NG is 6 day(s)","description":"Human-readable description of the error."}}},"description":"List of validation or business rule errors."}}},"examples":{"Multiple Validation Errors":{"value":{"errors":[{"code":"AMENDMENT_ITEM_VALIDATION_FAILED","field":"holidays","details":{"new_value":"2","previous_value":"6"},"message":"The minimum holidays for NG is 6 day(s) (previous: 6, new: 2)"},{"code":"AMENDMENT_ITEM_DISABLED","field":"salary_increase","details":{"new_value":"20000","previous_value":"10000"},"message":"salary_increase is disabled in country United States"}]},"summary":"Two errors in one response"},"Single Disabled Data point Error":{"value":{"errors":[{"code":"AMENDMENT_ITEM_DISABLED","field":"salary","message":"salary is not enabled for white label API"}]},"summary":"Example with one disabled data point error for whitelabel API"}}}},"description":"Validation errors or disabled amendments."},"500":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"AMENDMENT_ERROR"},"message":{"type":"string","example":"An unexpected error occurred"}}}}}},"example":{"errors":[{"code":"AMENDMENT_ERROR","message":"An unexpected error occurred"}]}}},"description":"Internal server error."}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"3w6pd6r","required":true,"description":"The unique identifier of the EOR worker contract"}],"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"scope":{"type":"string","example":"Project scope details","maxLength":20000,"description":"Scope of the amendment."},"custom":{"type":"array","items":{"type":"object","required":["description","type"],"properties":{"id":{"type":"string","format":"uuid","example":"21baf29c-4468-435d-93a4-f1bd76dd2d65","description":"An optional identifier for the custom object."},"type":{"type":"string","example":"START_DATE","description":"The type of the custom object. Must be one of the valid custom types."},"description":{"type":"string","example":"Please change the start date to 20th November 2025","maxLength":1000,"minLength":50,"description":"A required description for the custom object."}}},"description":"An optional array of custom objects."},"salary":{"type":"number","example":50000,"description":"Salary for the amendment."},"end_date":{"type":"string","format":"date","example":"2023-12-31","description":"End date of the employment."},"holidays":{"type":"number","example":20,"description":"Number of holidays."},"job_title":{"type":"string","example":"Software Engineer","maxLength":1000,"description":"Job title associated with the amendment."},"start_date":{"type":"string","format":"date","example":"2023-01-01","description":"Start date of the employment."},"hourly_rate":{"type":"number","example":50000,"description":"Hourly rate of the amendment. The max value supported is 1e19"},"seniority_id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","description":"Public Id of the seniority level."},"time_off_type":{"enum":["STANDARD","SPECIFIC","PRORATED"],"type":"string","example":"STANDARD","description":"Type of time off."},"effective_date":{"type":"string","format":"date","example":"2023-01-01","description":"Effective date for the amendment."},"seniority_date":{"type":"string","format":"date","example":"2023-01-01","nullable":true,"description":"The seniority date represents the employee’s original start date with a previous employer. It is used to preserve employment tenure when the employee transfers to this company. Can be null if not applicable."},"additional_info":{"type":"object","example":{"ai_scope_check_public_id":"ecf930fe-d9be-412c-9345-61dd80dc6822","job_categorization_log_id":"550e8400-e29b-41d4-a716-446655440000"},"nullable":true,"properties":{"ai_scope_check_public_id":{"type":"string","format":"uuid","example":"ecf930fe-d9be-412c-9345-61dd80dc6822","description":"Identifier or flag for AI scope validation check"},"job_categorization_log_id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","description":"Identifier for job categorisation log"}},"description":"Additional metadata related to job validation and categorisation"},"employment_type":{"enum":["FULL_TIME","PART_TIME"],"type":"string","example":"FULL_TIME","description":"Type of employment."},"employment_state":{"type":"string","example":"Active","description":"State of employment."},"probation_period":{"type":"number","example":3,"description":"Duration of the probation period."},"fixed_adjustments":{"type":"array","items":{"type":"object","required":["value","description","is_recurring"],"properties":{"id":{"type":"string","example":"cmfo0hqd5bw00cqs1b1jd7eag","description":"The ID of an existing active fixed adjustment to update or delete. Include this in the request only if you are updating or deleting an existing adjustment. Do not include it when creating a new one."},"value":{"type":"string","example":"1200.50","pattern":"^(?!0+(\\.0+)?$)\\d+(?:\\.\\d+)?$","description":"Value of the fixed adjustment. Must be a positive number, not zero."},"is_deleted":{"type":"boolean","example":false,"description":"Flag to mark the fixed adjustment as deleted. Required only when the fixed adjustment needs to be removed; omit it otherwise."},"description":{"type":"string","example":"Housing allowance for employee relocation","maxLength":256,"minLength":1,"description":"Description of the fixed adjustment."},"is_recurring":{"type":"boolean","example":true,"description":"Whether the fixed adjustment is recurring. If set to false, it will be treated as a one-time fixed allowance."}}},"description":"Array of fixed adjustments to be submitted for the amendment request."},"notice_period_type":{"enum":["STANDARD","CUSTOM"],"type":"string","example":"CUSTOM","description":"Type of notice period."},"work_hours_per_week":{"type":"number","example":40,"description":"Number of work hours per week."},"variable_compensation":{"type":"object","required":["amount","type"],"properties":{"id":{"type":"string","example":"9cmfo0hqd5bw00cqs1b1jd7eag","description":"The ID of an existing active variable compensation to update or delete. Include this in the request only if you are updating or deleting an existing compensation. Do not include it when creating a new one."},"type":{"enum":["PERCENTAGE","FIXED"],"type":"string","example":"PERCENTAGE","description":"Type of variable compensation."},"title":{"type":"string","example":"Performance Bonus","maxLength":250,"minLength":1,"description":"The title of the compensation. Required when creating a new compensation. Optional when updating an existing compensation."},"amount":{"type":"number","format":"double","example":5000.75,"minimum":0,"description":"Positive amount for the variable compensation."},"timeline":{"enum":["MONTHLY","QUARTERLY","ANNUALLY","BIANNUALLY"],"type":"string","example":"ANNUALLY","description":"How often this compensation occurs. Required when creating a new compensation. Forbidden when updating an existing compensation."},"is_deleted":{"type":"boolean","example":false,"description":"Flag to mark the variable compensation as deleted. Required only when the variable compensation needs to be removed; omit it otherwise"},"effective_date":{"type":"string","format":"date","example":"2025-01-01","description":"The date when this compensation starts or becomes effective. Required when creating a new compensation. Optional when updating an existing compensation."}},"description":"Represents a change to an employee’s variable compensation (e.g., bonus or commission). This schema is used for creating new variable compensation items or updating existing ones. Some fields are required when creating, optional when updating, and forbidden when updating, as specified in each field description."},"notice_period_after_probation":{"type":"number","example":4,"description":"Notice period after probation."},"notice_period_during_probation":{"type":"number","example":2,"description":"Notice period during probation."},"probation_period_type_for_definite":{"enum":["STANDARD","CUSTOM"],"type":"string","example":"STANDARD","description":"Type of probation period for definite contracts."}}}}}}}}},"get":{"tags":["EOR"],"summary":"List all amendments for an EOR contract","operationId":"listAllAmendmentsForAnEorContract-v2026-01-01","description":"This endpoint retrieves all EOR contact amendments. It provides details such as the amendment type, effective date, and current status, allowing clients to understand the history and state of changes applied to the contract.\n **Token scopes**: `contracts:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"b9fd7198-7e81-4e57-bcf9-de6315194327","description":"Id of amendment"},"type":{"enum":["INSTANT","OPS","LEGAL","DISABLED","CUSTOM","AUTOMATED",null],"type":"string","example":"OPS","nullable":true,"description":"Type of amendment"},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"8e6ba281-c703-4af3-ad93-b27434b70c7d","description":"Id of amendment item"},"item":{"type":"string","example":"SALARY_INCREASE","description":"Amendment item"},"type":{"type":"string","example":"OPS","description":"Type of amendment"},"new_value":{"type":"string","example":"62382.93","description":"The new valid value after the attempted change."},"data_point":{"type":"string","example":"salary","description":"The field that is selected for amendment."},"previous_value":{"type":"string","example":"68.9170","description":"The previous valid value before the attempted change."}}},"description":"Items of amendment"},"scope":{"type":"string","example":"Project scope details","description":"Scope of the amendment."},"salary":{"type":"string","example":"50000.00","description":"Salary for the amendment.","x-sensitive-employment":true},"source":{"enum":["APP","PUBLIC_API","APP_BULK_AMENDMENT",null],"type":"string","example":"APP","nullable":true,"description":"Source of amendment flow creation."},"currency":{"type":"string","example":"GBP","description":"Contract currency."},"end_date":{"type":"string","format":"date-time","example":"2023-10-04T13:27:20.148Z","nullable":true,"description":"End date of the employment."},"holidays":{"type":"integer","example":20,"nullable":true,"description":"Number of holidays."},"job_code":{"type":"string","example":"49589","nullable":true,"description":"Job code associated with the job title."},"job_title":{"type":"string","example":"Software Engineer","maxLength":1000,"description":"Job title associated with the amendment.","x-sensitive-pii":true},"created_at":{"type":"string","format":"date-time","example":"2023-10-04T13:27:20.148Z","description":"Creation date of the amendment."},"start_date":{"type":"string","format":"date-time","example":"2023-10-04T13:27:20.148Z","description":"Start date of the employment."},"updated_at":{"type":"string","format":"date-time","example":"2023-10-04T13:27:20.148Z","description":"Date when amendment is updated"},"hourly_rate":{"type":"string","example":"50000.00","nullable":true,"description":"Hourly rate of the amendment","x-sensitive-employment":true},"custom_items":{"type":"array","items":{"type":"object","required":["id","type","status"],"properties":{"id":{"type":"string","format":"uuid","example":"e7b45fa6-9a72-4ab6-b163-ef50ccaba7fb","description":"Unique identifier for the custom amendment item"},"type":{"type":"string","example":"START_DATE","description":"Type/context of the custom amendment item"},"status":{"enum":["REJECTED","APPROVED","PENDING_REVIEW","PENDING_LEGAL"],"type":"string","example":"PENDING_REVIEW","description":"Current status of the custom amendment item"},"description":{"type":"string","example":"Please change the start date to 20th November 2025.","nullable":true,"description":"Detailed description of the custom amendment item"},"rejection_reason":{"type":"string","example":"Start date cannot be moved this far in advance.","nullable":true,"description":"Reason for rejection if the item was rejected"}}},"description":"Custom amendment items associated with the amendment flow"},"job_category":{"type":"string","example":"Engineering","nullable":true,"description":"Job category associated with the job title."},"requested_by":{"type":"string","example":"John Doe","nullable":true,"description":"Profile name of the user who requested the change"},"seniority_id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","nullable":true,"description":"New seniority level identifier."},"document_type":{"enum":["EA","SOW","SOW_EA",null],"type":"string","example":"SOW_EA","nullable":true,"description":"Amendment document type"},"legal_context":{"type":"object","example":{"status":"REQUEST_LEGAL_REVIEW","details":"This amendment requires input from the legal team and will be moved to `paused` until it is resolved manually","jira_ticket":"COHDSB-9600","jira_web_url":"https://letsdeel.atlassian.net/browse/COHDSB-9600","requested_at":"2025-04-23T10:40:25.527Z"},"nullable":true,"properties":{"status":{"enum":["REQUEST_LEGAL_REVIEW","WAITING_FOR_ANOTHER_TEAM","WAITING_FOR_HRX_ACTION","DECLINED","SOLVED","SOLVE_LEGAL","LEGAL_JIRA_REOPENED"],"type":"string","example":"REQUEST_LEGAL_REVIEW","description":"Current status of the legal review process"},"details":{"type":"string","example":"This amendment requires input from the legal team and will be moved to `paused` until it is resolved manually","description":"Details regarding the legal request"},"jira_ticket":{"type":"string","example":"COHDSB-9600","description":"Jira ticket identifier linked to the legal context"},"jira_web_url":{"type":"string","format":"uri","example":"https://letsdeel.atlassian.net/browse/COHDSB-9600","description":"Link to the Jira ticket for tracking"},"requested_at":{"type":"string","format":"date-time","example":"2025-04-23T10:40:25.527Z","description":"Timestamp when legal review was requested"}},"description":"Additional details needed for legal input"},"time_off_type":{"enum":["STANDARD","SPECIFIC","PRORATED"],"type":"string","example":"STANDARD","description":"Type of time off."},"void_deadline":{"type":"string","format":"date-time","example":"2023-01-01T00:00:00Z","nullable":true,"description":"Deadline this SOW to be voided"},"effective_date":{"type":"string","format":"date-time","example":"2023-01-01T00:00:00Z","nullable":true,"description":"Effective date of the amendment."},"seniority_date":{"type":"string","format":"date-time","example":"2023-01-01T00:00:00Z","nullable":true,"description":"The seniority date represents the employee’s original start date with a previous employer. It is used to preserve employment tenure when the employee transfers to this company. Can be null if not applicable."},"employment_type":{"enum":["FULL_TIME","PART_TIME"],"type":"string","example":"FULL_TIME","description":"Type of employment."},"sick_leave_days":{"type":"integer","format":"number","example":12,"nullable":true,"description":"Number of sick leave days"},"employment_state":{"type":"string","example":"Active","nullable":true,"description":"State of employment."},"probation_period":{"type":"integer","example":3,"nullable":true,"description":"Duration of the probation period."},"work_schedule_id":{"type":"string","format":"uuid","example":"2b786de3-9b25-42d9-8a2d-61583bcfc09e","nullable":true,"description":"Work schedule id"},"fixed_adjustments":{"type":"array","items":{"type":"object","required":["id","value","description","is_recurring","status","is_amended","is_country_specific","created_at","updated_at"],"properties":{"id":{"type":"string","example":"cmfo0hqd5bw00cqs1b1jd7eag","description":"System-generated unique identifier for the fixed adjustment record in an amendment request."},"value":{"type":"string","example":"1200.50","pattern":"^(?!0+(\\.0+)?$)\\d+(?:\\.\\d+)?$","description":"Value of the fixed adjustment."},"status":{"enum":["WAITING_FOR_SIGNING","ACTIVE","OUTDATED","CANCELLED"],"type":"string","example":"WAITING_FOR_SIGNING","description":"Current status of the fixed adjustment."},"created_at":{"type":"string","format":"date-time","example":"2025-09-22T10:21:13.815Z","description":"Timestamp when the fixed adjustment was created."},"is_amended":{"type":"boolean","example":true,"description":"Whether this fixed adjustment was amended from a previous one."},"is_deleted":{"type":"boolean","example":false,"description":"True if the fixed adjustment was deleted as part of the amendment; otherwise false."},"updated_at":{"type":"string","format":"date-time","example":"2025-09-22T10:21:13.815Z","description":"Timestamp when the fixed adjustment was last updated."},"description":{"type":"string","example":"Housing allowance for employee relocation","maxLength":256,"minLength":1,"description":"Description of the fixed adjustment."},"is_recurring":{"type":"boolean","example":true,"description":"Whether the fixed adjustment is recurring. If set to false, it will be treated as a one-time fixed allowance."},"is_country_specific":{"type":"boolean","example":false,"description":"Whether this fixed adjustment applies only to a specific country."},"parent_fixed_adjustment_id":{"type":"string","example":"cmfo0hqd5i9kbhfvk8fn7aniy","nullable":true,"description":"Reference to the parent fixed adjustment, if applicable."}}},"description":"List of fixed adjustments associated with the amendment request."},"rejection_context":{"type":"object","example":{"rejected_at":"2025-02-24T11:08:57.433Z"},"nullable":true,"properties":{"rejected_at":{"type":"string","format":"date-time","example":"2025-02-24T11:08:57.433Z","description":"Timestamp of when the rejection occurred"}},"description":"Additional details containing rejection reason"},"amendment_statuses":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","example":"PREPARING_DOCUMENTS","description":"Logical, system-oriented identifier of the amendment status. Can be used to group statuses under a parent category and subgroup them for more granular state tracking. The structure typically follows a dot-separated hierarchy (e.g., 'PARENT','PARENT.CHILD', 'PARENT.CHILD.CHILD.CHILD', ...), which allows logical grouping and filtering of related statuses."},"friendly_name":{"type":"string","example":"PREPARING_DOCUMENTS","description":"Friendly name of amendment status"},"amendment_flow_status":{"type":"object","properties":{"created_at":{"type":"string","format":"date-time","example":"2023-10-04T13:27:20.148Z","description":"Creation date"}},"description":"Metadata about the amendment status, including when it was created."}}},"description":"List of amendment statuses representing the history and progression of an amendment."},"notice_period_type":{"enum":["STANDARD","CUSTOM",null],"type":"string","example":"CUSTOM","nullable":true,"description":"Type of notice period."},"void_deadline_type":{"enum":["CUTOFF","START_DATE","END_DATE","EXPIRY",null],"type":"string","example":"CUTOFF","nullable":true,"description":"Type of void deadline"},"work_hours_per_week":{"type":"string","example":"40.00","description":"Number of work hours per week.","x-sensitive-employment":true},"employee_nationality":{"type":"string","example":"GB","description":"Nationality of the employee.","x-sensitive-pii":true},"is_hrx_action_needed":{"type":"boolean","example":false,"description":"Is HRX action needed."},"variable_compensation":{"type":"object","required":["id","title","amount","type","timeline","parent_id","effective_date","created_at","updated_at"],"properties":{"id":{"type":"string","example":"cmg0p4zgszy3m8v3a04bd5sjs","description":"The unique ID assigned by the system to this variable compensation record."},"type":{"enum":["FIXED","PERCENTAGE"],"type":"string","example":"FIXED","description":"The way the compensation is calculated. `FIXED` means a fixed amount (like $1000). `PERCENTAGE` means it’s based on a percentage of the salary."},"title":{"type":"string","example":"Bonus","description":"Title or name of the variable compensation."},"amount":{"type":"string","format":"decimal","example":"100000.0000","description":"The value of the compensation. Shown as a string to keep the exact number of decimals."},"timeline":{"enum":["MONTHLY","QUARTERLY","ANNUALLY","BIANNUALLY"],"type":"string","example":"ANNUALLY","description":"How often the compensation is paid — for example monthly, quarterly, annually, or twice a year."},"parent_id":{"type":"string","example":"cmg0p4zgszy3m8v3a04bd5sjs","nullable":true,"description":"Reference to the parent variable compensation, if applicable. Null if this compensation is not linked to any compensation."},"created_at":{"type":"string","format":"date-time","example":"2025-09-26T10:25:50.476Z","description":"The date and time when this record was first created in the system."},"is_amended":{"type":"boolean","example":true,"description":"Shows whether this compensation has been changed as part of an amendment."},"is_deleted":{"type":"boolean","example":true,"description":"Shows whether this compensation has been deleted."},"updated_at":{"type":"string","format":"date-time","example":"2025-09-26T10:25:50.476Z","description":"The date and time when this record was last updated."},"effective_date":{"type":"string","format":"date-time","example":"2025-10-18T00:00:00.000Z","description":"The date when this compensation starts being valid."},"incentive_plan":{"type":"object","properties":{"details":{"type":"string","example":"Year-end performance bonus based on quarterly targets.","description":"Extra details about the incentive plan, if any."},"employee_signature":{"type":"string","example":"John Doe","description":"The employee’s signature for the incentive plan, if collected."},"employee_signed_at":{"type":"string","format":"date-time","example":"2025-12-15T14:30:00.000Z","description":"The date and time when the employee signed the incentive plan. Empty if not signed."}},"description":"Details of the incentive plan linked to this compensation, if any."}},"description":"Represents a variable compensation record (such as a bonus, commission, or incentive) within a contract. It contains details like the amount, type, frequency, and whether it is part of an incentive plan. The record also tracks when it was created, updated, and whether it has been amended."},"notice_period_time_unit":{"enum":["DAY","WEEK","MONTH",null],"type":"string","example":"WEEK","nullable":true,"description":"Notice period time unit."},"is_effective_date_updated":{"type":"boolean","example":false,"description":"Is Effective Date updated."},"work_schedule_rules_version":{"type":"string","example":"2","nullable":true,"description":"Work schedule rule version."},"notice_period_after_probation":{"type":"string","example":"30","nullable":true,"description":"Notice period after probation."},"notice_period_during_probation":{"type":"string","example":"15","nullable":true,"description":"Notice period during probation."},"probation_period_type_for_definite":{"enum":["STANDARD","CUSTOM",null],"type":"string","example":"STANDARD","nullable":true,"description":"Type of probation period for definite contracts."}}}}}}}},"description":"Amendment info. Returns the amendment flow details."},"400":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"VALIDATION_ERROR"},"message":{"type":"string","example":"Internal validation error occurred"}}}}}},"example":{"errors":[{"code":"VALIDATION_ERROR","message":"Internal validation error occurred."}]}}},"description":"Bad Request. The request could not be understood or was missing required parameters."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"AMENDMENT_ERROR","description":"Unique error code identifying the type of not-found error."},"message":{"type":"string","example":"The requested resource could not be found.","description":"Human-readable description of the missing resource."}}}}}}}},"description":"Resource not found (e.g., contract, profile, amendment, change request)."},"500":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"AMENDMENT_ERROR"},"message":{"type":"string","example":"An unexpected error occurred"}}}}}},"example":{"errors":[{"code":"AMENDMENT_ERROR","message":"An unexpected error occurred"}]}}},"description":"Internal server error."}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string","format":"alphanumeric"},"example":"3w6pd6r","required":true,"description":"The unique identifier of EOR worker contract."}],"security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]}},"/hris/positions/profile/{hris_profile_id}":{"get":{"tags":["Positions"],"summary":"Fetch HrisPositions from a HrisProfile","operationId":"fetchHrisPositionsFromAHrisProfile-v2026-01-01","description":"Retrieves all positions assigned to a given HRIS profile, including the associated role, team, and organization structure for each position.\n **Token scopes**: `profile:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"HRIS Position ID"},"role":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Role ID"},"name":{"type":"string","example":"Software Engineer","description":"Role Name"}}},"team":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Team ID"},"name":{"type":"string","example":"Engineering","description":"Team Name"},"organization_structure":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Organization Structure ID"},"name":{"type":"string","example":"Engineering","description":"Organization Structure Name"}}}}},"is_supportive":{"type":"boolean","example":false,"description":"Is Supportive Position"}}}}}}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"invalid_parameter"},"field":{"type":"string","example":"hrisProfileId"},"message":{"type":"string","example":"\"hrisProfileId\" must be a valid GUID"}}}}}}}},"description":"Bad request - The provided hrisProfileId or hrisOrgStructureId is invalid."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"not_found"},"field":{"type":"string","example":"hrisProfileId"},"message":{"type":"string","example":"HRIS profile was not found."}}}}}}}},"description":"Not found - No HRIS profile exists for the provided ID."},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"hris_profile_id","schema":{"type":"string"},"example":"d290f1ee-6c54-4b01-90e6-d701748f0851","required":true,"description":"HRIS Profile ID"}],"security":[{"deelToken":[]},{"oauth2":["profile:read"]}]}},"/organizations/tasks":{"get":{"tags":["Organization Tasks"],"summary":"List organization tasks","operationId":"listOrganizationTasks-v2026-03-03","description":"Returns a paginated list of tasks for the current organization. Intended for client users with organization.manage permission (Example: org admins). Use this to see all tasks for the organization, not only those assigned to the caller. Supports filtering by status, category, search, and external ID, and either offset/limit or cursor-based pagination.\n **Token scopes**: `tasks:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data","total_count","next_cursor","has_more"],"properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","description":"Unique identifier of the task."},"status":{"enum":["PENDING","COMPLETED","DISMISSED","FAILED"],"type":"string","example":"PENDING","description":"Current status of the task.","x-sensitive-employment":true},"category":{"type":"string","example":"TIME_SHEET_SUBMISSIONS","description":"Category of the task."},"due_date":{"type":"string","format":"date-time","example":"2025-03-15T23:59:59.000Z","nullable":true,"description":"When the task is due."},"assignees":{"type":"array","items":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"2d6I9IfaKbQsJlevzy1LM","description":"Public identifier of the assignee (HRIS profile OID or profile public_id).","x-sensitive-employment":true},"email":{"type":"string","example":"jane.doe@example.com","nullable":true,"description":"Assignee's email address.","x-sensitive-pii":true,"x-sensitive-employment":true},"last_name":{"type":"string","example":"Doe","nullable":true,"description":"Assignee's last name.","x-sensitive-pii":true,"x-sensitive-employment":true},"first_name":{"type":"string","example":"Jane","nullable":true,"description":"Assignee's first name.","x-sensitive-pii":true,"x-sensitive-employment":true}}},"example":[{"id":"2d6I9IfaKbQsJlevzy1LM","email":"jane.doe@example.com","last_name":"Doe","first_name":"Jane"}],"description":"List of users assigned to this task. Each assignee is either an HRIS profile (worker in organization context) or a profile without organization context.","x-sensitive-pii":true,"x-sensitive-employment":true},"created_at":{"type":"string","format":"date-time","example":"2025-02-01T10:00:00.000Z","description":"When the task was created."},"expired_at":{"type":"string","format":"date-time","example":"2025-03-15T23:59:59.000Z","nullable":true,"description":"When the task expires, if set."},"description":{"type":"string","example":"Please submit your timesheet for the current period.","nullable":true,"description":"Detailed description of the task."},"external_id":{"type":"string","example":"SJDSS-2322-SDFW","nullable":true,"description":"External reference ID, if the task was created with one."},"resolved_at":{"type":"string","format":"date-time","example":"2025-03-15T23:59:59.000Z","nullable":true,"description":"When the task was resolved (completed or dismissed)."},"display_name":{"type":"string","example":"Submit your timesheet","description":"Human-readable title of the task."}}},"example":[{"id":"550e8400-e29b-41d4-a716-446655440000","status":"PENDING","category":"TIME_SHEET_SUBMISSIONS","due_date":"2025-03-15T23:59:59.000Z","assignees":[{"id":"2d6I9IfaKbQsJlevzy1LM","email":"jane.doe@example.com","last_name":"Doe","first_name":"Jane"}],"created_at":"2025-02-01T10:00:00.000Z","expired_at":null,"description":"Please submit your timesheet for the current period.","external_id":null,"resolved_at":null,"display_name":"Submit your timesheet"}],"description":"List of task objects for the organization."},"has_more":{"type":"boolean","example":false,"nullable":false,"description":"Flag to highlight if there are more items to be fetched."},"next_cursor":{"type":"string","example":"eyJvZmZzZXQiOjIwLCJsaW1pdCI6MjB9","nullable":true,"description":"Cursor to request the next page; null if there are no more pages."},"total_count":{"type":"integer","example":42,"minimum":0,"description":"Total number of tasks matching the filter."}}}}},"description":"Successful response. Returns tasks for the organization"},"400":{"content":{"application/json":{"schema":{"type":"object","example":{"errors":[{"code":"BAD_REQUEST","field":"cursor","details":null,"message":"Invalid query parameters"}]},"required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"BAD_REQUEST","description":"Machine-readable error code."},"field":{"type":"string","example":"cursor","nullable":true,"description":"Request field that caused the error, if applicable."},"details":{"type":"object","example":null,"nullable":true,"description":"Additional error details."},"message":{"type":"string","example":"Invalid query parameters","description":"Human-readable error message."}}},"minItems":1,"description":"List of error entries."}}}}},"description":"Bad request Error"},"401":{"content":{"application/json":{"schema":{"type":"object","example":{"errors":[{"code":"UNAUTHORIZED","field":null,"details":null,"message":"Invalid or expired token"}]},"required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"UNAUTHORIZED","description":"Machine-readable error code."},"field":{"type":"string","example":null,"nullable":true,"description":"Request field that caused the error, if applicable."},"details":{"type":"object","example":null,"nullable":true,"description":"Additional error details."},"message":{"type":"string","example":"Invalid or expired token","description":"Human-readable error message."}}},"minItems":1,"description":"List of error entries."}}}}},"description":"Invalid, expired, or missing API token."},"403":{"content":{"application/json":{"schema":{"type":"object","example":{"errors":[{"code":"FORBIDDEN","field":null,"details":null,"message":"You do not have permission to access this resource"}]},"required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"FORBIDDEN","description":"Machine-readable error code."},"field":{"type":"string","example":null,"nullable":true,"description":"Request field that caused the error, if applicable."},"details":{"type":"object","example":null,"nullable":true,"description":"Additional error details."},"message":{"type":"string","example":"You do not have permission to access this resource","description":"Human-readable error message."}}},"minItems":1,"description":"List of error entries."}}}}},"description":"User does not have permission Error"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"422":{"content":{"application/json":{"schema":{"type":"object","example":{"errors":[{"code":"VALIDATION_ERROR","field":"statuses","details":{"allowed_values":["PENDING","COMPLETED","DISMISSED","FAILED"]},"message":"Validation failed"}]},"required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"VALIDATION_ERROR","description":"Machine-readable error code."},"field":{"type":"string","example":"statuses","nullable":true,"description":"Request field that failed validation."},"details":{"type":"object","example":{"allowed_values":["PENDING","COMPLETED","DISMISSED","FAILED"]},"nullable":true,"description":"Additional validation details."},"message":{"type":"string","example":"Validation failed","description":"Human-readable error message."}}},"minItems":1,"description":"List of validation errors."}}}}},"description":"Validation error"},"500":{"content":{"application/json":{"schema":{"type":"object","example":{"errors":[{"code":"INTERNAL_SERVER_ERROR","field":null,"details":null,"message":"An unexpected error occurred"}]},"required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR","description":"Machine-readable error code."},"field":{"type":"string","example":null,"nullable":true,"description":"Request field that caused the error, if applicable."},"details":{"type":"object","example":null,"nullable":true,"description":"Additional error details."},"message":{"type":"string","example":"An unexpected error occurred","description":"Human-readable error message."}}},"minItems":1,"description":"List of error entries."}}}}},"description":"Internal server error."}},"parameters":[{"in":"query","name":"statuses","schema":{"type":"array","items":{"enum":["PENDING","COMPLETED","DISMISSED","FAILED"],"type":"string"},"default":["PENDING"]},"example":["PENDING"],"required":false,"description":"Filter by task statuses."},{"in":"query","name":"category","schema":{"enum":["PAYROLL","PAYMENTS","SETUP","EXPENSE_REQUESTS","TIME_OFF_REQUESTS","TIME_SHEET_SUBMISSIONS","PEOPLE_MANAGEMENT","DOCUMENT_ACTIONS","LEGAL_ENTITY_DOCUMENTS","HIRING","OTHER_TASKS","DEEL_IT","COMPLIANCE","PAYMENT_METHODS","ACCOUNTING"],"type":"string"},"example":"PAYROLL","required":false,"description":"Filter by task category."},{"in":"query","name":"search","schema":{"type":"string"},"example":"Submit timesheet","required":false,"description":"Search string for task display name or description."},{"in":"query","name":"external_id","schema":{"type":"string"},"example":"ext-ref-123","required":false,"description":"Filter by external ID (for tasks created with an external reference)."},{"in":"query","name":"cursor","schema":{"type":"string"},"example":"eyJvZmZzZXQiOjIwLCJsaW1pdCI6MjB9","required":false,"description":"Opaque cursor for cursor-based pagination. When provided, use with limit only (do not use offset)."},{"in":"query","name":"limit","schema":{"type":"integer","default":20,"maximum":100,"minimum":1},"example":20,"required":false,"description":"Maximum number of records to return (1-100)."}],"security":[{"deelToken":[]},{"oauth2":["tasks:read"]}]}},"/ats/applications/{application_id}":{"get":{"tags":["ATS"],"summary":"Retrieve ATS application","operationId":"retrieveAtsApplication-v2026-01-01","description":"This endpoint retrieves a single application by its ID for a specific organization. It provides detailed information about the application, including its associated job details, job posting details, and other relevant metadata.\n **Token scopes**: `ats:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","example":{"id":"a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d","job":{"id":"b2c3d4e5-f6a7-4b8c-9d0e-1f2a3b4c5d6e","title":"Senior Software Engineer"},"notes":[{"id":"f6a7b8c9-d0e1-4f2a-3b4c-5d6e7f8a9b0c","created_at":"2024-11-01T10:30:00Z","created_by":"a7b8c9d0-e1f2-4a3b-4c5d-6e7f8a9b0c1d","updated_at":"2024-11-15T14:45:00Z","richtext_content":"<p>This candidate has excellent experience in backend development.</p>"}],"candidate":{"id":"a9b0c1d2-e3f4-4a5b-6c7d-8e9f0a1b2c3d","attachments":[{"id":"b0c1d2e3-f4a5-4b6c-7d8e-9f0a1b2c3d4e","ai_summary":"Resume shows 7 years of software engineering experience with expertise in full-stack development. Strong background in React, Node.js, and cloud technologies."}],"phone_number":"+1234567890","candidate_tags":[],"import_session_id":null,"profile_picture_url":null},"job_board":{"id":"c1d2e3f4-a5b6-4c7d-8e9f-0a1b2c3d4e5f","type":"INTERNAL_CAREER_PAGE"},"created_at":"2024-10-15T09:12:00Z","created_by":"d4e5f6a7-b8c9-4d0e-1f2a-3b4c5d6e7f8a","numeric_id":2561,"updated_at":"2024-11-20T11:45:00Z","job_posting":{"id":"c3d4e5f6-a7b8-4c9d-0e1f-2a3b4c5d6e7f","title":"Job posting"},"referred_by":null,"source_slug":"INTERNAL_CAREER_PAGE","job_employment_type":{"id":"e1f2a3b4-c5d6-4e7f-8a9b-0c1d2e3f4a5b","employment_type":{"id":"f2a3b4c5-d6e7-4f8a-9b0c-1d2e3f4a5b6c","name":"Full-time"}},"job_posting_publication":{"id":"d2e3f4a5-b6c7-4d8e-9f0a-1b2c3d4e5f6a"},"referral_form_submission":{"id":"f0a1b2c3-d4e5-4f6a-7b8c-9d0e1f2a3b4c","form_builder_stringified":null},"moved_to_current_stage_at":"2024-11-18T12:30:00Z","application_form_submission":{"id":"509d5153-5b10-4718-b16f-417e726d39f1","answers":[{"answer":"John Doe","question_text":"Full Name","question_type":"FREETEXT","data_binding_id":"83a642fd-de0a-45f6-8fe0-b9188ed72990"}]},"job_posting_publication_state":{"id":"e3f4a5b6-c7d8-4e9f-0a1b-2c3d4e5f6a7b","state_slug":"PUBLISHED_BASIC"},"application_job_criterias_matchings":[{"id":"e7f8a9b0-c1d2-4e3f-4a5b-6c7d8e9f0a1b","is_matched":"MATCHED","description":"The candidate has 5+ years of experience in React and TypeScript","job_criteria":{"id":"f8a9b0c1-d2e3-4f4a-5b6c-7d8e9f0a1b2c","title":"Frontend Development Experience","description":"5+ years of experience with React, TypeScript, and modern frontend frameworks"}}],"all_application_interview_plan_stages":[{"id":"b8c9d0e1-f2a3-4b4c-5d6e-7f8a9b0c1d2e","offers":[],"updated_at":"2024-11-10T16:20:00Z","interview_plan_stage":{"id":"c9d0e1f2-a3b4-4c5d-6e7f-8a9b0c1d2e3f","name":"Phone Screen","default_type_slug":"phone_screen","category_type_slug":"ACTIVE"}}],"application_automation_rule_executions":[],"current_application_interview_plan_stage":{"id":"d4e5f6a7-b8c9-4d0e-1f2a-3b4c5d6e7f8a","interview_plan_stage":{"id":"c9d0e1f2-a3b4-4c5d-6e7f-8a9b0c1d2e3f","name":"Phone Screen","default_type_slug":"phone_screen","category_type_slug":"ACTIVE"},"interview_plan_stage_id":"e5f6a7b8-c9d0-4e1f-2a3b-4c5d6e7f8a9b"}},"required":["id","numeric_id","created_at","updated_at","moved_to_current_stage_at","job","job_employment_type","current_application_interview_plan_stage","created_by","referred_by","referral_form_submission","source_slug","notes","all_application_interview_plan_stages","application_job_criterias_matchings","candidate","job_board","job_posting","job_posting_publication","job_posting_publication_state","application_automation_rule_executions"],"properties":{"id":{"type":"string","format":"uuid","example":"a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d","description":"Unique identifier for the application"},"job":{"type":"object","required":["id","title"],"properties":{"id":{"type":"string","format":"uuid","example":"b2c3d4e5-f6a7-4b8c-9d0e-1f2a3b4c5d6e","description":"Unique identifier for the job"},"title":{"type":"string","example":"Senior Software Engineer","description":"Title of the job"}},"description":"Job details"},"notes":{"type":"array","items":{"type":"object","required":["id","richtext_content","created_by","created_at","updated_at"],"properties":{"id":{"type":"string","format":"uuid","example":"f6a7b8c9-d0e1-4f2a-3b4c-5d6e7f8a9b0c","description":"Unique identifier for the note"},"created_at":{"type":"string","format":"date-time","example":"2024-11-01T10:30:00Z","description":"Timestamp when the note was created"},"created_by":{"type":"string","format":"uuid","example":"a7b8c9d0-e1f2-4a3b-4c5d-6e7f8a9b0c1d","description":"Unique identifier for the user who created the note"},"updated_at":{"type":"string","format":"date-time","example":"2024-11-15T14:45:00Z","description":"Timestamp when the note was last updated"},"richtext_content":{"type":"string","example":"<p>This candidate has excellent experience in backend development.</p>","description":"Rich text content of the note"}},"description":"Note associated with the application"},"description":"Array of notes associated with the application"},"candidate":{"type":"object","required":["id","first_name","last_name","email","import_session_id","attachments","candidate_tags","phone_number","profile_picture_url"],"properties":{"id":{"type":"string","format":"uuid","example":"a9b0c1d2-e3f4-4a5b-6c7d-8e9f0a1b2c3d","description":"Unique identifier for the candidate"},"email":{"type":"string","example":"john.doe@example.com","description":"Email address of the candidate","x-sensitive-pii":true},"last_name":{"type":"string","example":"Doe","description":"Last name of the candidate","x-sensitive-pii":true},"first_name":{"type":"string","example":"John","description":"First name of the candidate","x-sensitive-pii":true},"attachments":{"type":"array","items":{"type":"object","required":["id","ai_summary"],"properties":{"id":{"type":"string","format":"uuid","example":"b0c1d2e3-f4a5-4b6c-7d8e-9f0a1b2c3d4e","description":"Unique identifier for the attachment"},"ai_summary":{"type":"string","example":"Resume shows 7 years of software engineering experience with expertise in full-stack development. Strong background in React, Node.js, and cloud technologies.","nullable":true,"description":"AI-generated summary of the attachment content"}}},"example":[{"id":"b0c1d2e3-f4a5-4b6c-7d8e-9f0a1b2c3d4e","ai_summary":"Resume shows 7 years of software engineering experience with expertise in full-stack development. Strong background in React, Node.js, and cloud technologies."}],"description":"Array of attachments associated with the candidate (e.g., resume, cover letter)","x-sensitive-pii":true},"phone_number":{"type":"string","example":"+1234567890","nullable":true,"description":"Phone number of the candidate","x-sensitive-pii":true},"candidate_tags":{"type":"array","items":{"type":"object","required":["id","tag"],"properties":{"id":{"type":"string","format":"uuid","example":"c1d2e3f4-a5b6-4c7d-8e9f-0a1b2c3d4e5f","description":"Unique identifier for the candidate tag"},"tag":{"type":"object","required":["id","label"],"properties":{"id":{"type":"string","format":"uuid","example":"d2e3f4a5-b6c7-4d8e-9f0a-1b2c3d4e5f6a","description":"Unique identifier for the tag"},"label":{"type":"string","example":"Experienced","description":"Label of the tag"}},"description":"Tag details"}},"description":"Candidate tag"},"description":"Tags associated with the candidate"},"import_session_id":{"type":"string","example":"import_session_12345","nullable":true,"description":"Import session identifier if the candidate was bulk imported"},"profile_picture_url":{"type":"string","example":"https://example.com/picture.jpg","nullable":true,"description":"Profile picture URL of the candidate","x-sensitive-pii":true}},"description":"Candidate details"},"job_board":{"type":"object","nullable":true,"required":["id","type"],"properties":{"id":{"type":"string","format":"uuid","example":"c1d2e3f4-a5b6-4c7d-8e9f-0a1b2c3d4e5f","description":"Unique identifier for the job board"},"type":{"enum":["INTERNAL_CAREER_PAGE","EXTERNAL_CAREER_PAGE","LINKEDIN"],"type":"string","example":"INTERNAL_CAREER_PAGE","description":"Type of job board"}},"description":"Job board details where the application originated"},"created_at":{"type":"string","format":"date-time","example":"2024-10-15T09:12:00Z","description":"Timestamp when the application was created"},"created_by":{"type":"string","format":"uuid","example":"d4e5f6a7-b8c9-4d0e-1f2a-3b4c5d6e7f8a","nullable":true,"description":"Unique identifier for the HRIS organization user who created the application"},"numeric_id":{"type":"integer","example":2561,"description":"Numeric identifier for the application"},"updated_at":{"type":"string","format":"date-time","example":"2024-11-20T11:45:00Z","description":"Timestamp when the application was last updated"},"job_posting":{"type":"object","nullable":true,"required":["id","title"],"properties":{"id":{"type":"string","format":"uuid","example":"c3d4e5f6-a7b8-4c9d-0e1f-2a3b4c5d6e7f","description":"Unique identifier for the job posting"},"title":{"type":"string","example":"Job posting","nullable":false,"description":"Title of the job posting"}},"description":"Job posting details"},"referred_by":{"type":"string","format":"uuid","example":"e5f6a7b8-c9d0-4e1f-2a3b-4c5d6e7f8a9b","nullable":true,"description":"Unique identifier for the HRIS organization user who referred the candidate"},"source_slug":{"enum":["SOURCED_INTERNALLY","EXTERNAL_CAREER_PAGE","LINKEDIN_PREMIUM","LINKEDIN_BASIC","INTERNAL_CAREER_PAGE","INTERNAL_REFERRAL","BULK_IMPORTED"],"type":"string","example":"INTERNAL_CAREER_PAGE","nullable":true,"description":"Source of the application"},"job_employment_type":{"type":"object","nullable":true,"required":["id","employment_type"],"properties":{"id":{"type":"string","format":"uuid","example":"e1f2a3b4-c5d6-4e7f-8a9b-0c1d2e3f4a5b","description":"Identifier of the job employment type record"},"employment_type":{"type":"object","required":["id","name"],"properties":{"id":{"type":"string","format":"uuid","example":"f2a3b4c5-d6e7-4f8a-9b0c-1d2e3f4a5b6c","description":"Identifier of the employment type"},"name":{"type":"string","example":"Full-time","description":"Human readable employment type"}},"description":"Employment type metadata"}},"description":"Employment type associated with the application"},"job_posting_publication":{"type":"object","nullable":true,"required":["id"],"properties":{"id":{"type":"string","format":"uuid","example":"d2e3f4a5-b6c7-4d8e-9f0a-1b2c3d4e5f6a","description":"Unique identifier for the job posting publication"}},"description":"Job posting publication details"},"referral_form_submission":{"type":"object","required":["id","form_builder_stringified"],"properties":{"id":{"type":"string","format":"uuid","example":"f0a1b2c3-d4e5-4f6a-7b8c-9d0e1f2a3b4c","nullable":true,"description":"Identifier of the referral form submission"},"form_builder_stringified":{"type":"string","example":"{\"question_1\": \"answer_1\", \"question_2\": \"answer_2\"}","nullable":true,"description":"Stringified JSON data for the referral form submission"}},"description":"Referral form submission metadata"},"moved_to_current_stage_at":{"type":"string","format":"date-time","example":"2024-11-18T12:30:00Z","description":"Timestamp when the application moved to the current stage"},"application_form_submission":{"type":"object","nullable":true,"required":["id","answers"],"properties":{"id":{"type":"string","format":"uuid","example":"509d5153-5b10-4718-b16f-417e726d39f1","description":"Identifier of the application form submission"},"answers":{"type":"array","items":{"type":"object","required":["data_binding_id","question_type","question_text","answer"],"properties":{"answer":{"oneOf":[{"type":"string","example":"John Doe","description":"String answer"},{"type":"number","example":42,"description":"Numeric answer"}],"example":"John Doe","description":"The answer value"},"question_text":{"type":"string","example":"Full Name","description":"Text of the question"},"question_type":{"enum":["FREETEXT","PARAGRAPH","SINGLESELECTION","MULTISELECTION","DOCUMENTUPLOAD","PRESETDROPDOWN","CUSTOMDROPDOWN","NUMBER","DATEPICKER","ADDRESS","PHONENUMBER","EMAIL"],"type":"string","example":"FREETEXT","description":"Type of the question (uppercase)"},"data_binding_id":{"type":"string","example":"83a642fd-de0a-45f6-8fe0-b9188ed72990","description":"Data binding identifier for the question"}}},"description":"Array of question answers with parsed data"}},"description":"Application form submission data with mapped answers"},"job_posting_publication_state":{"type":"object","nullable":true,"required":["id","state_slug"],"properties":{"id":{"type":"string","format":"uuid","example":"e3f4a5b6-c7d8-4e9f-0a1b-2c3d4e5f6a7b","description":"Unique identifier for the job posting publication state"},"state_slug":{"enum":["PUBLISHED_BASIC","PUBLISHED_PREMIUM","UNPUBLISHED","EXPIRED","IN_PROGRESS","FAILED"],"type":"string","example":"PUBLISHED_BASIC","description":"State of the job posting publication"}},"description":"Current state of the job posting publication"},"application_job_criterias_matchings":{"type":"array","items":{"type":"object","required":["id","description","is_matched","job_criteria"],"properties":{"id":{"type":"string","format":"uuid","example":"e7f8a9b0-c1d2-4e3f-4a5b-6c7d8e9f0a1b","description":"Unique identifier for the job criteria matching"},"is_matched":{"enum":["MATCHED","NOT_MATCHED","UNDECIDED"],"type":"string","example":"MATCHED","description":"Whether the candidate matches this job criteria"},"description":{"type":"string","example":"The candidate has 5+ years of experience in React and TypeScript","description":"Description of how the candidate matches the criteria"},"job_criteria":{"type":"object","required":["id","title","description"],"properties":{"id":{"type":"string","format":"uuid","example":"f8a9b0c1-d2e3-4f4a-5b6c-7d8e9f0a1b2c","description":"Unique identifier for the job criteria"},"title":{"type":"string","example":"Frontend Development Experience","description":"Title of the job criteria"},"description":{"type":"string","example":"5+ years of experience with React, TypeScript, and modern frontend frameworks","description":"Description of the job criteria"}},"description":"Job criteria details"}}},"example":[{"id":"e7f8a9b0-c1d2-4e3f-4a5b-6c7d8e9f0a1b","is_matched":"MATCHED","description":"The candidate has 5+ years of experience in React and TypeScript","job_criteria":{"id":"f8a9b0c1-d2e3-4f4a-5b6c-7d8e9f0a1b2c","title":"Frontend Development Experience","description":"5+ years of experience with React, TypeScript, and modern frontend frameworks"}}],"description":"Array of job criteria matchings for the application"},"all_application_interview_plan_stages":{"type":"array","items":{"type":"object","required":["id","updated_at","interview_plan_stage","offers"],"properties":{"id":{"type":"string","format":"uuid","example":"b8c9d0e1-f2a3-4b4c-5d6e-7f8a9b0c1d2e","description":"Unique identifier for the application interview plan stage"},"offers":{"type":"array","items":{"type":"object","required":["id","offer_status_enum","worker_type_enum","compensation_amount","compensation_currency","compensation_period_slug","country_code","application_interview_plan_stage_id","job_title","attachment_id","start_date","rejection_reason_id","approval_rule_id","approval_request_id","email","created_at","updated_at"],"properties":{"id":{"type":"string","format":"uuid","example":"d0e1f2a3-b4c5-4d6e-7f8a-9b0c1d2e3f4a","description":"Unique identifier for the offer"},"email":{"type":"object","nullable":true,"required":["id","from_string","recipients_to","recipients_cc","recipients_bcc","subject","body_html"],"properties":{"id":{"type":"string","format":"uuid","example":"d6e7f8a9-b0c1-4d2e-3f4a-5b6c7d8e9f0a","description":"Unique identifier for the email message"},"subject":{"type":"string","example":"Job Offer - Senior Software Engineer","description":"Email subject line"},"body_html":{"type":"string","example":"<html><body><p>Dear Candidate,</p><p>We are pleased to offer you the position...</p></body></html>","description":"HTML body of the email"},"from_string":{"type":"string","example":"recruiter@company.com","description":"Email sender address"},"recipients_cc":{"type":"array","items":{"type":"string"},"example":["hiring-manager@company.com"],"description":"Array of CC recipient email addresses"},"recipients_to":{"type":"array","items":{"type":"string"},"example":["candidate@email.com"],"description":"Array of recipient email addresses"},"recipients_bcc":{"type":"array","items":{"type":"string"},"example":[],"description":"Array of BCC recipient email addresses"}},"description":"Email message associated with the offer"},"job_title":{"type":"string","example":"Senior Software Engineer","description":"Job title for the offer"},"created_at":{"type":"string","format":"date-time","example":"2024-11-12T09:00:00Z","description":"Timestamp when the offer was created"},"start_date":{"type":"string","format":"date-time","example":"2025-01-15T00:00:00Z","description":"Start date for the position"},"updated_at":{"type":"string","format":"date-time","example":"2024-11-14T11:30:00Z","description":"Timestamp when the offer was last updated"},"country_code":{"type":"string","example":"US","description":"Country code (ISO 3166-1 alpha-2)"},"attachment_id":{"type":"string","format":"uuid","example":"f2a3b4c5-d6e7-4f8a-9b0c-1d2e3f4a5b6c","nullable":true,"description":"Unique identifier for the offer attachment"},"approval_rule_id":{"type":"string","format":"uuid","example":"b4c5d6e7-f8a9-4b0c-1d2e-3f4a5b6c7d8e","nullable":true,"description":"Unique identifier for the approval rule"},"worker_type_enum":{"enum":["CONTRACTOR","DIRECT_EMPLOYEE","EOR_EMPLOYEE","GLOBAL_PAYROLL_EMPLOYEE","PEO_EMPLOYEE","UNKNOWN"],"type":"string","example":"DIRECT_EMPLOYEE","description":"Type of worker for the offer"},"offer_status_enum":{"enum":["CREATED","WAITING_FOR_APPROVAL","APPROVED","NOT_APPROVED","SENT","ACCEPTED","REJECTED"],"type":"string","example":"SENT","description":"Status of the offer"},"approval_request_id":{"type":"string","format":"uuid","example":"c5d6e7f8-a9b0-4c1d-2e3f-4a5b6c7d8e9f","nullable":true,"description":"Unique identifier for the approval request"},"compensation_amount":{"type":"number","example":120000,"description":"Compensation amount","x-sensitive-employment":true},"rejection_reason_id":{"type":"string","format":"uuid","example":"a3b4c5d6-e7f8-4a9b-0c1d-2e3f4a5b6c7d","nullable":true,"description":"Unique identifier for the rejection reason (if rejected)"},"compensation_currency":{"type":"string","example":"USD","description":"Currency code for compensation (ISO 4217)"},"compensation_period_slug":{"enum":["ANNUALLY","MONTHLY","SEMIMONTHLY","BIWEEKLY","WEEKLY","DAILY","HOURLY"],"type":"string","example":"ANNUALLY","nullable":true,"description":"Compensation period","x-sensitive-employment":true},"application_interview_plan_stage_id":{"type":"string","format":"uuid","example":"e1f2a3b4-c5d6-4e7f-8a9b-0c1d2e3f4a5b","description":"Unique identifier for the application interview plan stage"}}},"example":[{"id":"d0e1f2a3-b4c5-4d6e-7f8a-9b0c1d2e3f4a","email":{"id":"d6e7f8a9-b0c1-4d2e-3f4a-5b6c7d8e9f0a","subject":"Job Offer - Senior Software Engineer","body_html":"<html><body><p>Dear Candidate,</p><p>We are pleased to offer you the position...</p></body></html>","from_string":"recruiter@company.com","recipients_cc":["hiring-manager@company.com"],"recipients_to":["candidate@email.com"],"recipients_bcc":[]},"job_title":"Senior Software Engineer","created_at":"2024-11-12T09:00:00Z","start_date":"2025-01-15T00:00:00Z","updated_at":"2024-11-14T11:30:00Z","country_code":"US","attachment_id":"f2a3b4c5-d6e7-4f8a-9b0c-1d2e3f4a5b6c","approval_rule_id":"b4c5d6e7-f8a9-4b0c-1d2e-3f4a5b6c7d8e","worker_type_enum":"DIRECT_EMPLOYEE","offer_status_enum":"SENT","approval_request_id":"c5d6e7f8-a9b0-4c1d-2e3f-4a5b6c7d8e9f","compensation_amount":120000,"rejection_reason_id":null,"compensation_currency":"USD","compensation_period_slug":"ANNUALLY","application_interview_plan_stage_id":"e1f2a3b4-c5d6-4e7f-8a9b-0c1d2e3f4a5b"}],"description":"Array of offers associated with this stage"},"updated_at":{"type":"string","format":"date-time","example":"2024-11-10T16:20:00Z","nullable":true,"description":"Timestamp when the stage was last updated"},"interview_plan_stage":{"type":"object","nullable":true,"required":["id","name","category_type_slug","default_type_slug"],"properties":{"id":{"type":"string","format":"uuid","example":"c9d0e1f2-a3b4-4c5d-6e7f-8a9b0c1d2e3f","description":"Unique identifier for the interview plan stage"},"name":{"type":"string","example":"Phone Screen","description":"Name of the interview plan stage"},"default_type_slug":{"type":"string","example":"phone_screen","nullable":true,"description":"Default type slug of the interview plan stage"},"category_type_slug":{"type":"string","example":"lead","description":"Interview plan stage category type"}},"description":"Interview plan stage details"}}},"example":[{"id":"b8c9d0e1-f2a3-4b4c-5d6e-7f8a9b0c1d2e","offers":[],"updated_at":"2024-11-10T16:20:00Z","interview_plan_stage":{"id":"c9d0e1f2-a3b4-4c5d-6e7f-8a9b0c1d2e3f","name":"Phone Screen","default_type_slug":"phone_screen","category_type_slug":"ACTIVE"}}],"description":"Array of all application interview plan stages"},"application_automation_rule_executions":{"type":"array","items":{"type":"object","required":["id","application_automation_rule_id","action_type_enum","evaluation_result"],"properties":{"id":{"type":"string","format":"uuid","example":"f4a5b6c7-d8e9-4f0a-1b2c-3d4e5f6a7b8c","description":"Unique identifier for the automation rule execution"},"action_type_enum":{"enum":["ADD_CANDIDATE_TAG","TRANSITION_APPLICATION"],"type":"string","example":"MOVE_TO_STAGE","description":"Type of action performed by the automation rule"},"evaluation_result":{"type":"array","items":{"type":"object","required":["id","form_builder_question_data_binding_id","operator_enum","comparison_value","group_id","is_condition_met"],"properties":{"id":{"type":"string","format":"uuid","example":"b6c7d8e9-f0a1-4b2c-3d4e-5f6a7b8c9d0e","description":"Unique identifier for the evaluation result"},"group_id":{"type":"integer","example":0,"minimum":0,"description":"Group ID for logical grouping of conditions"},"operator_enum":{"enum":["EQUALS","NOT_EQUALS","CONTAINS","DOES_NOT_CONTAIN","IS_EMPTY","IS_NOT_EMPTY","GREATER_THAN","GREATER_THAN_OR_EQUAL","LESS_THAN","LESS_THAN_OR_EQUAL"],"type":"string","example":"GREATER_THAN","description":"Comparison operator used in the evaluation"},"comparison_value":{"type":"string","example":"5","description":"Value used for comparison in the evaluation"},"is_condition_met":{"type":"boolean","example":true,"description":"Whether the condition was met"},"form_builder_question_data_binding_id":{"type":"string","example":"years_of_experience","description":"Data binding ID for the form builder question"}}},"example":[{"id":"b6c7d8e9-f0a1-4b2c-3d4e-5f6a7b8c9d0e","group_id":0,"operator_enum":"GREATER_THAN","comparison_value":"5","is_condition_met":true,"form_builder_question_data_binding_id":"years_of_experience"}],"description":"Array of condition evaluations for the automation rule"},"application_automation_rule_id":{"type":"string","format":"uuid","example":"a5b6c7d8-e9f0-4a1b-2c3d-4e5f6a7b8c9d","description":"Unique identifier for the application automation rule"}}},"example":[{"id":"f4a5b6c7-d8e9-4f0a-1b2c-3d4e5f6a7b8c","action_type_enum":"MOVE_TO_STAGE","evaluation_result":[{"id":"b6c7d8e9-f0a1-4b2c-3d4e-5f6a7b8c9d0e","group_id":0,"operator_enum":"GREATER_THAN","comparison_value":"5","is_condition_met":true,"form_builder_question_data_binding_id":"years_of_experience"}],"application_automation_rule_id":"a5b6c7d8-e9f0-4a1b-2c3d-4e5f6a7b8c9d"}],"description":"Array of automation rule executions for the application"},"current_application_interview_plan_stage":{"type":"object","nullable":true,"required":["id","interview_plan_stage"],"properties":{"id":{"type":"string","format":"uuid","example":"d4e5f6a7-b8c9-4d0e-1f2a-3b4c5d6e7f8a","description":"Identifier of the application interview plan stage record"},"interview_plan_stage":{"type":"object","nullable":true,"required":["id","name","category_type_slug","default_type_slug"],"properties":{"id":{"type":"string","format":"uuid","example":"c9d0e1f2-a3b4-4c5d-6e7f-8a9b0c1d2e3f","description":"Identifier of the interview plan stage"},"name":{"type":"string","example":"Phone Screen","description":"Name of the interview plan stage"},"default_type_slug":{"type":"string","example":"phone_screen","nullable":true,"description":"Default type slug of the interview plan stage"},"category_type_slug":{"type":"string","example":"ACTIVE","description":"Category type slug of the interview plan stage"}},"description":"Details of the interview plan stage"}},"description":"Current interview plan stage for the application"}}}}}}},"description":"Successful response with application data"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_parameter","description":"Machine-readable error code"},"field":{"type":"string","example":"/data/example_field","description":"Name of the field causing the error (for validation issues)"},"message":{"type":"string","example":"Must have required property 'example_field'","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"service_unavailable","description":"Machine-readable error code"},"message":{"type":"string","example":"The service is currently experiencing issues","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."}},"parameters":[{"in":"path","name":"application_id","schema":{"type":"string","format":"uuid"},"example":"1b9d6c7e-2c3f-4f5a-8b6c-7d8e9f0a1b2c","required":true,"description":"Unique identifier of the application to retrieve"}],"security":[{"deelToken":[]},{"oauth2":["ats:read"]}]}},"/payouts/contractors/methods":{"post":{"tags":["Payouts"],"summary":"Create a bank transfer method","operationId":"createBankTransferMethod","description":"Creates a bank transfer method with dynamic payload properties based on the selected option.\n **Token scopes**: `worker:read`, `worker:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"Unique identifier for the bank transfer method"},"status":{"enum":["pending","verifying","failed","approved"],"type":"string","example":"approved","description":"Status of the bank transfer method"}}}}},"example":{"data":{"id":"123e4567-e89b-12d3-a456-426614174000","status":"approved"}}}},"description":"Bank transfer method created successfully."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"security":[{"deelToken":[]},{"oauth2":["worker:read","worker:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["payment_method","address","payload","selected_option"],"properties":{"address":{"type":"object","required":["first_line","country","post_code","city"],"properties":{"city":{"type":"string","example":"San Francisco","description":"City name"},"state":{"type":"string","example":"CA","description":"State code"},"country":{"type":"string","example":"US","pattern":"^[A-Z]{2}$","description":"Country code"},"post_code":{"type":"string","example":"210000","description":"Post code"},"first_line":{"type":"string","example":"First Line","description":"First line of the address"}}},"payload":{"type":"object","example":{"currency":"US","swiftCode":"DBDBRSBG","intermediary":{"bic":"RSDASDS","country":"DE"},"accountNumber":"SA0380000000608010167222","accountHolderName":"John Doe"},"description":"Dynamic properties based on selected option. For example, if `selectedOption` is `swift_code`, payload may include `swiftCode`, `accountHolderName`, and `accountNumber`.","additionalProperties":true},"is_default":{"type":"boolean","example":true,"description":"Specifies if the method is the default payout method - if true, autowithdrawal will be enabled for the contractor using this method"},"method_name":{"type":"string","example":"Bank Method","description":"Name for method"},"payment_method":{"enum":["bank_transfer"],"type":"string","example":"bank_transfer","description":"Specifies the type of payment method"},"selectedOption":{"type":"string","example":"swift_code","description":"Specifies the type of bank transfer method. Maps from requirements type field"}}}}},"example":{"data":{"name":"Bank Method","address":{"city":"San Francisco","state":"CA","country":"US","post_code":"22406","first_line":"First Line"},"payload":{"currency":"USD","swiftCode":"DBDBRSBG","intermediary":{"bic":"RSDASDS","country":"US"},"accountNumber":"SA0380000000608010165443","accountHolderName":"John Doe"},"is_default":true,"payment_method":"bank_transfer","selected_option":"swift_code"}}}},"required":true}},"get":{"tags":["Payouts"],"summary":"Fetch all payout methods","operationId":"getPayoutMethods","description":"Retrieves all payout methods associated with the current user or account. Supports filtering by default method status.\n **Token scopes**: `worker:read`, `worker:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["payment_method","address","payload","selected_option"],"properties":{"address":{"type":"object","required":["first_line","country","post_code","city"],"properties":{"city":{"type":"string","example":"San Francisco","description":"City name"},"state":{"type":"string","example":"CA","description":"State code"},"country":{"type":"string","example":"US","pattern":"^[A-Z]{2}$","description":"Country code"},"post_code":{"type":"string","example":"210000","description":"Post code"},"first_line":{"type":"string","example":"First Line","description":"First line of the address"}}},"payload":{"type":"object","example":{"currency":"US","swiftCode":"DBDBRSBG","intermediary":{"bic":"RSDASDS","country":"DE"},"accountNumber":"SA0380000000608010167222","accountHolderName":"John Doe"},"description":"Dynamic properties based on selected option. For example, if `selectedOption` is `swift_code`, payload may include `swiftCode`, `accountHolderName`, and `accountNumber`.","additionalProperties":true},"is_default":{"type":"boolean","example":true,"description":"Specifies if the method is the default payout method - if true, autowithdrawal will be enabled for the contractor using this method"},"method_name":{"type":"string","example":"Bank Method","description":"Name for method"},"payment_method":{"enum":["bank_transfer"],"type":"string","example":"bank_transfer"},"selectedOption":{"type":"string","example":"swift_code","description":"Specifies the type of bank transfer method. Maps from requirements type field"}}}}},"example":{"data":[{"id":"123e4567-e89b-12d3-a456-426614174000","status":"approved","address":{"city":"San Francisco","state":"CA","country":"US","post_code":"22406","first_line":"First Line"},"is_default":true,"method_name":"Bank Method"},{"id":"223e4567-e89b-12d3-a456-426614174001","status":"verifying","address":{"city":"San Francisco","state":"CA","country":"US","post_code":"22406","first_line":"Second Line"},"is_default":false,"method_name":"Backup Method"}]}}},"description":"List of payout methods retrieved successfully."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"query","name":"is_default","schema":{"type":"boolean"},"example":true,"required":false,"description":"Filter by whether the method is default. If true, only default methods will be returned."}],"security":[{"deelToken":[]},{"oauth2":["worker:read","worker:write"]}]}},"/hris/worker_relations/profile/{hrisProfileOid}":{"get":{"tags":["Worker Relations"],"summary":"List of worker relations","operationId":"getAllProfileWorkerRelations","description":"List of worker relations.\n **Token scopes**: `profile:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"The ID of the relation type"},"name":{"type":"string","example":"Parent","description":"The name of the relation type"},"is_parent":{"type":"boolean","example":true,"description":"Whether this relation is the parent or not"},"is_default":{"type":"boolean","example":true,"description":"Whether this relation is default or not"},"child_relationships":{"type":"array","items":{"type":"object","properties":{"last_name":{"type":"string","example":"Doe","description":"The last name of the child profile"},"first_name":{"type":"string","example":"John","description":"The first name of the child profile"},"profile_id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"The ID of the child profile"},"relation_id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"The ID of the relation between the profiles"}}},"description":"An array containing the information about the child profiles in the relation."},"parent_relationship":{"type":"object","nullable":true,"properties":{"last_name":{"type":"string","example":"Doe","description":"The last name of the parent profile"},"first_name":{"type":"string","example":"Jane","description":"The first name of the parent profile"},"profile_id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"The ID of the parent profile"},"relation_id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"The ID of the relation between the profiles"}},"description":"An object that has information about the parent profile in the relation."}}},"description":"An array containing the Worker Relations of the profile. It includes either the parent or child relations."}}}}},"description":"Successful operation"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"hrisProfileOid","schema":{"type":"string","format":"uuid"},"example":"d290f1ee-6c54-4b01-90e6-d701748f0851","required":true,"description":"HrisProfile ID"}],"security":[{"deelToken":[]},{"oauth2":["profile:read"]}]},"delete":{"tags":["Worker Relations"],"summary":"Delete a worker relation","operationId":"deleteWorkerRelation","description":"Delete a worker relation.\n **Token scopes**: `profile:write`","responses":{"204":{"description":"Successfully deleted"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"hrisProfileOid","schema":{"type":"string","format":"uuid"},"example":"c5d1b0e1-1f2b-4f6d-9b5f-2b0d7b3dcb6d","required":true,"description":"Worker Relation ID"}],"security":[{"deelToken":[]},{"oauth2":["profile:write"]}]}},"/knowledge-hub/country-guide/{country_code}":{"get":{"tags":["Knowledge Hub"],"summary":"Get Knowledge Hub Country Guides by Country Code","operationId":"getKnowledgeHubCountryGuidesByCountryCode","description":"Retrieve country guide for different audience and contract type by the country code\n **Token scopes**: `knowledge-hub:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","required":["name","value"],"properties":{"name":{"type":"string","example":"Contractor","description":"Display name of the audience."},"value":{"type":"string","example":"contractor","description":"Identifier or key representing the audience in lowercase."},"categories":{"type":"array","items":{"type":"object","required":["id","name","icon","fields","articles"],"properties":{"id":{"type":"string","example":"d2d210da-04b8-42ec-8f03-939d4b74cfc6","description":"ID for the category"},"icon":{"type":"string","example":"MoreTime","description":"Icon aligning with the category"},"name":{"type":"string","example":"Wages and Working Hours","description":"Display name of the category"},"fields":{"type":"array","items":{"type":"object","required":["id","name","type"],"properties":{"id":{"type":"string","example":"b3a9e1ce-7afb-41d3-a171-81ad2eec39ff","description":"ID of the field"},"name":{"type":"string","example":"EOR Minimum Wage","description":"Title of the field"},"type":{"enum":["TEXT","LINK","HTML"],"type":"string","example":"TEXT","description":"Type of the field, can contain text, link or html"},"value":{"type":"string","example":"ALL 40,000 per month","nullable":true,"description":"The value associated for the field"}}},"description":"An array of informative fields and it's value that the category contains"},"articles":{"type":"array","items":{"type":"object","required":["id","title","description","featured_image","created_at","updated_at","tags","type"],"properties":{"id":{"type":"string","example":"d2d210da-04b8-42ec-8f03-939d4b74cfc6","description":"ID for the article"},"tags":{"type":"array","items":{"type":"object","required":["id","title","tag"],"properties":{"id":{"type":"string","example":"a3a9e1ce-7afb-40e2-a171-81ad2eec39ff","description":"ID for the tag"},"tag":{"type":"string","example":"internal","description":"Slug for the tag"},"title":{"type":"string","example":"Internal","description":"Title of the tag"}}},"description":"Array of tags inside an article"},"type":{"enum":["KNOWLEDGE","COMPLIANCE"],"type":"string","example":"KNOWLEDGE","description":"The type of the article, can contain knowledge or compliance"},"title":{"type":"string","example":"Other Leave: Portugal","description":"Title of the article"},"created_at":{"type":"string","format":"date-time","example":"2023-03-07T13:34:30.500Z","description":"The timestamp when the article was created"},"updated_at":{"type":"string","format":"date-time","example":"2025-10-27T08:09:48.529Z","description":"The timestamp when the article was last updated"},"description":{"type":"string","example":"Information about other paid and unpaid leave in Portugal","description":"An excerpt for the article"},"effective_date":{"type":"string","format":"date","example":"2023-03-07T13:34:30.500Z","nullable":true,"description":"The date when the article will be effective, meaning the content inside it becomes effective in the real world)"},"featured_image":{"type":"string","format":"uri","example":"https://wiki.deel.network/assets/11.png","description":"The featured image for the article"}}},"description":"An array of articles that are connected to this category"}}},"description":"List of categories applicable to this audience."},"contract_types":{"type":"array","items":{"type":"object","required":["name","value","categories"],"properties":{"name":{"type":"string","example":"Employer of Record","description":"The user friendly name of the contract type"},"value":{"type":"string","example":"eor","description":"Identifier or key representing the contract type in lowercase."},"categories":{"type":"array","items":{"type":"object","required":["id","name","icon","fields","articles"],"properties":{"id":{"type":"string","example":"a3a9e1ce-7afb-40e2-a171-81ad2eec39ff","description":"ID for the category"},"icon":{"type":"string","example":"MoreTime","description":"Icon aligning with the category"},"name":{"type":"string","example":"Wages and Working Hours","description":"Display name of the category"},"fields":{"type":"array","items":{"type":"object","required":["id","name","type"],"properties":{"id":{"type":"string","example":"b3a9e1ce-7afb-41d3-a171-81ad2eec39ff","description":"ID of the field"},"name":{"type":"string","example":"EOR Minimum Wage","description":"Title of the field"},"type":{"enum":["TEXT","LINK","HTML"],"type":"string","example":"TEXT","description":"Type of the field, can contain text, link or html"},"value":{"type":"string","example":"ALL 40,000 per month","nullable":true,"description":"The value associated for the field"}}},"description":"An array of informative fields and it's value that the category contains"},"articles":{"type":"array","items":{"type":"object","required":["id","title","description","featured_image","created_at","updated_at","tags","type"],"properties":{"id":{"type":"string","example":"a1421df1-9907-483a-a35c-b92ba7403ef1","description":"ID for the article"},"tags":{"type":"array","items":{"type":"object","required":["id","title","tag"],"properties":{"id":{"type":"string","example":"a3a9e1ce-7afb-40e2-a171-81ad2eec39ff","description":"ID for the tag"},"tag":{"type":"string","example":"internal","description":"Slug for the tag"},"title":{"type":"string","example":"Internal","description":"Title of the tag"}}},"description":"Array of tags inside an article"},"type":{"enum":["KNOWLEDGE","COMPLIANCE"],"type":"string","example":"KNOWLEDGE","description":"The type of the article, can contain knowledge or compliance"},"title":{"type":"string","example":"Other Leave: Portugal","description":"Title of the article"},"created_at":{"type":"string","format":"date-time","example":"2023-03-07T13:34:30.500Z","description":"The timestamp when the article was created"},"updated_at":{"type":"string","format":"date-time","example":"2025-10-27T08:09:48.529Z","description":"The timestamp when the article was last updated"},"description":{"type":"string","example":"Information about other paid and unpaid leave in Portugal","description":"An excerpt for the article"},"effective_date":{"type":"string","format":"date","example":"2023-03-07T13:34:30.500Z","nullable":true,"description":"The date when the article will be effective, meaning the content inside it becomes effective in the real world)"},"featured_image":{"type":"string","format":"uri","example":"https://wiki.deel.network/assets/11.png","description":"The featured image for the article"}}},"description":"An array of articles that are connected to this category"}}},"description":"List of categories applicable to this audience."}}},"description":"List of contract types available for this audience."}},"description":"Represents a specific audience such as Contractor, Client, or Employee."},"example":{"audiences":[{"name":"Contractor","value":"contractor","categories":[{"id":"a3a9e1ce-7afb-40e2-a171-81ad2eec39ff","icon":"MoreTime","name":"Wages and Working Hours","fields":[],"articles":[{"id":"a1421df1-9907-483a-a35c-b92ba7403ef1","tags":[{"id":"a3a9e1ce-7afb-40e2-a171-81ad2eec39ff","tag":"internal","title":"Internal"},{"id":"a3a9e1ce-7afb-40e2-a171-81ad2eec39ff","tag":"portugal","title":"Portugal"}],"type":"KNOWLEDGE","title":"Other Leave: Portugal","created_at":"2023-03-07T13:34:30.500Z","updated_at":"2025-10-27T08:09:48.529Z","description":"Information about other paid and unpaid leave in Portugal","effective_date":"2023-03-07T13:34:30.500Z","featured_image":"https://wiki.deel.network/assets/11.png"}]}]}]},"description":"List of different audiences with associated categories and contract types."},"has_more":{"type":"boolean","example":false,"description":"Indicates if there are more items to fetch."},"next_cursor":{"type":"string","example":"abcdef01-2345-6789-0abc-def012345678","nullable":true,"description":"Cursor for the next page of results"},"total_count":{"type":"number","example":2,"description":"Total number of audiences"}}}}},"description":"Successful response containing audiences, their contract types, and associated categories, fields, and articles."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_parameter","description":"Machine-readable error code"},"field":{"type":"string","example":"/data/example_field","description":"Name of the field causing the error (for validation issues)"},"message":{"type":"string","example":"Must have required property 'example_field'","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"service_unavailable","description":"Machine-readable error code"},"message":{"type":"string","example":"The service is currently experiencing issues","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."}},"parameters":[{"in":"path","name":"country_code","schema":{"type":"string"},"example":"AL","required":true,"description":"Country code for which we need to fetch the country guides"}],"security":[{"deelToken":[]},{"oauth2":["knowledge-hub:read"]}]}},"/benefits/legal-entities/{id}/401k/plans":{"get":{"tags":["Plans 401K"],"summary":"Get 401k plans for legal entity","operationId":"get401KPlansForLegalEntity-v2026-01-01","description":"Get 401k plans legal entity\n **Token scopes**: `benefits:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"550e8400-e29b-41d4-a716-446655440000","description":"ID of the 401K plan."},"name":{"type":"string","example":"Employee Retirement Savings Plan","description":"Name of the 401K plan."},"details":{"type":"object","description":"Object containing additional information about the 401K plan."},"end_date":{"type":"string","example":"2023-01-01T00:00:00.000Z","description":"End date of the plan."},"start_date":{"type":"string","example":"2023-01-01T00:00:00.000Z","nullable":true,"description":"Start date of the plan."},"contribution_type":{"enum":["PERCENTAGE","FIXED_AMOUNT","MATCH","NEC_FIXED_AMOUNT","NEC_PERCENTAGE"],"type":"string","example":"PERCENTAGE","description":"Type of contribution for the 401K plan."},"contribution_value":{"type":"number","example":5,"description":"Value of the contribution if type is percent or amount."},"contribution_value_for_match_rate":{"type":"array","items":{"type":"object","properties":{"rate":{"type":"number","example":50,"maximum":100,"minimum":1,"nullable":true,"description":"Rate of matching contribution."},"limit":{"type":"number","example":10000,"maximum":100,"minimum":1,"nullable":true,"description":"Limit up to which the match rate is applicable."}}},"nullable":true,"description":"Array of objects containing limits and rates for match rate contribution type."}}},"description":"List of plans"}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"id","schema":{"type":"string","example":"f47ac10b-58cc-4372-a567-0e02b2c3d479"},"required":true,"description":"Id from the legal entity to fetch 401k plans"}],"security":[{"deelToken":[]},{"oauth2":["benefits:read"]}]}},"/hris/worker_relations/profile/external/{profile_id}":{"get":{"tags":["Worker Relations"],"summary":"Fetch Worker Relations of a given HrisProfile by external id","operationId":"fetchWorkerRelationsOfAGivenHrisProfileByExternalId-v2026-01-01","description":"Retrieves all worker relationships for a given HRIS profile identified by its external identifier, including parent and child relationships.\n **Token scopes**: `profile:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"f7b3b2b3-6b1b-4b3b-8b3b-3b3b3b3b3b3b","description":"The ID of the relation type"},"name":{"type":"string","example":"Parent","description":"The name of the relation type"},"is_parent":{"type":"boolean","example":true,"description":"Whether this relation is the parent or not"},"is_default":{"type":"boolean","example":true,"description":"Whether this relation is default or not"},"child_relationships":{"type":"array","items":{"type":"object","properties":{"last_name":{"type":"string","example":"Doe","description":"The last name of the child profile"},"first_name":{"type":"string","example":"John","description":"The first name of the child profile"},"profile_id":{"type":"string","format":"uuid","example":"f7b3b2b3-6b1b-4b3b-8b3b-3b3b3b3b3b3b","description":"The ID of the child profile"},"external_id":{"type":"string","example":"f7b3b2b3-6b1b-4b3b-8b3b-3b3b3b3b3b3b","description":"The external ID of the child profile"},"relation_id":{"type":"string","format":"uuid","example":"f7b3b2b3-6b1b-4b3b-8b3b-3b3b3b3b3b3b","description":"The ID of the relation between the profiles"}}},"description":"An array containing the information about the child profiles in the relation."},"parent_relationship":{"type":"object","properties":{"last_name":{"type":"string","example":"Doe","description":"The last name of the parent profile"},"first_name":{"type":"string","example":"Jane","description":"The first name of the parent profile"},"profile_id":{"type":"string","format":"uuid","example":"f7b3b2b3-6b1b-4b3b-8b3b-3b3b3b3b3b3b","description":"The ID of the parent profile"},"relation_id":{"type":"string","format":"uuid","example":"f7b3b2b3-6b1b-4b3b-8b3b-3b3b3b3b3b3b","description":"The ID of the relation between the profiles"},"profile_external_id":{"type":"string","example":"f7b3b2b3-6b1b-4b3b-8b3b-3b3b3b3b3b3b","description":"The external ID of the parent profile"},"relation_external_id":{"type":"string","example":"f7b3b2b3-6b1b-4b3b-8b3b-3b3b3b3b3b3b","description":"The external ID of the relation"}},"description":"An object that has information about the parent profile in the relation."}}},"description":"An array containing the Worker Relations of the profile. It includes either the parent or child relations."}}}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"invalid_parameter"},"field":{"type":"string","example":"profileId"},"message":{"type":"string","example":"\"profileId\" is required"}}}}}}}},"description":"Bad request - The provided profileId parameter is invalid or missing."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"not_found"},"field":{"type":"string","example":"profileId"},"message":{"type":"string","example":"HRIS profile with externalId 'emp-001' was not found."}}}}}}}},"description":"Not found - No HRIS profile exists for the provided externalId."},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"profile_id","schema":{"type":"string"},"example":"f7b3b2b3-6b1b-4b3b-8b3b-3b3b3b3b3b3b","required":true,"description":"HrisProfile external ID"}],"security":[{"deelToken":[]},{"oauth2":["profile:read"]}]}},"/time_tracking/shift_rates":{"get":{"tags":["Time Tracking Rates"],"summary":"Retrieve a Paginated List of Shift Rates","operationId":"retrieveAPaginatedListOfShiftRates","description":"Retrieve a paginated list of shift rates, including details such as rate name, type, value, and timestamps. Pagination parameters can be used to control the size and position of the result set.\n **Token scopes**: `time-tracking:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data","page"],"properties":{"data":{"type":"array","items":{"type":"object","required":["external_id","name","type","value","created_at","updated_at"],"properties":{"name":{"type":"string","example":"Weekend Bonus","description":"Name of the shift rate."},"type":{"type":"string","example":"FLAT_RATE","description":"Type of the shift rate (e.g., MULTIPLIER_PERCENTAGE or FLAT_RATE)."},"value":{"type":"number","example":150,"description":"The value associated with the shift rate."},"created_at":{"type":"string","example":"2024-11-15T05:51:18.000Z","description":"Timestamp indicating when the shift rate was created."},"updated_at":{"type":"string","example":"2024-11-20T12:34:56.000Z","description":"Timestamp indicating when the shift rate was last updated."},"external_id":{"type":"string","example":"rate-5678","description":"External identifier of the shift rate."}}}},"page":{"type":"object","required":["total_rows","items_per_page","offset"],"properties":{"offset":{"type":"integer","example":0,"description":"The offset/index for the current page of records."},"total_rows":{"type":"integer","example":100,"description":"Total number of shift rates available in the dataset."},"items_per_page":{"type":"integer","example":10,"description":"The number of items returned per page."}}}}},"example":{"data":[{"name":"Weekend Bonus","type":"FLAT_RATE","value":150,"created_at":"2024-11-15T05:51:18.000Z","updated_at":"2024-11-20T12:34:56.000Z","external_id":"rate-5678"}],"page":{"offset":0,"total_rows":100,"items_per_page":10}}}},"description":"Paginated list of shift rates retrieved successfully."},"400":{"content":{"application/json":{"example":{"error":"Invalid query parameter: limit must be a positive number."}}},"description":"Invalid query parameters provided (e.g., non-numeric limit or offset)."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"example":{"error":"An unexpected error occurred. Please try again later."}}},"description":"Internal server error encountered while retrieving shift rates."}},"parameters":[{"in":"query","name":"limit","schema":{"type":"string","pattern":"^[0-9]+$"},"example":"10","description":"The maximum number of records to return per page. For example, '10' to return up to 10 records."},{"in":"query","name":"offset","schema":{"type":"string","pattern":"^[0-9]+$"},"example":"10","description":"The starting index for the records to retrieve. For example, '0' for the first page or '10' for the second page when limit=10."}],"security":[{"deelToken":[]},{"oauth2":["time-tracking:read"]}]},"post":{"tags":["Time Tracking Rates"],"summary":"Create a New Shift Rate","operationId":"createANewShiftRate","description":"Create a new shift rate with the specified attributes such as name, type, value, and a unique external identifier.\n **Token scopes**: `time-tracking:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"name":{"type":"string","example":"Night Shift Bonus","description":"The name of the created shift rate."},"type":{"type":"string","example":"MULTIPLIER_PERCENTAGE","description":"The type of the created shift rate."},"value":{"type":"number","example":80.2,"description":"The value of the created shift rate."},"external_id":{"type":"string","example":"rate-unique-id-1234","description":"The unique identifier of the created shift rate."}}}}},"example":{"data":{"name":"Night Shift Bonus","type":"MULTIPLIER_PERCENTAGE","value":80.2,"external_id":"rate-unique-id-1234"}}}},"description":"Shift rate created successfully."},"400":{"content":{"application/json":{"example":{"error":"The provided 'value' must be a positive number."}}},"description":"Invalid input provided for the shift rate creation."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"409":{"content":{"application/json":{"example":{"error":"A shift rate with the provided external ID already exists."}}},"description":"Conflict occurred, likely due to a duplicate external ID."},"500":{"content":{"application/json":{"example":{"error":"An unexpected error occurred. Please try again later."}}},"description":"Internal server error encountered while creating the shift rate."}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["time-tracking:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["name","external_id"],"properties":{"name":{"type":"string","example":"Night Shift Bonus","description":"The name of the shift rate."},"type":{"enum":["MULTIPLIER_PERCENTAGE","PER_HOUR_FLAT_RATE","PER_UNIT_FLAT_RATE"],"example":"MULTIPLIER_PERCENTAGE","description":"The type of the shift rate."},"value":{"type":"number","example":80.2,"description":"The value of the shift rate."},"external_id":{"type":"string","example":"rate-unique-id-1234","description":"A unique identifier for the shift rate."}}}}},"example":{"data":{"name":"Night Shift Bonus","type":"MULTIPLIER_PERCENTAGE","value":80.2,"external_id":"rate-unique-id-1234"}}}},"description":"Details of the shift rate to create."}}},"/immigration/workers/{worker_id}/cases/{case_id}/required-document":{"get":{"tags":["Immigration"],"summary":"Retrieve a required document for a case","operationId":"retrieveARequiredDocumentForACase","description":"Use this endpoint to retrieve the details of a specific document requirement for a worker's case. This includes the requirement's status and information about any previously rejected documents\n **Token scopes**: `worker:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","example":"5f5b3b3b-4b3b-4b3b-4b3b-4b3b3b3b3b3b","description":"The unique identifier of the document requirement."},"name":{"type":"string","example":"Proof of employment","description":"The name of the document requirement to be uploaded."},"document":{"type":"object","properties":{"id":{"type":"string","example":"5f5b3b3b-4b3b-4b3b-4b3b-4b3b3b3b3b3b","description":"Unique identifier of the document."},"name":{"type":"string","example":"Compliance Document","description":"The name of the document."},"status":{"enum":["PENDING","IN_REVIEW","ACTIVE","EXPIRING","EXPIRED"],"type":"string","example":"IN_REVIEW","description":"Status of the document."},"expiration_date":{"type":"string","format":"date-time","example":"2023-10-31","nullable":true,"description":"Expiration date of the document. If document does not expire, it will be null"}}},"created_at":{"type":"string","format":"date-time","example":"2023-10-31T13:45:30Z","description":"Creation date of the document request."},"updated_at":{"type":"string","format":"date-time","example":"2023-10-31T13:45:30Z","description":"Last update date of the document request."},"description":{"type":"string","example":"Please provide proof of your eligibility to work in Canada.","description":"A short text description of the document requirement to be uploaded."},"previous_rejected_document":{"type":"object","properties":{"id":{"type":"string","example":"5f5b3b3b-4b3b-4b3b-4b3b-4b3b3b3b3b3b","description":"The unique identifier of the document."},"status":{"enum":["REJECTED"],"type":"string","example":"REJECTED","description":"Status of the document."},"rejection_note":{"type":"string","example":"The document contains incorrect or inconsistent information, which does not match the records of requirements","nullable":true,"description":"A detailed description about why the document was rejected."},"rejection_reason":{"type":"string","example":"Inaccurate data","nullable":true,"description":"The reason why the document was rejected."}}},"immigration_document_requirement_id":{"type":"string","example":"5f5b3b3b-4b3b-4b3b-4b3b-4b3b3b3b3b3b","description":"The unique identifier of the immigration document requirement."}}}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"worker_id","schema":{"type":"string"},"example":"a6fb5c89-5abd-45d1-afc1-7e98d550eb71","required":true,"description":"The hris profile oid (public id) of the worker."},{"in":"path","name":"case_id","schema":{"type":"string"},"example":"a6fb5c89-5abd-45d1-afc1-7e98d550eb71","required":true,"description":"The unique identifier of the case for which the required document is being requested."}],"security":[{"deelToken":[]},{"oauth2":["worker:read"]}]}},"/contracts/{contract_id}/off-cycle-payments":{"get":{"tags":["Off-cycle Payments"],"summary":"List of off-cycle payments","operationId":"getOffCyclePaymentsByContract","description":"Retrieve a list of off-cycle payments for the specified contract ID. Off-cycle payments are payments made outside the regular payment schedule, often for exceptional or one-time expenses.\n **Token scopes**: `off-cycle-payments:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","status","description","date_submitted","created_at","currency_code","amount","reported_by"],"properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier of the off-cycle payment."},"amount":{"type":"string","nullable":false,"description":"The amount of the off-cycle payment."},"status":{"enum":["approved","declined","not_payable","paid","pending","processing",null],"type":"string","nullable":true,"description":"The current status of the off-cycle payment."},"created_at":{"type":"string","format":"date-time","nullable":false,"description":"The timestamp when the off-cycle payment was created."},"description":{"type":"string","nullable":false,"description":"A description or reason for the off-cycle payment."},"reported_by":{"type":"object","nullable":false,"required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier of the reporter."},"full_name":{"type":"string","nullable":false,"description":"Full name of the individual who reported the payment.","x-sensitive-pii":true}},"description":"Details of the person who reported the off-cycle payment."},"currency_code":{"type":"string","pattern":"^[A-Z]{3}$","maxLength":3,"minLength":3,"description":"The three-letter ISO currency code for the payment amount."},"date_submitted":{"type":"string","format":"date-time","nullable":false,"description":"The timestamp when the off-cycle payment was submitted."}}}}}},"examples":{"success":{"value":{"data":[{"id":"123e4567-e89b-12d3-a456-426614174000","amount":"500.00","status":"approved","created_at":"2024-11-25T14:30:00.000Z","description":"Reimbursement for travel expenses","reported_by":{"id":"987e1234-e89b-56d3-a456-426614170000","full_name":"Jane Doe"},"currency_code":"USD","date_submitted":"2024-11-20T09:00:00.000Z"},{"id":"123e4567-e89b-12d3-a456-426614174001","amount":"1500.00","status":"pending","created_at":"2024-11-22T10:15:00.000Z","description":"Bonus payment","reported_by":{"id":"123e5678-e89b-12d3-a456-426614174002","full_name":"John Smith"},"currency_code":"EUR","date_submitted":"2024-11-21T15:45:00.000Z"}]},"summary":"Example response"}}}},"description":"Successful retrieval of off-cycle payments."},"400":{"content":{"application/json":{"examples":{"error":{"value":{"error":{"code":400,"message":"Invalid contract ID provided."}},"summary":"Example error response"}}}},"description":"Invalid request parameters."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"content":{"application/json":{"examples":{"error":{"value":{"error":{"code":404,"message":"Contract with the specified ID does not exist."}},"summary":"Example error response"}}}},"description":"Contract not found."},"500":{"content":{"application/json":{"examples":{"error":{"value":{"error":{"code":500,"message":"An unexpected error occurred while retrieving off-cycle payments."}},"summary":"Example server error response"}}}},"description":"Internal server error."}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"required":true,"description":"The unique identifier (ID) of the Deel contract for which to retrieve off-cycle payments."}],"security":[{"deelToken":[]},{"oauth2":["off-cycle-payments:read"]}]},"post":{"tags":["Off-cycle Payments"],"summary":"Add off-cycle payment","operationId":"addOffCyclePayment","description":"Add a new invoice line-item for the purpose of an off-cycle payment associated with a specific contract. This is typically used for exceptional payments outside the regular payment schedule.\n **Token scopes**: `off-cycle-payments:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["created"],"properties":{"id":{"type":"string","format":"uuid","description":"The unique identifier of the created off-cycle payment."},"created":{"type":"boolean","description":"Indicates whether the off-cycle payment was successfully created."}}}}},"examples":{"success":{"value":{"data":{"id":"123e4567-e89b-12d3-a456-426614174000","created":true}}}}}},"description":"The off-cycle payment was successfully created."},"400":{"content":{"application/json":{"examples":{"error":{"value":{"error":{"code":400,"message":"Invalid contract ID or input data provided."}}}}}},"description":"Invalid request parameters."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"content":{"application/json":{"examples":{"error":{"value":{"error":{"code":404,"message":"Contract with the specified ID does not exist."}}}}}},"description":"Contract not found."},"500":{"content":{"application/json":{"examples":{"error":{"value":{"error":{"code":500,"message":"An unexpected error occurred while creating the off-cycle payment."}}}}}},"description":"Internal server error."}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"38g2edw","required":true,"description":"The unique identifier (ID) of the Deel contract for which the off-cycle payment is being created."}],"security":[{"deelToken":[]},{"oauth2":["off-cycle-payments:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":false,"required":["date_submitted","amount","description"],"properties":{"amount":{"type":"number","minimum":0,"nullable":false,"description":"The amount of the off-cycle payment."},"description":{"type":"string","nullable":false,"description":"A description or reason for the off-cycle payment."},"date_submitted":{"type":"string","format":"date","description":"The date the off-cycle payment is submitted, in ISO-8601 format (YYYY-MM-DD)."},"is_auto_approved":{"type":"boolean","example":true,"description":"If true, the off-cycle payment will be automatically approved as part of the request."},"hourly_report_preset_id":{"type":"string","format":"uuid","example":"990c9b5b-6d41-4917-b032-ac049877df3a","nullable":true,"description":"Id of an existing preset."}}}}},"examples":{"success":{"value":{"data":{"amount":500,"description":"Reimbursement for travel expenses","date_submitted":"2024-12-01"}}}}}},"required":true,"description":"Details of the off-cycle payment to be created."}}},"/managers":{"get":{"tags":["Managers"],"summary":"Retrieve List of Managers","operationId":"getManagers","description":"Retrieve a list of all managers in the organization along with pagination details.\n **Token scopes**: `organizations:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data","page"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","nullable":false,"description":"Unique identifier of the manager."},"email":{"type":"string","format":"email","example":"john.doe@example.com","description":"The email address of the manager.","x-sensitive-pii":true},"last_name":{"type":"string","example":"Doe","nullable":false,"description":"The last name of the manager.","x-sensitive-pii":true},"first_name":{"type":"string","example":"John","nullable":false,"description":"The first name of the manager.","x-sensitive-pii":true}}},"description":"List of managers in the organization."},"page":{"type":"object","required":["total_rows"],"properties":{"offset":{"type":"number","example":10,"nullable":true,"description":"The offset/index of the current page."},"total_rows":{"type":"number","example":50,"nullable":false,"description":"Total number of rows available for this resource."},"items_per_page":{"type":"number","example":10,"nullable":true,"description":"Number of items returned per page."}},"description":"Pagination details for the response."}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"query","name":"limit","schema":{"type":"integer","minimum":1,"description":"Maximum number of records to return per page."},"example":10,"description":"The number of records to return in the response."},{"in":"query","name":"offset","schema":{"type":"integer","minimum":0,"description":"The starting index for the page of records to return."},"example":0,"description":"The offset or starting point for pagination."}],"security":[{"deelToken":[]},{"oauth2":["organizations:read"]}]},"post":{"tags":["Managers"],"summary":"Create a Manager","operationId":"createManager","description":"Create a new manager for the organization by providing the required user details. This endpoint returns the newly created manager's information.\n **Token scopes**: `organizations:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","example":{"data":{"id":"00000000-0000-0000-0000-000000000000","email":"john.doe@example.com","last_name":"Doe","first_name":"John"}},"required":["data"],"properties":{"data":{"type":"object","required":["id","first_name","last_name","email"],"properties":{"id":{"type":"string","format":"uuid","example":"00000000-0000-0000-0000-000000000000","description":"The unique identifier of the created manager."},"email":{"type":"string","format":"email","example":"john.doe@example.com","description":"The email address of the created manager."},"last_name":{"type":"string","example":"Doe","description":"The last name of the created manager."},"first_name":{"type":"string","example":"John","description":"The first name of the created manager."}}}}}}},"description":"Manager created successfully."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Invalid email format.","description":"Description of the validation error."}}}}},"description":"Invalid request. The input data did not meet the required validation rules."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"409":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"A manager with this email already exists.","description":"Explanation of the conflict error."}}}}},"description":"Conflict. A manager with the provided email already exists."},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"security":[{"deelToken":[]},{"oauth2":["organizations:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["first_name","last_name","email"],"properties":{"email":{"type":"string","format":"email","example":"email@example.com","description":"The email address of the manager."},"last_name":{"type":"string","example":"Doe","minLength":1,"description":"The last name of the manager."},"first_name":{"type":"string","example":"John","minLength":1,"description":"The first name of the manager."}}}}}}},"required":true,"description":"Details of the new manager to be created."}}},"/time_tracking/shifts":{"get":{"tags":["Time Tracking Shifts"],"summary":"List of shifts","operationId":"listOfShifts","description":"Retrieve a paginated list of shifts with details such as start and end times, breaks, metadata, and summary metrics. Supports pagination through `limit` and `offset` query parameters and filtering by `contractId`, date range (`fromDate` and `toDate`).\n **Token scopes**: `time-tracking:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data","page"],"properties":{"data":{"type":"array","items":{"type":"object","required":["external_id","contract_id","description","date_of_work","created_at","updated_at"],"properties":{"meta":{"type":"object","properties":{"end":{"type":"object","properties":{"date":{"type":"string","example":"2023-10-01","description":"End date of the shift."},"time":{"type":"string","example":"17:00","description":"End time of the shift."},"is_rest_day":{"type":"boolean","example":false,"description":"Indicates if the shift end day is a rest day."},"is_public_holiday":{"type":"boolean","example":false,"description":"Indicates if the shift end day is a public holiday."}},"description":"End time details of the shift."},"start":{"type":"object","properties":{"date":{"type":"string","example":"2023-10-01","description":"Start date of the shift."},"time":{"type":"string","example":"08:00","description":"Start time of the shift."},"is_rest_day":{"type":"boolean","example":false,"description":"Indicates if the shift start day is a rest day."},"is_public_holiday":{"type":"boolean","example":false,"description":"Indicates if the shift start day is a public holiday."}},"description":"Start time details of the shift."},"breaks":{"type":"array","items":{"type":"object","properties":{"end":{"type":"object","properties":{"date":{"type":"string","example":"2023-10-01","description":"Break end date."},"time":{"type":"string","example":"12:30","description":"Break end time."}},"description":"End time details of the break."},"start":{"type":"object","properties":{"date":{"type":"string","example":"2023-10-01","description":"Break start date."},"time":{"type":"string","example":"12:00","description":"Break start time."}},"description":"Start time details of the break."},"is_paid":{"type":"boolean","example":true,"description":"Indicates if the break is paid."}}},"description":"List of break periods within the shift."},"approval_date":{"type":"string","example":"2023-10-02T00:00:00.000Z","description":"Approval date of the shift."}},"description":"Metadata containing detailed information about the shift timing, breaks, and approval status."},"summary":{"type":"object","properties":{"total_break_hours":{"type":"number","example":1,"description":"Total break hours within the shift."},"payable_break_hours":{"type":"number","example":0.5,"description":"Total payable break hours."},"total_payable_hours":{"type":"number","example":7.5,"description":"Total payable hours for the shift."},"shift_duration_hours":{"type":"number","example":8,"description":"Total duration of the shift in hours."},"shift_rate_external_id":{"type":"string","example":"rate1234","description":"External ID of the shift rate associated with the shift."}},"description":"Summary of calculated hours and rates for the shift."},"created_at":{"type":"string","example":"2024-10-02T05:09:35.691Z","description":"Timestamp when the shift was created."},"updated_at":{"type":"string","example":"2024-10-02T05:09:35.691Z","description":"Timestamp when the shift was last updated."},"contract_id":{"type":"string","example":"1234","description":"Contract ID associated with the shift."},"description":{"type":"string","example":"This is a sample shift description.","description":"Description of the shift."},"external_id":{"type":"string","example":"shift_123456r","description":"Unique identifier of the shift."},"date_of_work":{"type":"string","example":"2023-10-01","description":"The date of work for the shift."},"payroll_cycle_ref":{"type":"object","required":["date"],"properties":{"date":{"type":"string","example":"2023-10-31T00:00:00.000Z","description":"Date in ISO 8601 format that helps referencing a payroll cycle"}},"description":"Reference to the payroll cycle associated with this shift."}}},"description":"List of shift records."},"page":{"type":"object","required":["total_rows","items_per_page","offset"],"properties":{"offset":{"type":"integer","example":0,"description":"Offset used for pagination."},"total_rows":{"type":"integer","example":6,"description":"Total number of shifts available."},"items_per_page":{"type":"integer","example":200,"description":"Number of items returned per page."}},"description":"Pagination information for the response."}}},"examples":{"success":{"value":{"data":[{"summary":{"total_break_hours":1,"payable_break_hours":0.5,"total_payable_hours":7.5,"shift_duration_hours":8,"shift_rate_external_id":"rate1234"},"created_at":"2024-10-02T05:09:35.691Z","updated_at":"2024-10-02T05:09:35.691Z","contract_id":"1234","description":"Sample shift description","external_id":"shift_123456r","date_of_work":"2023-10-01"}],"page":{"offset":0,"total_rows":6,"items_per_page":200}},"summary":"Example successful response"}}}},"description":"Successful response with paginated shifts."},"400":{"content":{"application/json":{"examples":{"error":{"value":{"error":{"message":"Invalid pagination parameters"}},"summary":"Example error response"}}}},"description":"Invalid request parameters."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"query","name":"limit","schema":{"type":"string","pattern":"^[0-9]+$"},"example":"20","description":"Maximum number of records to return."},{"in":"query","name":"offset","schema":{"type":"string","pattern":"^[0-9]+$"},"example":"0","description":"Offset/index of record for the next page of records to return."},{"in":"query","name":"from_date","schema":{"type":"string","format":"date"},"example":"2025-01-01","description":"Filter shifts from this date (YYYY-MM-DD)."},{"in":"query","name":"to_date","schema":{"type":"string","format":"date"},"example":"2025-12-31","description":"Filter shifts until this date (YYYY-MM-DD)."},{"in":"query","name":"contract_id[]","style":"form","schema":{"type":"array","items":{"type":"string"}},"example":["CONTRACT-001","CONTRACT-002"],"explode":true,"description":"Filter shifts by one or more contract IDs."}],"security":[{"deelToken":[]},{"oauth2":["time-tracking:read"]}]},"post":{"tags":["Time Tracking Shifts"],"summary":"Create shifts","operationId":"createShifts","description":"Creates multiple time tracking shifts for a contract, supporting both regular shift submissions and corrections that adjust hours for previously processed shifts.\n **Token scopes**: `time-tracking:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["external_id","contract_id","date_of_work","description","summary","shift_type"],"properties":{"summary":{"type":"object","required":["shift_rate_external_id"],"properties":{"time_unit":{"enum":["HOUR","DAY","WEEK","MONTH"],"type":"string","example":"HOUR","description":"Time unit"},"time_amount":{"type":"number","example":8,"description":"Time amount"},"total_break_hours":{"type":"number","example":2,"description":"Total break hours"},"payable_break_hours":{"type":"number","example":2,"description":"Payable break hours"},"total_payable_hours":{"type":"number","example":2,"description":"Total payable hours"},"shift_duration_hours":{"type":"number","example":2,"description":"Shift duration hours"},"shift_rate_external_id":{"type":"string","example":"abcd","description":"Shift rate external ID"}},"description":"Summary of calculated time and rates for the shift."},"created_at":{"type":"string","format":"date-time","example":"2024-10-08T12:08:29.695Z","description":"Creation timestamp of the shift."},"shift_type":{"enum":["REGULAR","CORRECTION_ABSOLUTE","CORRECTION_DELTA"],"type":"string","example":"REGULAR","description":"Type of the shift"},"updated_at":{"type":"string","format":"date-time","example":"2024-10-08T12:08:29.695Z","description":"Last update timestamp of the shift."},"contract_id":{"type":"string","example":"3j5z2e6","description":"The unique identifier of the employee contract."},"description":{"type":"string","example":"This is a sample shift description.","description":"Description of the shift."},"external_id":{"type":"string","example":"shift_123456r","description":"Unique identifier of the shift."},"date_of_work":{"type":"string","format":"date","example":"2023-10-01","description":"Date of the shift."},"payroll_cycle_ref":{"type":"object","required":["date"],"properties":{"date":{"type":"string","format":"date-time","example":"2023-10-31T00:00:00.000Z","description":"Date in ISO 8601 format that helps referencing a payroll cycle"}},"description":"Reference to the payroll cycle associated with this shift."},"shift_reference_id":{"type":"string","example":"shift-ref-123","description":"Reference ID for the shift"}}},"description":"List of created shift records."}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"example":{"errors":[{"code":"bad_request","path":"data.shifts.0.external_id","message":"Required"}]}}},"description":"Bad Request - Validation error in the request body."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["time-tracking:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["contract_id","shifts"],"properties":{"shifts":{"type":"array","items":{"oneOf":[{"type":"object","title":"Regular Shift (RECOMMENDED)","required":["external_id","date_of_work","description","summary"],"properties":{"summary":{"type":"object","required":["shift_rate_external_id","time_unit","time_amount"],"properties":{"time_unit":{"enum":["HOUR","MONTH","DAY","WEEK"],"type":"string","example":"HOUR","description":"Time unit"},"time_amount":{"type":"number","example":2,"description":"Time amount"},"shift_rate_external_id":{"type":"string","example":"abcd","description":"Shift Rate external ID"}},"description":"Summary of calculated time and rates for the shift."},"shift_type":{"enum":["REGULAR"],"type":"string","example":"REGULAR","description":"Type of the shift"},"description":{"type":"string","example":"sample description","description":"Description of the shift."},"external_id":{"type":"string","example":"shift_123456","description":"External ID of the shift."},"date_of_work":{"type":"string","format":"date","example":"2023-10-01","description":"Date of shift work"},"payroll_cycle_ref":{"type":"object","required":["date"],"properties":{"date":{"type":"string","format":"date-time","example":"2023-10-31T00:00:00.000Z","description":"Date in ISO 8601 format that helps referencing a payroll cycle"}},"description":"Reference to the payroll cycle associated with this shift."}}},{"type":"object","title":"Correction Absolute Shift (RECOMMENDED)","required":["external_id","description","summary","shift_reference_id","shift_type"],"properties":{"summary":{"type":"object","required":["time_amount"],"properties":{"time_amount":{"type":"number","example":2,"description":"Time amount"}},"description":"Summary of calculated time and rates for the correction shift."},"shift_type":{"enum":["CORRECTION_ABSOLUTE"],"type":"string","example":"CORRECTION_ABSOLUTE","description":"Type of the shift"},"description":{"type":"string","example":"Absolute correction for shift hours","description":"Description of the correction shift."},"external_id":{"type":"string","example":"correction_shift_123456","description":"External ID of the correction shift."},"payroll_cycle_ref":{"type":"object","required":["date"],"properties":{"date":{"type":"string","format":"date-time","example":"2023-10-31T00:00:00.000Z","description":"Date in ISO 8601 format that helps referencing a payroll cycle"}},"description":"Reference to the payroll cycle associated with this shift."},"shift_reference_id":{"type":"string","example":"original_shift_123","description":"External ID of the original shift being corrected"}}},{"type":"object","title":"Correction Delta Shift (RECOMMENDED)","required":["external_id","description","corrections","shift_reference_id","shift_type"],"properties":{"shift_type":{"enum":["CORRECTION_DELTA"],"type":"string","example":"CORRECTION_DELTA","description":"Type of the shift"},"corrections":{"type":"array","items":{"type":"object","required":["type","time_amount"],"properties":{"type":{"enum":["SUBTRACTION","ADDITION"],"type":"string","example":"SUBTRACTION","description":"Type of correction"},"time_amount":{"type":"number","example":8,"description":"Time amount"}}},"description":"Array of correction adjustments to apply to the original shift."},"description":{"type":"string","example":"Delta correction for overtime hours","description":"Description of the correction shift."},"external_id":{"type":"string","example":"correction_delta_123456","description":"External ID of the correction shift."},"payroll_cycle_ref":{"type":"object","required":["date"],"properties":{"date":{"type":"string","format":"date-time","example":"2023-10-31T00:00:00.000Z","description":"Date in ISO 8601 format that helps referencing a payroll cycle"}},"description":"Reference to the payroll cycle associated with this shift."},"shift_reference_id":{"type":"string","example":"original_shift_123","description":"External ID of the original shift being corrected"}}},{"type":"object","title":"Regular Shift (NOT RECOMMENDED - LEGACY)","required":["external_id","date_of_work","description","summary"],"properties":{"summary":{"type":"object","required":["shift_rate_external_id","total_payable_hours"],"properties":{"total_break_hours":{"type":"number","example":2,"description":"Total break hours"},"payable_break_hours":{"type":"number","example":2,"description":"Payable break hours"},"total_payable_hours":{"type":"number","example":2,"description":"Total payable hours"},"shift_duration_hours":{"type":"number","example":2,"description":"Shift duration hours"},"shift_rate_external_id":{"type":"string","example":"abcd","description":"Shift Rate external ID"}},"description":"Summary of calculated hours and rates for the shift."},"shift_type":{"enum":["REGULAR"],"type":"string","example":"REGULAR","description":"Type of the shift"},"description":{"type":"string","example":"sample description","description":"Description of the shift."},"external_id":{"type":"string","example":"shift_123456","description":"External ID of the shift."},"date_of_work":{"type":"string","format":"date","example":"2023-10-01","description":"Date of shift work"},"payroll_cycle_ref":{"type":"object","required":["date"],"properties":{"date":{"type":"string","format":"date-time","example":"2023-10-31T00:00:00.000Z","description":"Date in ISO 8601 format that helps referencing a payroll cycle"}},"description":"Reference to the payroll cycle associated with this shift."}}},{"type":"object","title":"Correction Absolute Shift (NOT RECOMMENDED - LEGACY)","required":["external_id","description","summary","shift_reference_id","shift_type"],"properties":{"summary":{"type":"object","required":["total_payable_hours"],"properties":{"total_break_hours":{"type":"number","example":1,"description":"Absolute total break hours"},"payable_break_hours":{"type":"number","example":0.5,"description":"Absolute payable break hours"},"total_payable_hours":{"type":"number","example":8,"description":"Absolute total payable hours"},"shift_duration_hours":{"type":"number","example":9,"description":"Absolute shift duration hours"}},"description":"Summary of calculated hours and rates for the correction shift."},"shift_type":{"enum":["CORRECTION_ABSOLUTE"],"type":"string","example":"CORRECTION_ABSOLUTE","description":"Type of the shift"},"description":{"type":"string","example":"Absolute correction for shift hours","description":"Description of the correction shift."},"external_id":{"type":"string","example":"correction_shift_123456","description":"External ID of the correction shift."},"payroll_cycle_ref":{"type":"object","required":["date"],"properties":{"date":{"type":"string","example":"2023-10-31T00:00:00.000Z","description":"Date in ISO 8601 format that helps referencing a payroll cycle"}},"description":"Reference to the payroll cycle associated with this shift."},"shift_reference_id":{"type":"string","example":"original_shift_123","description":"External ID of the original shift being corrected"}}},{"type":"object","title":"Correction Delta Shift (NOT RECOMMENDED - LEGACY)","required":["external_id","description","corrections","shift_reference_id","shift_type"],"properties":{"shift_type":{"enum":["CORRECTION_DELTA"],"type":"string","example":"CORRECTION_DELTA","description":"Type of the shift"},"corrections":{"type":"array","items":{"type":"object","required":["type"],"properties":{"type":{"type":"string","example":"ADDITION","description":"Type of correction"},"total_break_hours":{"type":"number","example":1,"description":"Break hours to add or subtract"},"payable_break_hours":{"type":"number","example":1,"description":"Payable break hours to add or subtract"},"total_payable_hours":{"type":"number","example":1,"description":"Payable hours to add or subtract"},"shift_duration_hours":{"type":"number","example":1,"description":"Shift duration hours to add or subtract"}},"additionalProperties":false},"description":"Array of correction adjustments to apply to the original shift."},"description":{"type":"string","example":"Delta correction for overtime hours","description":"Description of the correction shift."},"external_id":{"type":"string","example":"correction_delta_123456","description":"External ID of the correction shift."},"payroll_cycle_ref":{"type":"object","required":["date"],"properties":{"date":{"type":"string","example":"2023-10-31T00:00:00.000Z","description":"Date in ISO 8601 format that helps referencing a payroll cycle"}},"description":"Reference to the payroll cycle associated with this shift."},"shift_reference_id":{"type":"string","example":"original_shift_123","description":"External ID of the original shift being corrected"}}}]},"description":"Array of shift records to be created, supporting regular shifts and correction shifts."},"contract_id":{"type":"string","example":"3j5z2e6","description":"The unique identifier of the employee contract."}},"description":"Request data containing contract ID and shifts to be created."}}}}},"description":"Request body to create time tracking shifts supporting regular shifts and correction shifts."}}},"/ats/applications":{"get":{"tags":["ATS"],"summary":"Retrieve a list of ATS applications","operationId":"retrieveAListOfAtsApplications-v2026-01-01","description":"List applications: Returns a paginated list of candidate applications for an organization. Use this to track and review the progress of candidates across all open positions. Supports cursor-based pagination and filtering via query parameters. Scope: ats:read\n **Token scopes**: `ats:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data","total_count","next_cursor","has_more"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","numeric_id","created_at","moved_to_current_stage_at"],"properties":{"id":{"type":"string","format":"uuid","example":"f6281620-93be-45fb-ab91-dd1d8cd89395","description":"Application unique identifier"},"job":{"type":"object","example":{"id":"45039abb-82a7-49c8-80f7-dbb0946c5fd4","title":"Senior Product Designer"},"required":["id","title"],"properties":{"id":{"type":"string","format":"uuid","example":"45039abb-82a7-49c8-80f7-dbb0946c5fd4","description":"Job unique identifier"},"title":{"type":"string","example":"Product Designer","description":"Job title"}},"description":"Job information for the application"},"candidate":{"type":"object","example":{"id":"7b6b3d8e-84b7-4bbe-a680-faf2bec43dca","email":"john.doe@example.com","pic_url":"https://example.com/avatars/john-doe.jpg","last_name":"Doe","first_name":"John","phone_number":"+1234567890","candidate_tags":[]},"required":["id","first_name","last_name","email","phone_number","pic_url","candidate_tags"],"properties":{"id":{"type":"string","format":"uuid","example":"7b6b3d8e-84b7-4bbe-a680-faf2bec43dca","description":"Candidate unique identifier"},"email":{"type":"string","format":"email","example":"john.doe@example.com","description":"Candidate email address","x-sensitive-pii":true},"pic_url":{"type":"string","example":"https://example.com/profile.jpg","nullable":true,"description":"Candidate profile picture URL","x-sensitive-pii":true},"last_name":{"type":"string","example":"Doe","description":"Candidate last name","x-sensitive-pii":true},"first_name":{"type":"string","example":"John","description":"Candidate first name","x-sensitive-pii":true},"phone_number":{"type":"string","example":"+1234567890","nullable":true,"description":"Candidate phone number (may be empty string or null)","x-sensitive-pii":true},"candidate_tags":{"type":"array","items":{"type":"object","required":["id","tag"],"properties":{"id":{"type":"string","format":"uuid","example":"0d84657e-2fce-4f67-8cb1-9d88cf1ff994","description":"Candidate tag unique identifier"},"tag":{"type":"object","required":["id","label"],"properties":{"id":{"type":"string","format":"uuid","example":"c8a7d362-6960-4f75-98d3-5118df39c84c","description":"Tag unique identifier"},"label":{"type":"string","example":"Top talent","description":"Tag label"}}}}},"description":"Tags associated with the candidate"}},"description":"Candidate information associated with the application"},"created_at":{"type":"string","format":"date-time","example":"2025-06-18T13:04:03.920Z","description":"Timestamp of when the application was created"},"numeric_id":{"type":"integer","example":183,"description":"Application numeric identifier"},"job_posting":{"type":"object","example":{"id":"c3d4e5f6-a7b8-9012-3456-7890abcdef12","title":"Senior Product Designer - Remote"},"nullable":true,"required":["id","title"],"properties":{"id":{"type":"string","format":"uuid","example":"c3d4e5f6-a7b8-9012-3456-7890abcdef12","description":"Job posting unique identifier"},"title":{"type":"string","example":"Product Designer - Remote","description":"Job posting title"}},"description":"Job posting information (if application came through a posting)"},"source_slug":{"enum":["SOURCED_INTERNALLY","EXTERNAL_CAREER_PAGE","LINKEDIN_PREMIUM","LINKEDIN_BASIC","INTERNAL_CAREER_PAGE","INTERNAL_REFERRAL","BULK_IMPORTED"],"type":"string","example":"INTERNAL_CAREER_PAGE","nullable":true,"description":"Source of the application"},"job_employment_type":{"type":"object","example":{"id":"98ee37f0-9dd1-4d0f-82d9-1008e7cc92e6","employment_type":{"id":"e34044e5-412c-4033-b940-8d0956d5943b","name":"Full-time"}},"required":["id","employment_type"],"properties":{"id":{"type":"string","format":"uuid","example":"98ee37f0-9dd1-4d0f-82d9-1008e7cc92e6","description":"Job employment type unique identifier"},"employment_type":{"type":"object","required":["id","name"],"properties":{"id":{"type":"string","format":"uuid","example":"e34044e5-412c-4033-b940-8d0956d5943b","description":"Employment type unique identifier"},"name":{"type":"string","example":"Full-time","description":"Employment type name"}}}},"description":"Employment type information for the job"},"moved_to_current_stage_at":{"type":"string","format":"date-time","example":"2025-06-18T13:04:04.805Z","description":"Timestamp of when the application moved to current stage"},"application_form_submission":{"type":"object","nullable":true,"required":["id","answers"],"properties":{"id":{"type":"string","format":"uuid","example":"509d5153-5b10-4718-b16f-417e726d39f1","nullable":true,"description":"Identifier of the application form submission"},"answers":{"type":"array","items":{"type":"object","example":"John Doe","required":["data_binding_id","question_type","question_text","answer"],"properties":{"answer":{"oneOf":[{"type":"string","example":"John Doe","description":"Text answer"},{"type":"number","example":42,"description":"Numeric answer"}]},"question_text":{"type":"string","example":"Full Name","description":"Text of the question"},"question_type":{"enum":["FREETEXT","PARAGRAPH","SINGLESELECTION","MULTISELECTION","DOCUMENTUPLOAD","PRESETDROPDOWN","CUSTOMDROPDOWN","NUMBER","DATEPICKER","ADDRESS","PHONENUMBER","EMAIL"],"type":"string","example":"FREETEXT","description":"Type of the question (uppercase)"},"data_binding_id":{"type":"string","format":"uuid","example":"83a642fd-de0a-45f6-8fe0-b9188ed72990","description":"Data binding identifier for the question"}},"description":"Parsed form submission answer"},"nullable":true,"description":"Array of parsed form submission answers"}},"description":"Application form submission data with parsed answers"},"application_job_criterias_matchings":{"type":"array","items":{"type":"object","required":["id","job_criteria_id","description","is_matched"],"properties":{"id":{"type":"string","format":"uuid","example":"a7b8c9d0-e1f2-3456-789a-bcdef1234567","description":"Job criteria matching unique identifier"},"is_matched":{"enum":["MATCHED","NOT_MATCHED","UNDECIDED"],"type":"string","example":"MATCHED","description":"Whether the criteria is matched"},"description":{"type":"string","example":"5+ years of experience with React","description":"Job criteria matching description"},"job_criteria_id":{"type":"string","format":"uuid","example":"b8c9d0e1-f2a3-4567-89ab-cdef12345678","description":"Job criteria unique identifier"}}},"example":[{"id":"a7b8c9d0-e1f2-3456-789a-bcdef1234567","is_matched":"MATCHED","description":"5+ years of experience with design systems","job_criteria_id":"b8c9d0e1-f2a3-4567-89ab-cdef12345678"}],"description":"AI-generated job criteria matching results for the application"},"created_by_hris_organization_user_id":{"type":"string","format":"uuid","example":"b2ab2c64-9443-455a-af6e-eed9f3426b26","nullable":true,"description":"User who created the application"},"current_application_interview_plan_stage":{"type":"object","example":{"id":"cc7ec13b-c0c7-46d7-b9a2-e7f60503a8a2","application_id":"f6281620-93be-45fb-ab91-dd1d8cd89395","interview_plan_stage":{"id":"5c1d7a1b-d1db-4987-a406-9f87d57a4f04","name":"Technical Interview","default_type_slug":"technical_interview","category_type_slug":"active"},"interview_plan_stage_id":"5c1d7a1b-d1db-4987-a406-9f87d57a4f04"},"required":["id","interview_plan_stage_id","application_id","interview_plan_stage"],"properties":{"id":{"type":"string","format":"uuid","example":"cc7ec13b-c0c7-46d7-b9a2-e7f60503a8a2","description":"Application interview plan stage unique identifier"},"application_id":{"type":"string","format":"uuid","example":"f6281620-93be-45fb-ab91-dd1d8cd89395","description":"Application unique identifier"},"interview_plan_stage":{"type":"object","required":["id","name","category_type_slug","default_type_slug"],"properties":{"id":{"type":"string","format":"uuid","example":"5c1d7a1b-d1db-4987-a406-9f87d57a4f04","description":"Interview plan stage unique identifier"},"name":{"type":"string","example":"New lead","description":"Interview plan stage name"},"default_type_slug":{"type":"string","example":"new_lead","nullable":true,"description":"Interview plan stage default type slug"},"category_type_slug":{"type":"string","example":"lead","description":"Interview plan stage category type"}}},"interview_plan_stage_id":{"type":"string","format":"uuid","example":"5c1d7a1b-d1db-4987-a406-9f87d57a4f04","description":"Interview plan stage unique identifier"}},"description":"Current interview plan stage information for the application"},"current_application_interview_plan_stage_id":{"type":"string","format":"uuid","example":"cc7ec13b-c0c7-46d7-b9a2-e7f60503a8a2","nullable":true,"description":"Current interview plan stage unique identifier"},"application_form_form_builder_form_submission_id":{"type":"string","format":"uuid","example":"b8c9d0e1-f2a3-4567-89ab-cdef12345678","nullable":true,"description":"Application form submission unique identifier"}}}},"has_more":{"type":"boolean","example":true,"description":"Indicates if there are more applications to fetch"},"next_cursor":{"type":"string","example":"eyJsYXN0Q3JlYXRlZEF0IjoiMjAyNS0wNi0xOFQwOToxNzoyMi40NDFaIiwibGFzdElkIjoiMWVhOTlmMzYtZWEzYy00N2QyLWI3NDAtNmFkNTM2ZjU4OTI4In0=","nullable":true,"description":"Cursor for the next page of results"},"total_count":{"type":"integer","example":6,"description":"Total number of applications available"}}},"example":{"data":[{"id":"f6281620-93be-45fb-ab91-dd1d8cd89395","job":{"id":"45039abb-82a7-49c8-80f7-dbb0946c5fd4","title":"Senior Product Designer"},"candidate":{"id":"7b6b3d8e-84b7-4bbe-a680-faf2bec43dca","email":"john.doe@example.com","pic_url":"https://example.com/avatars/john-doe.jpg","last_name":"Doe","first_name":"John","phone_number":"+1234567890","candidate_tags":[{"id":"0d84657e-2fce-4f67-8cb1-9d88cf1ff994","tag":{"id":"c8a7d362-6960-4f75-98d3-5118df39c84c","label":"Top talent"}},{"id":"d5a42e62-6872-46bf-906c-4df01b51eaf0","tag":{"id":"06ace055-faf4-4436-a148-76e58ee95d13","label":"Technical expert"}}]},"created_at":"2025-06-18T13:04:03.920Z","numeric_id":183,"job_posting":{"id":"c3d4e5f6-a7b8-9012-3456-7890abcdef12","title":"Senior Product Designer - Remote"},"source_slug":"INTERNAL_CAREER_PAGE","job_employment_type":{"id":"98ee37f0-9dd1-4d0f-82d9-1008e7cc92e6","employment_type":{"id":"e34044e5-412c-4033-b940-8d0956d5943b","name":"Full-time"}},"moved_to_current_stage_at":"2025-06-18T13:04:04.805Z","application_form_submission":{"id":"a1b2c3d4-e5f6-7890-abcd-ef1234567890","answers":[{"answer":"John Doe","question_text":"Full Name","question_type":"FREETEXT","data_binding_id":"83a642fd-de0a-45f6-8fe0-b9188ed72990"}]},"application_job_criterias_matchings":[{"id":"a7b8c9d0-e1f2-3456-789a-bcdef1234567","is_matched":"MATCHED","description":"5+ years of experience with design systems","job_criteria_id":"b8c9d0e1-f2a3-4567-89ab-cdef12345678"},{"id":"b8c9d0e1-f2a3-4567-89ab-cdef12345679","is_matched":"MATCHED","description":"Experience with Figma and prototyping tools","job_criteria_id":"c9d0e1f2-a3b4-5678-9abc-def123456789"},{"id":"c9d0e1f2-a3b4-5678-9abc-def12345678a","is_matched":"UNDECIDED","description":"Portfolio demonstrating UX research skills","job_criteria_id":"d0e1f2a3-b4c5-6789-abcd-ef123456789a"}],"created_by_hris_organization_user_id":"b2ab2c64-9443-455a-af6e-eed9f3426b26","current_application_interview_plan_stage":{"id":"cc7ec13b-c0c7-46d7-b9a2-e7f60503a8a2","application_id":"f6281620-93be-45fb-ab91-dd1d8cd89395","interview_plan_stage":{"id":"5c1d7a1b-d1db-4987-a406-9f87d57a4f04","name":"Technical Interview","default_type_slug":"technical_interview","category_type_slug":"active"},"interview_plan_stage_id":"5c1d7a1b-d1db-4987-a406-9f87d57a4f04"},"current_application_interview_plan_stage_id":"cc7ec13b-c0c7-46d7-b9a2-e7f60503a8a2","application_form_form_builder_form_submission_id":"a1b2c3d4-e5f6-7890-abcd-ef1234567890"}],"has_more":true,"next_cursor":"eyJsYXN0Q3JlYXRlZEF0IjoiMjAyNS0wNi0xOFQxMzowNDowMy45MjBaIiwibGFzdElkIjoiZjYyODE2MjAtOTNiZS00NWZiLWFiOTEtZGQxZDhjZDg5Mzk1In0=","total_count":150}}},"description":"Successfully retrieved applications"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_parameter","description":"Machine-readable error code"},"field":{"type":"string","example":"/data/example_field","description":"Name of the field causing the error (for validation issues)"},"message":{"type":"string","example":"Must have required property 'example_field'","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"service_unavailable","description":"Machine-readable error code"},"message":{"type":"string","example":"The service is currently experiencing issues","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."}},"parameters":[{"in":"query","name":"cursor","schema":{"type":"string","maxLength":1000},"example":"eyJsYXN0Q3JlYXRlZEF0IjoiMjAyNS0wNi0xOFQwOToxNzoyMi40NDFaIiwibGFzdElkIjoiMWVhOTlmMzYtZWEzYy00N2QyLWI3NDAtNmFkNTM2ZjU4OTI4In0=","required":false,"description":"Cursor for pagination. Use the nextCursor value from the previous response to get the next page of results."},{"in":"query","name":"limit","schema":{"type":"integer","default":20,"maximum":100,"minimum":1},"example":25,"required":false,"description":"Maximum number of applications to return per page"},{"in":"query","name":"search_text","schema":{"type":"string","maxLength":500},"example":"john doe","required":false,"description":"Search text to filter applications by candidate name or email"},{"in":"query","name":"job_id","schema":{"type":"string","format":"uuid"},"example":"45039abb-82a7-49c8-80f7-dbb0946c5fd4","required":false,"description":"Filter applications by specific job ID"},{"in":"query","name":"interview_plan_stage_ids","schema":{"type":"array","items":{"type":"string","format":"uuid"}},"example":["29e13ec4-d41d-43a6-aca2-bb22b06f4ab2","2e8deac2-5d0f-4561-81fc-d1903390de29"],"required":false,"description":"Filter applications by specific interview plan stage IDs"},{"in":"query","name":"candidate_tag_ids","schema":{"type":"array","items":{"type":"string","format":"uuid"}},"example":["c8a7d362-6960-4f75-98d3-5118df39c84c","06ace055-faf4-4436-a148-76e58ee95d13"],"required":false,"description":"Filter applications by candidate tag IDs"},{"in":"query","name":"source_slugs","schema":{"type":"array","items":{"type":"string"}},"example":["sourced_internally","linkedin_premium"],"required":false,"description":"Filter applications by source slugs"},{"in":"query","name":"job_criterias_matchings","schema":{"type":"array","items":{"type":"object","required":["job_criteria_id","is_matched"],"properties":{"is_matched":{"enum":["MATCHED","NOT_MATCHED","UNDECIDED"],"type":"string","description":"The matching state for the job criteria"},"job_criteria_id":{"type":"string","format":"uuid","description":"The job criteria ID to filter by"}}}},"example":[{"is_matched":"MATCHED","job_criteria_id":"f8a7d362-6960-4f75-98d3-5118df39c84c"}],"required":false,"description":"Filter applications by job criteria matching state. Each object specifies a job criteria ID and whether the candidate matches it."},{"in":"query","name":"current_stage_category_type_slugs","schema":{"type":"array","items":{"type":"string","maxLength":50}},"example":["lead","active"],"required":false,"description":"Filter applications by current stage category type slugs"},{"in":"query","name":"current_stage_default_type_slugs","schema":{"type":"array","items":{"type":"string","maxLength":50}},"example":["new_lead","screening"],"required":false,"description":"Filter applications by current stage default type slugs. Use 'others' for custom stages."},{"in":"query","name":"updated_after","schema":{"type":"string","format":"date-time"},"example":"2025-06-18T00:00:00.000Z","required":false,"description":"Filter applications updated after this timestamp (ISO 8601 format)"},{"in":"query","name":"sort_by","schema":{"enum":["APPLICATION_CREATION_DATE","STAGE_CREATION_DATE"],"type":"string"},"example":"APPLICATION_CREATION_DATE","required":false,"description":"Field to sort applications by"},{"in":"query","name":"sort_order","schema":{"enum":["ASC","DESC"],"type":"string"},"example":"DESC","required":false,"description":"Sort order for applications"}],"security":[{"deelToken":[]},{"oauth2":["ats:read"]}]},"post":{"tags":["ATS"],"summary":"Create ATS Application","operationId":"createAtsApplication-v2026-01-01","description":"Use this endpoint to create a new application linking an existing candidate to a job in your ATS. Call it when a candidate applies or when importing applications from another system.\n **Token scopes**: `ats:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","numeric_id","job_id","job_posting_id","job_employment_type_id","candidate_id","moved_to_current_stage_at","current_application_interview_plan_stage_id","created_at","updated_at"],"properties":{"id":{"type":"string","format":"uuid","example":"cf3bf34f-89e9-49fb-83a5-32104271f261","description":"Unique identifier for the application"},"job_id":{"type":"string","format":"uuid","example":"3cfbb359-6084-46c0-9d3f-1ed1a1007a7a","description":"Unique identifier for the job"},"created_at":{"type":"string","format":"date-time","example":"2026-01-07T17:51:39.961Z","description":"Timestamp when the application was created"},"numeric_id":{"type":"integer","example":2,"description":"Numeric identifier for the application"},"updated_at":{"type":"string","format":"date-time","example":"2026-01-07T17:51:39.961Z","description":"Timestamp when the application was last updated"},"candidate_id":{"type":"string","format":"uuid","example":"10164abf-6ea2-4fb9-963c-de2fa2ea4e1b","description":"Unique identifier for the candidate"},"job_posting_id":{"type":"string","format":"uuid","example":"10164abf-6ea2-4fb9-963c-de2fa2ea4e1b","nullable":true,"description":"Unique identifier for the job posting"},"job_employment_type_id":{"type":"string","format":"uuid","example":"8ed5dd1f-b8ad-4847-b185-eb8209a3d54f","nullable":true,"description":"Unique identifier for the job employment type"},"moved_to_current_stage_at":{"type":"string","format":"date-time","example":"2026-01-07T17:51:39.961Z","nullable":true,"description":"Timestamp when the application was moved to the current stage"},"current_application_interview_plan_stage_id":{"type":"string","format":"uuid","example":"10164abf-6ea2-4fb9-963c-de2fa2ea4e1b","nullable":true,"description":"Unique identifier for the current application interview plan stage"}}}}}}},"description":"Successful response with application data"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_parameter","description":"Machine-readable error code"},"field":{"type":"string","example":"/data/example_field","description":"Name of the field causing the error (for validation issues)"},"message":{"type":"string","example":"Must have required property 'example_field'","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"service_unavailable","description":"Machine-readable error code"},"message":{"type":"string","example":"The service is currently experiencing issues","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["ats:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["job_id","job_employment_type_id","candidate_id"],"properties":{"notes":{"type":"array","items":{"type":"object","required":["richtext_content"],"properties":{"richtext_content":{"type":"string","example":"<p>Sample note</p>","description":"The richtext content of the note"}}},"example":[{"richtext_content":"Sample note content"}],"nullable":true,"description":"Array of notes to attach to the application"},"job_id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000","description":"The ID of the job for this application"},"candidate_id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174003","description":"The ID of the candidate applying"},"job_posting_id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174001","nullable":true,"description":"The ID of the job posting (optional)"},"job_employment_type_id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174002","description":"The ID of the employment type for this job"},"application_form_submission_data":{"type":"array","items":{"oneOf":[{"type":"object","required":["question_id","type","answer"],"properties":{"type":{"enum":["FREETEXT"],"type":"string","example":"FREETEXT","description":"The type of the question"},"answer":{"type":"string","example":"My answer","description":"The answer text"},"question_id":{"type":"string","example":"q1","description":"The unique identifier of the question"}}},{"type":"object","required":["question_id","type","answer"],"properties":{"type":{"enum":["PARAGRAPH"],"type":"string","example":"PARAGRAPH","description":"The type of the question"},"answer":{"type":"string","example":"My paragraph answer","description":"The paragraph answer text"},"question_id":{"type":"string","example":"q2","description":"The unique identifier of the question"}}},{"type":"object","required":["question_id","type","selected_option_id"],"properties":{"type":{"enum":["SINGLESELECTION"],"type":"string","example":"SINGLESELECTION","description":"The type of the question"},"question_id":{"type":"string","example":"q3","description":"The unique identifier of the question"},"selected_option_id":{"type":"string","example":"opt1","description":"The ID of the selected option"}}},{"type":"object","required":["question_id","type","selected_option_ids"],"properties":{"type":{"enum":["MULTISELECTION"],"type":"string","example":"MULTISELECTION","description":"The type of the question"},"question_id":{"type":"string","example":"q4","description":"The unique identifier of the question"},"selected_option_ids":{"type":"array","items":{"type":"string"},"example":["opt1","opt2"],"description":"Array of selected option IDs"}}},{"type":"object","required":["question_id","type","document_ids"],"properties":{"type":{"enum":["DOCUMENTUPLOAD"],"type":"string","example":"DOCUMENTUPLOAD","description":"The type of the question"},"question_id":{"type":"string","example":"q5","description":"The unique identifier of the question"},"document_ids":{"type":"array","items":{"type":"string"},"example":["doc1"],"description":"Array of uploaded document IDs"}}},{"type":"object","required":["question_id","type","preset","selected_options"],"properties":{"type":{"enum":["PRESETDROPDOWN"],"type":"string","example":"PRESETDROPDOWN","description":"The type of the question"},"preset":{"type":"string","example":"countries","description":"The preset used"},"question_id":{"type":"string","example":"q6","description":"The unique identifier of the question"},"selected_options":{"type":"array","items":{"type":"string"},"example":["USA"],"description":"Array of selected options"}}},{"type":"object","required":["question_id","type","selected_option_ids"],"properties":{"type":{"enum":["CUSTOMDROPDOWN"],"type":"string","example":"CUSTOMDROPDOWN","description":"The type of the question"},"question_id":{"type":"string","example":"q7","description":"The unique identifier of the question"},"selected_option_ids":{"type":"array","items":{"type":"string"},"example":["opt1"],"description":"Array of selected option IDs"}}},{"type":"object","required":["question_id","type","value"],"properties":{"type":{"enum":["NUMBER"],"type":"string","example":"NUMBER","description":"The type of the question"},"value":{"type":"string","example":"100","description":"The numeric answer value"},"question_id":{"type":"string","example":"q8","description":"The unique identifier of the question"}}},{"type":"object","required":["question_id","type"],"properties":{"type":{"enum":["DATEPICKER"],"type":"string","example":"DATEPICKER","description":"The type of the question"},"end_date":{"type":"string","example":"2023-01-05","description":"The end date selected (for ranges)"},"start_date":{"type":"string","example":"2023-01-01","description":"The start date selected"},"question_id":{"type":"string","example":"q9","description":"The unique identifier of the question"}}},{"type":"object","required":["question_id","type","address_city","address_country","address_state","address_street","address_zip_code","address_number"],"properties":{"type":{"enum":["ADDRESS"],"type":"string","example":"ADDRESS","description":"The type of the question"},"question_id":{"type":"string","example":"q10","description":"The unique identifier of the question"},"address_city":{"type":"string","example":"New York","description":"City"},"address_state":{"type":"string","example":"NY","description":"State"},"address_number":{"type":"string","example":"123","description":"Street number"},"address_street":{"type":"string","example":"Broadway","description":"Street name"},"address_country":{"type":"string","example":"USA","description":"Country"},"address_zip_code":{"type":"string","example":"10001","description":"ZIP code"}}},{"type":"object","required":["question_id","type","phone_number"],"properties":{"type":{"enum":["PHONENUMBER"],"type":"string","example":"PHONENUMBER","description":"The type of the question"},"question_id":{"type":"string","example":"q11","description":"The unique identifier of the question"},"phone_number":{"type":"string","example":"+1234567890","description":"The phone number"}}},{"type":"object","required":["question_id","type","email"],"properties":{"type":{"enum":["EMAIL"],"type":"string","example":"EMAIL","description":"The type of the question"},"email":{"type":"string","format":"email","example":"test@example.com","description":"The email address"},"question_id":{"type":"string","example":"q12","description":"The unique identifier of the question"}}}]},"example":[{"type":"FREETEXT","answer":"Sample answer","question_id":"q1"}],"nullable":true,"description":"Array of form submission answers"}}}}}}}}}},"/offboarding/tracker":{"get":{"tags":["Offboarding"],"summary":"Retrieve offboarding list","operationId":"retrieveOffboardingList","description":"Retrieve offboarding list\n **Token scopes**: `contracts:read`, `people:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","example":"John Doo","description":"The name of the individual associated with the offboarding."},"contract":{"type":"object","properties":{"id":{"type":"string","example":"m7yg6zp","description":"The contract ID associated with the individual."}}},"progress":{"type":"object","properties":{"status":{"type":"string","example":"OFFBOARDING_IN_PROGRESS","description":"The current status of the offboarding process (e.g., OFFBOARDING_IN_PROGRESS)."},"reference_date":{"type":"string","example":"2021-07-14T22:00:00+00:00","description":"The reference date for the offboarding status (e.g., the termination date)."},"reference_date_type":{"type":"string","example":"2021-07-14T22:00:00+00:00","description":"The type of reference date (e.g., END_DATE)."},"reference_date_timezone":{"type":"string","example":"Europe/Belgrade","nullable":true,"description":"The timezone of the reference date."}}},"unique_id":{"type":"string","example":"eyJjb250cmFjdE9pZCI6Im03eWc2enAiLCJoaXJpbmdUeXBlIjoiY29udHJhY3RvciIsImhyaXNQcm9maWxlT2lkIjoiYjU1MGI3ZTUtZDZlMS00NjEzLTkzYmEtYTdlZTVmNzU4ODdjIn0","description":"A unique identifier for the offboarding item."},"hiring_type":{"type":"string","example":"contractor","description":"The hiring type for the individual (e.g., contractor)."},"hris_profile":{"type":"object","properties":{"oid":{"type":"string","example":"b550b7e5-d6e1-4613-93ba-a7ee5f75887c","description":"The object ID for the HRIS profile of the individual."}}},"app_experience":{"type":"object","properties":{"is_minimal_requirements":{"type":"boolean","example":true,"description":"Indicates whether the individual meets the minimal experience requirements for the role."}}},"termination_id":{"type":"string","example":"b550b7e5-d6e1-4613-93ba-a7ee5f75887c","nullable":true,"description":"The termination ID if the individual has been terminated."},"offboarding_type":{"type":"string","example":"ENDING_CONTRACT","description":"The type of offboarding (e.g., ENDING_CONTRACT, TERMINATION)."}}},"description":"A list of offboarding items."},"page":{"type":"object","properties":{"cursor":{"type":"string","example":"eyJsaW1pdCI6MiwicGFnaW5hdGlvbiI6eyJwcm9ncmVzc1N0YXR1c1dlaWdodCI6MSwicmVmZXJlbmNlRGF0ZSI6IjIwMjEtMDctMThUMjI6MDA6MDArMDA6MDAiLCJlZmZlY3RpdmVEYXRlIjoiMjAyMS0wNy0xOFQyMjowMDowMCswMDowMCIsImNvbnRyYWN0SWQiOiJONzZsWHdreiJ9LCJzb3J0T3JkZXIiOiJBU0MifQ","nullable":true,"description":"Cursor for pagination to fetch the next page of contractors"},"total_rows":{"type":"integer","example":86,"description":"The total number of contractors available"}}}}}}},"description":"Successfully retrieved list of offboarding"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"query","name":"search","schema":{"type":"string"},"example":"John Doe","required":false,"description":"Search term to filter contracts by name or other attributes"},{"in":"query","name":"hiring_types","style":"form","schema":{"type":"array","items":{"enum":["contractor","employee"],"type":"string","description":"Hiring type (e.g., contractor, employee)"},"default":[]},"example":["contractor"],"explode":true,"required":false},{"in":"query","name":"progress_statuses","style":"form","schema":{"type":"array","items":{"enum":["ACTIVE","INACTIVE","ONBOARDING"],"type":"string","description":"Progress status of the contract"},"default":[]},"example":["ACTIVE"],"explode":true,"required":false},{"in":"query","name":"limit","schema":{"type":"integer","default":20,"minimum":1},"example":50,"required":false,"description":"Number of results to return per page"},{"in":"query","name":"sort_by","schema":{"enum":["progressStatusWeight"],"type":"string","default":"progressStatusWeight"},"example":"progressStatusWeight","required":false,"description":"Field to sort by"},{"in":"query","name":"sort_order","schema":{"enum":["ASC","DESC"],"type":"string","default":"ASC"},"example":"DESC","required":false,"description":"Sorting order"},{"in":"query","name":"pagination","schema":{"type":"object","properties":{"contractId":{"type":"string","example":"contract12345","description":"Contract ID for pagination"},"effectiveDate":{"type":"string","format":"date-time","example":"2024-01-01T00:00:00Z","description":"Effective date for pagination"},"referenceDate":{"type":"string","format":"date-time","example":"2024-01-01T00:00:00Z","description":"Reference date for pagination"},"progressStatusWeight":{"type":"integer","example":1,"description":"Progress status weight for pagination"}}},"required":false},{"in":"query","name":"include_overview","schema":{"type":"boolean","default":false},"example":false,"required":false,"description":"Include an overview of the contract"},{"in":"query","name":"ignore_date_range","schema":{"type":"boolean","default":false},"example":false,"required":false,"description":"Ignore the default 45-day date range and retrieve all terminations"}],"security":[{"deelToken":[]},{"oauth2":["contracts:read","people:read"]}]}},"/onboarding/tracker/{tracker_id}":{"get":{"tags":["Onboarding"],"summary":"Get onboarding details by onboarding tracker ID","operationId":"getOnboardingDetailsByOnboardingTrackerId-v2026-01-01","description":"Use this endpoint to retrieve a comprehensive overview of a worker's onboarding status, including their profile details, contract status, and checklist progress.\n **Token scopes**: `contracts:read`, `people:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"profile":{"type":"object","nullable":true,"properties":{"name":{"type":"string","example":"John Doo","description":"Name associated with the profile","x-sensitive-pii":true},"email":{"type":"string","format":"email","example":"test@email.com","description":"Email of the profile","x-sensitive-pii":true},"country":{"type":"string","example":"CA","description":"Country code","x-sensitive-pii":true},"last_login":{"type":"string","format":"date-time","example":"2021-07-14T22:00:00+00:00","description":"Last login timestamp"},"previously_onboarded":{"type":"boolean","example":true,"description":"Indicates if the contractor has previously onboarded"}},"description":"Employee profile information"},"stepper":{"type":"array","items":{"type":"object","properties":{"data":{"type":"object","properties":{"emails":{"type":"array","items":{"type":"object","properties":{"meta":{"type":"object","properties":{"type":{"type":"string","example":"CONTRACTOR_INVITE_SIGN_UP","description":"Type of email"},"email":{"type":"string","format":"email","example":"test@email.com","description":"Email address","x-sensitive-pii":true},"sent_at":{"type":"string","format":"date-time","example":"2021-07-14T22:00:00+00:00","description":"Timestamp when the email was sent"}},"description":"Email metadata"}}},"description":"List of emails sent during the stepper process"},"next_reminder_date":{"type":"string","format":"date-time","example":"2021-07-14T22:00:00+00:00","nullable":true,"description":"Next reminder date, if applicable"}}},"type":{"type":"string","example":"REMINDER_SENT","description":"Type of the stepper action"},"completed_at":{"type":"string","format":"date-time","example":"2021-07-14T22:00:00+00:00","nullable":true,"description":"Completion timestamp of the stepper action"}},"description":"Stepper action information"},"description":"List of stepper actions taken during the onboarding process"},"summary":{"type":"array","items":{"type":"object","properties":{"data":{"type":"object","properties":{"country":{"type":"string","example":"CA","description":"Country code for location-related summaries"},"timezone":{"type":"string","example":"Europe/Brussels","description":"Timezone information"},"has_withdraw_methods":{"type":"boolean","example":true,"description":"Indicates if withdrawal methods exist"}},"description":"Additional data about the summary item"},"name":{"type":"string","example":"Contract start date","description":"Name of the summary item"},"type":{"type":"string","example":"START_DATE","description":"Type of the summary item"},"value":{"anyOf":[{"type":"string","nullable":true},{"type":"number"},{"type":"boolean"},{"type":"string","format":"date-time","nullable":true},{"type":"object","additionalProperties":true}],"example":"2021-07-14T22:00:00+00:00","description":"Value of the summary item"}},"description":"Summary item information"},"description":"Summary of the onboarding process"},"contract":{"type":"object","properties":{"id":{"type":"string","example":"PzpYaren","description":"Unique contract ID"},"oid":{"type":"string","example":"PzpYaren","description":"Contract OID"},"name":{"type":"string","example":"Contract Name","description":"Contract name"},"status":{"type":"string","example":"in_progress","description":"Contract status (e.g., in_progress)"},"created_at":{"type":"string","format":"date-time","example":"2021-07-14T22:00:00+00:00","description":"Contract creation timestamp"},"first_sign":{"type":"string","example":"client","description":"The first sign (either 'client' or 'contractor')"},"completion_date":{"type":"string","format":"date-time","example":"2021-07-14T22:00:00+00:00","nullable":true,"description":"The completion date of the contract, if applicable"},"client_signed_at":{"type":"string","format":"date-time","example":"2021-07-14T22:00:00+00:00","nullable":true,"description":"Timestamp when the client signed the contract"},"employee_agreement":{"type":"object","properties":{"status":{"type":"string","example":"AwaitingEmployeeSignature","nullable":true,"description":"Status of the Employment Agreement. Can be null if the EA has not yet been generated"},"version_hash":{"type":"string","example":"cdf4f572eb13a5eaf46d","nullable":true,"description":"Version of the Employment Agreement. Can be null if the EA has not yet been generated"}},"description":"Information about the Employment Agreement"},"first_early_invoice":{"type":"object","nullable":true,"properties":{"id":{"type":"string","example":"9r259RyjAnP7GeMpQnjAT","description":"Unique invoice ID"},"amount":{"type":"string","example":"100.00","description":"Invoice amount"},"status":{"enum":["OPEN","PENDING","SKIPPED","PREPROCESSING","PROCESSING","CREDITED","PROCESSED","PAID","FAILED","CANCELLED","REFUNDED","UNPAYABLE","AWAITING_PAYMENT"],"type":"string","example":"PENDING","description":"Status of the invoice"},"paid_at":{"type":"string","format":"date-time","example":"2026-03-01T00:00:00+00:00","nullable":true,"description":"Timestamp when the invoice was paid, if applicable"},"currency":{"type":"string","example":"EUR","description":"Currency code for the invoice amount"},"due_date":{"type":"string","format":"date-time","example":"2026-04-01T00:00:00.000Z","nullable":true,"description":"Due date for the invoice"},"description":{"type":"string","example":"EOR funding statement for February, 2026","description":"Invoice description"}},"description":"Applicable only for EOR contracts. First early invoice (EOR funding statement) for the contract, if any"},"contractor_signed_at":{"type":"string","format":"date-time","example":"2021-07-14T22:00:00+00:00","nullable":true,"description":"Timestamp when the contractor signed the contract"},"invited_contractor_email":{"type":"string","format":"email","example":"test@email.com","nullable":true,"description":"Email of the invited contractor","x-sensitive-pii":true}},"description":"Information about the contract"},"progress":{"type":"object","properties":{"status":{"type":"string","example":"ACTIVE","description":"Current status of the onboarding process (e.g., ACTIVE)"},"reference_date":{"type":"string","format":"date-time","example":"2021-07-14T22:00:00+00:00","description":"Reference date for the progress"},"subject_to_overdue":{"type":"boolean","example":true,"description":"Indicates if the onboarding is subject to overdue"},"reference_date_timezone":{"type":"string","example":"Europe/Brussels","description":"Timezone of the reference date"},"is_action_required_from_client":{"type":"boolean","example":true,"description":"Indicates if action is required from the client"}},"description":"Progress of the onboarding process"},"checklist":{"type":"object","properties":{"steps":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","example":"sign_up_to_deel","description":"The type of checklist step"},"label":{"type":"string","example":"Create contractor account","description":"The label for the checklist step"},"status":{"type":"string","example":"done","description":"Status of the checklist step"},"completed_at":{"type":"string","format":"date-time","example":"2021-07-14T22:00:00+00:00","nullable":true,"description":"Completion timestamp of the checklist step"},"reject_reason":{"type":"string","example":"<p>Please submit the correct document for Form 145</p>","description":"Reason for rejecting the checklist step (It may contain HTML elements)"}},"description":"Checklist step information"},"description":"List of checklist steps"}},"description":"List of checklist steps"},"hiring_type":{"type":"string","example":"contractor","description":"Hiring type (e.g., contractor)"},"hris_profile":{"type":"object","properties":{"oid":{"type":"string","example":"150f635e-fae1-4b9d-9f86-768bbbac3698","description":"HRIS Profile OID"},"name":{"type":"string","example":"John Doo","description":"HRIS Profile name","x-sensitive-pii":true},"email":{"type":"string","format":"email","example":"test@email.com","description":"Email of the HRIS profile","x-sensitive-pii":true},"work_email":{"type":"string","format":"email","example":"test@email.com","nullable":true,"description":"Work email of the HRIS profile","x-sensitive-pii":true}},"description":"Employeee HRIS profile information"}}}}}}},"description":"Onboarding overview"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"tracker_id","schema":{"type":"string"},"example":"eyJjb250cmFjdE9pZCI6IlB6cFlhcmVuIiwiaGlyaW5nVHlwZSI6ImNvbnRyYWN0b3IiLCJwcm9maWxlSWQiOjE2NzgyMCwidXNlcklkIjoxNDM3ODl9","required":true,"description":"The unique identifier of the onboarding tracker."}],"security":[{"deelToken":[]},{"oauth2":["contracts:read","people:read"]}]}},"/magic-link":{"post":{"tags":["EOR"],"summary":"Create magic link","operationId":"createMagicLink","description":"Use this endpoint to generate secure, time-limited magic links that enable password-free, seamless worker authentication for quick and safe access. Ideal for temporary sessions or low-friction login flows.\n **Token scopes**: `worker:read`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["magic_link","expires_at"],"properties":{"expires_at":{"type":"string","format":"date-time","example":"2025-07-06T19:51:54.000Z","description":"When the magic link expires (ISO 8601 format)"},"magic_link":{"type":"string","example":"https://app.deel.com/login/session?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ3b3JrZXJJZCI6IjEzNDI1NTEi...","description":"The magic link URL that users can click and log in to deel automatically."}}}}}}},"description":"Magic link generated successfully"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Unauthorized call: invalid token"}}}}},"description":"Unauthorized - Invalid or missing authentication token"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Token generation failed"}}}}},"description":"Internal Server Error"}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["worker:read"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"redirect_path":{"type":"string","example":"/learning/resources","maxLength":500,"description":"Path to redirect the user to after successful authentication."}}}}}}},"required":true,"description":"Details for magic link generation."}}},"/ats/attachments/{attachable_type_slug}/{attachable_id}/{attachment_type_slug}":{"get":{"tags":["ATS"],"summary":"Retrieve paginated list of ATS attachment files","operationId":"retrievePaginatedListOfAtsAttachmentFiles-v2026-01-01","description":"Use this endpoint to list attachment files for a specific ATS entity. Provide attachable_type_slug, attachable_id, and attachment_type_slug to specify which entity and attachment type to list.\n **Token scopes**: `ats:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data","next_cursor","total_count","has_more"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","file_name","file_content_type","attachment_type_slug","attachable_type_slug"],"properties":{"id":{"type":"string","format":"uuid","example":"e9586b57-a4f9-40d5-ac8f-a6f2b688557e","description":"Unique identifier for the attachment"},"url":{"type":"string","format":"url","example":"https://example.com/MQZGU5U53Y","description":"URL of the attachment","x-sensitive-employment":true},"file_name":{"type":"string","example":"OCRU0ZEHD0","description":"Name of the file","x-sensitive-employment":true},"ai_summary":{"type":"string","example":"MBNNQV3FU6","nullable":true,"description":"AI-generated summary of the attachment","x-sensitive-employment":true},"created_at":{"type":"string","format":"date-time","example":"2025-05-19T21:31:53.517Z","description":"Timestamp when the attachment was created"},"updated_at":{"type":"string","format":"date-time","example":"2025-05-19T21:33:27.939Z","description":"Timestamp when the attachment was last updated"},"attachable_id":{"type":"string","format":"uuid","example":"c063a5c3-32c1-4d6b-8425-6e3107701366","description":"Unique identifier for the attachable entity"},"file_content_type":{"type":"string","example":"7IZJYL457S","description":"Content type of the file","x-sensitive-employment":true},"attachable_type_slug":{"type":"string","example":"CANDIDATE","description":"Type of the attachable entity"},"attachment_type_slug":{"type":"string","example":"CV","description":"Type of the attachment"},"created_by_hris_organization_user_id":{"type":"string","format":"uuid","example":"c063a5c3-32c1-4d6b-8425-6e3107701366","nullable":true,"description":"User ID who created the attachment"}}},"description":"Array of attachment objects"},"has_more":{"type":"boolean","example":false,"description":"Indicates if there are more results available"},"next_cursor":{"type":"string","example":null,"nullable":true,"maxLength":1000,"description":"Cursor for pagination to fetch next page"},"total_count":{"type":"number","example":1,"description":"Total count of attachments"}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_parameter","description":"Machine-readable error code"},"field":{"type":"string","example":"/data/example_field","description":"Name of the field causing the error (for validation issues)"},"message":{"type":"string","example":"Must have required property 'example_field'","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"service_unavailable","description":"Machine-readable error code"},"message":{"type":"string","example":"The service is currently experiencing issues","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."}},"parameters":[{"in":"query","name":"cursor","schema":{"type":"string","maxLength":1000},"example":"cursorValue","description":"The cursor for pagination"},{"in":"query","name":"limit","schema":{"type":"integer","default":20,"maximum":100,"minimum":1},"example":50,"description":"Maximum number of records returned in one response"},{"in":"path","name":"attachable_id","schema":{"type":"string","format":"uuid"},"example":"c063a5c3-32c1-4d6b-8425-6e3107701366","required":true,"description":"Unique identifier for the attachable entity"},{"in":"path","name":"attachment_type_slug","schema":{"enum":["CV","LOGO","OFFER_LETTER","OTHER"],"type":"string"},"example":"CV","required":true,"description":"Type of the attachment"},{"in":"path","name":"attachable_type_slug","schema":{"enum":["CANDIDATE","CAREER_PAGE_SETTING","JOB_POSTING","NOTE","OFFER","SENT_CANDIDATE_EMAIL","EMAIL_MESSAGE","TEMPORARY","EMAIL_TEMPLATE","JOB_ACTIVITY"],"type":"string"},"example":"CANDIDATE","required":true,"description":"Type of the attachable entity"}],"security":[{"deelToken":[]},{"oauth2":["ats:read"]}]}},"/offboarding/tracker/{id}":{"get":{"tags":["Offboarding"],"summary":"Retrieve termination details","operationId":"retrieveTerminationDetails","description":"Retrieve termination details by tracker id\n **Token scopes**: `contracts:read`, `people:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"summary":{"type":"array","items":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"oneOf":[{"type":"string","example":"m7yg6zp"},{"type":"integer","example":2717911}],"example":"m7yg6zp","description":"The unique identifier for the contract associated with the summary item."}}},"name":{"type":"string","example":"Contract name","description":"The name of the summary item (e.g., Contract ending details)."},"type":{"type":"string","example":"CONTRACT_NAME","description":"The type of summary information (e.g., CONTRACT_ENDING_DETAILS)."},"value":{"type":"string","example":"TSB64 F348A1","nullable":true,"description":"The value or status associated with the summary item."}}}},"contract":{"type":"object","properties":{"id":{"type":"string","example":"m7yg6zp","description":"The unique identifier for the contract."},"eor":{"type":"object","nullable":true,"properties":{"probation_period":{"type":"object","properties":{"status":{"type":"string","example":"in_progress","description":"probation status"},"period_end_at":{"type":"string","example":"2021-07-14T22:00:00+00:00","description":"Period end date"},"period_in_days":{"type":"integer","example":612411,"description":"total of days of period"}}}},"description":"Employer of Record (EOR) for the contract, if applicable."},"oid":{"type":"string","example":"m7yg6zp","description":"The object ID for the contract, which might be the same as the contract ID."},"name":{"type":"string","example":"John Doo","description":"The name or title of the contract."},"timezone":{"type":"string","example":"Europe/Belgrade","description":"The timezone associated with the contract (e.g., Europe/Belgrade)."},"contract_type":{"type":"string","example":"payg_tasks","description":"The type of the contract (e.g., payg_tasks)."}}},"progress":{"type":"object","properties":{"status":{"type":"string","example":"OFFBOARDING_IN_PROGRESS","description":"The current status of the offboarding process (e.g., OFFBOARDING_IN_PROGRESS)."},"reference_date":{"type":"string","example":"2021-07-14T22:00:00+00:00","nullable":true,"description":"The reference date for the offboarding status (e.g., the termination date)."},"reference_date_type":{"type":"string","example":"END_DATE","description":"The type of reference date (e.g., END_DATE)."},"reference_date_timezone":{"type":"string","example":"Europe/Belgrade","description":"The timezone of the reference date."}}},"hiring_type":{"type":"string","example":"contractor","description":"The hiring type for the contract (e.g., contractor)."},"termination":{"type":"object","properties":{"id":{"type":"string","example":"b550b7e5-d6e1-4613-93ba-a7ee5f75887c","nullable":true,"description":"The termination ID"},"end_date":{"type":"string","example":"2024-12-01T22:59:59.999Z","description":"The end date of the contract termination."},"ending_type":{"type":"string","example":"ENDING_CONTRACT","description":"The type of termination (e.g., ENDING_CONTRACT)."},"initiated_at":{"type":"string","example":"2024-12-01T22:59:59.999Z","nullable":true,"description":"The date and time when the termination was initiated."},"initiated_by":{"type":"object","nullable":true,"properties":{"name":{"type":"string","example":"John Doo","description":"Name of individual","x-sensitive-pii":true},"profile_type":{"type":"string","example":"client","nullable":true,"description":"individual's type"}},"description":"The individual that initiated the termination."},"public_message":{"type":"string","example":"Lorem Ipsum is simply dummy text of the printing and typesetting industry.","nullable":true,"description":"A public message regarding the termination."},"termination_impact":{"type":"object","nullable":true,"properties":{"title":{"type":"string","example":"Loren Impact","description":"Title of termination impact"},"description":{"type":"string","example":"Lorem Ipsum is simply dummy text of the printing and typesetting industry.","description":"Description of termination impact"}},"description":"The impact of the termination, if applicable."},"eligible_for_rehire":{"type":"string","example":"YES","nullable":true,"description":"Indicates whether the individual is eligible for rehire."},"eligible_for_rehire_reason":{"type":"string","example":"Lorem Ipsum is simply dummy text of the printing and typesetting industry.","nullable":true,"description":"The reason why the individual is or is not eligible for rehire."}}},"hris_profile":{"type":"object","properties":{"oid":{"type":"string","example":"b550b7e5-d6e1-4613-93ba-a7ee5f75887c","description":"The unique object ID for the HRIS profile."},"name":{"type":"string","example":"qhzTMW fPpuSu","description":"The name of the individual in the HRIS profile.","x-sensitive-pii":true},"work_email":{"type":"string","example":"a87cac24ea4fa4f0e4239ffd0facd778@test.com","description":"The work email address of the individual in the HRIS profile.","x-sensitive-pii":true}}},"app_experience":{"type":"object","properties":{"is_minimal_requirements":{"type":"boolean","example":true,"description":"Indicates whether the individual meets the minimal experience requirements for the role."}}}}}}}}},"description":"Successfully retrieved offboarding details"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"service_unavailable","description":"Machine-readable error code"},"message":{"type":"string","example":"The service is currently experiencing issues","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."}},"parameters":[{"in":"path","name":"id","schema":{"type":"string"},"example":"eyJjb250cmFjdE9pZCI6IlB6cFlhcmVuIiwiaGlyaW5nVHlwZSI6ImNvbnRyYWN0b3IiLCJwcm9maWxlSWQiOjE2NzgyMCwidXNlcklkIjoxNDM3ODl9","required":true,"description":"Unique onboarding tracker identifier"}],"security":[{"deelToken":[]},{"oauth2":["contracts:read","people:read"]}]}},"/payouts/auto-withdrawal-setting":{"get":{"tags":["Payouts"],"summary":"Get the auto-withdrawal setting","operationId":"getTheAutoWithdrawalSetting","description":"Get whether auto-withdrawal is turned on and which method is selected to withdraw to\n **Token scopes**: `worker:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"method_id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000","description":"The ID of the withdrawal method to be used for auto withdrawal"},"is_auto_withdraw_enabled":{"type":"boolean","example":true,"description":"Whether auto withdrawal is enabled"}}}}}}},"description":"Auto-withdrawal setting result"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{}},"description":"Operation failed."}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["worker:read"]}]},"patch":{"tags":["Payouts"],"summary":"Change the auto-withdrawal setting","operationId":"changeTheAutoWithdrawalSetting-v2026-01-01","description":"Turn auto-withdrawal on or off and choose a method to withdraw to\n **Token scopes**: `worker:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"method_id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000","description":"The ID of the withdrawal method to be used for auto withdrawal"},"is_auto_withdraw_enabled":{"type":"boolean","example":true,"description":"Whether auto withdrawal is enabled"}}}}}}},"description":"Successfully update auto-withdrawal settings"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"content":{"application/json":{}},"description":"Method not found."},"500":{"content":{"application/json":{}},"description":"Operation failed."}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["worker:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"method_id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000","description":"The ID of the withdrawal method to be used for auto withdrawal"},"is_auto_withdraw_enabled":{"type":"boolean","example":true,"description":"Whether auto withdrawal should be enabled"}}}}}}},"required":true,"description":"Change the auto withdrawal setting"}}},"/screenings/aml/{entity_type}/{entity_id}":{"get":{"tags":["Screenings"],"summary":"AML API for Whitelabel - Data retrieval","operationId":"amlApiForWhitelabelDataRetrieval-v2026-01-01","description":"Get the latest screening for an entity.\n **Token scopes**: `screenings:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["result","entity_id","entity_type","detailed_results"],"properties":{"result":{"enum":["ACCEPT","REJECT","REFERRED","PENDING"],"type":"string","example":"ACCEPT","description":"The result of the screening. ACCEPT means the screening passed, REJECT means it failed, and REFERRED means it is pending further review."},"entity_id":{"type":"string","example":"UUID of a profile","description":"UUID of the entity."},"entity_type":{"enum":["profile","hris_profile","legal_entity"],"type":"string","example":"profile","description":"The type of entity being screened."},"detailed_results":{"type":"object","properties":{"pep":{"enum":["PASS","FAIL"],"type":"string","example":"PASS","description":"The result of the PEP (Politically Exposed Person) check."},"sanctions":{"enum":["PASS","FAIL"],"type":"string","example":"PASS","description":"The result of the sanctions check."},"adverse_media":{"enum":["PASS","FAIL"],"type":"string","example":"PASS","description":"The result of the adverse media check."}},"description":"Details of checks performed for this screening."}}}}},"description":"Details of the screening request for the specified entity type and ID."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string","example":"Must have required property 'entity_id'","description":"A description of the returned error"}}}}}}}},"description":"Bad request"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string","example":"The requested entity was not found","description":"A description of the returned error"}}}}}}}},"description":"Entity not found"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"entity_type","schema":{"enum":["profile","hris_profile","legal_entity"],"type":"string"},"example":"profile","required":true,"description":"The type of entity to screen. Only 'profile', 'hris_profile', 'legal_entity' are accepted."},{"in":"path","name":"entity_id","schema":{"type":"string","format":"uuid"},"example":"Public UUID of the entity","required":true,"description":"UUID v4 of the entity"}],"security":[{"deelToken":[]},{"oauth2":["screenings:read"]}]}},"/hris/worker_relations/types/{typeId}":{"patch":{"tags":["Worker Relations"],"summary":"Update a worker relation type","operationId":"updateWorkerRelationType","description":"Update a worker relation type.\n **Token scopes**: `organizations:write`","responses":{"204":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"integer","example":1,"description":"Worker Relation Type id"},"child_name":{"type":"string","example":"Child","description":"The name of the secondary party in the relationship"},"is_default":{"type":"boolean","example":false,"description":"Whether this relation is default or not"},"external_id":{"type":"string","example":"f47ac10b-58cc-4372-a567-0e02b2c3d479","maxLength":100,"description":"A custom ID for the relation type"},"parent_name":{"type":"string","example":"Parent","description":"The name of the primary party in the relationship"}}}}}}},"description":"Successful operation"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"typeId","schema":{"type":"string","format":"uuid"},"example":"f47ac10b-58cc-4372-a567-0e02b2c3d479","required":true,"description":"Worker Relation Type id"}],"security":[{"deelToken":[]},{"oauth2":["organizations:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"child_name":{"type":"string","example":"Child","maxLength":100,"description":"The name of the secondary party in the relationship"},"external_id":{"type":"string","example":"f47ac10b-58cc-4372-a567-0e02b2c3d479","maxLength":100,"description":"A custom ID for the relation type"},"parent_name":{"type":"string","example":"Parent","maxLength":100,"description":"The name of the primary party in the relationship"}}}}}}},"required":true}}},"/people/{worker_id}/personal":{"patch":{"tags":["People"],"summary":"Update personal information","operationId":"updatePeoplePersonalInformationById","description":"Update worker's personal information.\n **Token scopes**: `people:write`","responses":{"204":{"description":"Successful response"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"worker_id","schema":{"type":"string","format":"uuid"},"example":"d290f1ee-6c54-4b01-90e6-d701748f0851","required":true,"description":"Unique identifier for a worker."}],"security":[{"deelToken":[]},{"oauth2":["people:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"work_email":{"type":"string","format":"email","example":"test@example.com","maxLength":255,"description":"The personal email of the worker."},"date_of_birth":{"type":"string","format":"date","example":"1990-01-01","description":"The date of birth of the worker. Format: YYYY-MM-DD."},"phone_numbers":{"type":"array","items":{"type":"object","required":["type","phone_number","dial_code"],"properties":{"type":{"enum":["PERSONAL","WORK","HOME"],"type":"string","example":"PERSONAL","description":"The type of the phone number."},"dial_code":{"type":"string","example":"+1","maxLength":10,"description":"The dial code (also known as country code)."},"phone_number":{"type":"string","example":"123456789","maxLength":30,"description":"The phone number."}}}},"personal_email":{"type":"string","format":"email","example":"test@example.com","maxLength":255,"description":"The personal email of the worker."},"preferred_name":{"type":"string","example":"John","nullable":true,"maxLength":255,"description":"The preferred name of the worker."},"legal_last_name":{"type":"string","example":"Doe","maxLength":100,"description":"The legal last name of the worker."},"legal_first_name":{"type":"string","example":"John","maxLength":100,"description":"The legal first name of the worker."}}}}}}}}},"get":{"tags":["People"],"summary":"Get personal information by id","operationId":"getPersonalInformationById","description":"Get worker's personal information by using identifier.\n **Token scopes**: `people:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","worker_id","emergency_contacts"],"properties":{"id":{"type":"string","format":"uuid","example":"f7b3b3b3-3b3b-3b3b-3b3b-3b3b3b3b3b3b","description":"Unique identifier for the worker."},"kyc":{"type":"object","required":["is_kyc_approved","kyc_approval_date"],"properties":{"is_kyc_approved":{"type":"boolean","example":true,"description":"Boolean to identify if the user is KYC verified"},"kyc_approval_date":{"type":"string","example":"2021-01-01","nullable":true,"description":"The Date the user was KYC verified if applicable"}},"description":"KYC (Know Your Customer) verification information for the worker."},"ooo":{"type":"object","nullable":true,"required":["leave_type","start_date","end_date","name"],"properties":{"name":{"type":"string","example":"Vacation","description":"The worker out of office name."},"end_date":{"type":"string","example":"2021-01-01","maxLength":10,"description":"The worker out of office end date."},"leave_type":{"enum":["LONG_TERM_LEAVE","SHORT_TERM_LEAVE"],"type":"string","example":"LONG_TERM_LEAVE","description":"The worker leave type."},"start_date":{"type":"string","format":"date","example":"2021-01-01","description":"The worker out of office start date."}},"description":"Out of office information for the worker, including leave type and dates."},"addresses":{"type":"array","items":{"type":"object","required":["id","type","street","city","state","country","zip"],"properties":{"id":{"type":"string","format":"uuid","example":"f7b3b3b3-3b3b-3b3b-3b3b-3b3b3b3b3b3b","description":"Unique identifier for the address."},"zip":{"type":"string","example":"12345","nullable":true,"maxLength":255,"description":"The zip code."},"city":{"type":"string","example":"New York","nullable":true,"maxLength":255,"description":"The city."},"type":{"enum":["HOME","POSTAL","CONTRACT"],"type":"string","example":"HOME","description":"The type of the address."},"state":{"type":"string","example":"NY","nullable":true,"maxLength":255,"description":"The state."},"street":{"type":"string","example":"123 Main St","nullable":true,"maxLength":255,"description":"The street address."},"country":{"type":"string","example":"US","maxLength":255,"description":"The country."}}},"nullable":true,"description":"Array of addresses associated with the worker.","x-sensitive-pii":true},"worker_id":{"type":"integer","example":123456,"description":"The worker id."},"work_email":{"type":"string","format":"email","example":"test@example.com","nullable":true,"maxLength":255,"description":"The work email of the worker.","x-sensitive-pii":true},"external_id":{"type":"string","example":"123456","nullable":true,"maxLength":100,"description":"The external id of the worker."},"demographics":{"type":"object","nullable":true,"required":["gender","ethnicity"],"properties":{"gender":{"type":"object","nullable":true,"required":["id","name","other_name"],"properties":{"id":{"type":"string","format":"uuid","example":"f7b3b3b3-3b3b-3b3b-3b3b-3b3b3b3b3b3b","description":"Unique identifier for the gender."},"name":{"type":"string","example":"male","maxLength":100,"description":"The name of the gender."},"other_name":{"type":"string","example":"other","nullable":true,"maxLength":100,"description":"Gender added by user when \"Other\" option was chosen."}},"description":"Gender information for the worker."},"ethnicity":{"type":"object","nullable":true,"required":["id","name","other_name"],"properties":{"id":{"type":"string","format":"uuid","example":"f7b3b3b3-3b3b-3b3b-3b3b-3b3b3b3b3b3b","description":"Unique identifier for the ethnicity."},"name":{"type":"string","example":"white","maxLength":100,"description":"The name of the ethnicity."},"other_name":{"type":"string","example":"other","nullable":true,"maxLength":100,"description":"Ethnicity added by user when \"Other\" option was chosen."}},"description":"Ethnicity information for the worker."}},"description":"Demographic information for the worker, including gender and ethnicity.","x-sensitive-pii":true},"date_of_birth":{"type":"string","format":"date","example":"2021-01-01","nullable":true,"description":"The date of birth of the worker.","x-sensitive-pii":true},"nationalities":{"type":"array","items":{"type":"object","required":["code","name"],"properties":{"code":{"type":"string","example":"US","maxLength":2,"description":"Unique 2-letters ISO country code."},"name":{"type":"string","example":"United States","maxLength":100,"description":"The name of the country."}}},"nullable":true,"description":"Array of nationalities associated with the worker.","x-sensitive-pii":true},"phone_numbers":{"type":"array","items":{"type":"object","required":["type","phone_number","dial_code"],"properties":{"type":{"enum":["PERSONAL","WORK","HOME"],"type":"string","example":"PERSONAL","description":"The type of the phone number."},"dial_code":{"type":"string","example":"+1","maxLength":10,"description":"The dial code (also known as country code)."},"phone_number":{"type":"string","example":"1234567890","maxLength":30,"description":"The phone number."}}},"nullable":true,"description":"Array of phone numbers associated with the worker.","x-sensitive-pii":true},"personal_email":{"type":"string","format":"email","example":"test@example.com","nullable":true,"maxLength":255,"description":"The personal email of the worker.","x-sensitive-pii":true},"preferred_name":{"type":"string","example":"John","nullable":true,"maxLength":255,"description":"The preferred name of the worker.","x-sensitive-pii":true},"legal_last_name":{"type":"string","example":"Doe","nullable":true,"maxLength":100,"description":"The legal last name of the worker.","x-sensitive-pii":true},"legal_first_name":{"type":"string","example":"John","nullable":true,"maxLength":100,"description":"The legal first name of the worker.","x-sensitive-pii":true},"emergency_contacts":{"type":"array","items":{"type":"object","required":["id","name","email","relationship","phone","preferred_language"],"properties":{"id":{"type":"string","format":"uuid","example":"f7b3b3b3-3b3b-3b3b-3b3b-3b3b3b3b3b3b","description":"Unique identifier for the emergency contact."},"name":{"type":"string","example":"Jane Doe","maxLength":255,"description":"The name of the emergency contact."},"email":{"type":"string","format":"email","example":"test@example.com","nullable":true,"maxLength":255,"description":"The email of the emergency contact."},"phone":{"type":"string","example":"1234567890","maxLength":30,"description":"The phone number of the emergency contact."},"relationship":{"type":"string","example":"Mother","maxLength":100,"description":"The type of relationship between the owner and the emergency contact."},"preferred_language":{"type":"object","nullable":true,"required":["id","language"],"properties":{"id":{"type":"integer","example":1,"description":"Unique identifier for the preferred language."},"language":{"type":"string","example":"English","maxLength":32,"description":"The name of the language."}},"description":"The preferred language in which the emergency contact should be contacted."}}},"description":"Array of emergency contacts associated with the worker."}}}}}}},"description":"Successful response"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["message","code"],"properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR","description":"Error code identifying the type of error."},"details":{"type":"string","example":"An unexpected error occurred while processing the request.","nullable":true,"description":"Additional details about the error."},"message":{"type":"string","example":"Internal server error","description":"Error message describing what went wrong."}}}}}}},"description":"Internal Server Error"}},"parameters":[{"in":"path","name":"worker_id","schema":{"type":"string"},"example":"123456","required":true,"description":"Unique identifier for a worker (External ID)."}],"security":[{"deelToken":[]},{"oauth2":["people:read"]}]}},"/time_offs/{time_off_id}":{"patch":{"tags":["Time Off"],"summary":"Update time-off request","operationId":"updateTimeOffRequest","description":"Update time-off request\n **Token scopes**: `time-off:write`, `worker:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["time_off"],"properties":{"time_off":{"type":"object","example":{"id":"d290f1ee-6c54-4b01-90e6-d701748f0851","amount":1,"reason":"Vacation","status":"REQUESTED","is_paid":false,"end_date":"2021-08-01","created_at":"2021-07-01T00:00:00Z","start_date":"2021-07-01","updated_at":"2021-07-01T00:00:00Z","approved_at":"2021-07-01T00:00:00Z","attachments":[{"id":"d290f1ee-6c54-4b01-90e6-d701748f0851","filename":"vacation-request.pdf","created_at":"2021-07-01T11:22:33Z","updated_at":"2021-07-01T33:44:33Z"}],"description":"Vacation","contract_oid":"d290f1ee-6c54-4b01-90e6-d701748f0851","requested_at":"2021-07-01","half_end_date":false,"half_start_date":false,"deduction_amount":1,"entitlement_unit":"CALENDAR_DAY","time_off_dailies":[{"id":"d290f1ee-6c54-4b01-90e6-d701748f0851","date":"2021-07-01","type":"WORKING_DAY","amount":1,"created_at":"2021-07-01T00:00:00Z","updated_at":"2021-07-01T00:00:00Z","description":"Vacation","time_off_id":"d290f1ee-6c54-4b01-90e6-d701748f0851"}],"time_off_type_id":"d290f1ee-6c54-4b01-90e6-d701748f0851","recipient_profile":{"hris_profile_id":"d290f1ee-6c54-4b01-90e6-d701748f0851","organization_id":"d290f1ee-6c54-4b01-90e6-d701748f0851","client_profile_id":"d290f1ee-6c54-4b01-90e6-d701748f0851"},"requester_profile":{"hris_profile_id":"d290f1ee-6c54-4b01-90e6-d701748f0851","organization_id":"d290f1ee-6c54-4b01-90e6-d701748f0851","client_profile_id":"d290f1ee-6c54-4b01-90e6-d701748f0851"},"time_off_percentage":1,"is_end_date_estimated":false,"other_type_description":"Vacation"},"required":["time_off_type_id","requested_at","start_date","end_date","is_paid","half_start_date","half_end_date","amount","created_at","updated_at","entitlement_unit"],"properties":{"amount":{"type":"number","format":"float","example":1,"description":"Amount of time off taken. This is the total amount of time off taken. For example, if you take 2 days off, this will be 2. If you take 1 day off, this will be 1."},"reason":{"type":"string","example":"Sick leave - Doctor appointment","description":"Reason for taking time off. This is complementary information for the time-off description. Useful to provide sub categories for the same policy."},"status":{"enum":["REQUESTED","APPROVED","REJECTED","USED","CANCELED"],"type":"string","example":"REQUESTED","description":"Status of the time off request. Can be REQUESTED, APPROVED, REJECTED, USED or CANCELED."},"is_paid":{"type":"boolean","example":false,"description":"Whether the time off is paid or unpaid."},"end_date":{"type":"string","format":"date","example":"2021-08-01","description":"End date of the time off request. This is the date when the time off ends. For example, if you take 2 days off, this will be the end date of the second day."},"created_at":{"type":"string","format":"date-time","example":"2021-07-01T11:22:33.444Z","description":"This is the date when the time off request was created in the database."},"start_date":{"type":"string","format":"date","example":"2021-08-01","description":"Start date of the time off request. This is the date when the time off starts. For example, if you take 2 days off, this will be the start date of the first day."},"updated_at":{"type":"string","format":"date-time","example":"2021-07-01T11:22:33.444Z","description":"This is the date when the time off request was last updated in the database."},"approved_at":{"type":"string","format":"date-time","example":"2021-07-01T00:00:00Z","nullable":true,"description":"This is the date when the time off request was approved. This will be null if the time off request is not approved yet."},"attachments":{"type":"array","items":{"type":"object","example":{"id":"d290f1ee-6c54-4b01-90e6-d701748f0851","filename":"vacation-request.pdf","created_at":"2021-07-01T11:22:33Z","updated_at":"2021-07-01T33:44:33Z"},"required":["id","filename","created_at","updated_at"],"properties":{"id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Attachment id"},"filename":{"type":"string","example":"vacation-request.pdf","description":"Filename of the attachment"},"created_at":{"type":"string","format":"date-time","example":"2021-07-01T11:22:33.444Z","description":"This is the date when the attachment was created in the database."},"updated_at":{"type":"string","format":"date-time","example":"2021-07-01T11:22:33.444Z","description":"This is the date when the attachment was last updated in the database."}},"description":"An attachment associated with the time off request."},"example":[{"id":"d290f1ee-6c54-4b01-90e6-d701748f0851","filename":"vacation-request.pdf","created_at":"2021-07-01T11:22:33Z","updated_at":"2021-07-01T33:44:33Z"}],"description":"List of attachments associated with the time off request."},"description":{"type":"string","example":"Vacation","description":"Description of the time off request. Some policies require that a description is provided."},"contract_oid":{"type":"string","example":"d290f1ee6c54","description":"Contract id. This is the id of the contract associated with the time off request."},"requested_at":{"type":"string","format":"date","example":"2021-07-01","description":"This is the date when the time off request was made."},"half_end_date":{"type":"boolean","example":false,"description":"Whether the end date is a half day or not."},"time_off_type":{"type":"object","example":{"id":"d290f1ee-6c54-4b01-90e6-d701748f0851","name":"Vacation","policy":{"id":"d290f1ee-6c54-4b01-90e6-d701748f0851","name":"Vacation Policy","policy_type":{"id":"d290f1ee-6c54-4b01-90e6-d701748f0851","name":"VACATION"}}},"required":["id","name"],"properties":{"id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Time off type id."},"name":{"type":"string","example":"Vacation","description":"Time off type name. Basically the reason or category of time-off taken. For SICK leave, it can be doctor appointment, surgery etc."},"policy":{"type":"object","example":{"id":"d290f1ee-6c54-4b01-90e6-d701748f0851","name":"Vacation Policy","policy_type":{"id":"d290f1ee-6c54-4b01-90e6-d701748f0851","name":"VACATION"}},"required":["id","name","policy_type"],"properties":{"id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Policy id"},"name":{"type":"string","example":"Vacation Policy","description":"The custom name given to policy during policy creation."},"policy_type":{"type":"object","required":["id","name"],"properties":{"id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Policy type id"},"name":{"type":"string","example":"VACATION","description":"Depicts the type of policy, like VACATION, SICK etc"}}}},"description":"The policy associated with the time off type."}},"description":"The type of time off taken."},"time_off_event":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"The time off event id. This is used to link the time off request to an event."},"type":{"enum":["PARENTAL_LEAVE"],"type":"string","example":"PARENTAL_LEAVE","description":"The type of the time off event."},"policy_id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"The policy id associated with the time off event. Same as the policy_id in the time off type."},"created_at":{"type":"string","format":"date-time","example":"2021-07-01T11:22:33.444Z","description":"The date when the time off event was created in the database."},"updated_at":{"type":"string","format":"date-time","example":"2021-07-01T11:22:33.444Z","description":"The date when the time off event was last updated in the database."},"event_details":{"type":"object","required":["was_premature_birth","had_multiple_children"],"properties":{"birth_date":{"type":"string","format":"date","example":"2025-05-13","description":"The birth date of the child. This is used for parental leave requests."},"adoption_date":{"type":"string","format":"date","example":"2025-05-13","description":"The date of adoption. This is used for parental leave requests."},"was_premature_birth":{"type":"boolean","example":false,"description":"Whether the birth was premature or not. This is used for parental leave requests."},"estimated_birth_date":{"type":"string","format":"date","example":"2025-05-13","description":"The estimated birth date of the child. Birth is estimated when the birth date has not been confirmed yet."},"had_multiple_children":{"type":"boolean","example":false,"description":"Whether the birth was multiple or not. This is used for parental leave requests."},"estimated_adoption_date":{"type":"string","format":"date","example":"2025-05-13","description":"The estimated adoption date of the child. Birth is estimated when the adoption date has not been confirmed yet."}},"description":"Details of the event associated with the time off request. Required for event based policies such as parental leave."},"hris_profile_id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"The HRIS profile id of the worker associated with the time off event. Same as the hris_profile_id in the recipient_profile."},"time_off_type_id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"The time off type id associated with the time off event. Same as the time_off_type_id in the time off request."}}},"half_start_date":{"type":"boolean","example":false,"description":"Whether the start date is a half day or not."},"deduction_amount":{"type":"number","format":"float","example":1,"description":"Deduction amount. Available for independent contractor's policies"},"entitlement_unit":{"enum":["HOUR","BUSINESS_DAY","CALENDAR_DAY","WEEK","MONTH","YEAR"],"type":"string","example":"CALENDAR_DAY","description":"The unit in which the time off usage and entitlement are calculated."},"time_off_dailies":{"type":"array","items":{"type":"object","required":["id","time_off_id","amount","date","type","created_at","updated_at"],"properties":{"id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Time off daily id"},"date":{"type":"string","format":"date","example":"2021-08-01","description":"Date of the time off daily. This is the date when the time off was taken."},"type":{"enum":["WORKING_DAY","NON_WORKING_DAY","HOLIDAY"],"type":"string","example":"WORKING_DAY","description":"Type of the time off daily. Can be WORKING_DAY, NON_WORKING_DAY or HOLIDAY."},"amount":{"type":"number","format":"float","example":1,"description":"Amount of time off taken in this specific date."},"created_at":{"type":"string","format":"date-time","example":"2021-07-01T11:22:33.444Z","description":"This is the date when the time off daily was created in the database."},"updated_at":{"type":"string","format":"date-time","example":"2021-07-01T11:22:33.444Z","description":"This is the date when the time off daily was last updated in the database."},"description":{"type":"string","example":"Labour day","nullable":true,"description":"Description of the time off daily. When it is a HOLIDAY this is the holiday name."},"time_off_id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Time off id. This is the id of the time off request associated with the time off daily."}}},"description":"Used to break down the time off request into daily records. Each entry represents a single day within the time off period, allowing for detailed tracking of working days, non-working days, and holidays included in the request."},"time_off_type_id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Time off type id. This is the id of the time off type associated with the time off request."},"recipient_profile":{"type":"object","example":{"hris_profile_id":"d290f1ee-6c54-4b01-90e6-d701748f0851","organization_id":"d290f1ee-6c54-4b01-90e6-d701748f0851"},"required":["hris_profile_id","organization_id"],"properties":{"hris_profile_id":{"type":"string","format":"uuid","description":"The worker HRIS profile id in the given organization."},"organization_id":{"type":"string","format":"uuid","description":"Id of the organization the profile belongs to."}},"description":"The time off profile of the recipient of the time off request. Must be a worker profile."},"requester_profile":{"type":"object","example":{"hris_profile_id":"d290f1ee-6c54-4b01-90e6-d701748f0851","organization_id":"d290f1ee-6c54-4b01-90e6-d701748f0851"},"required":["organization_id"],"properties":{"hris_profile_id":{"type":"string","format":"uuid","description":"The worker HRIS profile id in the given organization. Available when the requester is a worker."},"organization_id":{"type":"string","format":"uuid","description":"Id of the organization the profile belongs to."},"client_profile_id":{"type":"string","format":"uuid","description":"Id of the client profile. Available when the requester is a client."}},"description":"The time off profile of the requester of the time off request. Can be either a client or worker profile."},"time_off_percentage":{"type":"number","format":"float","example":1,"maximum":1,"minimum":0,"description":"Used to specify the percentage of time off taken relative to full-time employment. This value ranges from 0 to 1, where 1 represents full-time (100%) and 0.5 represents part-time (50%). This is useful for part-time workers or when taking partial time off."},"is_end_date_estimated":{"type":"boolean","example":false,"description":"Used to indicate if the end date is an estimate rather than a confirmed date. This is particularly important for event-based policies such as Parental Leave, where the actual end date may depend on the actual birth or adoption date, which may not be known at the time of request submission."},"other_type_description":{"type":"string","example":"Study leave","description":"Used to provide a custom description when the time off type is categorized as 'OTHER'. This allows users to specify the nature of time off that doesn't fit into standard categories, providing flexibility for unique or organization-specific time off types."}},"description":"Used to return the updated time off request after modification. Contains all the time off details including status, dates, amounts, and associated metadata."}},"description":"Time off data to be updated"}}},"description":"Time off updated"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"object","properties":{"message":{"type":"string","example":"There is already a time-off for the dates 2026-03-05 and 2026-03-05","description":"Error message describing what went wrong"}},"description":"Error details"},"request":{"type":"object","properties":{"url":{"type":"string","example":"/v2/time_offs/time_off","description":"Request URL path"},"docs":{"type":"string","example":"no match","description":"Documentation reference"},"method":{"type":"string","example":"PATCH","description":"HTTP method"},"source":{"type":"string","example":"http","description":"Request source"},"status":{"type":"integer","example":400,"description":"HTTP status code"},"api_req_id":{"type":"string","example":"e986b19942682de2de9234de3ca360d1","description":"Unique API request identifier"}},"description":"Request metadata"}}},"example":{"errors":{"message":"There is already a time-off for the dates 2026-03-05 and 2026-03-05"},"request":{"url":"/v2/time_offs/time_off","docs":"no match","method":"POST","source":"http","status":400,"api_req_id":"e986b19942682de2de9234de3ca360d1"}}}},"description":"Bad Request"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"time_off_id","schema":{"type":"string","format":"uuid"},"example":"d290f1ee-6c54-4b01-90e6-d701748f0851","required":true,"description":"Time off request id"}],"security":[{"deelToken":[]},{"oauth2":["time-off:write","worker:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","example":{"data":{"amount":30,"reason":"Vacation","is_paid":true,"end_date":"2021-04-30","start_date":"2021-04-01","time_off_type_id":"d290f1ee-6c54-4b01-90e6-d701748f0851"}},"properties":{"data":{"type":"object","example":{"amount":1,"reason":"Vacation","is_paid":false,"end_date":"2021-08-01","start_date":"2021-07-01","requested_at":"2021-07-01","half_end_date":false,"half_start_date":false,"time_off_type_id":"d290f1ee-6c54-4b01-90e6-d701748f0851"},"required":["recipient_profile_id","start_date","end_date"],"properties":{"dates":{"type":"array","items":{"type":"object","example":{"date":"2025-05-13","type":"WORKING_DAY","amount":8,"time_off_percentage":1},"required":["date"],"properties":{"date":{"oneOf":[{"type":"string","format":"date","example":"2025-05-13","description":"An specific date in the time-off request"},{"type":"string","format":"date-time","example":"2025-05-13T00:00:00Z","description":"An specific date in the time-off request. Please note that only the date (YYYY-MM-DD) part will be used."}],"example":"2025-05-13","description":"An specific date in the time-off request"},"hours":{"type":"number","format":"float","example":8,"description":"The amount taken in hours during this specific date. It can not exceed the maximum allowed hours for the date."},"amount":{"type":"number","format":"float","example":1,"description":"The amount of time off requested for the date. It must be in the same time unit as in the total amount for the time off request."},"day_type":{"enum":["HALF_DAY","FULL_DAY","PERCENTAGE","HOURLY"],"type":"string","example":"FULL_DAY","description":"The type of day for the time off request. All dates must follow the same type."}},"description":"The dates breakdown for the time off request."},"example":[{"date":"2025-05-13","type":"WORKING_DAY","amount":8,"time_off_percentage":1},{"date":"2025-05-14","type":"WORKING_DAY","amount":8,"time_off_percentage":1},{"date":"2025-05-15","type":"WORKING_DAY","amount":8,"time_off_percentage":1}],"description":"The dates breakdown for the time off request."},"reason":{"type":"string","example":"Sick leave - Doctor appointment","nullable":true,"maxLength":500,"description":"Reason for taking time off. This is complementary information for the time-off description. Useful to provide sub categories for the same policy."},"is_paid":{"type":"boolean","example":false,"description":"Whether the time off is paid or unpaid. By default it follows the policy configuration."},"end_date":{"oneOf":[{"type":"string","format":"date","example":"2021-08-02","description":"End date of the time off request. This is the date when the time off ends. For example, if you take 2 days off, this will be the end date of the second day."},{"type":"string","format":"date-time","example":"2021-08-02T00:00:00Z","description":"End date of the time off request. This is the date when the time off ends. For example, if you take 2 days off, this will be the end date of the second day. Please note that only the date (YYYY-MM-DD) part will be used."}],"example":"2021-08-02","description":"End date of the time off request. This is the date when the time off ends. For example, if you take 2 days off, this will be the end date of the second day."},"policy_id":{"type":"string","format":"uuid","example":"b1b9b1b9-1b9b-1b9b-1b9b-1b9b1b9b1b9b","description":"The time off policy id. Can be used in place of time_off_type_id"},"start_date":{"oneOf":[{"type":"string","format":"date","example":"2021-08-01","description":"Start date of the time off request. This is the date when the time off starts. For example, if you take 2 days off, this will be the start date of the first day."},{"type":"string","format":"date-time","example":"2021-08-01T00:00:00Z","description":"Start date of the time off request. This is the date when the time off starts. For example, if you take 2 days off, this will be the start date of the first day. Please note that only the date (YYYY-MM-DD) part will be used."}],"example":"2021-08-01","description":"Start date of the time off request. This is the date when the time off starts. For example, if you take 2 days off, this will be the start date of the first day."},"description":{"type":"string","example":"Vacation","nullable":true,"maxLength":500,"description":"Description of the time off request. Some policies require that a description is provided."},"contract_oid":{"type":"string","example":"d290f1ee6c54","nullable":true,"maxLength":24,"description":"Contract id. This is the id of the contract associated with the time off request."},"event_details":{"type":"object","required":["birth_date","was_premature_birth","had_multiple_children"],"properties":{"birth_date":{"type":"string","format":"date","example":"2025-05-13","description":"The birth date of the child. This is used for parental leave requests."},"adoption_date":{"type":"string","format":"date","example":"2025-05-13","description":"The date of adoption. This is used for parental leave requests."},"is_confirmation":{"type":"boolean","example":false,"description":"Whether the event date are a confirmed or not. This is used for parental leave requests when either the birth date or adoption date are not estimated anymore but actually confirmed."},"was_premature_birth":{"type":"boolean","example":false,"description":"Whether the birth was premature or not. This is used for parental leave requests."},"had_multiple_children":{"type":"boolean","example":false,"description":"Whether the birth was multiple or not. This is used for parental leave requests."}},"description":"Details of the event associated with the time off request. Required for event based policies such as parental leave."},"deduction_amount":{"type":"number","format":"float","example":1,"minimum":1,"nullable":true,"description":"Deduction amount. Available for independent contractor's policies"},"time_off_type_id":{"type":"string","format":"uuid","example":"b1b9b1b9-1b9b-1b9b-1b9b-1b9b1b9b1b9b","description":"The time off type id. Required when policy_id is not provided"},"time_off_event_id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"The time off event id. This is used to link the time off request to an event."},"time_off_percentage":{"type":"number","format":"double","example":1,"maximum":1,"minimum":0,"nullable":true,"description":"This is the percentage of time off taken. This is used when the time off request is a percentage."},"recipient_profile_id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"The hris profile id of the recipient"},"other_type_description":{"type":"string","example":"Study leave","nullable":true,"maxLength":255,"description":"Description of the time off type. This is used when the policy is OTHER."}},"description":"Time off update request data"}},"description":"Time off update request data"}},"multipart/form-data":{"schema":{"type":"object","example":{"data":{"amount":30,"reason":"Vacation","is_paid":true,"end_date":"2021-04-30","start_date":"2021-04-01","time_off_type_id":"d290f1ee-6c54-4b01-90e6-d701748f0851"}},"properties":{"data":{"type":"object","example":{"amount":1,"reason":"Vacation","is_paid":false,"end_date":"2021-08-01","start_date":"2021-07-0","requested_at":"2021-07-01","half_end_date":false,"half_start_date":false,"time_off_type_id":"d290f1ee-6c54-4b01-90e6-d701748f0851"},"required":["recipient_profile_id","start_date","end_date","file"],"properties":{"file":{"type":"string","format":"binary","example":"file","minLength":1,"description":"File of attached to the time off. Supported files (png, pdf, jpg)"},"dates":{"type":"array","items":{"type":"object","example":{"date":"2025-05-13","type":"WORKING_DAY","amount":8,"time_off_percentage":1},"required":["date"],"properties":{"date":{"oneOf":[{"type":"string","format":"date","example":"2025-05-13","description":"An specific date in the time-off request"},{"type":"string","format":"date-time","example":"2025-05-13T00:00:00Z","description":"An specific date in the time-off request. Please note that only the date (YYYY-MM-DD) part will be used."}],"example":"2025-05-13","description":"An specific date in the time-off request"},"hours":{"type":"number","format":"float","example":8,"description":"The amount taken in hours during this specific date. It can not exceed the maximum allowed hours for the date."},"amount":{"type":"number","format":"float","example":1,"description":"The amount of time off requested for the date. It must be in the same time unit as in the total amount for the time off request."},"day_type":{"enum":["HALF_DAY","FULL_DAY","PERCENTAGE","HOURLY"],"type":"string","example":"FULL_DAY","description":"The type of day for the time off request. All dates must follow the same type."}},"description":"The dates breakdown for the time off request."},"example":[{"date":"2025-05-13","type":"WORKING_DAY","amount":8,"time_off_percentage":1},{"date":"2025-05-14","type":"WORKING_DAY","amount":8,"time_off_percentage":1},{"date":"2025-05-15","type":"WORKING_DAY","amount":8,"time_off_percentage":1}],"description":"The dates breakdown for the time off request."},"reason":{"type":"string","example":"Sick leave - Doctor appointment","nullable":true,"maxLength":500,"description":"Reason for taking time off. This is complementary information for the time-off description. Useful to provide sub categories for the same policy."},"is_paid":{"type":"boolean","example":false,"description":"Whether the time off is paid or unpaid. By default it follows the policy configuration."},"end_date":{"oneOf":[{"type":"string","format":"date","example":"2021-08-02","description":"End date of the time off request. This is the date when the time off ends. For example, if you take 2 days off, this will be the end date of the second day."},{"type":"string","format":"date-time","example":"2021-08-02T00:00:00Z","description":"End date of the time off request. This is the date when the time off ends. For example, if you take 2 days off, this will be the end date of the second day. Please note that only the date (YYYY-MM-DD) part will be used."}],"example":"2021-08-02","description":"End date of the time off request. This is the date when the time off ends. For example, if you take 2 days off, this will be the end date of the second day."},"policy_id":{"type":"string","format":"uuid","example":"b1b9b1b9-1b9b-1b9b-1b9b-1b9b1b9b1b9b","description":"The time off policy id. Can be used in place of time_off_type_id"},"start_date":{"oneOf":[{"type":"string","format":"date","example":"2021-08-01","description":"Start date of the time off request. This is the date when the time off starts. For example, if you take 2 days off, this will be the start date of the first day."},{"type":"string","format":"date-time","example":"2021-08-01T00:00:00Z","description":"Start date of the time off request. This is the date when the time off starts. For example, if you take 2 days off, this will be the start date of the first day. Please note that only the date (YYYY-MM-DD) part will be used."}],"example":"2021-08-01","description":"Start date of the time off request. This is the date when the time off starts. For example, if you take 2 days off, this will be the start date of the first day."},"description":{"type":"string","example":"Vacation","nullable":true,"maxLength":500,"description":"Description of the time off request. Some policies require that a description is provided."},"contract_oid":{"type":"string","example":"d290f1ee6c54","nullable":true,"maxLength":24,"description":"Contract id. This is the id of the contract associated with the time off request."},"event_details":{"type":"object","required":["birth_date","was_premature_birth","had_multiple_children"],"properties":{"birth_date":{"type":"string","format":"date","example":"2025-05-13","description":"The birth date of the child. This is used for parental leave requests."},"adoption_date":{"type":"string","format":"date","example":"2025-05-13","description":"The date of adoption. This is used for parental leave requests."},"is_confirmation":{"type":"boolean","example":false,"description":"Whether the event date are a confirmed or not. This is used for parental leave requests when either the birth date or adoption date are not estimated anymore but actually confirmed."},"was_premature_birth":{"type":"boolean","example":false,"description":"Whether the birth was premature or not. This is used for parental leave requests."},"had_multiple_children":{"type":"boolean","example":false,"description":"Whether the birth was multiple or not. This is used for parental leave requests."}},"description":"Details of the event associated with the time off request. Required for event based policies such as parental leave."},"deduction_amount":{"type":"number","format":"float","example":1,"minimum":1,"nullable":true,"description":"Deduction amount. Available for independent contractor's policies"},"time_off_type_id":{"type":"string","format":"uuid","example":"b1b9b1b9-1b9b-1b9b-1b9b-1b9b1b9b1b9b","description":"The time off type id. Required when policy_id is not provided"},"time_off_event_id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"The time off event id. This is used to link the time off request to an event."},"time_off_percentage":{"type":"number","format":"double","example":1,"maximum":1,"minimum":0,"nullable":true,"description":"This is the percentage of time off taken. This is used when the time off request is a percentage."},"recipient_profile_id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"The hris profile id of the recipient"},"other_type_description":{"type":"string","example":"Study leave","nullable":true,"maxLength":255,"description":"Description of the time off type. This is used when the policy is OTHER."}},"description":"Time off update request data"}},"description":"Time off update request data"}}},"required":true,"description":"Time off update request data"}},"delete":{"tags":["Time Off"],"summary":"Cancel time-off request","operationId":"cancelTimeOffRequest","description":"Cancels a time-off request regardless of its current status. This endpoint provides a simplified approach to time-off management by always setting the request status to CANCELED.\n **Token scopes**: `time-off:write`, `worker:write`","responses":{"204":{"content":{"application/json":{"schema":{"type":"object","properties":{}}}},"description":"time off deleted"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"time_off_id","schema":{"type":"string","format":"uuid"},"example":"123e4567-e89b-12d3-a456-426614174000","required":true,"description":"Time off request id"}],"security":[{"deelToken":[]},{"oauth2":["time-off:write","worker:write"]}]}},"/payouts/balances":{"get":{"tags":["Payouts"],"summary":"List Contractor Balances","operationId":"listContractorBalances","description":"Retrieves the total available balances for the authenticated contractor, broken down by currency and in total.\n **Token scopes**: `worker:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"balances":{"type":"array","items":{"type":"object","properties":{"amount":{"type":"string","example":"1000.00","description":"amount of that currency in the contractor balance"},"currency":{"type":"string","example":"USD","description":"currency of that amount"}}},"x-sensitive-employment":true},"balances_total":{"type":"object","properties":{"amount":{"type":"string","example":"1000.00","description":"total amount of all currencies in the contractor balance"},"currency":{"type":"string","example":"USD","description":"currency of the total amount"}},"x-sensitive-employment":true}}}}}}},"description":"Successful operation. Returns the contractor's balances."},"400":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string","description":"error message"}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["worker:read"]}]}},"/people/external/{worker_id}/personal":{"get":{"tags":["People"],"summary":"Get worker profile by external ID","operationId":"getWorkerProfileSummaryByExternalId","description":"Retrieve a worker profile record using an external worker identifier.\n **Token scopes**: `people:read`","responses":{"204":{"description":"Successful response"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"worker_id","schema":{"type":"string"},"example":"123456","required":true,"description":"System-wide external identifier for a worker record."}],"security":[{"deelToken":[]},{"oauth2":["people:read"]}]},"patch":{"tags":["People"],"summary":"Update personal information by external id","operationId":"updatePeoplePersonalInformationByExternalId","description":"Update worker's personal information by using an external identifier.\n **Token scopes**: `people:write`","responses":{"204":{"description":"Successful response"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"worker_id","schema":{"type":"string"},"example":"96768afd-cdbd-4941-be60-dc70be36983d","required":true,"description":"Unique identifier for a worker (External ID)."}],"security":[{"deelToken":[]},{"oauth2":["people:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"date_of_birth":{"type":"string","format":"date","example":"1990-01-01","description":"The date of birth of the worker. Format: YYYY-MM-DD."},"personal_email":{"type":"string","format":"email","example":"test@example.com","maxLength":255,"description":"The personal email of the worker."},"preferred_name":{"type":"string","example":"John","nullable":true,"maxLength":255,"description":"The preferred name of the worker."},"legal_last_name":{"type":"string","example":"Doe","maxLength":100,"description":"The legal last name of the worker."},"legal_first_name":{"type":"string","example":"John","maxLength":100,"description":"The legal first name of the worker."}}}}}}}}}},"/hris/worker_relations/profile/external/{profileId}":{"delete":{"tags":["Worker Relations"],"summary":"Delete a worker relation by external id","operationId":"deleteWorkerRelationExternalId","description":"Delete a worker relation by external id.\n **Token scopes**: `profile:write`","responses":{"204":{"description":"Successfully deleted"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"profileId","schema":{"type":"string"},"example":"d290f1ee-6c54-4b01-90e6-d701748f0851","required":true,"description":"Worker Relation external ID"}],"security":[{"deelToken":[]},{"oauth2":["profile:write"]}]}},"/hris/organization_structures":{"get":{"tags":["Organization structure"],"summary":"Get Organization Structure","operationId":"getAllOrgStructures","description":"Retrieves detailed information about the organization's hierarchical structure, including departments and teams.\n **Token scopes**: `organizations:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"The unique identifier of the Org Structure."},"name":{"type":"string","example":"Engineering","description":"The name of the Org Structure."},"type":{"type":"string","example":"department","description":"The type of the Org Structure."},"roles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"85b54219-8456-4072-bee8-71e2d88452fa","description":"The unique identifier of the Role."},"name":{"type":"string","example":"Software Engineer","description":"The name of the Role."}}}},"teams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"ba46af84-2f15-42f3-b171-d7d9e0abb274","description":"The unique identifier of the Team."},"name":{"type":"string","example":"Software Engineer","description":"The name of the Team."},"parent":{"type":"string","example":"Business","nullable":true,"description":"The name of the parent Org Structure."},"children":{"type":"array","items":{"type":"object"}},"created_at":{"type":"string","format":"date-time","example":"2023-10-01T12:00:00Z","description":"The date and time when the Org Structure was created."},"name_route":{"type":"string","example":"software-engineer","nullable":true,"description":"The route name of the Team."},"external_id":{"type":"string","example":"ba46af84-2f15-42f3-b171-d7d9e0abb274","nullable":true,"description":"The external identifier of the Team."}}}},"created_at":{"type":"string","format":"date-time","example":"2023-10-01T12:00:00Z","description":"The date and time when the Org Structure was created."},"external_id":{"type":"string","example":"engineering","nullable":true,"description":"The external identifier of the Org Structure."},"teams_count":{"type":"integer","example":3,"description":"The number of Teams in the Org Structure."},"enable_roles":{"type":"boolean","example":true,"description":"Whether the Org Structure has Roles enabled."},"is_multiselect":{"type":"boolean","example":false,"description":"Whether the Org Structure is multiselect."}}}}}}}},"description":"Successful operation"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"query","name":"offset","schema":{"type":"number","format":"int64","default":0,"maximum":999999999,"minimum":0},"description":"Return a page of results with given number of records."},{"in":"query","name":"limit","schema":{"type":"number","maximum":200,"minimum":1},"description":"Return a page of results with given number of records."}],"security":[{"deelToken":[]},{"oauth2":["organizations:read"]}]},"post":{"tags":["Organization structure"],"summary":"Create a new HRIS Organization Structure.","operationId":"createOrgStructure","description":"Create a new HRIS Organization Structure.\n **Token scopes**: `organizations:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"The unique identifier of the organization structure."},"name":{"type":"string","example":"Engineering","description":"The name of the organization structure."},"type":{"type":"string","example":"team","description":"The type of the organization structure."},"created_at":{"type":"string","format":"date-time","example":"2022-01-01T00:00:00Z","description":"The date and time when the organization structure was created."},"updated_at":{"type":"string","format":"date-time","example":"2022-01-01T00:00:00Z","description":"The date and time when the organization structure was last updated."},"external_id":{"type":"string","example":"d290f1ee-6c54-4b01-90e6-d701748f0853","description":"The external identifier of the organization structure."},"enable_roles":{"type":"boolean","example":true,"description":"Whether roles are enabled for the organization structure."},"is_multi_select":{"type":"boolean","example":true,"description":"Whether multiple selection is enabled for the organization structure."},"organization_id":{"type":"integer","example":1,"description":"The unique identifier of the organization."}}}}}}},"description":"Successful operation"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"security":[{"deelToken":[]},{"oauth2":["organizations:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"name":{"type":"string","example":"Engineering","description":"The name of the organization structure."},"teams":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","example":"Engineering","description":"The name of the team."},"external_id":{"type":"string","example":"d290f1ee-6c54-4b01-90e6-d701748f0853","description":"The external identifier of the team."}}}},"external_id":{"type":"string","example":"d290f1ee-6c54-4b01-90e6-d701748f0853","description":"The external identifier of the organization structure."},"enable_roles":{"type":"boolean","default":true,"example":true,"description":"Whether roles are enabled for the organization structure."},"is_multiple_select":{"type":"boolean","default":true,"example":true,"description":"Whether multiple selection is enabled for the organization structure."}}}}}}},"required":true}}},"/eor/workers/compliance-documents/{document_id}/templates/download":{"get":{"tags":["EOR"],"summary":"Download employee compliance document template","operationId":"downloadEmployeeComplianceDocumentTemplate","description":"Get the download link for an employee compliance document template, if it exists.\n **Token scopes**: `worker:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"url":{"type":"string","example":"https://api-prod.letsdeel.com/contract_requirement_templates/12345.pdf","description":"The URL for the requested compliance document template."},"expires_at":{"type":"string","format":"date-time","example":"2020-03-31T10:58:49.780Z","nullable":true,"description":"Expiration date time of download URL."},"updated_at":{"type":"string","format":"date-time","example":"2025-06-23T11:22:16.160Z","description":"Last modified date of the template file"}}}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"document_id","schema":{"type":"string"},"example":"9b9fc43a-a90c-4615-ac50-baf1e314b53e","required":true,"description":"Unique identifier for a compliance document in Deel."}],"security":[{"deelToken":[]},{"oauth2":["worker:read"]}]}},"/eor/contracts/{contract_id}/amendments/{amendment_id}/pdf":{"get":{"tags":["EOR"],"summary":"Get EOR Contract Amendment PDF Download Link for Client and Employee","operationId":"getEorContractAmendmentPdfDownloadLinkForClientAndEmployee","description":"Generates a secure PDF download link for the EOR contract amendment, valid for 15 minutes.\n **Token scopes**: `contracts:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"url":{"type":"string","format":"uri","example":"https://files.example.com/contracts/amendments/1234.pdf","description":"Pre-signed URL to download the exported PDF (valid for 15 minutes)."}}}}}}},"description":"URL of exported PDF(valid for 15m)"},"400":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"VALIDATION_ERROR"},"message":{"type":"string","example":"Internal validation error occurred"}}}}}},"example":{"errors":[{"code":"VALIDATION_ERROR","message":"Internal validation error occurred."}]}}},"description":"Bad Request. The request could not be understood or was missing required parameters."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"AMENDMENT_ERROR","description":"Unique error code identifying the type of not-found error."},"message":{"type":"string","example":"The requested resource could not be found.","description":"Human-readable description of the missing resource."}}}}}}}},"description":"Resource not found (e.g., contract, profile, amendment, change request)."},"500":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"AMENDMENT_ERROR"},"message":{"type":"string","example":"An unexpected error occurred"}}}}}},"example":{"errors":[{"code":"AMENDMENT_ERROR","message":"An unexpected error occurred"}]}}},"description":"Internal server error."}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string","format":"alphanumeric"},"example":"3w6pd6r","required":true,"description":"The unique identifier of EOR worker contract."},{"in":"path","name":"amendment_id","schema":{"type":"string","format":"uuid"},"example":"77733bb9-9e17-4dfd-ba1b-1315f77cd7f7","required":true,"description":"A unique identifier for the employee contract amendment."}],"security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]}},"/ats/email-templates":{"get":{"tags":["ATS"],"summary":"Retrieve a list of published ATS email templates","operationId":"retrieveAListOfPublishedAtsEmailTemplates-v2026-02-11","description":"List email templates: Returns a paginated list of published email templates for an organization. Use this to populate template selectors when composing candidate communications or automating outreach workflows. Supports cursor-based pagination and filtering by update time via the 'updatedAfter' query parameter. Scope: ats:read\n **Token scopes**: `ats:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data","total_count","next_cursor","has_more"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","title","created_at","updated_at"],"properties":{"id":{"type":"string","format":"uuid","example":"f9cdb75b-1314-42fc-96b4-e6168fd73ed8","description":"Email template unique identifier"},"title":{"type":"string","example":"Default Offer Email Template","description":"Email template title"},"created_at":{"type":"string","format":"date-time","example":"2025-09-17T13:33:04.523Z","description":"Timestamp of when the email template was created"},"updated_at":{"type":"string","format":"date-time","example":"2025-09-17T13:33:04.523Z","description":"Timestamp of when the email template was last updated"}}}},"has_more":{"type":"boolean","example":true,"description":"Indicates if there are more email templates to fetch"},"next_cursor":{"type":"string","example":"eyJsYXN0Q3JlYXRlZEF0IjoiMjAyNS0wOS0xN1QxMzozMzowNC41MjNaIiwibGFzdElkIjoiYWZmZjRhMzAtMWY0ZS00NTMyLTk0MDItNGJmODk2NDFkMjE4In0=","nullable":true,"description":"Cursor for the next page of results"},"total_count":{"type":"integer","example":4,"description":"Total number of email templates available"}}},"example":{"data":[{"id":"f9cdb75b-1314-42fc-96b4-e6168fd73ed8","title":"Default Archive Email Template","created_at":"2025-09-17T13:33:04.523Z","updated_at":"2025-09-17T13:33:04.523Z"},{"id":"dec2e354-ec06-4311-bb77-1732261b6e2e","title":"Default Offer Email Template","created_at":"2025-09-17T13:33:04.523Z","updated_at":"2025-09-17T13:33:04.523Z"},{"id":"afff4a30-1f4e-4532-9402-4bf89641d218","title":"Default Candidate Interview Scheduling Email Template","created_at":"2025-09-17T13:33:04.523Z","updated_at":"2025-09-17T13:33:04.523Z"}],"has_more":true,"next_cursor":"eyJsYXN0Q3JlYXRlZEF0IjoiMjAyNS0wOS0xN1QxMzozMzowNC41MjNaIiwibGFzdElkIjoiYWZmZjRhMzAtMWY0ZS00NTMyLTk0MDItNGJmODk2NDFkMjE4In0=","total_count":4}}},"description":"Successfully retrieved email templates"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"internal_server_error","description":"Machine-readable error code"},"field":{"type":"string","example":"/data/example_field","description":"Name of the field causing the error (for validation issues)"},"message":{"type":"string","example":"Internal Server Error","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."}},"parameters":[{"in":"query","name":"cursor","schema":{"type":"string","maxLength":1000},"example":"eyJsYXN0Q3JlYXRlZEF0IjoiMjAyNS0wNi0xOFQwOToxNzoyMi40NDFaIiwibGFzdElkIjoiMWVhOTlmMzYtZWEzYy00N2QyLWI3NDAtNmFkNTM2ZjU4OTI4In0=","required":false,"description":"Cursor for pagination. Use the nextCursor value from the previous response to get the next page of results."},{"in":"query","name":"limit","schema":{"type":"integer","default":20,"maximum":100,"minimum":1},"example":25,"required":false,"description":"Maximum number of email templates to return per page"},{"in":"query","name":"updated_after","schema":{"type":"string","format":"date-time"},"example":"2025-06-18T00:00:00.000Z","required":false,"description":"Return only email templates that were updated after this timestamp (ISO 8601 format)"}],"security":[{"deelToken":[]},{"oauth2":["ats:read"]}]}},"/ats/hiring-members":{"get":{"tags":["ATS"],"summary":"Retrieve ATS hiring members","operationId":"retrieveAtsHiringMembers","description":"This endpoint retrieves a list of ATS hiring members. It provides detailed information about each hiring member, including their unique identifier, name, job title, email, profile picture URL, etc. The response also includes pagination details to help navigate through large sets of hiring members.\n **Token scopes**: `ats:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"a1b2c3d4-e5f6-7890-1234-567890abcdef","description":"Unique identifier"},"pic_url":{"type":"string","format":"uri","example":"https://example.com/picture.jpg","nullable":true,"description":"URL to the user's profile picture","x-sensitive-pii":true,"x-sensitive-employment":true},"job_title":{"type":"string","example":"Software Engineer","nullable":true,"description":"User's job title","x-sensitive-pii":true,"x-sensitive-employment":true},"last_name":{"type":"string","example":"Doe","description":"User's last name","x-sensitive-pii":true,"x-sensitive-employment":true},"created_at":{"type":"string","format":"date-time","example":"2023-01-01T00:00:00Z","nullable":false,"description":"Creation timestamp"},"first_name":{"type":"string","example":"John","description":"User's first name","x-sensitive-pii":true,"x-sensitive-employment":true},"updated_at":{"type":"string","format":"date-time","example":"2023-01-01T00:00:00Z","nullable":true,"description":"Last update timestamp"},"work_email":{"type":"string","format":"email","example":"john.doe@example.com","description":"User's work email address","x-sensitive-employment":true},"hris_organization_user_id":{"type":"string","example":"user123","description":"Unique identifier for the HRIS organization user"}}}},"has_more":{"type":"boolean","example":true,"description":"Indicates if there are more items to fetch."},"next_cursor":{"type":"string","example":"abcdef01-2345-6789-0abc-def012345678","nullable":true,"description":"Cursor for the next page of results"},"total_count":{"type":"integer","format":"int32","example":100,"minimum":0,"description":"Total number of users"}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_parameter","description":"Machine-readable error code"},"field":{"type":"string","example":"/data/example_field","description":"Name of the field causing the error (for validation issues)"},"message":{"type":"string","example":"Must have required property 'example_field'","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"service_unavailable","description":"Machine-readable error code"},"message":{"type":"string","example":"The service is currently experiencing issues","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."}},"parameters":[{"in":"query","name":"cursor","schema":{"type":"string"},"example":"cursorValue","description":"The cursor for pagination"},{"in":"query","name":"limit","schema":{"type":"integer","format":"int32","default":20,"maximum":100,"minimum":1},"example":50,"description":"Maximum number of records returned in one response"}],"security":[{"deelToken":[]},{"oauth2":["ats:read"]}]}},"/eor/workers/compliance-documents/{document_id}/download":{"get":{"tags":["EOR"],"summary":"Download submitted compliance document","operationId":"downloadSubmittedComplianceDocument","description":"Get the download link for an employee's submitted compliance document.\n **Token scopes**: `worker:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"url":{"type":"string","example":"https://api-prod.letsdeel.com/contract_requirement/12345.pdf","description":"The URL for the requested compliance document."},"expires_at":{"type":"string","format":"date-time","example":"2020-03-31T10:58:49.780Z","description":"Expiration date time of download URL."}}}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"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"}}}},"request":{"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"}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"document_id","schema":{"type":"string"},"required":true,"description":"Unique identifier for a compliance document in Deel."}],"security":[{"deelToken":[]},{"oauth2":["worker:read"]}]}},"/ats/departments":{"get":{"tags":["ATS"],"summary":"Retrieve a list of ATS departments","operationId":"retrieveAListOfAtsDepartments","description":"Retrieves a list of all departments in the Applicant Tracking System\n **Token scopes**: `ats:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data","next_cursor","total_count","has_more"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","name","created_at","updated_at"],"properties":{"id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","description":"Unique identifier for the department"},"name":{"type":"string","example":"Engineering","description":"Name of the department","x-sensitive-employment":true},"created_at":{"type":"string","format":"date-time","example":"2023-01-01T00:00:00Z","description":"Timestamp when the department was created"},"updated_at":{"type":"string","format":"date-time","example":"2023-01-01T00:00:00Z","description":"Timestamp when the department was last updated"}}},"example":[{"id":"550e8400-e29b-41d4-a716-446655440000","name":"Engineering","created_at":"2023-01-01T00:00:00Z","updated_at":"2023-01-01T00:00:00Z"}]},"has_more":{"type":"boolean","example":true,"description":"Indicates if there are more departments available"},"next_cursor":{"type":"string","example":"cursor123","nullable":true,"description":"Cursor for pagination to get the next set of results"},"total_count":{"type":"integer","example":100,"description":"Total number of departments available"}}}}},"description":"Successful response with departments data"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_parameter"},"field":{"type":"string","example":"start_date"},"message":{"type":"string","example":"start_date is required"}}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"query","name":"cursor","schema":{"type":"string"},"example":"cursorValue","description":"The cursor for pagination"},{"in":"query","name":"limit","schema":{"type":"integer","format":"int32","default":20,"maximum":100,"minimum":1},"example":50,"description":"Maximum number of records returned in one response"}],"security":[{"deelToken":[]},{"oauth2":["ats:read"]}]}},"/contracts/{contract_id}/timesheets":{"get":{"tags":["Timesheets"],"summary":"List of timesheets by contract","operationId":"getTimesheetsByContract","description":"Retrieve a list of timesheets found for a contract.\n **Token scopes**: `timesheets:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data","page"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","type","status","description","date_submitted","created_at","currency_code","total_amount","quantity","contract","worksheet","reported_by"],"properties":{"id":{"type":"string","format":"uuid","example":"00000000-0000-0000-0000-000000000000","description":"Unique identifier of this resource."},"type":{"type":"string","description":"Deprecated - it is always \"work\""},"scale":{"type":"string","nullable":true},"status":{"enum":["approved","declined","not_payable","paid","pending","processing",null],"type":"string","nullable":true,"description":"Status of this entry."},"contract":{"type":"object","required":["id","title","type"],"properties":{"id":{"type":"string","nullable":false},"type":{"enum":["ongoing_time_based","milestones","time_based","pay_as_you_go_time_based","commission","payg_milestones","payg_tasks","eor","unknown","employee","global_payroll","shield_msa","hris_direct_employee","peo"],"type":"string","description":"Type of a contract"},"title":{"type":"string","nullable":false}}},"quantity":{"type":"number","nullable":true},"worksheet":{"type":"object","nullable":true,"required":["weeks","days","hours","minutes"],"properties":{"days":{"type":"number","minimum":0},"hours":{"type":"number","minimum":0},"weeks":{"type":"number","minimum":0},"minutes":{"type":"number","minimum":0}}},"attachment":{"type":"object","nullable":true,"required":["filename","key"],"properties":{"key":{"type":"string","nullable":false,"description":"You can call attachments end-point, get key and URL to upload your file."},"filename":{"type":"string","nullable":false,"description":"Original filename you used to upload using attachments end-point."}},"description":"This object is used for linking file attachments to your records."},"created_at":{"type":"string","nullable":false},"description":{"type":"string","nullable":false},"reported_by":{"type":"object","nullable":false,"required":["id"],"properties":{"id":{"type":"string","format":"uuid","example":"00000000-0000-0000-0000-000000000000","description":"Unique identifier of this resource."},"full_name":{"type":"string","nullable":false,"x-sensitive-pii":true}}},"reviewed_by":{"type":"object","nullable":true,"required":["id","reviewed_at","remarks"],"properties":{"id":{"type":"string","format":"uuid","example":"00000000-0000-0000-0000-000000000000","description":"Unique identifier of this resource."},"remarks":{"type":"string","nullable":false},"full_name":{"type":"string","x-sensitive-pii":true},"reviewed_at":{"type":"string"}}},"custom_scale":{"type":"string","nullable":true},"total_amount":{"type":"string","nullable":false,"description":"is equal to quantity times rate of active work statement + bonus in this record"},"currency_code":{"type":"string","pattern":"^[A-Z]{3}$","maxLength":3,"minLength":3},"payment_cycle":{"type":"object","properties":{"end_date":{"type":"string","format":"date-time","nullable":true,"description":"Long date-time format following ISO-8601"},"start_date":{"type":"string","format":"date-time","nullable":true,"description":"Long date-time format following ISO-8601"}}},"date_submitted":{"type":"string","format":"date-time","nullable":false,"description":"Long date-time format following ISO-8601"},"hourly_report_preset":{"type":"object","nullable":true,"properties":{"id":{"type":"string","nullable":true,"description":"unique identifier of the related timesheet preset"},"rate":{"type":"number","nullable":true,"description":"the hourly rate of the related timesheet preset"},"title":{"type":"string","nullable":true,"description":"the title of the related timesheet preset"},"description":{"type":"string","nullable":true,"description":"the description of the related timesheet preset"}}}}}},"page":{"type":"object","example":{"total_rows":100},"required":["total_rows"],"properties":{"total_rows":{"type":"number","nullable":false}},"description":"This object is used for pagination."}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"c1e2e3l4","required":true,"description":"Deel contract id."},{"in":"query","name":"contract_types","schema":{"oneOf":[{"type":"array","items":{"enum":["ongoing_time_based","milestones","time_based","pay_as_you_go_time_based","commission","payg_milestones","payg_tasks","eor","unknown","employee","global_payroll","shield_msa","hris_direct_employee","peo"],"type":"string","description":"Type of a contract"},"description":"List of contract types"},{"enum":["ongoing_time_based","milestones","time_based","pay_as_you_go_time_based","commission","payg_milestones","payg_tasks","eor","unknown","employee","global_payroll","shield_msa","hris_direct_employee","peo"],"type":"string"}]},"example":"ongoing_time_based","description":"Types of contracts to filter."},{"in":"query","name":"statuses","schema":{"oneOf":[{"type":"array","items":{"enum":["approved","declined","not_payable","paid","pending","processing",null],"type":"string","nullable":true,"description":"Status of this entry."}},{"enum":["approved","declined","not_payable","paid","pending","processing",null],"type":"string"}]},"example":"approved","description":"Statuses of timesheets to filter."},{"in":"query","name":"reporter_id","schema":{"type":"string","format":"uuid"},"example":"e1x2a3m4p5l6e7","description":"ID of an existing profile"},{"in":"query","name":"date_from","schema":{"type":"string","format":"date","nullable":true,"description":"Short date in format ISO-8601 (YYYY-MM-DD). For example 2022-12-31."},"example":"2022-12-31","description":"Filtered results will include records created on or after the provided date. Short date in format ISO-8601 (YYYY-MM-DD). For example: 2022-12-31."},{"in":"query","name":"date_to","schema":{"type":"string","format":"date","nullable":true,"description":"Short date in format ISO-8601 (YYYY-MM-DD). For example 2022-12-31."},"example":"2022-12-31","description":"Filtered results will include records created before the provided date. Short date in format ISO-8601 (YYYY-MM-DD). For example: 2022-12-31."},{"in":"query","name":"limit","schema":{"type":"string"},"example":"10","description":"Return a page of results with given number of records; NOTE: technically ALL query parameters are strings or array of strings"},{"in":"query","name":"offset","schema":{"type":"string"},"example":"10","description":"Return a page of results after given index of row"}],"security":[{"deelToken":[]},{"oauth2":["timesheets:read"]}]}},"/people/custom_fields/{id}":{"get":{"tags":["Custom Fields"],"summary":"Get custom field from people by id","operationId":"getCustomFieldFromPeopleById","description":"Get custom field from people by id.\n **Token scopes**: `people:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"f7b3b3b3-4b3b-4b3b-4b3b-4b3b4b3b4b3b","description":"Custom field id"},"name":{"type":"string","example":"Custom field name","description":"Name of the custom field"},"type":{"oneOf":[{"type":"object","properties":{"name":{"enum":["text","number","date","percentage"],"type":"string","example":"text","description":"Simple types"}}},{"type":"object","properties":{"name":{"enum":["currency"],"type":"string","example":"currency","description":"Currency type"},"currency":{"type":"string","example":"USD","description":"Currency code"},"is_fixed":{"type":"boolean","example":true,"description":"When currency is fixed, only the amount can be edited by the users"}}},{"type":"object","properties":{"name":{"enum":["list","multiselect"],"type":"string","example":"list","description":"List types"},"options":{"type":"array","items":{"type":"string","example":"Option 1"},"description":"List of options for the custom field"}}}]},"settings":{"type":"object","properties":{"access":{"type":"object","properties":{"provided_by":{"type":"array","items":{"enum":["organization","worker"],"type":"string","example":"organization"},"description":"Entities providing access to the custom field"},"is_sensitive":{"type":"boolean","example":true,"description":"Whether the custom field is sensitive"}},"description":"Access settings for the custom field"},"required":{"type":"boolean","example":true,"description":"Whether the custom field is required"},"countries":{"type":"array","items":{"type":"string"},"example":["CA","GB","US"],"description":"Countries for which the custom field is applicable."},"is_enabled":{"type":"boolean","example":true,"description":"Whether the custom field is enabled"},"worker_types":{"type":"array","items":{"enum":["eor","contractor","hris_direct_employee","direct_employee"],"type":"string","example":"eor"},"description":"Worker types for which the custom field is applicable"}}},"placement":{"enum":["profile","contract"],"type":"string","example":"profile","description":"Valid placements for custom field"},"created_at":{"type":"string","format":"date","example":"2022-01-01T00:00:00Z","description":"Creation date of the custom field"},"description":{"type":"string","example":"Custom field description","description":"Description of the custom field"}}}}}}},"description":"Successful response"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"id","schema":{"type":"string","format":"uuid"},"example":"f7b3b3b3-4b3b-4b3b-4b3b-4b3b4b3b4b3b","required":true,"description":"Custom field id."}],"security":[{"deelToken":[]},{"oauth2":["people:read"]}]}},"/benefits/legal-entities/{legal_entity_id}/401k/plans":{"post":{"tags":["Plans 401K"],"summary":"Create 401k plan for legal entity","operationId":"create401KPlanForLegalEntity-v2026-01-01","description":"Create a new 401k plan for existing provider to legal entity\n **Token scopes**: `benefits:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","example":"550e8400-e29b-41d4-a716-446655440000","description":"ID of the 401K plan."},"name":{"type":"string","example":"Employee Retirement Savings Plan","description":"Name of the 401K plan."},"details":{"type":"object","properties":{"key":{"type":"string","example":"Plan administrator contact details","description":"A key-value pair providing additional details about the plan."}},"description":"Object containing additional information about the 401K plan."},"currency":{"type":"string","example":"USD","description":"Currency for the contributions in ISO 4217 format."},"start_date":{"type":"string","format":"date-time","example":"2025-09-02T00:00:00.000Z","description":"Start date of the plan."},"contribution_type":{"enum":["PERCENTAGE","NEC_PERCENTAGE","NEC_FIXED_AMOUNT","FIXED_AMOUNT","MATCH"],"type":"string","example":"PERCENTAGE","description":"Type of contribution for the 401K plan."},"contribution_limit":{"type":"number","example":5,"description":"Limit of the contribution."},"contribution_value":{"type":"number","example":5,"description":"Value of the contribution if type is percent or amount."},"contribution_value_for_match_rate":{"type":"array","items":{"type":"object","required":["limit","rate"],"properties":{"rate":{"type":"number","example":50,"description":"Rate of matching contribution."},"limit":{"type":"number","example":10000,"description":"Limit up to which the match rate is applicable."}},"description":"Contribution values for match rate type."},"description":"Array of objects containing limits and rates for match rate contribution type."}}}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"legal_entity_id","schema":{"type":"string","example":"f47ac10b-58cc-4372-a567-0e02b2c3d479"},"required":true,"description":"Id from the legal entity to receive a new 401k plan"}],"security":[{"deelToken":[]},{"oauth2":["benefits:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["name","contribution_type","start_date"],"properties":{"name":{"type":"string","example":"Employee Retirement Savings Plan","description":"Name of the 401K plan."},"details":{"type":"object","properties":{"key":{"type":"string","example":"Plan administrator contact details","description":"A key-value pair providing additional details about the plan."}},"description":"Object containing additional information about the 401K plan."},"start_date":{"type":"string","format":"date","example":"2023-01-01","description":"Start date of the plan."},"contribution_type":{"enum":["PERCENTAGE","NEC_PERCENTAGE","NEC_FIXED_AMOUNT","FIXED_AMOUNT","MATCH"],"type":"string","example":"PERCENTAGE","description":"Type of contribution for the 401K plan."},"contribution_value":{"type":"number","example":5,"description":"Value of the contribution if type is percent or amount."},"contribution_value_for_match_rate":{"type":"array","items":{"type":"object","required":["limit","rate"],"properties":{"rate":{"type":"number","example":50,"description":"Rate of matching contribution."},"limit":{"type":"number","example":10000,"description":"Limit up to which the match rate is applicable."}},"description":"Contribution values for match rate type."},"description":"Array of objects containing limits and rates for match rate contribution type."}},"description":"Schema for the 401K Guideline Plan request body."}}},"required":true}}},"/eor/worker/benefits":{"get":{"tags":["EOR"],"summary":"Retrieve Benefits for Employee","operationId":"retrieveBenefitsForEmployee","description":"Retrieves list of benefits for employee. This endpoint requires the employee’s auth token, as the employee ID is inferred from the token.\n **Token scopes**: `benefits:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["contract_id","currency","benefits"],"properties":{"benefits":{"type":"array","items":{"type":"object","required":["name","description","status","type","enrollment_details","organization_selection"],"properties":{"id":{"type":"string","format":"uuid","example":"5f4d1f3f-4b3b-4b1e-8f4f-3b1f4f1b3b4b","nullable":false,"description":"ID of the benefit."},"name":{"type":"string","example":"Healthcare","nullable":false,"description":"Name of the benefit"},"type":{"type":"string","example":"HEALTHCARE","nullable":true,"description":"Benefit type."},"status":{"type":"string","example":"ENROLLED","nullable":false,"description":"Status of the benefit"},"description":{"type":"string","example":"Ensure the employee is covered by a healthcare option.","nullable":false,"description":"Description of the benefit"},"enrollment_details":{"type":"object","required":["selected_provider","selected_plan","current_cycle_plan_cost","current_cycle_employer_contribution"],"properties":{"selected_plan":{"type":"object","required":["id","name","attachments"],"properties":{"id":{"type":"string","example":"c6f6fa50-badf-4950-88ee-2849e76aac8c","description":"Unique id of the plan"},"name":{"type":"string","example":"Gold","description":"Name of the plan"},"attachments":{"type":"array","items":{"type":"object","required":["id","label","url"],"properties":{"id":{"type":"string","example":"ce022a6d-c24b-48c5-a1a7-ac91e85035f2","description":"Unique id of the attachment"},"url":{"type":"string","example":"https://www.provider-a.com/attachments/Canada_Benefits.pdf","description":"URL of the attachment"},"label":{"type":"string","example":"Canada_Benefits.pdf","description":"Label of the attachment"}}}}}},"selected_provider":{"type":"object","required":["id","name","home_page_url","attachments"],"properties":{"id":{"type":"string","example":"a8cbeb12-32e3-44e3-3e1d-2a41c014d0b4","description":"Unique id of the provider"},"name":{"type":"string","example":"ManuLife","description":"Name of the provider"},"is_unisure":{"type":"boolean","example":true,"nullable":false,"description":"Indicates if Unisure."},"attachments":{"type":"array","items":{"type":"object","required":["id","label","url"],"properties":{"id":{"type":"string","example":"ce022a6d-c24b-48c5-a1a7-ac91e85035f2","description":"Unique id of the attachment"},"url":{"type":"string","example":"https://www.provider-a.com/attachments/Canada_Benefits.pdf","description":"URL of the attachment"},"label":{"type":"string","example":"Canada_Benefits.pdf","description":"Label of the attachment"}}}},"home_page_url":{"type":"string","example":"https://wwwec7.manulife.com/signin/#benefits","description":"Home page URL of the provider"}}},"current_cycle_plan_cost":{"type":"number","example":100,"description":"Cost of the plan for the current cycle"},"current_cycle_employer_contribution":{"type":"number","example":50,"description":"Employer contribution for the current cycle"}}},"organization_selection":{"type":"object","required":["selected_provider","selected_plan"],"properties":{"selected_plan":{"type":"object","required":["id","name","attachments"],"properties":{"id":{"type":"string","example":"c6f6fa50-badf-4950-88ee-2849e76aac8c","description":"Unique id of the plan"},"name":{"type":"string","example":"Gold","description":"Name of the plan"},"attachments":{"type":"array","items":{"type":"object","required":["id","label","url"],"properties":{"id":{"type":"string","example":"ce022a6d-c24b-48c5-a1a7-ac91e85035f2","description":"Unique id of the attachment"},"url":{"type":"string","example":"https://www.provider-a.com/attachments/Canada_Benefits.pdf","description":"URL of the attachment"},"label":{"type":"string","example":"Canada_Benefits.pdf","description":"Label of the attachment"}}}}}},"selected_provider":{"type":"object","required":["id","name","home_page_url","attachments"],"properties":{"id":{"type":"string","example":"f8cbeb32-14e3-44e3-3e1d-2a41c014d0b4","description":"Unique id of the provider"},"name":{"type":"string","example":"ManuLife","description":"Name of the provider"},"is_unisure":{"type":"boolean","example":true,"nullable":false,"description":"Indicates if Unisure."},"attachments":{"type":"array","items":{"type":"object","required":["id","label","url"],"properties":{"id":{"type":"string","example":"ce022a6d-c24b-48c5-a1a7-ac91e85035f2","description":"Unique id of the attachment"},"url":{"type":"string","example":"https://www.provider-a.com/attachments/Canada_Benefits.pdf","description":"URL of the attachment"},"label":{"type":"string","example":"Canada_Benefits.pdf","description":"Label of the attachment"}}}},"home_page_url":{"type":"string","example":"https://wwwec7.manulife.com/signin/#benefits","description":"Home page URL of the provider"}}}}}}}},"currency":{"type":"string","example":"USD","nullable":false,"description":"Currency of the contract"},"contract_id":{"type":"string","example":"m7yg6zp","nullable":false,"description":"Unique id of the contract"}}}}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"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"}}}},"request":{"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"}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["benefits:read"]}]}},"/ats/jobs":{"get":{"tags":["ATS"],"summary":"Retrieve a list of ATS jobs","operationId":"retrieveAListOfAtsJobs","description":"Retrieves a list of all jobs in the Applicant Tracking System. Results can be filtered by query parameters.\n **Token scopes**: `ats:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"a1b2c3d4-e5f6-7890-1234-567890abcdef","description":"Unique identifier for the job"},"title":{"type":"string","example":"Software Engineer","description":"Job title","x-sensitive-employment":true},"status":{"enum":["OPEN","CLOSED","DRAFT","WAITING_FOR_APPROVAL","APPROVED","NOT_APPROVED","ARCHIVED"],"type":"string","example":"OPEN","description":"Job status","x-sensitive-employment":true},"job_teams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"f1e2d3c4-b5a6-7890-1234-567890abcdef","description":"Unique identifier for the job team"},"team":{"type":"object","example":{"id":"c1d2e3f4-a5b6-7890-1234-567890abcdef","name":"Engineering Team"},"properties":{"id":{"type":"string","format":"uuid","example":"c1d2e3f4-a5b6-7890-1234-567890abcdef","description":"Unique identifier for the team"},"name":{"type":"string","example":"Engineering Team","description":"Team name"}},"description":"Team associated with the job"}}},"example":[{"id":"f1e2d3c4-b5a6-7890-1234-567890abcdef","team":{"id":"c1d2e3f4-a5b6-7890-1234-567890abcdef","name":"Engineering Team"}}],"nullable":true,"description":"Teams associated with the job","x-sensitive-employment":true},"created_at":{"type":"string","format":"date-time","example":"2023-10-01T12:00:00Z","description":"Timestamp when the job was created"},"updated_at":{"type":"string","format":"date-time","example":"2023-10-02T12:00:00Z","description":"Timestamp when the job was last updated"},"job_locations":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"b1c2d3e4-f5a6-7890-1234-567890abcdef","description":"Unique identifier for the job location"},"location":{"type":"object","example":{"id":"d1e2f3a4-b5c6-7890-1234-567890abcdef","name":"New York"},"properties":{"id":{"type":"string","format":"uuid","example":"d1e2f3a4-b5c6-7890-1234-567890abcdef","description":"Unique identifier for the location"},"name":{"type":"string","example":"New York","description":"Location name"}},"description":"Location associated with the job"}}},"example":[{"id":"b1c2d3e4-f5a6-7890-1234-567890abcdef","location":{"id":"d1e2f3a4-b5c6-7890-1234-567890abcdef","name":"New York"}}],"description":"Locations associated with the job","x-sensitive-employment":true},"hiring_members":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"91a8b7c6-d5e4-4321-abcd-ef0123456789","description":"Unique identifier for the hiring member"},"hris_organization_user_id":{"type":"string","format":"uuid","example":"89abcdef-0123-4567-89ab-cdef01234567","description":"Unique identifier for the HRIS organization user"}}},"nullable":true,"description":"Hiring members associated with the job","x-sensitive-employment":true},"is_confidential":{"type":"boolean","example":false,"description":"Indicates if the job is confidential"},"job_departments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"67890abc-def1-2345-6789-abcdef012345","description":"Unique identifier for the job department"},"department":{"type":"object","example":{"id":"567890ab-cdef-1234-5678-90abcdef012345","name":"Sales"},"nullable":true,"properties":{"id":{"type":"string","format":"uuid","example":"567890ab-cdef-1234-5678-90abcdef012345","description":"Unique identifier for the department"},"name":{"type":"string","example":"Sales","description":"Department name"}},"description":"Department associated with the job"}}},"example":[{"id":"67890abc-def1-2345-6789-abcdef012345","department":{"id":"567890ab-cdef-1234-5678-90abcdef012345","name":"Sales"}}],"nullable":true,"description":"Departments associated with the job","x-sensitive-employment":true},"approval_rule_id":{"type":"string","format":"uuid","default":null,"example":"7890abcd-ef01-2345-6789-abcdef012345","nullable":true,"description":"Unique identifier for the approval rule"},"applications_count":{"type":"integer","format":"int32","example":10,"nullable":true,"description":"Number of applications for the job","x-sensitive-employment":true},"approval_request_id":{"type":"string","format":"uuid","default":null,"example":"4567890a-bcde-f012-3456-7890abcdef01","nullable":true,"description":"Unique identifier for the approval request"},"current_compensation":{"type":"object","example":{"id":"comp-1234-5678-90ab-cdef","job_id":"a1b2c3d4-e5f6-7890-1234-567890abcdef","max_amount":120000,"min_amount":80000,"period_slug":"ANNUALLY","currency_iso_code":"USD"},"nullable":true,"properties":{"id":{"type":"string","format":"uuid","example":"comp-1234-5678-90ab-cdef","description":"Unique identifier for the compensation"},"job_id":{"type":"string","format":"uuid","example":"a1b2c3d4-e5f6-7890-1234-567890abcdef","description":"Job ID associated with the compensation"},"max_amount":{"type":"number","example":120000,"nullable":true,"description":"Maximum compensation amount"},"min_amount":{"type":"number","example":80000,"nullable":true,"description":"Minimum compensation amount"},"period_slug":{"enum":["ANNUALLY","MONTHLY","SEMIMONTHLY","BIWEEKLY","WEEKLY","DAILY","HOURLY"],"type":"string","example":"ANNUALLY","description":"Compensation period"},"currency_iso_code":{"type":"string","example":"USD","description":"ISO code of the currency"}},"description":"Current compensation details","x-sensitive-employment":true},"job_employment_types":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"34567890-abcd-ef01-2345-67890abcdef0","description":"Unique identifier for the job employment type"},"employment_type":{"type":"object","example":{"id":"23456789-0abc-def1-2345-67890abcdef01","name":"Full-time"},"properties":{"id":{"type":"string","format":"uuid","example":"23456789-0abc-def1-2345-67890abcdef01","description":"Unique identifier for the employment type"},"name":{"type":"string","example":"Full-time","description":"Employment type name"}},"description":"Employment type associated with the job"}}},"example":[{"id":"34567890-abcd-ef01-2345-67890abcdef0","employment_type":{"id":"23456789-0abc-def1-2345-67890abcdef01","name":"Full-time"}}],"description":"Employment types associated with the job","x-sensitive-employment":true},"richtext_description":{"type":"string","example":"<div>Job description in rich text format</div>","nullable":true,"description":"Rich text description of the job","x-sensitive-employment":true},"interview_plan_stages":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"12345678-90ab-cdef-0123-456789abcdef","description":"Unique identifier for the interview plan stage"},"name":{"type":"string","example":"Phone Screen","description":"Interview plan stage name"},"position_number":{"type":"integer","format":"int32","example":1,"nullable":true,"description":"Position number of the stage in the interview plan"},"default_type_slug":{"type":"string","example":"phone_screen","nullable":true,"description":"Default type slug of the interview plan stage"},"interview_plan_id":{"type":"string","format":"uuid","example":"98765432-10ab-cdef-0123-456789abcdef","description":"Interview plan ID associated with this stage"},"category_type_slug":{"enum":["LEAD","ACTIVE","COMPLETED"],"type":"string","example":"ACTIVE","description":"Category type of the interview plan stage"}}},"example":[{"id":"12345678-90ab-cdef-0123-456789abcdef","name":"Phone Screen","position_number":1,"default_type_slug":"phone_screen","interview_plan_id":"98765432-10ab-cdef-0123-456789abcdef","category_type_slug":"ACTIVE"}],"nullable":true,"description":"Interview plan stages","x-sensitive-employment":true},"approval_request_stringified":{"type":"string","example":"Approval request details in string format","nullable":true,"description":"Stringified approval request"},"created_by_hris_organization_user_id":{"type":"string","format":"uuid","example":"01234567-89ab-cdef-0123-456789abcdef","nullable":true,"description":"Unique identifier of the user who created the job"},"hiring_member_job_permissions_by_type_slug":{"type":"object","nullable":true,"properties":{"hiring_team":{"type":"string","example":"read","description":"Hiring team permissions"},"job_posting":{"type":"string","example":"write","description":"Job posting permissions"},"compensation":{"type":"string","example":"read","description":"Compensation permissions"},"interview_plan":{"type":"string","example":"write","description":"Interview plan permissions"},"application_form_submission":{"type":"string","example":"read","description":"Application form submission permissions"},"application_form_submission_sensitive_fields":{"type":"string","example":"none","description":"Application form submission sensitive fields permissions"}},"description":"Hiring member job permissions by type slug","x-sensitive-employment":true}}}},"has_more":{"type":"boolean","example":true,"description":"Indicates if there are more items to fetch."},"next_cursor":{"type":"string","example":"abcdef01-2345-6789-0abc-def012345678","nullable":true,"description":"Cursor for the next page of results"},"total_count":{"type":"integer","format":"int32","example":100,"minimum":0,"description":"Total number of jobs"}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"insufficient_permission","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"first_name","description":"The field name where input validation failed"},"message":{"type":"string","example":"human readable error message","description":"Description of the returned error"}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"query","name":"cursor","schema":{"type":"string"},"example":"cursorValue","description":"The cursor for pagination"},{"in":"query","name":"limit","schema":{"type":"integer","format":"int32","default":20,"maximum":100,"minimum":1},"example":50,"description":"Maximum number of records returned in one response"},{"in":"query","name":"search","schema":{"type":"string"},"example":"engineer","description":"Text to search for in job records (optional)"},{"in":"query","name":"interview_plan_id","schema":{"type":"string","format":"uuid"},"example":"b3b7c8e2-4e2a-4c3b-9e2d-1a2b3c4d5e6f","description":"Interview plan UUID (optional)"},{"in":"query","name":"location_ids","schema":{"type":"array","items":{"type":"string","format":"uuid"}},"example":["d1e2f3a4-b5c6-7d8e-9f01-23456789abcd"],"description":"Array of location UUIDs (optional)"},{"in":"query","name":"team_ids","schema":{"type":"array","items":{"type":"string","format":"uuid"}},"example":["a1b2c3d4-e5f6-7a8b-9c0d-1234567890ab"],"description":"Array of team UUIDs (optional)"},{"in":"query","name":"employment_type_ids","schema":{"type":"array","items":{"type":"string","format":"uuid"}},"example":["e1f2a3b4-c5d6-7e8f-9a01-23456789bcde"],"description":"Array of employment type UUIDs (optional)"},{"in":"query","name":"department_ids","schema":{"type":"array","items":{"type":"string","format":"uuid"}},"example":["f1e2d3c4-b5a6-7c8d-9e0f-123456789abc"],"description":"Array of department UUIDs (optional)"},{"in":"query","name":"updated_after","schema":{"type":"string","format":"date-time"},"example":"2025-06-18T00:00:00.000Z","required":false,"description":"Filter jobs updated after this timestamp (ISO 8601 format)"},{"in":"query","name":"status","schema":{"type":"array","items":{"enum":["OPEN","CLOSED","DRAFT","WAITING_FOR_APPROVAL","APPROVED","NOT_APPROVED","ARCHIVED"],"type":"string"}},"example":["OPEN","CLOSED"],"description":"Array of job status values (optional)"}],"security":[{"deelToken":[]},{"oauth2":["ats:read"]}]},"post":{"tags":["ATS"],"summary":"Create ATS Job","operationId":"createAtsJob","description":"This endpoint allows the creation of a new job within the ATS system. The user must provide all required fields, and the job will be created with the specified details.\n **Token scopes**: `ats:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","example":{"id":"550e8400-e29b-41d4-a716-446655440004","title":"Senior Software Engineer","status":"DRAFT","job_teams":[{"id":"550e8400-e29b-41d4-a716-446655440010","team":{"id":"550e8400-e29b-41d4-a716-446655440011","name":"Engineering"}}],"created_at":"2024-07-29T10:30:00Z","updated_at":"2024-07-29T10:30:00Z","job_locations":[{"id":"550e8400-e29b-41d4-a716-446655440012","location":{"id":"550e8400-e29b-41d4-a716-446655440013","name":"New York, NY"}}],"is_confidential":false,"job_departments":[{"id":"550e8400-e29b-41d4-a716-446655440014","department":{"id":"550e8400-e29b-41d4-a716-446655440015","name":"Technology"}}],"approval_rule_id":"550e8400-e29b-41d4-a716-446655440005","approval_request_id":"550e8400-e29b-41d4-a716-446655440006","job_employment_types":[{"id":"550e8400-e29b-41d4-a716-446655440016","employment_type":{"id":"550e8400-e29b-41d4-a716-446655440017","name":"Full-time"}}],"richtext_description":"<p>We are looking for a senior software engineer...</p>","created_by_hris_organization_user_id":"550e8400-e29b-41d4-a716-446655440007"},"required":["id","title","status","approval_rule_id","approval_request_id","is_confidential","created_by_hris_organization_user_id","job_employment_types","job_locations","job_teams"],"properties":{"id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440004","description":"Unique identifier for the created job"},"title":{"type":"string","example":"Senior Software Engineer","description":"The job title","x-sensitive-employment":true},"status":{"enum":["DRAFT","WAITING_FOR_APPROVAL","APPROVED","NOT_APPROVED","OPEN","CLOSED","ARCHIVED"],"type":"string","example":"DRAFT","description":"Current status of the job","x-sensitive-employment":true},"job_teams":{"type":"array","items":{"type":"object","required":["id","team"],"properties":{"id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440010","description":"Job team relationship ID"},"team":{"type":"object","example":{"id":"550e8400-e29b-41d4-a716-446655440011","name":"Engineering"},"required":["id","name"],"properties":{"id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440011","description":"Team ID"},"name":{"type":"string","example":"Engineering","description":"Team name"}}}}},"example":[{"id":"550e8400-e29b-41d4-a716-446655440010","team":{"id":"550e8400-e29b-41d4-a716-446655440011","name":"Engineering"}}],"description":"Teams associated with the job"},"created_at":{"type":"string","format":"date-time","example":"2024-07-29T10:30:00Z","description":"Timestamp when the job was created"},"updated_at":{"type":"string","format":"date-time","example":"2024-07-29T10:30:00Z","description":"Timestamp when the job was last updated"},"job_locations":{"type":"array","items":{"type":"object","required":["id","location"],"properties":{"id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440012","description":"Job location relationship ID"},"location":{"type":"object","example":{"id":"550e8400-e29b-41d4-a716-446655440013","name":"New York, NY"},"required":["id","name"],"properties":{"id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440013","description":"Location ID"},"name":{"type":"string","example":"New York, NY","description":"Location name"}}}}},"example":[{"id":"550e8400-e29b-41d4-a716-446655440012","location":{"id":"550e8400-e29b-41d4-a716-446655440013","name":"New York, NY"}}],"description":"Locations associated with the job"},"is_confidential":{"type":"boolean","example":false,"description":"Whether the job posting is confidential","x-sensitive-employment":true},"job_departments":{"type":"array","items":{"type":"object","required":["id","department"],"properties":{"id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440014","description":"Job department relationship ID"},"department":{"type":"object","example":{"id":"550e8400-e29b-41d4-a716-446655440015","name":"Technology"},"nullable":true,"required":["id","name"],"properties":{"id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440015","description":"Department ID"},"name":{"type":"string","example":"Technology","description":"Department name"}}}}},"example":[{"id":"550e8400-e29b-41d4-a716-446655440014","department":{"id":"550e8400-e29b-41d4-a716-446655440015","name":"Technology"}}],"nullable":true,"description":"Departments associated with the job"},"approval_rule_id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440005","nullable":true,"description":"ID of the approval rule applied to this job"},"approval_request_id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440006","nullable":true,"description":"ID of the approval request for this job"},"job_employment_types":{"type":"array","items":{"type":"object","required":["id","employment_type"],"properties":{"id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440016","description":"Job employment type relationship ID"},"employment_type":{"type":"object","example":{"id":"550e8400-e29b-41d4-a716-446655440017","name":"Full-time"},"required":["id","name"],"properties":{"id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440017","description":"Employment type ID"},"name":{"type":"string","example":"Full-time","description":"Employment type name"}}}}},"example":[{"id":"550e8400-e29b-41d4-a716-446655440016","employment_type":{"id":"550e8400-e29b-41d4-a716-446655440017","name":"Full-time"}}],"description":"Employment types associated with the job"},"richtext_description":{"type":"string","example":"<p>We are looking for a senior software engineer...</p>","nullable":true,"description":"Rich text description of the job","x-sensitive-employment":true},"created_by_hris_organization_user_id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440007","nullable":true,"description":"ID of the user who created the job"}}}}}}},"description":"Job successfully created"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_parameter"},"field":{"type":"string","example":"start_date"},"message":{"type":"string","example":"start_date is required"}}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["ats:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","required":["title","employment_type_ids","team_ids","location_ids"],"properties":{"title":{"type":"string","example":"Senior Software Engineer","description":"The job title"},"team_ids":{"type":"array","items":{"type":"string","format":"uuid","description":"Team ID must be a valid UUID"},"example":["550e8400-e29b-41d4-a716-446655440002"],"minItems":1,"description":"Array of team IDs (at least one required)"},"location_ids":{"type":"array","items":{"type":"string","format":"uuid","description":"Location ID must be a valid UUID"},"example":["550e8400-e29b-41d4-a716-446655440003"],"description":"Array of location IDs"},"department_ids":{"type":"array","items":{"type":"string","format":"uuid","description":"Department ID must be a valid UUID"},"example":["550e8400-e29b-41d4-a716-446655440001"],"description":"Array of department IDs (optional)"},"is_confidential":{"type":"boolean","default":false,"example":false,"description":"Whether the job posting is confidential"},"interview_plan_id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","description":"Interview Plan ID must be a valid UUID"},"employment_type_ids":{"type":"array","items":{"type":"string","format":"uuid","description":"Job Type ID must be a valid UUID"},"example":["550e8400-e29b-41d4-a716-446655440000"],"minItems":1,"description":"Array of employment type IDs (at least one required)"},"richtext_description":{"type":"string","example":"<p>We are looking for a senior software engineer...</p>","nullable":true,"description":"Rich text description of the job"}}}}}}}}}},"/payouts/contractors/methods/bank_transfers/supported_routes":{"get":{"tags":["Payouts"],"summary":"Get bank transfer supported routes for contractor","operationId":"getBankTransferSupportedRoutes","description":"Get all bank transfer supported routes for specific contractor.\n **Token scopes**: `worker:read`, `worker:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","example":{"AE":["AED","GBP","USD"],"AR":["ARS","EUR","USD"]},"description":"A mapping of country codes to arrays of supported currency codes","additionalProperties":{"type":"array","items":{"type":"string","example":"USD","description":"Supported currency code"}}}}},"example":{"data":{"AE":["AED","GBP","USD"],"AR":["ARS","EUR","USD"]}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"security":[{"deelToken":[]},{"oauth2":["worker:read","worker:write"]}]}},"/daas/banks/{bank_id}":{"patch":{"tags":["Deel As a Service"],"summary":"Modify bank account for an EOR employee","operationId":"patchEORBankAccount","description":"Modify bank account for an EOR employee.\n **Token scopes**: `worker:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"id":{"type":"string","example":"dcc7b587-2246-4909-853e-12056e90c451","description":"ID of Bank Account."},"status":{"enum":["new","pending","approved","failed"],"type":"string","example":"pending","description":"Bank Account status"},"created_at":{"type":"string","format":"date-time","example":"2022-05-24T09:38:46.235Z","description":"Long date-time format following ISO-8601"},"updated_at":{"type":"string","format":"date-time","example":"2022-05-24T09:38:46.235Z","description":"Long date-time format following ISO-8601"}}}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"bank_id","schema":{"type":"string","format":"uuid","description":"Unique identifier for a bank in UUID format."},"example":"dcc7b587-2246-4909-853e-12056e90c451","required":true,"description":"Unique identifier for a bank in UUID format."}],"security":[{"deelToken":[]},{"oauth2":["worker:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["key","value"],"properties":{"key":{"type":"string","example":"beneficiaryName","description":"The key of the bank account properties."},"value":{"type":"string","example":"John Doe","description":"The value for that key property."}}},"description":"Array of key value properties of bank account"}}}}},"description":"Bank Account object that needs to be modified"}}},"/eor/employment_cost":{"post":{"tags":["EOR"],"summary":"Calculate Employee Costs Globally","operationId":"calculateEmployeeCostsGlobally-v2026-01-01","description":"Determine the total employment costs for an Employee of Record (EOR) arrangement across different countries, including salary, employer costs, benefits, and additional fees.","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"costs":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Name of the cost item."},"amount":{"type":"string","description":"Cost amount."},"country":{"type":"string","description":"The country of the cost item."},"frequency":{"type":"string","description":"The frequency of the cost (e.g., monthly, annually)."},"country_code":{"type":"string","description":"ISO Alpha-2 code of the country."}}}},"salary":{"type":"string","description":"The base salary for the employee."},"country":{"type":"string","description":"The country where the employee is based."},"currency":{"type":"string","description":"The currency used for cost calculation."},"deel_fee":{"type":"string","description":"The Deel fee for managing the employee."},"frequency":{"type":"string","description":"Frequency of the salary payment (e.g., monthly)."},"total_costs":{"type":"string","description":"Total employment costs."},"country_code":{"type":"string","description":"ISO Alpha-2 code of the country."},"benefits_data":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Benefit name."},"plan":{"type":"string","description":"Benefit plan."},"amount":{"type":"string","description":"Benefit cost."},"fee_amount":{"type":"string","description":"Fees associated with the benefit."}}}},"employer_costs":{"type":"string","description":"Costs incurred by the employer."},"additional_data":{"type":"object","properties":{"additional_notes":{"type":"array","items":{"type":"string","description":"Additional notes or comments."}}}},"severance_accural":{"type":"string","description":"Severance accrual costs."}}},"examples":{"success":{"value":{"costs":[{"name":"Base Salary","amount":"60000","country":"Germany","frequency":"annually","country_code":"DE"},{"name":"Health Insurance","amount":"3000","country":"Germany","frequency":"annually","country_code":"DE"}],"salary":"60000","country":"Germany","currency":"EUR","deel_fee":"500","frequency":"annually","total_costs":"63500","country_code":"DE","benefits_data":[{"name":"Health Insurance","plan":"basic-health","amount":"3000","fee_amount":"0"}],"employer_costs":"3500","additional_data":{"additional_notes":["Severance accrual not included in calculation."]},"severance_accural":"0"},"summary":"Example of a successful response."}}}},"description":"Successfully calculated employee costs."},"400":{"content":{"application/json":{"examples":{"missingFields":{"value":{"error":"The 'salary', 'country', and 'currency' fields are required."},"summary":"Example of a missing field error."}}}},"description":"Invalid request. Some required fields are missing or invalid."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"examples":{"serverError":{"value":{"error":"An unexpected error occurred while processing the request."},"summary":"Example of an internal server error."}}}},"description":"Internal server error. Something went wrong while calculating costs."}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":[]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","required":["salary","country","currency"],"properties":{"state":{"type":"string","example":"California","description":"The state or region within the country, if applicable."},"salary":{"type":"number","example":50000,"minimum":1,"description":"The base salary for the employee."},"country":{"type":"string","example":"United States","description":"The full name of the country where the employee is based."},"benefits":{"type":"array","items":{"type":"object","required":["provider_id"],"properties":{"plan_id":{"type":"string","example":"basic-health","nullable":true,"description":"The ID of the benefits plan, if applicable."},"provider_id":{"type":"string","example":"health-insurance-co","description":"The ID of the benefits provider."}}},"nullable":true,"description":"A list of selected benefit plans for the employee."},"currency":{"type":"string","example":"USD","description":"The currency in which the costs are calculated."},"country_code":{"type":"string","example":"US","description":"The two-letter country code where the employee is based."}}}}},"examples":{"calculateCosts":{"value":{"data":{"state":"Bavaria","salary":60000,"country":"Germany","benefits":[{"plan_id":"basic-health","provider_id":"123"}],"currency":"EUR","country_code":"DE"}},"summary":"Example of a request body for calculating employee costs."}}}},"required":true}}},"/ats/reasons":{"get":{"tags":["ATS"],"summary":"Retrieve paginated list of ATS Rejection/Archivation reasons","operationId":"retrievePaginatedListOfAtsRejectionArchivationReasons-v2026-01-01","description":"Retrieves a list of rejection or archivation reasons in the Applicant Tracking System. You can filter reasons by group and subgroup to narrow down the results\n **Token scopes**: `ats:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data","next_cursor","total_count","has_more"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","label","reason_group_slug","created_at"],"properties":{"id":{"type":"string","format":"uuid","example":"a5a03786-0589-440e-93ea-6ecde116bc22","description":"Unique identifier for the reason"},"label":{"type":"string","example":"Not interested","description":"Label of the reason"},"created_at":{"type":"string","format":"date-time","example":"2025-11-10T15:19:18.389Z","description":"Timestamp when the reason was created"},"jobs_count":{"type":"number","example":0,"nullable":true,"description":"Number of jobs associated with this reason"},"updated_at":{"type":"string","format":"date-time","example":"2025-11-10T15:19:18.389Z","description":"Timestamp when the reason was last updated"},"subgroup_slug":{"enum":["INTEREST","LOCATION","COMPENSATION","RESPONSIVENESS","QUALIFICATION","FIT","EXPERIENCE","STATUS","ROLE_CHANGE","BENEFITS","COUNTER_OFFER","REMOTE_WORK","PERSONAL","TIMING","BUDGET","BUSINESS_NEEDS","EXTERNAL_CANDIDATE","INTERNAL_TRANSFER","HIRING_FREEZE",null],"type":"string","example":"INTEREST","nullable":true,"description":"Reason subgroup slug"},"email_template":{"type":"object","example":{"id":"a1b2c3d4-e5f6-7890-1234-567890abcdef","title":"Not Interested"},"nullable":true,"required":["id","title"],"properties":{"id":{"type":"string","format":"uuid","example":"a1b2c3d4-e5f6-7890-1234-567890abcdef","description":"Email template ID"},"title":{"type":"string","example":"Not Interested","description":"Email template title"}},"description":"Associated email template"},"candidates_count":{"type":"number","example":0,"nullable":true,"description":"Number of candidates associated with this reason"},"reason_group_slug":{"enum":["CANDIDATE_ARCHIVATION","OFFER_REJECTION","JOB_CLOSURE"],"type":"string","example":"CANDIDATE_ARCHIVATION","description":"Reason group slug"}}},"description":"Array of reason objects"},"has_more":{"type":"boolean","example":false,"description":"Indicates if there are more results available"},"next_cursor":{"type":"string","example":null,"nullable":true,"maxLength":1000,"description":"Cursor for pagination to fetch next page"},"total_count":{"type":"number","example":12,"description":"Total count of reasons"}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_parameter","description":"Machine-readable error code"},"field":{"type":"string","example":"/data/example_field","description":"Name of the field causing the error (for validation issues)"},"message":{"type":"string","example":"Must have required property 'example_field'","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"service_unavailable","description":"Machine-readable error code"},"message":{"type":"string","example":"The service is currently experiencing issues","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."}},"parameters":[{"in":"query","name":"cursor","schema":{"type":"string","maxLength":1000},"example":"cursorValue","description":"The cursor for pagination"},{"in":"query","name":"limit","schema":{"type":"integer","default":20,"maximum":100,"minimum":1},"example":50,"description":"Maximum number of records returned in one response"},{"in":"query","name":"search","schema":{"type":"string","maxLength":500},"example":"John Doe","description":"Search text for filtering candidates"},{"in":"query","name":"reason_group_slug","schema":{"enum":["CANDIDATE_ARCHIVATION","OFFER_REJECTION","JOB_CLOSURE"],"type":"string"},"example":"OFFER_REJECTION","description":"Reason group enum"},{"in":"query","name":"include_counts","schema":{"type":"string"},"example":"true","description":"If sent true, it will fetch result with counts"},{"in":"query","name":"subgroup_slug","schema":{"enum":["INTEREST","LOCATION","COMPENSATION","RESPONSIVENESS","QUALIFICATION","FIT","EXPERIENCE","STATUS","ROLE_CHANGE","BENEFITS","COUNTER_OFFER","REMOTE_WORK","PERSONAL","TIMING","BUDGET","BUSINESS_NEEDS","EXTERNAL_CANDIDATE","INTERNAL_TRANSFER","HIRING_FREEZE"],"type":"string"},"example":"INTEREST","description":"Reason subgroup enum"}],"security":[{"deelToken":[]},{"oauth2":["ats:read"]}]}},"/ats/tags":{"get":{"tags":["ATS"],"summary":"List tags","operationId":"listTags-v2026-02-27","description":"Use this endpoint to list all tags associated with the organization. View or organize tags based on filters like label or tag group.\n **Token scopes**: `ats:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data","total_count","has_more","next_cursor"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","created_at","updated_at"],"properties":{"id":{"type":"string","format":"uuid","example":"a1b2c3d4-e5f6-7890-abcd-ef1234567890","description":"Unique identifier of the tag."},"label":{"type":"string","example":"Referral","description":"Display name of the tag."},"created_at":{"type":"string","format":"date-time","example":"2026-02-26T12:00:00.000Z","description":"When the tag was created."},"updated_at":{"type":"string","format":"date-time","example":"2026-02-26T12:00:00.000Z","description":"When the tag was last updated."},"tag_group_slug":{"enum":["CANDIDATE"],"type":"string","example":"CANDIDATE","description":"Tag group. Use CANDIDATE for candidate tags."},"candidates_count":{"type":"integer","example":5,"nullable":true,"description":"Number of candidates with this tag. Present only when includeCounts=true."},"created_by_hris_organization_user_id":{"type":"string","format":"uuid","example":"b2c3d4e5-f6a7-8901-bcde-f12345678901","nullable":true,"description":"ID of the user who created the tag, if any."},"updated_by_hris_organization_user_id":{"type":"string","format":"uuid","example":"b2c3d4e5-f6a7-8901-bcde-f12345678901","nullable":true,"description":"ID of the user who last updated the tag, if any."}}},"description":"List of tags."},"has_more":{"type":"boolean","example":false,"description":"Whether more results exist (pagination)."},"next_cursor":{"type":"string","example":"eyJwYWdlIjoyfQ==","nullable":true,"maxLength":1000,"description":"Cursor for the next page of results, or null if none."},"total_count":{"type":"integer","example":10,"minimum":0,"description":"Total number of tags returned."}}}}},"description":"Successful operation. Returns the list of tags for the organization."},"400":{"content":{"application/json":{"schema":{"type":"object","required":["status_code","timestamp","path","errors"],"properties":{"path":{"type":"string","description":"Request URL path"},"errors":{"type":"array","items":{"type":"object","required":["code","message","field"],"properties":{"code":{"type":"string","example":"invalid_parameter","description":"Error code"},"field":{"type":"string","example":"start_date","description":"Request field related to the error, if applicable"},"message":{"type":"string","example":"start_date is required","description":"Human-readable error message"}}},"description":"List of error objects"},"timestamp":{"type":"string","format":"date-time","description":"Time when the error occurred"},"status_code":{"type":"integer","example":400,"description":"HTTP status code"}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","required":["status_code","timestamp","path"],"properties":{"path":{"type":"string","description":"Request URL path"},"timestamp":{"type":"string","format":"date-time","description":"Time when the error occurred"},"status_code":{"type":"integer","example":500,"description":"HTTP status code"}}}}},"description":"Operation failed."}},"parameters":[{"in":"query","name":"search_text","schema":{"type":"string","maxLength":50},"example":"Referral","required":false,"description":"Filter tags by label (case-insensitive partial match)"},{"in":"query","name":"tag_group_slug","schema":{"enum":["CANDIDATE"],"type":"string"},"example":"CANDIDATE","required":false,"description":"Filter by tag group. Use CANDIDATE for candidate tags."},{"in":"query","name":"include_counts","schema":{"enum":["true","false"],"type":"string","default":"false"},"example":"false","required":false,"description":"When true, each tag includes candidates_count (number of candidates with that tag)"},{"in":"query","name":"cursor","schema":{"type":"string","maxLength":1000},"example":"eyJwYWdlIjoyfQ==","required":false,"description":"Opaque cursor for pagination. Use the value from next_cursor of the previous response to fetch the next page."},{"in":"query","name":"limit","schema":{"type":"integer","default":20,"maximum":100,"minimum":1},"example":20,"required":false,"description":"Maximum number of tags to return per page (default: 20, max: 100)."}],"security":[{"deelToken":[]},{"oauth2":["ats:read"]}]}},"/benefits/legal-entities/{id}":{"get":{"tags":["Legal Entities"],"summary":"Get legal entity data from organization integrated with external benefits vendor","operationId":"getLegalEntityDataFromOrganizationIntegratedWithExternalBenefitsVendor-v2026-01-01","description":"Returns legal entity data for an organization integrated with an external benefits vendor, identified by `id`, including registration details, address, entity type, and employment classification.\n **Token scopes**: `organizations:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","nullable":false,"description":"Unique identifier for the legal entity."},"name":{"type":"string","example":"Acme Corporation","nullable":false,"description":"Name of the legal entity."},"phone":{"type":"string","example":"+1-800-555-1234","nullable":true,"description":"Phone number of the legal entity."},"vat_id":{"type":"string","example":"US123456789","nullable":true,"description":"VAT ID of the legal entity, known as EIN in the US."},"address":{"type":"object","nullable":false,"properties":{"zip":{"type":"string","example":"10001","nullable":false},"city":{"type":"string","example":"New York","nullable":false},"state":{"type":"string","example":"NY","nullable":true},"street":{"type":"string","example":"123 Main Street","nullable":false},"country":{"type":"string","example":"US","nullable":false},"province":{"type":"string","example":"New York County","nullable":true}},"description":"Address of the legal entity."},"country":{"type":"string","example":"US","nullable":true,"description":"Country of the legal entity."},"naics_code":{"type":"string","example":"541330","nullable":true,"description":"NAICS code of the legal entity."},"entity_type":{"type":"string","example":"LLC","nullable":false,"description":"Type of the legal entity (e.g., LLC)."},"employment_type":{"enum":["peo","usp","gp"],"type":"string","example":"peo","nullable":false,"description":"Employment type of the legal entity."},"registration_number":{"type":"string","example":"REG123456","nullable":true,"description":"Registration number of the legal entity."},"registration_address":{"type":"object","nullable":true,"properties":{"zip":{"type":"string","example":"20001","nullable":false},"city":{"type":"string","example":"Washington","nullable":false},"state":{"type":"string","example":"DC","nullable":false},"street":{"type":"string","example":"456 Another Street","nullable":false},"country":{"type":"string","example":"US","nullable":false},"province":{"type":"string","example":"District of Columbia","nullable":false}},"description":"Registration address of the legal entity."},"union_or_leased_employees":{"type":"boolean","example":false,"nullable":false,"description":"Indicates if the legal entity has union or leased employees."}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"id","schema":{"type":"string"},"example":"123e4567-e89b-12d3-a456-426614174000","required":true,"description":"Id from the legal entity to fetch data"}],"security":[{"deelToken":[]},{"oauth2":["organizations:read"]}]}},"/reports/payroll/cycles/{cycle_id}/gross-to-net":{"get":{"tags":["Reports"],"summary":"Gets G2N report data for a given payroll cycle by it's ID.","operationId":"getsG2NReportDataForAGivenPayrollCycleByItsId-v2026-01-01","description":"This endpoint gets categorized G2N data (including category group, category, sub-category and label) for each contract within a given payroll cycle for the provided id.\n **Token scopes**: `payslips:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data","created_at","updated_at","next_cursor","has_more","items_per_page"],"properties":{"data":{"type":"array","items":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","example":[{"label":"Allowance","value":1200.5,"category":"Gross (Taxable)","sub_category":"Bonus","category_group":"ADDITIONS"},{"label":"Pay Rate","value":5000,"category":"Gross (Taxable)","sub_category":"Base Pay","category_group":"ADDITIONS"}],"properties":{"label":{"type":"string","example":"Allowance","description":"Label of the payroll item.","x-sensitive-employment":true},"value":{"type":"number","example":1200.5,"description":"Value associated with the payroll item.","x-sensitive-employment":true},"category":{"type":"string","example":"Gross (Taxable)","description":"Category of the item.","x-sensitive-employment":true},"sub_category":{"type":"string","example":"Bonus","description":"Sub-category of the item.","x-sensitive-employment":true},"category_group":{"enum":["ADDITIONS","DEDUCTIONS","BENEFITS","INFOS","CONTRIBUTIONS","TOTALS"],"type":"string","example":"DEDUCTIONS","description":"Category group for the reporting label.","x-sensitive-employment":true}}},"description":"List of payroll-related items."},"currency":{"type":"string","example":"USD","description":"Currency associated with the payroll event."},"contract_oid":{"type":"string","example":"72aa50d","description":"Unique identifier for the contract.","x-sensitive-pii":true,"x-sensitive-employment":true},"payment_data":{"type":"object","nullable":true,"properties":{"conversion_rate":{"type":"string","example":"1.08","description":"Conversion rate applied between the payroll currency and the payment currency."},"payment_currency":{"type":"string","example":"EUR","description":"Currency in which the payment is made."}},"description":"Payment details associated with the payroll event. Null if no payment data is available."}}},"description":"List of contracts associated with the payroll event."},"has_more":{"type":"boolean","example":true,"description":"Indicates whether more pages are available."},"created_at":{"type":"string","format":"date-time","example":"2025-10-15T09:12:00Z","description":"Timestamp when the report was generated"},"updated_at":{"type":"string","format":"date-time","example":"2025-10-15T09:12:00Z","description":"Timestamp when the report was updated"},"next_cursor":{"type":"string","example":"cursor_bf35c551","nullable":true,"description":"Pagination cursor to fetch the next page of results."},"items_per_page":{"type":"integer","example":20,"description":"The number of items per page."}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_parameters","description":"Machine-readable error code."},"field":{"type":"string","example":"limit","description":"Field causing the error if applicable."},"message":{"type":"string","example":"Invalid query parameters provided.","description":"Human-readable explanation of the error."}}}}}}}},"description":"Bad Request."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","example":"not_found","description":"Machine-readable error code."},"message":{"type":"string","example":"Payroll event not found.","description":"Error message explaining the resource was not found."}}}}},"description":"Resource not found."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"internal_server_error","description":"Machine-readable error code."},"message":{"type":"string","example":"An unexpected error occurred on the server.","description":"Human-readable explanation of the server error."}}}}}}}},"description":"Internal Server Error."}},"parameters":[{"in":"query","name":"limit","schema":{"type":"integer","default":20,"maximum":100,"minimum":1},"example":20,"description":"Maximum number of items to return. Defaults to 20."},{"in":"query","name":"cursor","schema":{"type":"string"},"example":"x5d0c4eax5d0c4eax5d0c4eax5d0c4ea","description":"Cursor for pagination of results."},{"in":"path","name":"cycle_id","schema":{"type":"string","format":"uuid"},"example":"bcde50dc-3540-4f9a-a395-3486d2f54ee8","required":true,"description":"The unique identifier for the payroll event."}],"security":[{"deelToken":[]},{"oauth2":["payslips:read"]}]}},"/roles":{"get":{"tags":["Organizations"],"summary":"Get the roles of the current organization.","operationId":"getTheRolesOfTheCurrentOrganization-v2026-01-01","description":"Retrieve a list of roles assigned within the current organization. Each role has a unique identifier, name, scope, and optional HRIS structure ID. This helps determine the types of roles within the organization and their corresponding access levels.\n **Token scopes**: `organizations:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","example":{"data":[{"id":1,"name":"Organization Admin","scope":"ORGANIZATION","hrisOrgStructureId":"org-admin-01"},{"id":2,"name":"HR Manager","scope":"ORGANIZATION","hrisOrgStructureId":null},{"id":3,"name":"Team Lead","scope":"TEAM","hrisOrgStructureId":"team-lead-02"}]},"required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","name","scope"],"properties":{"id":{"type":"number","example":1001,"description":"The unique identifier for the role."},"name":{"type":"string","example":"Organization Admin","description":"The name of the role."},"scope":{"type":"string","example":"ORGANIZATION","description":"The scope of the role, which can define the level of access. For example, 'ORGANIZATION' represents a global role within the organization."},"hrisOrgStructureId":{"type":"string","example":"987fcdeb-51a2-43d7-9012-3456789abcde","nullable":true,"description":"The HRIS (Human Resource Information System) organization structure ID associated with the role, if applicable."}}}}}}}},"description":"Successful retrieval of the organization roles."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Bad request. Missing required parameters or invalid request format."}}}}},"description":"Bad request. The request was malformed or missing required parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Unauthorized. Please provide valid authentication credentials."}}}}},"description":"Unauthorized. The request is missing authentication credentials or the credentials provided are invalid."},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Internal server error. Please try again later."}}}}},"description":"Internal server error. An error occurred while processing the request."}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["organizations:read"]}]},"post":{"tags":["Organizations"],"summary":"Create organization custom role.","operationId":"CreateOrganizationRole","description":"Create organization custom role.\n **Token scopes**: `organizations:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"number","example":1,"description":"Organization role id"},"name":{"type":"string","example":"Admin","description":"Organization role name"},"scope":{"type":"string","example":"ORGANIZATION","description":"Organization role scope"},"description":{"type":"string","example":"Admin role","description":"Organization role description"},"permissionSets":{"type":"array","items":{"type":"string","example":"accounting:read","description":"Set of permissions for the organization role"}},"hrisOrgStructureId":{"type":"string","example":"abc123","description":"HRIS organization structure id"}}}}},"description":"Successful operation"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["organizations:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","required":["name","description","permissionSets","scope"],"properties":{"name":{"type":"string","example":"Admin","description":"Organization role name"},"scope":{"type":"string","example":"ORGANIZATION","description":"Organization role scope"},"description":{"type":"string","example":"Admin role","description":"Organization role description"},"permissionSets":{"type":"array","items":{"type":"string","example":"accounting:read","description":"Set of permissions for the organization role"}},"hrisOrgStructureId":{"type":"string","example":"abc123","description":"HRIS organization structure id"}}}}}}},"required":true}}},"/time_offs/time-off-events":{"get":{"tags":["Time Off"],"summary":"Get Time Off Events for Profile","operationId":"getTimeOffEventsForProfile","description":"List time off events for profile\n **Token scopes**: `time-off:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","hris_profile_id","type","time_off_type_id","policy_id","event_details","created_at","updated_at"],"properties":{"id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Time off event id"},"type":{"type":"string","example":"PARENTAL_LEAVE","description":"The type of event"},"policy_id":{"type":"string","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","nullable":false,"description":"Policy id"},"created_at":{"type":"string","format":"date-time","example":"2022-01-01T00:00:00Z","description":"Time off creation date"},"updated_at":{"type":"string","format":"date-time","example":"2022-01-01T00:00:00Z","description":"Time off update date"},"event_details":{"type":"object","nullable":false,"properties":{"birth_date":{"type":"string","format":"date","example":"2022-01-01","description":"Start date of the time off","x-sensitive-pii":true},"adoption_date":{"type":"string","format":"date","example":"2022-01-01","description":"End date of the time off","x-sensitive-pii":true},"was_premature_birth":{"type":"boolean","example":true,"description":"Was the child born prematurely?","x-sensitive-pii":true},"estimated_birth_date":{"type":"string","format":"date","example":"2022-01-01","description":"The estimated date of the child birth","x-sensitive-pii":true},"had_multiple_children":{"type":"boolean","example":true,"description":"Was it the birth of multiple children?","x-sensitive-pii":true},"estimated_adoption_date":{"type":"string","format":"date","example":"2022-01-01","description":"The estimated date of the child adoption","x-sensitive-pii":true}},"description":"Details of the time off event"},"hris_profile_id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Worker hris profile id"},"time_off_type_id":{"type":"string","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","nullable":false,"description":"Time off type id"}},"description":"Time off event object"},"example":[{"id":"d290f1ee-6c54-4b01-90e6-d701748f0851","type":"PARENTAL_LEAVE","policy_id":"d290f1ee-6c54-4b01-90e6-d701748f0851","created_at":"2022-01-01T00:00:00Z","updated_at":"2022-01-01T00:00:00Z","event_details":{"birth_date":"2022-01-01","adoption_date":"2022-01-01","was_premature_birth":true,"estimated_birth_date":"2022-01-01","had_multiple_children":true,"estimated_adoption_date":"2022-01-01"},"hris_profile_id":"d290f1ee-6c54-4b01-90e6-d701748f0851","time_off_type_id":"d290f1ee-6c54-4b01-90e6-d701748f0851"}],"description":"List of time off events for the profile"}},"description":"List of time off events for the profile"}}},"description":"List of time off events for the profile"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"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"}}}},"request":{"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"}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"query","name":"hris_profile_id","schema":{"type":"string","format":"uuid"},"example":"d290f1ee-6c54-4b01-90e6-d701748f0851","required":true,"description":"Worker hris profile id"},{"in":"query","name":"time_off_type_id","schema":{"type":"string","format":"uuid"},"example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Time off type id"},{"in":"query","name":"policy_id","schema":{"type":"string","format":"uuid"},"example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Policy id"}],"security":[{"deelToken":[]},{"oauth2":["time-off:read"]}]}},"/worker":{"post":{"tags":["Workers"],"summary":"Create a new worker","operationId":"createWorker","description":"Creates a new worker account with the specified profile type","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["user_id","profile_id","contract_id"],"properties":{"user_id":{"type":"string","example":"usr_abc123def456","nullable":false,"minLength":1,"description":"Created user ID"},"profile_id":{"type":"string","example":"prf_xyz789uvw321","nullable":false,"minLength":1,"description":"Created profile ID"},"contract_id":{"type":"string","example":"m4xdqx6","nullable":false,"minLength":1,"description":"Associated contract ID"}}}}}}},"description":"Worker created successfully"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}},"description":"Validation error"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}},"description":"Internal server error"}},"security":[{"deelToken":[]},{"oauth2":[]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["email","first_name","last_name","contract_id","profile_type","timezone","company"],"properties":{"email":{"type":"string","format":"email","example":"john.doe@deel.com","nullable":false,"minLength":5,"description":"Worker's email address"},"company":{"type":"object","required":["type","personal"],"properties":{"type":{"enum":["COMPANY","INDIVIDUAL"],"type":"string","example":"INDIVIDUAL","description":"Type of company registration"},"personal":{"type":"object","required":["street","city","zip","citizen","phone","personal_id"],"properties":{"zip":{"type":"number","example":"M5V2T6","description":"Zip/Postal code"},"city":{"type":"string","example":"Toronto","description":"City"},"phone":{"type":"number","example":14165550123,"description":"Phone number"},"street":{"type":"string","example":"123 Front Street West","description":"Street address"},"citizen":{"type":"string","example":"CA","description":"Citizenship country code"},"country":{"type":"string","example":"CA","description":"Country code"},"id_type":{"type":"string","example":"Passport","description":"Type of identification"},"province":{"type":"string","example":"ON","nullable":true,"description":"Province/State"},"timezone":{"type":"string","example":"America/Toronto","description":"Personal timezone"},"personal_id":{"type":"number","example":123456789,"description":"Personal identification number"},"legal_status":{"type":"string","example":"individual","description":"Legal status (required only when type is INDIVIDUAL)"},"tax_residence":{"type":"string","example":"CA","description":"Tax residence country code"},"entity_tax_residence":{"type":"string","example":"CA","description":"Entity tax residence (only applicable for company type)"}}}}},"timezone":{"type":"string","example":"America/Toronto","nullable":false,"description":"Worker's timezone"},"last_name":{"type":"string","example":"Doe","nullable":false,"minLength":1,"description":"Worker's last name"},"first_name":{"type":"string","example":"John","nullable":false,"minLength":1,"description":"Worker's first name"},"contract_id":{"type":"string","example":"m4xdqx6","nullable":false,"minLength":1,"description":"Associated contract ID"},"middle_name":{"type":"string","example":"Robert","nullable":true,"description":"Worker's middle name"},"profile_type":{"enum":["CONTRACTOR","EOR"],"type":"string","example":"CONTRACTOR","nullable":false,"description":"Type of worker profile"},"preferred_name":{"type":"string","example":"Johnny","nullable":true,"description":"Worker's preferred name"},"preferred_lastName":{"type":"string","example":"Doe Jr","nullable":true,"description":"Worker's preferred last name"},"preferred_firstname":{"type":"string","example":"Johnny","nullable":true,"description":"Worker's preferred first name"}}}}}}},"required":true}}},"/time-tracking/timesheets/{timesheet_id}":{"get":{"tags":["Time Tracking Timesheets"],"summary":"Retrieve a timesheet","operationId":"retrieveATimesheet-v2026-01-01","description":"Retrieves a timesheet by ID, including its submission, review, and processing status. When expand=file_data is provided, the response also includes file-related details such as the file name, download URL.\n **Token scopes**: `time-tracking:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","example":{"id":"660e8400-e29b-41d4-a716-446655440001","end_date":"2024-01-14","file_data":{"file_id":"770e8400-e29b-41d4-a716-446655440002","file_name":"January_Week2_Timesheet.csv","download_url":"https://my-unique-upload-bucket.s3.amazonaws.com/uploads/document.pdf?..."},"created_at":"2024-01-15T09:15:00.000Z","start_date":"2024-01-08","updated_at":"2024-01-16T10:30:00.000Z","contract_id":"mzz676x","review_status":"PENDING_REVIEW","submission_status":"SUBMITTED","validation_errors":null},"required":["id","contract_id","submission_status","review_status","start_date","end_date","created_at","updated_at","validation_errors"],"properties":{"id":{"type":"string","format":"uuid","example":"660e8400-e29b-41d4-a716-446655440001","description":"Unique identifier for the timesheet"},"end_date":{"type":"string","format":"date","example":"2024-01-14","description":"End date of the timesheet period"},"file_data":{"type":"object","nullable":true,"required":["file_id","file_name","download_url"],"properties":{"file_id":{"type":"string","format":"uuid","example":"770e8400-e29b-41d4-a716-446655440002","description":"Unique identifier for the timesheet file"},"file_name":{"type":"string","example":"January_Week2_Timesheet.csv","description":"Name of the timesheet file"},"download_url":{"type":"string","format":"uri","example":"https://my-unique-upload-bucket.s3.amazonaws.com/uploads/document.pdf?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIOSFODNN7EXAMPLE%2F20251107%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20251107T180000Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=a1b2c3d4e5f67890a1b2c3d4e5f67890a1b2c3d4e5f67890a1b2c3d4e5f67890","description":"Pre-signed S3 URL for downloading the timesheet file"}},"description":"Present only when `extend=file_data` is provided. Contains file details and download URL."},"created_at":{"type":"string","format":"date-time","example":"2024-01-15T09:15:00.000Z","description":"Timestamp when the timesheet was created"},"start_date":{"type":"string","format":"date","example":"2024-01-08","description":"Start date of the timesheet period"},"updated_at":{"type":"string","format":"date-time","example":"2024-01-16T10:30:00.000Z","description":"Timestamp when the timesheet was last updated"},"contract_id":{"type":"string","example":"mzz676x","description":"External id of the worker's contract associated with the timesheet"},"review_status":{"enum":["PENDING_CREATION","PENDING_REVIEW","APPROVED","REJECTED"],"type":"string","example":"PENDING_REVIEW","description":"Current status of the timesheet review"},"submission_status":{"enum":["UPLOADING","UPLOAD_FAILED","PROCESSING","SUBMITTED","INVALID","FAILED"],"type":"string","example":"SUBMITTED","description":"Current status of the timesheet submission"},"validation_errors":{"type":"array","items":{"type":"object","required":["type","message"],"properties":{"row":{"type":"number","example":34,"nullable":true,"description":"Row number in the timesheet file where the error occurred"},"type":{"enum":["EMPTY_TIMESHEET","INVALID_TIMESHEET_FORMAT","FILE_TOO_LARGE","INVALID_FILE_TYPE","INVALID_SHIFT_TIME_ORDER","INVALID_BREAK_TIME_ORDER","BREAK_OUTSIDE_SHIFT","OVERLAPPING_BREAKS","CANNOT_SUBMIT_SHIFTS","WORK_DURATION_MISMATCH","NON_WORKING_DAY_VIOLATION","PUBLIC_HOLIDAY_VIOLATION","TIME_OFF_VIOLATION","SHIFT_OUT_OF_CYCLE","DAY_UNAVAILABLE","INVALID_SHIFT_SUBMIT_TYPE","INVALID_SHIFT_ORIGIN","INVALID_SHIFT_TYPE","INVALID_SHIFT_KEEP_IN_TOUCH_DATE_INTERVAL","OVERLAPPING_SHIFT","SHIFT_CONTRACT_IN_RESTRICTED_STATUS","SHIFT_CONTRACT_IN_TERMINATION_STATUS","SHIFT_CONTRACT_COMPLETION_DATE","SHIFT_CONTRACT_START_DATE","SHIFT_MAX_SATURDAYS_PER_YEAR_VIOLATION","INVALID_DAY_TRACKING_DATA","SHIFT_MAX_WORKING_DAYS_PER_YEAR_VIOLATION","SHIFT_MAX_CONSECUTIVE_DAYS_STREAK_VIOLATION","BREAK_TYPE_NOT_AVAILABLE","BREAK_MISSED_OR_WAIVED","BREAK_DURATION_MISMATCH","BREAK_MAX_DURATION_EXCEEDED","WORK_LOCATION_VIOLATION","WORK_LOCATION_MISMATCH_BETWEEN_TIME_CLOCK_EVENTS_FOR_SHIFT","MISSING_WORK_DESCRIPTION"],"type":"string","example":"OVERLAPPING_SHIFT","description":"Type of validation error"},"column":{"type":"string","example":"Start time","nullable":true,"description":"Column name in the timesheet file where the error occurred"},"context":{"type":"object","example":{"shift_end":"2024-01-15T17:00:00.000Z","shift_start":"2024-01-15T09:00:00.000Z","overlapping_shift_public_id":"870e8401-e29b-41d5-a716-446655440132"},"nullable":true,"description":"Additional context information about the error","additionalProperties":true},"message":{"type":"string","example":"The shift overlaps with another existing shift for the same contract","description":"Human-readable error message"}}},"example":null,"nullable":true,"description":"Array of validation errors found during timesheet processing. Null if no errors found."}},"description":"Timesheet data including validation errors if applicable. When extend=file_data, also includes file_data object with file details and download URL."}}}}},"description":"Timesheet retrieved successfully. Returns timesheet details including validation errors if applicable. When extend=file_data, also includes file_data object with file details and download URL."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message","code","field"],"properties":{"code":{"type":"string","example":"not_found","description":"Machine-readable error code"},"field":{"type":"string","example":"timesheet_id","description":"Name of the field causing the error (for validation issues)"},"message":{"type":"string","example":"Timesheet not found, please verify the timesheet_id","description":"Human-readable explanation of the error"}}}}}}}},"description":"Timesheet not found."},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"query","name":"extend","style":"form","schema":{"type":"string","maxLength":100},"example":"file_data","explode":false,"required":false,"description":"Optional list of fields to extend in the response. Currently only `file_data` is supported, which includes file details (file_id, file_name) and download URL."},{"in":"path","name":"timesheet_id","schema":{"type":"string","format":"uuid"},"example":"880e8400-e29b-41d4-a716-446655440003","required":true,"description":"ID of the timesheet to fetch file for"}],"security":[{"deelToken":[]},{"oauth2":["time-tracking:read"]}]}},"/immigration/documents/{id}":{"get":{"tags":["Immigration"],"summary":"Immigration document","operationId":"immigrationDocument","description":"Fetch immigration document details by document id\n **Token scopes**: `immigration:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"1f42f564-c2d1-4516-b2f4-ef0e09c4bc30","description":"The UUID of document entity."},"status":{"enum":["IN_REVIEW","APPROVED","REJECTED"],"type":"string","example":"APPROVED","nullable":true,"description":"Current status of the document."},"document_type":{"type":"string","example":"Eu blue card","nullable":true,"description":"The type of the document. Represents the visa type for right to work cases."},"download_link":{"type":"array","items":{"type":"string"},"example":["https://deel-api.s3.eu-west-1.amazonaws.com/......"],"description":"S3 download link of all the files uploaded within current document record."},"expiration_date":{"type":"string","format":"date-time","example":"2023-10-31T13:45:30Z","nullable":true,"description":"Expiry date of the document."}}}}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"id","schema":{"type":"string"},"example":"dc7eb5dd-3161-4309-9b6a-7a87b7817d9e","required":true,"description":"Immigration case document id "}],"security":[{"deelToken":[]},{"oauth2":["immigration:read"]}]}},"/contracts/{contract_id}/custom_fields":{"get":{"tags":["Custom Fields"],"summary":"Retrieve custom fields for a contract","operationId":"retrieveCustomFieldsForAContract","description":"Retrieve custom fields for a contract.\n **Token scopes**: `contracts:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","name","type","data"],"properties":{"id":{"type":"string","format":"uuid","description":"UUID for the custom field value"},"data":{"anyOf":[{"type":"object","properties":{"value":{"type":"string"}},"description":"Text type"},{"type":"object","properties":{"value":{"type":"number"}},"description":"Number type"},{"type":"object","properties":{"value":{"type":"string","format":"date","example":"2021-01-01"}},"description":"Date type: YYYY-MM-DD"},{"type":"object","properties":{"text":{"type":"string","example":"10%"},"value":{"type":"number"}},"description":"Percentage type"},{"type":"object","properties":{"amount":{"type":"number"},"currency":{"type":"string","example":["USD","EUR","JPY","GBP","AUD","CAD","CHF","CNY","SEK","NZD","BRL"],"description":"The currency code in ISO 4217 format"}},"description":"Currency type"},{"type":"object","properties":{"option":{"type":"string"}},"description":"List type"},{"type":"object","properties":{"options":{"type":"array","items":{"type":"string"},"uniqueItems":true}},"description":"Multiselect type"}]},"name":{"type":"string","description":"Name of the custom field"},"type":{"enum":["text","number","currency","date","percentage","list","multiselect"],"type":"string","description":"Type of the custom field"}}}}}}}},"description":"Successful response"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"description":"Custom fields Not found"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"d290f1ee-6c54-4b01-90e6-d701748f0851","required":true,"description":"Contract Id"}],"security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]},"put":{"tags":["Custom Fields"],"summary":"Update custom field value","operationId":"UpsertCustomFieldValueFromContracts","description":"Update custom field value.\n **Token scopes**: `contracts:write`","responses":{"200":{"description":"Successful response"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"description":"Not found"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"3rwx9gw","required":true,"description":"Contract id."}],"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","data"],"properties":{"id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"UUID for the custom field value"},"data":{"anyOf":[{"type":"object","properties":{"value":{"type":"string","example":"text"}},"description":"Text type"},{"type":"object","properties":{"value":{"type":"number","example":1}},"description":"Number type"},{"type":"object","properties":{"value":{"type":"string","format":"date","example":"2021-01-01"}},"description":"Date type: YYYY-MM-DD"},{"type":"object","properties":{"value":{"type":"number","example":1}},"description":"Percentage type"},{"type":"object","properties":{"amount":{"type":"number"},"currency":{"type":"string","example":["USD","EUR","JPY","GBP","AUD","CAD","CHF","CNY","SEK","NZD","BRL"],"pattern":"^[A-Z]{3}$","description":"Important: When currency type is fixed, the currency field is ignored. "}},"description":"Currency type"},{"type":"object","properties":{"option":{"type":"string","example":"option"}},"description":"List type"},{"type":"object","properties":{"options":{"type":"array","items":{"type":"string","example":["option1","option2"]},"uniqueItems":true}},"description":"Multiselect type"}]}}}}}}},"required":true}}},"/workers/contracts/{contract_id}/pdf":{"get":{"tags":["Contracts"],"summary":"Retrieve contract PDF download link","operationId":"retrieveContractPdfDownloadLink","description":"Use this endpoint to retrieve a secure URL for downloading the PDF version of a specific contract. Provide the contract_id in the path to get the download link. This link can be used by the authenticated worker to access the contract document.\n **Token scopes**: `worker:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["url"],"properties":{"url":{"type":"string","format":"uri","example":"https://deel.com/contracts/1234567890.pdf","description":"A pre-signed URL to download the PDF version of the specified contract"}}}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_parameter","description":"Machine-readable error code"},"field":{"type":"string","example":"/data/example_field","description":"Name of the field causing the error (for validation issues)"},"message":{"type":"string","example":"Must have required property 'example_field'","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"service_unavailable","description":"Machine-readable error code"},"message":{"type":"string","example":"The service is currently experiencing issues","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"32yn4e6","required":true,"description":"The unique public identifier of the contract."}],"security":[{"deelToken":[]},{"oauth2":["worker:read"]}]}},"/contracts/{contract_id}/custom_fields/{id}":{"delete":{"tags":["Custom Fields"],"summary":"Delete Contract custom field by Id","operationId":"DeleteContractCustomField","description":"Removes the custom field value from the contract custom field.\n **Token scopes**: `contracts:write`","responses":{"204":{"description":"Successful response"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"id","schema":{"type":"string","format":"uuid"},"example":"d290f1ee-6c54-4b01-90e6-d701748f0851","required":true,"description":"Custom field id."},{"in":"path","name":"contract_id","schema":{"type":"string","format":"uuid"},"example":"d290f1ee-6c54-4b01-90e6-d701748f0851","required":true,"description":"Contract id."}],"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}]}},"/working-locations":{"get":{"tags":["Organizations"],"summary":"Retrieve working locations","operationId":"retrieveWorkingLocations","description":"Retrieves the list of available work location labels configured in the HRIS system for the organization.\n **Token scopes**: `organizations:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","name"],"properties":{"id":{"type":"number","example":"12345","description":"Unique identifier of this resource."},"name":{"type":"string","example":"Some locations"}}}}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["organizations:read"]}]}},"/lookups":{"get":{"tags":["Lookups"],"summary":"Retrieve lookup information for currencies, countries, entity types, etc","operationId":"getLookups","description":"Retrieve lookup information such as currencies, countries, entity types, or SIC numbers. Use the `type` query parameter to specify which data to retrieve.\n **Token scopes**: `legal-entity:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string","example":"United States","description":"The label for the lookup item (e.g., country name, entity type)."},"value":{"type":"string","example":"US","description":"The value associated with the lookup item (e.g., ISO code, type identifier)."}}}}}}}},"description":"A list of lookup information based on the requested type."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Invalid request parameters.","description":"Error message explaining what went wrong."}}}}},"description":"Invalid request parameters."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"query","name":"documents","schema":{"enum":["sicNumbers","entityTypes","countries"],"type":"string"},"example":"countries","required":true,"description":"The type of lookup data to retrieve. Options are `currencies`, `countries`, `entity_types`, and `sic_numbers`."}],"security":[{"deelToken":[]},{"oauth2":["legal-entity:read"]}]}},"/eor/contracts/{contract_id}/offboarding":{"get":{"tags":["EOR"],"summary":"Retrieve Offboarding Request","operationId":"retrieveOffboardingRequest","description":"Retrieve the offboarding request associated with a specific EOR contract (contract_id). Use it to review termination details, document review status, offboarding request data, and notifications required for the employee.\n **Token scopes**: `contracts:read`, `worker:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the offboarding request"},"end_date":{"type":"string","format":"date-time","example":"2025-01-31T00:00:00.000Z","nullable":true,"description":"The definitive contract end date","x-sensitive-pii":true,"x-sensitive-employment":true},"documents":{"type":"object","nullable":false,"required":["supporting","offboarding"],"properties":{"supporting":{"type":"array","items":{"type":"object","required":["id","name","type","created_at","updated_at","is_additional_supporting_document"],"properties":{"id":{"type":"string","example":"cmddlk1ghehm54l18gejg198r","description":"The unique identifier of the file","x-sensitive-pii":true},"name":{"type":"string","example":"Supporting Documentation","description":"The name of the file","x-sensitive-pii":true},"type":{"type":"string","example":"pdf","description":"The type/extension of the file","x-sensitive-pii":true},"created_at":{"type":"string","format":"date-time","example":"2025-07-21T21:07:27.713Z","description":"The date and time the file was created","x-sensitive-pii":true},"updated_at":{"type":"string","format":"date-time","example":"2025-07-21T21:07:27.713Z","description":"The date and time the file was updated","x-sensitive-pii":true},"is_additional_supporting_document":{"type":"boolean","example":false,"description":"Indicates if this is an additional supporting document added after the initial submission","x-sensitive-pii":true}}},"x-sensitive-pii":true},"offboarding":{"type":"array","items":{"type":"object","required":["files","reviewer_type","is_employee_notification_required","status"],"properties":{"id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the document set shared with the employee.","x-sensitive-pii":true},"files":{"type":"array","items":{"type":"object","required":["id","name","type","created_at"],"properties":{"id":{"type":"string","example":"cmdeh9wzgvihue4r54n2y51p4","description":"The unique identifier of the file","x-sensitive-pii":true},"name":{"type":"string","example":"Employee Sign Off Documents","description":"The name of the file","x-sensitive-pii":true},"type":{"type":"string","example":"pdf","description":"The type/extension of the file","x-sensitive-pii":true},"created_at":{"type":"string","format":"date-time","example":"2025-07-22T11:55:23.068Z","description":"The date and time the file was created","x-sensitive-pii":true},"updated_at":{"type":"string","format":"date-time","example":"2025-07-22T11:55:23.068Z","description":"The date and time the file was updated","x-sensitive-pii":true}}},"x-sensitive-pii":true},"status":{"enum":["AWAITING_REVIEW","AWAITING_FEEDBACK","FEEDBACK_PROVIDED","APPROVED","CHANGES_REQUESTED_BY_CLIENT","CHANGES_REQUESTED_BY_EMPLOYEE","WAIVED_REVIEW","NOT_RESPONDED","CANCELLED"],"type":"string","example":"AWAITING_REVIEW","description":"The current status of the document review","x-sensitive-pii":true},"created_at":{"type":"string","format":"date-time","example":"2025-07-22T11:55:23.068Z","description":"The date and time the document set was created","x-sensitive-pii":true},"updated_at":{"type":"string","format":"date-time","example":"2025-07-22T11:55:23.068Z","description":"The date and time the document set was updated","x-sensitive-pii":true},"reviewed_at":{"type":"string","format":"date-time","example":"2025-07-22T12:30:00.000Z","nullable":true,"description":"The date and time when the document was reviewed","x-sensitive-pii":true},"reviewed_by":{"type":"string","example":"John Doe","nullable":true,"description":"The name of the reviewer for this document. If the reviewer is not an employee, it will be the name of the client","x-sensitive-pii":true},"reviewer_type":{"enum":["CLIENT","EMPLOYEE"],"type":"string","example":"EMPLOYEE","description":"The type of reviewer for this document","x-sensitive-pii":true},"reviewer_feedback":{"type":"string","example":"Document needs clarification on section 3","nullable":true,"description":"Feedback provided by the reviewer","x-sensitive-pii":true},"notification_instructions":{"type":"string","example":"<p>Please review and provide feedback on the attached documents.</p>","nullable":true,"description":"HTML instructions for the reviewer notification","x-sensitive-pii":true},"is_employee_notification_required":{"type":"boolean","example":true,"description":"Indicates if the employee should be notified about this document review","x-sensitive-pii":true}}},"description":"Document set shared that requires client or employee review","x-sensitive-pii":true}},"description":"Document management structure for termination workflow including review processes and supporting documents","x-sensitive-pii":true},"created_at":{"type":"string","format":"date-time","example":"2025-01-31T00:00:00.000Z","nullable":false,"description":"The date and time the offboarding request was created"},"updated_at":{"type":"string","format":"date-time","example":"2025-01-31T00:00:00.000Z","nullable":false,"description":"The date and time the offboarding request was updated"},"contract_id":{"type":"string","example":"5B74FnLM","description":"The unique identifier of the employee contract."},"is_sensitive":{"type":"boolean","example":false,"nullable":false,"description":"Indicates if the offboarding request is sensitive. This is used to restrict access to the request only to the requester and the HRX team."},"request_data":{"type":"object","nullable":true,"properties":{"reason":{"enum":["STATUS_CHANGE","RELOCATION","COMPENSATION","RETIREMENT","JOB_ABANDONMENT","WORK_RELATED","PERSONAL","OTHER_OPPORTUNITY","NON_RENEWAL","PROBATION","ASSIGNMENT_ENDED","POSITION_ELIMINATION","FORCE_REDUCTION","DEATH","FOR_CAUSE","PERFORMANCE","MEDICAL","PERFORMANCE_ISSUES","ATTENDANCE_ISSUES","REORGANIZATION_DOWNSIZING_BUDGET_OR_REDUCTION_OF_WORKFORCE","ROLE_BECAME_REDUNDANT_OR_ROLE_CHANGED","OFFER_WAS_REVOKED","EXITING_THE_MARKET","NO_LONGER_WISH_TO_WORK_WITH_DEEL","COMPANY_ACQUIRED","STEALING","MISCONDUCT","FALSIFYING","HARASSMENT","VIOLENCE","REORGANIZATION_DOWNSIZING_BUDGET_OR_REDUCTION_OF_WORKFORCE_OR_ROLE_BECAME_REDUNDANT_OR_ROLE_CHANGED","UNAUTHORIZED_ABSENCES_OR_LACK_OF_ATTENDANCE","STANDARD_RESELLER_PRACTICE","MOVING_EMPLOYEE_TO_INTERNAL_ENTITY","MOVING_EMPLOYEE_TO_DEEL_PEO","OTHER"],"type":"string","example":"PERFORMANCE","nullable":false,"description":"The reason for the termination","x-sensitive-pii":true,"x-sensitive-employment":true},"end_date":{"type":"string","format":"date-time","example":"2025-01-31T00:00:00.000Z","nullable":true,"description":"The definitive contract end date","x-sensitive-pii":true,"x-sensitive-employment":true},"reason_detail":{"type":"string","example":"Employee is moving to another country","nullable":true,"description":"Optional field to describe the reason behind the resignation request","x-sensitive-pii":true,"x-sensitive-employment":true},"used_time_off":{"type":"object","example":{"time_offs":[{"unit":"BUSINESS_DAY","policy_type":"Vacation","tracking_periods":[{"used":0,"end_date":"2025-02-28T00:00:00.000Z","start_date":"2024-03-01T00:00:00.000Z"},{"used":0,"end_date":"2024-02-29T00:00:00.000Z","start_date":"2023-03-01T00:00:00.000Z"},{"used":0,"end_date":"2023-02-28T00:00:00.000Z","start_date":"2022-03-01T00:00:00.000Z"}],"scheduled_until_end_date":0}],"additional_details":null,"is_deel_pto_confirmed":true},"nullable":false,"required":["time_offs","is_deel_pto_confirmed"],"properties":{"time_offs":{"type":"array","items":{"type":"object","required":["unit","policy_type","tracking_periods","scheduled_until_end_date"],"properties":{"unit":{"enum":["BUSINESS_DAY","CALENDAR_DAY","HOUR"],"type":"string","example":"BUSINESS_DAY","description":"The unit of measurement for time off tracking","x-sensitive-employment":true},"policy_type":{"type":"string","example":"Vacation","description":"The type of time-off policy","x-sensitive-employment":true},"tracking_periods":{"type":"array","items":{"type":"object","required":["used","end_date","start_date"],"properties":{"used":{"type":"number","example":0,"description":"The amount of time off used in this tracking period","x-sensitive-employment":true},"end_date":{"type":"string","format":"date-time","example":"2025-02-28T00:00:00.000Z","description":"The end date of the tracking period","x-sensitive-employment":true},"start_date":{"type":"string","format":"date-time","example":"2024-03-01T00:00:00.000Z","description":"The start date of the tracking period","x-sensitive-employment":true}}},"x-sensitive-employment":true},"scheduled_until_end_date":{"type":"number","example":0,"description":"The amount of time off scheduled until the end date of the current tracking period","x-sensitive-employment":true}}},"x-sensitive-employment":true},"additional_details":{"type":"object","nullable":true,"properties":{"notes":{"type":"string","example":"Additional notes about time off allocation","nullable":true,"description":"Additional notes or comments about the time-off data","x-sensitive-employment":true},"updated_by":{"type":"string","example":"HR Administrator","nullable":true,"description":"The person or system that last updated the time-off data","x-sensitive-pii":true,"x-sensitive-employment":true},"last_updated_at":{"type":"string","format":"date-time","example":"2025-01-31T00:00:00.000Z","nullable":true,"description":"The date and time when the time-off data was last updated","x-sensitive-employment":true}},"x-sensitive-employment":true},"is_deel_pto_confirmed":{"type":"boolean","example":true,"nullable":false,"description":"Indicates whether the PTO allocation has been confirmed by Deel's system","x-sensitive-employment":true}},"description":"Time-off usage data including policy information and tracking periods","x-sensitive-employment":true},"desired_end_date":{"type":"string","format":"date","example":"2025-01-31","nullable":true,"description":"The desired end date. If the date is not provided, it will be selected by HRX the closest date possible","x-sensitive-pii":true,"x-sensitive-employment":true},"eligible_for_rehire":{"enum":["YES","NO","DONT_KNOW"],"type":"string","example":"DONT_KNOW","nullable":true,"description":"Parameter to inform whether it would be possible for the client to hire the employee again","x-sensitive-pii":true,"x-sensitive-employment":true},"eligible_for_rehire_reason":{"type":"string","example":"Employee is not eligible for rehire due to performance issues","nullable":true,"description":"Describe if the option DONT_KNOW was selected on eligible_for_rehire","x-sensitive-pii":true,"x-sensitive-employment":true}},"x-sensitive-pii":true},"desired_end_date":{"type":"string","format":"date-time","example":"2025-01-31T00:00:00.000Z","nullable":true,"description":"The desired end date. If the date is not provided, it will be selected by HRX the closest date possible","x-sensitive-pii":true,"x-sensitive-employment":true}}}}}}},"description":"Successful retrieval of the offboarding request."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_format","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"email","description":"The field name where input validation failed"},"message":{"type":"string","example":"The email field must be a valid email address format","description":"Description of the returned error"}}}}}}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"expired_token","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"authorization","description":"The field name where authentication failed"},"message":{"type":"string","example":"Your access token has expired. Please authenticate again to continue.","description":"Description of the returned error"}}}}}}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"access_denied","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"contract_id","description":"The field name where permission was denied"},"message":{"type":"string","example":"You do not have permission to access contract CT-12345. Contact your administrator for access.","description":"Description of the returned error"}}}}}}}},"description":"Forbidden"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"database_connection_failed","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":null,"description":"The field name where error occurred (null for server errors)"},"message":{"type":"string","example":"A temporary server error occurred. Please try again in a few moments or contact support if the issue persists.","description":"Description of the returned error"}}}}}}}},"description":"Internal Server Error"}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"1pj00yy","required":true,"description":"The unique identifier of the employee contract."}],"security":[{"deelToken":[]},{"oauth2":["contracts:read","worker:read"]}]}},"/lookups/job-titles":{"get":{"tags":["Lookups"],"summary":"Job titles list","operationId":"jobTitlesList","description":"Retrieve a list of pre-defined job titles in Deel platform.","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","required":["id","name"],"properties":{"id":{"type":"integer","format":"int64","example":1234,"description":"identifier of the job title"},"name":{"type":"string","example":"3D Artist","nullable":false,"description":"Job title."}}}},"page":{"type":"object","required":["cursor"],"properties":{"cursor":{"type":"string","example":"eyJvZmZzZXQiOjEwMCwibGltaXQiOjEwMCwiZmlsdGVyVHlwZSI6ImFsbCJ9","description":"Use for pagination to get next set of records after the given cursor."}}}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"query","name":"after_cursor","schema":{"type":"string","example":"eyJvZmZzZXQiOjEwMCwibGltaXQiOjEwMCwiZmlsdGVyVHlwZSI6ImFsbCJ9"},"required":false,"description":"Cursor for pagination. Use this to retrieve the next page of results."}],"security":[{"deelToken":[]},{"oauth2":[]}]}},"/consent_token":{"post":{"tags":["Consent"],"summary":"Create a consent token","operationId":"createConsentToken","description":"Creates a consent token for the specified user, profile and contract","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["unique_consent_token","created_at","updated_at","expires_at"],"properties":{"created_at":{"type":"string","format":"date-time","example":"2025-01-08T21:30:21.000Z","nullable":false,"description":"Token creation timestamp"},"expires_at":{"type":"string","format":"date-time","example":"2025-01-15T21:30:21.000Z","nullable":false,"description":"Token expiration timestamp"},"updated_at":{"type":"string","format":"date-time","example":"2025-01-08T21:30:21.000Z","nullable":false,"description":"Token last update timestamp"},"unique_consent_token":{"type":"string","example":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiJiMzk0NmYwYi05N2I4LTQ1NzAtYTY3MS02MDI0Njk0MzQ0OTYiLCJjb250cmFjdElkIjoiM3puazlucCIsInByb2ZpbGVJZCI6IjBhNGQwMDE1LWRhM2MtNDM2Yi05OTBkLTU2NDM4MTEzMzZkMCIsIm9yZ2FuaXphdGlvbklkIjoiMTg1NDgwIiwiaWF0IjoxNzM2MzcxODIxLCJleHAiOjE3MzY5NzY2MjEsImp0aSI6IjAyOGNjY2JiMmFlMTgyNjNmZGQ0ODZhMzIyYWVlNzdiIn0.xqOc4ybzrLEx46QLCVe_u_xHHrjYftPMdXDAEZ-gH78","nullable":false,"minLength":1,"description":"JWT token for consent"}}}}}}},"description":"Consent token created successfully"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}},"description":"Validation error"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}},"description":"Internal server error"}},"security":[{"deelToken":[]},{"oauth2":[]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["user_id","profile_id","contract_id"],"properties":{"user_id":{"type":"string","example":"659b608c-1e51-4bf2-8aca-85417cae63be","nullable":false,"minLength":1,"description":"User ID"},"profile_id":{"type":"string","example":"a94ff670-73e4-446d-a7fa-59087bc9ba38","nullable":false,"minLength":1,"description":"Profile ID"},"contract_id":{"type":"string","example":"3ey7jg6","nullable":false,"minLength":1,"description":"Contract ID"}}}}}}},"required":true}}},"/gp/workers/{worker_id}/address":{"patch":{"tags":["Global Payroll"],"summary":"Update address","operationId":"updateAddress","description":"Update the address of a Global Payroll employee.\n **Token scopes**: `people:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"zip":{"type":"string","example":"12345","nullable":true,"description":"Zip code."},"city":{"type":"string","example":"Denver","nullable":true,"description":"City name."},"state":{"type":"string","example":"CO","nullable":true,"description":"State name."},"street":{"type":"string","example":"123 Deel Street","nullable":true,"description":"Street name."},"country":{"type":"string","example":"US","pattern":"^[A-Z]{2}$","maxLength":2,"minLength":2,"description":"Country code."},"updated_at":{"type":"string","format":"date-time","example":"2022-05-24T09:38:46.235Z","nullable":false,"description":"Long date-time format following ISO-8601"}}}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"worker_id","schema":{"type":"string","format":"uuid","description":"Unique identifier for a worker in UUID format."},"example":"6f50539e-9f62-45d0-a42e-62a62fbb984a","required":true,"description":"Unique identifier for a worker in UUID format."}],"security":[{"deelToken":[]},{"oauth2":["people:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"zip":{"type":"string","example":"12345","description":"Zip code."},"city":{"type":"string","example":"London","description":"City name."},"street":{"type":"string","example":"123 Deel Street","description":"Street name."}}}}}}},"required":true,"description":"The desired address of the Global Payroll employee"}}},"/contracts/{contract_id}/ic-invoicing-taxes/{tax_type}":{"delete":{"tags":["IC invoicing taxes"],"summary":"Delete IC invoicing tax","operationId":"deleteIcInvoicingTax","description":"Use this endpoint to remove an IC invoicing tax from a contract when it no longer applies. Specify the contract_id and tax_type in the path. This action is irreversible and removes the tax from future invoicing.\n **Token scopes**: `invoice-adjustments:write`","responses":{"204":{"description":"IC tax successfully deleted"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_parameter","description":"Machine-readable error code"},"field":{"type":"string","example":"/data/example_field","description":"Name of the field causing the error (for validation issues)"},"message":{"type":"string","example":"Must have required property 'example_field'","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"service_unavailable","description":"Machine-readable error code"},"message":{"type":"string","example":"The service is currently experiencing issues","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"37nex2x","required":true,"description":"Deel Contract ID"},{"in":"path","name":"tax_type","schema":{"enum":["WITHHOLDING_TAX","VAT"],"type":"string"},"example":"VAT","required":true,"description":"IC tax type"}],"security":[{"deelToken":[]},{"oauth2":["invoice-adjustments:write"]}]}},"/eor/contract/{contract_id}":{"patch":{"tags":["EOR"],"summary":"Update EOR Contract","operationId":"updateEorContract","description":"This endpoint is used to modify mutable fields of an EOR contract, such as salary, job title, or benefits. It supports partial updates—only include fields that should be updated. Required fields must still be present for validation.\n **Token scopes**: `contracts:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["oid","status"],"properties":{"oid":{"type":"string","example":"cnt_12345","description":"The unique identifier of the employee contract."},"status":{"enum":["new","under_review","waiting_for_client_sign","waiting_for_eor_sign","waiting_for_employee_sign","awaiting_deposit_payment","rejected"],"type":"string","example":"under_review","description":"Current status of the contract"},"scope_of_work":{"type":"string","example":"Scope of work description.","description":"Scope of work description."}}},"examples":{"schedule_updated":{"value":{"id":"cnt_12345","oid":"cnt_12345","status":"under_review"}}}}},"description":"Contract updated successfully"},"400":{"content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","properties":{"code":{"type":"string","example":"ARCHIVED_CONTRACT","description":"Error code identifier"},"status":{"type":"integer","example":400,"description":"HTTP status code"},"message":{"type":"string","example":"Cannot resubmit an archived contract","description":"Error message details"}}}}},"examples":{"invalid_schedule":{"value":{"error":{"code":"PENDING_AMENDMENTS","status":400,"message":"Cannot update work schedule for contracts with in-progress amendments"}}},"archived_contract":{"value":{"error":{"code":"ARCHIVED_CONTRACT","status":400,"message":"Cannot resubmit an archived contract"}}},"invalid_start_date":{"value":{"error":{"status":400,"message":"Soonest available start date is Jan 1st, 2024"}}}}}},"description":"Bad Request"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","properties":{"code":{"type":"string","example":"FORBIDDEN_ACCESS","description":"Error code identifier"},"status":{"type":"integer","example":403,"description":"HTTP status code"},"message":{"type":"string","example":"Organization cannot use EOR schedules","description":"Error message details"}}}}}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","properties":{"code":{"type":"string","example":"CONTRACT_NOT_FOUND","description":"Error code identifier"},"status":{"type":"integer","example":404,"description":"HTTP status code"},"message":{"type":"string","example":"Contract not found","description":"Error message details"}}}}}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR","description":"Error code identifier"},"status":{"type":"integer","example":500,"description":"HTTP status code"},"message":{"type":"string","example":"Internal server error occurred","description":"Error message details"}}}}},"examples":{"internal_error":{"value":{"error":{"code":"INTERNAL_SERVER_ERROR","status":500,"message":"Internal server error occurred"}}}}}},"description":"Internal Server Error"}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"cnt_12345678","required":true,"description":"The unique identifier of the employee contract."}],"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["job_title","employee_first_name","employee_last_name","employee_email","employment_country","employment_type","start_date","salary"],"properties":{"scope":{"oneOf":[{"type":"string","example":"Scope of work description.","maxLength":10000,"minLength":100,"description":"Scope of work description."},{"type":"object","properties":{"scope_template_id":{"type":"string","format":"uuid","example":"00000000-0000-0000-0000-000000000000","description":"Scope template UUID."},"scope_validation_id":{"type":"string","format":"uuid","example":"00000000-0000-0000-0000-000000000000","description":"Scope validation UUID."}}}]},"salary":{"type":"number","format":"float","example":100000,"maximum":9999999999999,"minimum":0,"description":"Annual salary amount"},"benefits":{"type":"array","items":{"type":"object","properties":{"plan_id":{"type":"string","example":"PLAN123","nullable":true,"description":"Benefit plan ID"},"cover_all":{"type":"boolean","example":true,"description":"Indicates if benefit covers all"},"provider_id":{"type":"string","example":"PROV123","nullable":true,"description":"Benefit provider ID"},"contribution":{"type":"number","example":500,"maximum":9999999999999,"minimum":0,"nullable":true,"description":"Contribution amount"},"cover_dependents":{"type":"boolean","example":false,"description":"Indicates if benefit covers dependents"}},"description":"Benefit plan details"},"nullable":true,"description":"Array of employee benefits"},"currency":{"type":"string","example":"USD","description":"Currency code for salary and benefits"},"end_date":{"type":"string","format":"date","example":"2025-01-01","nullable":true,"description":"Employment end date"},"holidays":{"type":"number","example":20,"minimum":0,"nullable":true,"description":"Number of holiday days per year"},"is_hourly":{"type":"boolean","example":false,"nullable":true,"description":"Indicates if compensation is hourly"},"job_title":{"type":"string","example":"Software Engineer","description":"Job title (cannot be C-level position)"},"work_visa":{"type":"boolean","example":false,"nullable":true,"description":"Indicates if work visa is required"},"start_date":{"type":"string","format":"date","example":"2024-01-01","description":"Employment start date"},"employee_id":{"type":"string","example":"EMP123","description":"Employee's unique identifier"},"hourly_rate":{"type":"number","format":"float","example":50,"maximum":9999999999999,"minimum":0,"nullable":true,"description":"Hourly rate (required if is_hourly is true)"},"is_resubmit":{"type":"boolean","example":false,"nullable":true,"description":"Indicates if this is a resubmission"},"schedule_id":{"type":"string","example":"SCH123","nullable":true,"description":"Unique identifier for the employee's work schedule"},"seniority_id":{"type":"number","example":1,"description":"Seniority level identifier"},"work_pension":{"type":"boolean","example":true,"nullable":true,"description":"Indicates if work pension is included"},"signing_bonus":{"type":"number","format":"float","example":5000,"maximum":9999999999999,"minimum":0,"nullable":true,"description":"Signing bonus amount"},"time_off_type":{"enum":["STANDARD","SPECIFIC","PRORATED"],"type":"string","example":"PRORATED","description":"Type of time off"},"employee_email":{"type":"string","format":"email","example":"john.doe@example.com","description":"Employee's email address"},"seniority_date":{"type":"string","format":"date","example":"2024-01-01","description":"Employee seniority date"},"employment_type":{"enum":["Full-time","Part-time"],"type":"string","example":"Full-time","description":"Type of employment"},"sick_leave_days":{"type":"number","example":10,"maximum":90,"minimum":0,"nullable":true,"description":"Number of sick leave days per year"},"employee_address":{"type":"object","required":["country","city","street"],"properties":{"zip":{"type":"string","example":"94105","description":"ZIP/Postal code"},"city":{"type":"string","example":"San Francisco","description":"City of residence"},"phone":{"type":"string","example":"4151234567","description":"Phone number"},"state":{"type":"string","example":"California","description":"State of residence"},"street":{"type":"string","example":"123 Main Street","description":"Street address"},"country":{"type":"string","example":"United States","description":"Country of residence (can be country code or name)"},"province":{"type":"string","example":"Northern California","description":"Province of residence"},"calling_code":{"type":"string","example":"+1","description":"Country calling code"}},"description":"Employee's address information"},"employment_state":{"type":"string","example":"California","nullable":true,"description":"State/Province of employment"},"hiring_objective":{"enum":["EXPANDING_TO_NEW_COUNTRY","TEMP_EOR_OPENING_ENTITY","ONE_OFF_HIRE","CONVERTING_CONTRACTOR","OTHER"],"type":"string","example":"CONVERTING_CONTRACTOR","description":"Objective for hiring"},"probation_period":{"type":"number","example":3,"minimum":0,"nullable":true,"description":"Probation period duration"},"work_arrangement":{"enum":["REMOTE","ON_SITE_OR_HYBRID"],"type":"string","example":"REMOTE","nullable":true,"description":"Work arrangement type"},"work_eligibility":{"type":"object","required":["key","file_name"],"properties":{"key":{"type":"string","example":"work-eligibility-doc-123","description":"Unique identifier for the work eligibility document"},"file_name":{"type":"string","example":"work_permit_2024.pdf","description":"Name of the work eligibility document file"}},"description":"Work eligibility documentation"},"medical_insurance":{"type":"boolean","example":true,"description":"Medical insurance coverage"},"contract_term_type":{"enum":["DEFINITE","INDEFINITE"],"type":"string","example":"DEFINITE","description":"Type of contract term"},"employee_last_name":{"type":"string","example":"Doe","description":"Employee's last name"},"employment_country":{"type":"string","example":"United States","description":"Country of employment"},"notice_period_type":{"enum":["STANDARD","CUSTOM"],"type":"string","example":"STANDARD","description":"Type of notice period"},"employee_first_name":{"type":"string","example":"John","description":"Employee's first name"},"work_hours_per_week":{"type":"number","example":40,"maximum":168,"minimum":0,"description":"Working hours per week"},"employee_nationality":{"type":"string","example":"American","description":"Employee's nationality"},"reason_for_fixed_term":{"enum":["SEASONAL_OR_TEMPORARY_WORK","PROJECT_BASED_EMPLOYMENT","REPLACEMENT_FOR_PERMANENT_STAFF","TRIAL_PERIODS_FOR_NEW_ROLES_OR_BUSINESSES"],"type":"string","example":"PROJECT_BASED_EMPLOYMENT","nullable":true,"description":"Reason for fixed-term contract"},"quote_additional_fields":{"type":"object","properties":{"employee_type":{"enum":["Employee","Manager"],"type":"string","example":"Employee","description":"Type of employee"},"qualifications":{"type":"string","example":"Bachelor's degree","description":"Required qualifications"},"scope_german_translation":{"type":"string","example":"","description":"German translation of scope"},"qualifications_german_translation":{"type":"string","example":"","description":"German translation of qualifications"}},"description":"Additional quote-specific information"},"signing_bonus_payout_type":{"enum":["FIRST_CYCLE","AFTER_PROBATION","AFTER_FIRST_CONTRACT_ANNIVERSARY"],"type":"string","default":"FIRST_CYCLE","example":"FIRST_CYCLE","nullable":true,"description":"Determines when the signing bonus will be paid out"},"hiring_objective_extra_info":{"type":"string","example":"Replacing employee on leave","nullable":true,"description":"Additional information about hiring objective"},"notice_period_after_probation":{"type":"number","example":60,"minimum":0,"description":"Notice period after probation (days)"},"notice_period_during_probation":{"type":"number","example":30,"minimum":0,"description":"Notice period during probation (days)"},"is_auto_quote_validation_passed":{"type":"boolean","example":true,"nullable":true,"description":"Auto quote validation status"},"probation_period_type_for_definite":{"enum":["CUSTOM","STANDARD"],"type":"string","example":"STANDARD","description":"Unit of time for probation period"},"allow_consultant_equipment_reimbursement":{"type":"boolean","example":true,"description":"Allow equipment reimbursement for consultants"}}}}}}},"required":true,"description":"Contract update request object"}}},"/gp/workers/{worker_id}/employee-information":{"patch":{"tags":["Global Payroll"],"summary":"Update employee information","operationId":"updateEmployeeInformation-v2026-01-01","description":"Update employee number identifier used for integration\n **Token scopes**: `people:write`","responses":{"202":{"content":{"application/json":{"schema":{}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"worker_id","schema":{"type":"string","format":"uuid","description":"Unique identifier for a worker in UUID format."},"example":"6f50539e-9f62-45d0-a42e-62a62fbb984a","required":true,"description":"Unique identifier for a worker in UUID format."}],"security":[{"deelToken":[]},{"oauth2":["people:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"employee_number":{"type":"string","example":"100","description":"Employee's unique number."}}}}}}},"required":true}}},"/timesheets/{id}/reviews":{"post":{"tags":["Timesheets"],"summary":"Review a single timesheet","operationId":"createTimesheetReview","description":"Review a timesheet to approve or decline submitted work.\n **Token scopes**: `timesheets:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["created"],"properties":{"created":{"type":"boolean"}}}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"id","schema":{"type":"string"},"example":"string","required":true,"description":"ID of an existing timesheet"}],"security":[{"deelToken":[]},{"oauth2":["timesheets:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","required":["status"],"properties":{"reason":{"type":"string","nullable":true},"status":{"enum":["approved","declined"],"type":"string","nullable":false}}}}}}},"required":true}}},"/contracts/{contract_id}/invite":{"get":{"tags":["Contracts"],"summary":"Get worker invite link","operationId":"getWorkerInviteLink-v2026-01-01","description":"Generates and returns a signed invitation URL that allows a worker to review and sign their contract securely. Use this endpoint to initiate or resend the contract signing process after the contract has been created. Requires the contract_id, which is provided during the initial Create Contract workflow.\n **Token scopes**: `contracts:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"string"}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"query","name":"locale","schema":{"type":"string","pattern":"^[a-z]{2,5}$","maxLength":5,"minLength":2,"description":"Country code in ISO Alpha-2 format (lowercase)."},"example":"de","description":"Locale to use for the invite link."},{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"37nex2x","required":true,"description":"Deel contract id."}],"security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]}},"/contracts/{contract_id}/milestones":{"get":{"tags":["Milestones"],"summary":"Retrieve Milestones by Contract","operationId":"getMilestonesByContract","description":"Retrieve a list of milestones associated with a specific contract. Each milestone includes details such as its title, amount, status, and relevant dates, along with information about the creator and reviewer.\n **Token scopes**: `milestones:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","nullable":false,"required":["id","title","amount","status","created_at","description","reported_by","reviewed_by","approval_requested"],"properties":{"id":{"oneOf":[{"type":"string","description":"Unique identifier of this milestone."},{"type":"integer","format":"int64"}],"example":"12345"},"title":{"type":"string","example":"Initial Design Phase","nullable":false,"description":"The title of the milestone."},"amount":{"type":"string","example":"5000.00","description":"The amount to be paid for completing this milestone."},"status":{"type":"string","example":"Pending Approval","nullable":false,"description":"The current status of the milestone, such as 'Pending Approval', 'Approved', or 'Completed'."},"created_at":{"type":"string","format":"date-time","example":"2024-11-26T15:30:00Z","nullable":true,"description":"The creation date of the milestone in ISO-8601 format."},"description":{"type":"string","example":"Design the initial prototype of the application.","nullable":false,"description":"A detailed description of the milestone."},"reported_by":{"type":"object","nullable":false,"required":["id"],"properties":{"id":{"oneOf":[{"type":"string","description":"Unique identifier of the reporter."},{"type":"integer","format":"int64"}],"example":"78910"},"full_name":{"type":"string","example":"Jane Smith","nullable":false,"description":"The full name of the person who reported the milestone.","x-sensitive-pii":true}},"description":"Information about the creator of the milestone."},"reviewed_by":{"type":"object","nullable":true,"required":["id"],"properties":{"id":{"oneOf":[{"type":"string","description":"Unique identifier of the reviewer."},{"type":"integer","format":"int64"}],"example":"112233"},"full_name":{"type":"string","example":"John Doe","nullable":false,"description":"The full name of the person who reviewed the milestone.","x-sensitive-pii":true}},"description":"Information about the person who reviewed the milestone."},"approval_requested":{"type":"boolean","example":true,"description":"Indicates whether approval has been requested for the milestone."}}},"description":"An array of milestone objects associated with the contract."}}},"examples":{"successful":{"value":{"data":[{"id":"00000000-0000-0000-0000-000000000000","title":"Initial Design Phase","amount":"5000.00","status":"Pending Approval","created_at":"2024-11-26T15:30:00Z","description":"Design the initial prototype of the application.","reported_by":{"id":"00000000-0000-0000-0000-000000000000","full_name":"Jane Smith"},"reviewed_by":{"id":"00000000-0000-0000-0000-000000000000","full_name":"John Doe"},"approval_requested":true}]},"summary":"Example response for milestones"}}}},"description":"A list of milestones for the specified contract."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"37nex2x","required":true,"description":"The unique identifier of the Deel contract for which milestones are being retrieved."}],"security":[{"deelToken":[]},{"oauth2":["milestones:read"]}]},"post":{"tags":["Milestones"],"summary":"Create a Milestone","operationId":"createMilestone","description":"Add a new milestone to a specific contract. Milestones represent distinct deliverables or phases in the contract and can include additional details such as attachments.\n **Token scopes**: `milestones:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","example":{"data":{"created":true}},"required":["data"],"properties":{"data":{"type":"object","required":["created"],"properties":{"created":{"type":"boolean","example":true,"description":"Indicates whether the milestone was successfully created."}}}}}}},"description":"Milestone created successfully."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"The title is required and cannot be empty.","description":"A detailed error message explaining the validation issue."}}}}},"description":"Invalid request. The input data did not meet the required validation rules."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Contract not found.","description":"A message indicating the contract was not found."}}}}},"description":"The specified contract ID does not exist."},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"37nex2x","required":true,"description":"The unique identifier of the Deel contract where the milestone will be added."}],"security":[{"deelToken":[]},{"oauth2":["milestones:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","nullable":false,"required":["amount","title","description"],"properties":{"title":{"type":"string","example":"Sprint 2","nullable":false,"description":"The title of the milestone."},"amount":{"oneOf":[{"type":"string","example":"900.00","description":"The amount to be paid for the milestone."},{"type":"number","description":"The amount to be paid for the milestone."}]},"description":{"type":"string","example":"Complete all tasks associated with Sprint #2.","nullable":false,"description":"A detailed description of the milestone."}}}}}},"multipart/form-data":{"schema":{"type":"object","required":["data"],"properties":{"data":{"allOf":[{"type":"object","nullable":false,"required":["amount","title","description"],"properties":{"title":{"type":"string","example":"Sprint 2","nullable":false,"description":"The title of the milestone."},"amount":{"oneOf":[{"type":"string","example":"900.00","description":"The amount to be paid for the milestone."},{"type":"number","description":"The amount to be paid for the milestone."}]},"description":{"type":"string","example":"Complete all tasks associated with Sprint #2.","nullable":false,"description":"A detailed description of the milestone."}}},{"type":"object","properties":{"file":{"type":"string","format":"binary","nullable":false,"description":"An optional file to attach to the milestone entry."}},"description":"An optional file attachment for the milestone."}]}}}}},"required":true,"description":"The milestone object containing the required details to be added to the contract."}}},"/contracts/{contract_id}/milestones/{milestone_id}":{"get":{"tags":["Milestones"],"summary":"Retrieve a single milestone","operationId":"getMilestonesByContractAndId","description":"Retrieve a single milestone.\n **Token scopes**: `milestones:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","nullable":false,"required":["amount","approval_requested","reviewed_by","reported_by","id","title","description","status","created_at"],"properties":{"id":{"oneOf":[{"type":"string","description":"Unique identifier of this resource."},{"type":"integer","format":"int64"}]},"title":{"type":"string","nullable":false,"description":"Title of milestone."},"amount":{"type":"string","description":"Amount to be paid for the milestone."},"status":{"type":"string","nullable":false,"description":"Current status of milestone."},"created_at":{"type":"string","format":"date-time","nullable":true,"description":"Long date-time format following ISO-8601"},"description":{"type":"string","nullable":false,"description":"Description of milestone."},"reported_by":{"type":"object","nullable":false,"required":["id"],"properties":{"id":{"oneOf":[{"type":"string","description":"Unique identifier of this resource."},{"type":"integer","format":"int64"}]},"full_name":{"type":"string","nullable":false,"description":"Reporter's full name.","x-sensitive-pii":true}},"description":"Milestone creator."},"reviewed_by":{"type":"object","nullable":true,"required":["id"],"properties":{"id":{"oneOf":[{"type":"string","description":"Unique identifier of this resource."},{"type":"integer","format":"int64"}]},"full_name":{"type":"string","nullable":false,"description":"Reviewer's full name.","x-sensitive-pii":true}},"description":"Reviewer's information."},"approval_requested":{"type":"boolean","description":"Indicates if the contractor has requested the approval for the milestone."}}}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"37nex2x","required":true,"description":"Deel contract id."},{"in":"path","name":"milestone_id","schema":{"type":"string"},"required":true,"description":"ID of milestone to return"}],"security":[{"deelToken":[]},{"oauth2":["milestones:read"]}]},"delete":{"tags":["Milestones"],"summary":"Delete a Milestone","operationId":"deleteMilestoneById","description":"Delete a specific milestone associated with a contract. This operation removes the milestone and its data permanently from the system.\n **Token scopes**: `milestones:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","example":{"data":{"deleted":true}},"required":["data"],"properties":{"data":{"type":"object","required":["deleted"],"properties":{"deleted":{"type":"boolean","nullable":false,"description":"Confirms that the milestone was successfully deleted."}}}}}}},"description":"Milestone successfully deleted."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Invalid contract or milestone ID.","description":"A message indicating the provided contract or milestone ID is not valid."}}}}},"description":"Invalid request. The provided contract or milestone ID is invalid."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Contract or milestone not found.","description":"A message indicating that the specified contract or milestone does not exist."}}}}},"description":"Contract or milestone not found."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Internal server error.","description":"A general error message for internal server issues."}}}}},"description":"Server error. Something went wrong while processing the request."}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"37nex2x","required":true,"description":"The unique identifier of the Deel contract from which the milestone will be deleted."},{"in":"path","name":"milestone_id","schema":{"type":"string"},"required":true,"description":"The unique identifier of the milestone that is to be deleted."}],"security":[{"deelToken":[]},{"oauth2":["milestones:write"]}]}},"/contracts/{contract_id}/preview":{"get":{"tags":["Contractors"],"summary":"Preview a contract agreement","operationId":"previewAContractAgreement","description":"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.\n **Token scopes**: `contracts:read`, `worker:read`","responses":{"200":{"content":{"text/html":{"schema":{"type":"string"}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"query","name":"templateId","schema":{"type":"string","format":"uuid"},"example":"9585241d-2387-4d80-abea-cea4dde4807d","required":false,"description":"ID of an existing contract template."},{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"37nex2x","required":true,"description":"Deel contract id."}],"security":[{"deelToken":[]},{"oauth2":["contracts:read","worker:read"]}]}},"/contracts/{contract_id}/tasks":{"get":{"tags":["Tasks"],"summary":"List of tasks","operationId":"listOfTasks","description":"Retrieve a list of tasks associated with a specific contract. Each task contains details such as its ID, amount, submission date, status, and description. This endpoint is useful for tracking the progress and status of tasks related to contracts.\n **Token scopes**: `contracts:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","amount","date_submitted","status","description"],"properties":{"id":{"type":"string","nullable":false,"minLength":1,"description":"The unique identifier for the task."},"amount":{"type":"string","nullable":false,"description":"The monetary amount associated with the task."},"status":{"enum":["approved","declined","not_payable","paid","pending","processing",null],"type":"string","nullable":true,"description":"The current status of the task."},"attachment":{"type":"object","properties":{"key":{"type":"string","nullable":true,"description":"(Optional) The key for accessing the attachment."},"filename":{"type":"string","nullable":true,"description":"(Optional) The name of the file attached to the task."}}},"description":{"type":"string","nullable":false,"description":"(Required) A brief description of the task."},"date_submitted":{"type":"string","description":"(Required) The date when the task was submitted."}}}}}}}},"description":"Successful operation. A list of tasks associated with the specified contract."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"required":true,"description":"The unique identifier for the Deel contract."}],"security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]},"post":{"tags":["Tasks"],"summary":"Create a new task","operationId":"createANewTask","description":"Create a new task for a contractor associated with a specific Deel contract. A task can include details like amount, description, submission date.\n **Token scopes**: `contracts:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"00000000-0000-0000-0000-000000000000","description":"The unique identifier for the created task."},"status":{"enum":["approved","declined","not_payable","paid","pending","processing"],"type":"string","example":"pending","nullable":true,"description":"The current status of the task."},"created":{"type":"boolean","description":"Indicates whether the task creation operation was successful."}}}}},"example":{"data":{"id":"00000000-0000-0000-0000-000000000000","status":"pending","created":true}}}},"description":"The task was successfully created."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Invalid 'amount' field. Amount must be a valid number."}}}}},"description":"Bad request. Missing required fields or invalid data format."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Unauthorized access. Please provide a valid authentication token."}}}}},"description":"Unauthorized. Authentication credentials are missing or invalid."},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"An error occurred while creating the task. Please try again later."}}}}},"description":"Internal server error. An unexpected error occurred while processing the request."}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"37nex2x","required":true,"description":"The unique Deel contract ID associated with the task."}],"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","required":["amount","date_submitted","description"],"properties":{"amount":{"type":"string","example":"1500.00","nullable":false,"description":"The amount to be associated with the task, in the appropriate currency."},"description":{"type":"string","example":"Completion of Q1 project tasks","nullable":true,"description":"A description of the task."},"date_submitted":{"oneOf":[{"type":"string","format":"date","nullable":false},{"type":"string","format":"date-time","nullable":false}],"example":"2024-11-01","description":"The date the task was submitted, in ISO 8601 format. Also accepts date-time (YYYY-MM-DDTHH:MM:SSZ)."},"is_auto_approved":{"type":"boolean","example":true,"description":"If true, the task will be automatically approved as part of the request."}}}}},"example":{"data":{"amount":"1500.00","description":"Completion of Q1 project tasks","date_submitted":"2024-11-01"}}}},"required":true}}},"/eor/job-scopes":{"get":{"tags":["EOR"],"summary":"List of job scope templates for EOR contracts","operationId":"listOfJobScopeTemplatesForEorContracts","description":"Returns a list of predefined job scope templates for an EOR contract, which can be filtered by team. The list includes both predefined and custom job scope templates belonging to the user's teams.\n **Token scopes**: `organizations:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"array","items":{"properties":{"id":{"type":"string","example":"5ad8db95-3791-4e4d-b533-6faed2f5a3d8","description":"Unique identifier for the job scope"},"team":{"type":"object","properties":{"id":{"type":"string","example":null,"nullable":true,"description":"Unique identifier of the associated team, if any"},"name":{"type":"string","example":null,"nullable":true,"description":"Name of the team associated with the job scope, if any"}}},"title":{"type":"string","example":"3D Artist","description":"Title or name of the job scope"},"content":{"type":"string","example":"Lorem ipsum odor amet, consectetuer adipiscing elit. Erat sem morbi imperdiet fringilla proin amet nullam at sollicitudin? Sapien quis ad ut curabitur semper ultricies aptent molestie. Nunc condimentum risus aliquet viverra ridiculus erat dolor purus bibendum. Pellentesque neque ullamcorpsaer felis penatibus consectetur nec. Mus duis nisl commodo dui gravida cursus fermentum cras. Mauris habitant vivamus porttitor; a auctor tristique duis. Fames lobortis vulputate vestibulum dis potenti facilisi, aliquam nisl?d","description":"Detailed description of the job scope"},"personal":{"type":"string","example":null,"nullable":true,"description":"Identifier from the team or the profile, whichever is available"},"created_at":{"type":"string","example":"2025-01-09T18:37:50.516Z","description":"Timestamp of when the job scope was created"},"created_by":{"type":"object","properties":{"id":{"type":"string","example":null,"nullable":true,"description":"Unique identifier of the user who created the job scope"},"name":{"type":"string","example":"John Doe","nullable":true,"description":"Name of the user who created the job scope","x-sensitive-pii":true}}},"updated_at":{"type":"string","example":"2025-01-09T18:37:50.516Z","description":"Timestamp of when the job scope was last updated"},"updated_by":{"type":"object","properties":{"id":{"type":"string","example":"18cd9e12-e9d5-431c-bc51-9211c3e8cabf","nullable":true,"description":"Unique identifier of the user who last updated the job scope"},"name":{"type":"string","example":"John Doe","nullable":true,"description":"Name of the user who last updated the job scope","x-sensitive-pii":true}}},"source_type":{"enum":["MANUAL","AI"],"type":"string","example":"MANUAL","description":"Source of the job scope data"},"organization_id":{"type":"string","example":null,"nullable":true,"description":"Identifier of the associated organization, if any"}}}}}},"description":"Successfull response"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"enum":["No organization is linked with the profile","No teams found for this organization"],"type":"string","description":"Error message indicating the missing entity"}}}}},"description":"Not Found - Organization not linked to profile or no teams found for the organization"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"query","name":"team","schema":{"type":"string"},"description":"Team public id"}],"security":[{"deelToken":[]},{"oauth2":["organizations:read"]}]}},"/eor/contract/{oid}/delay-onboarding":{"patch":{"tags":["EOR"],"summary":"Delay EOR employee onboarding","operationId":"delayEorEmployeeOnboarding","description":"Delay EOR employee onboarding\n **Token scopes**: `contracts:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["success"],"properties":{"success":{"type":"boolean","example":true,"description":"Operation success status"},"contractOid":{"type":"string","example":"cnt_12345","description":"Contract OID"},"is_employee_onboarding_delayed":{"type":"boolean","example":true,"description":"Current onboarding delay status"}}},"examples":{"delayEnabled":{"value":{"success":true,"contractOid":"cnt_12345","is_employee_onboarding_delayed":true}},"delayDisabled":{"value":{"success":true,"contractOid":"cnt_12345","is_employee_onboarding_delayed":false}}}}},"description":"Employee onboarding delay status updated successfully"},"400":{"content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","example":"Not possible to update delay onboarding.","description":"Error message"}}}}},"description":"Bad Request - Contract not found or invalid status"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"oid","schema":{"type":"string"},"example":"cnt_12345678","required":true,"description":"Contract oid"}],"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["is_employee_onboarding_delayed"],"properties":{"is_employee_onboarding_delayed":{"type":"boolean","example":true,"description":"Indicates if the employee onboarding is delayed"}}}}}}},"required":true,"description":"Indicates if the employee onboarding is delayed"}}},"/gp/workers/{worker_id}/pto-policy":{"patch":{"tags":["Global Payroll"],"summary":"Update PTO policy","operationId":"updateGPEmployeePto","description":"Update the PTO policy of a Global Payroll employee.\n **Token scopes**: `people:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["updated"],"properties":{"updated":{"type":"boolean","example":true,"description":"Indicates if the PTO policy was successfully updated."}}}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"worker_id","schema":{"type":"string","format":"uuid","description":"Unique identifier for a worker in UUID format."},"example":"6f50539e-9f62-45d0-a42e-62a62fbb984a","required":true,"description":"Unique identifier for a worker in UUID format."}],"security":[{"deelToken":[]},{"oauth2":["people:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["accrual_start_date","yearly_allowance"],"properties":{"yearly_allowance":{"type":"string","example":"15","description":"Enter the number of holidays. Example: '15' for 15 days."},"accrual_start_date":{"type":"string","format":"date","example":"1999-12-31","description":"Short date in format ISO-8601 (YYYY-MM-DD). For example: '2022-12-31'."}}}}}}},"required":true,"description":"Contract object that needs to be amended."}}},"/eor/workers/resignations":{"get":{"tags":["EOR"],"summary":"Retrieve worker resignations","operationId":"retrieveWorkerResignations","description":"Use this endpoint to retrieve resignations submitted by Employer of Record (EOR) workers. Use it when you need to review resignation progress, confirm desired and confirmed end dates, and access resignation letter details. Filter results by resignation letter status using the query parameter\n **Token scopes**: `worker:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","contract_id","created_at","updated_at","status","desired_end_date","end_date","resignation_letter"],"properties":{"id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the resignation"},"status":{"enum":["COMPLETED","AWAITING_REFUND","PROCESSING","AWAITING_TRIAGE","AWAITING_PROCESSING","CANCELLED","AWAITING_PTO"],"type":"string","example":"COMPLETED","description":"The status of the resignation"},"end_date":{"type":"string","format":"date-time","example":"2025-01-01T00:00:00Z","nullable":true,"description":"The confirmed end date of the resignation","x-sensitive-pii":true},"created_at":{"type":"string","format":"date-time","example":"2025-01-01T00:00:00Z","description":"The date and time the resignation was created"},"updated_at":{"type":"string","format":"date-time","example":"2025-01-01T00:00:00Z","description":"The date and time the resignation was updated"},"contract_id":{"type":"string","example":"ABC123","description":"The unique identifier of the employee contract."},"desired_end_date":{"type":"string","format":"date-time","example":"2025-01-01T00:00:00Z","nullable":true,"description":"The desired end date of the resignation","x-sensitive-pii":true},"resignation_letter":{"type":"object","nullable":true,"required":["id","status","signed_at","signature","created_at","updated_at"],"properties":{"id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the resignation letter"},"status":{"enum":["AWAITING_SIGNATURE","SIGNED"],"type":"string","example":"AWAITING_SIGNATURE","description":"The status of the resignation letter"},"signature":{"type":"string","example":"John Doe","nullable":true,"description":"The signature of the resignation letter","x-sensitive-pii":true,"x-sensitive-employment":true},"signed_at":{"type":"string","format":"date-time","example":"2025-01-01T00:00:00Z","nullable":true,"description":"The date and time the resignation letter was signed"},"created_at":{"type":"string","format":"date-time","example":"2025-01-01T00:00:00Z","description":"The date and time the resignation letter was created"},"updated_at":{"type":"string","format":"date-time","example":"2025-01-01T00:00:00Z","description":"The date and time the resignation letter was updated"}}}}}}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_format","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"email","description":"The field name where input validation failed"},"message":{"type":"string","example":"The email field must be a valid email address format","description":"Description of the returned error"}}}}}}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"expired_token","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"authorization","description":"The field name where authentication failed"},"message":{"type":"string","example":"Your access token has expired. Please authenticate again to continue.","description":"Description of the returned error"}}}}}}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"access_denied","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"contract_id","description":"The field name where permission was denied"},"message":{"type":"string","example":"You do not have permission to access contract CT-12345. Contact your administrator for access.","description":"Description of the returned error"}}}}}}}},"description":"Forbidden"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"database_connection_failed","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":null,"description":"The field name where error occurred (null for server errors)"},"message":{"type":"string","example":"A temporary server error occurred. Please try again in a few moments or contact support if the issue persists.","description":"Description of the returned error"}}}}}}}},"description":"Internal Server Error"}},"parameters":[{"in":"query","name":"status","schema":{"enum":["AWAITING_SIGNATURE","SIGNED"],"type":"string"},"example":"AWAITING_SIGNATURE","required":false,"description":"Filter by resignation letter status"}],"security":[{"deelToken":[]},{"oauth2":["worker:read"]}]}},"/eor/contracts/{contract_id}/project-assignment":{"get":{"tags":["EOR"],"summary":"Fetch EOR project assignment PDF","operationId":"fetchEorProjectAssignmentPdf","description":"Utilize this endpoint to retrieve the PDF of the project assignment for an EOR contract that a client is required to approve.\n **Token scopes**: `contracts:read`","responses":{"200":{"content":{"application/pdf":{"schema":{"type":"string","format":"binary","description":"The document as a PDF"}}},"description":"Successful response"},"400":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"VALIDATION_ERROR"},"message":{"type":"string","example":"Internal validation error occurred"}}}}}}}},"description":"Bad Request. The request could not be understood or was missing required parameters."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"409":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"code","description":"The code of the source handler which produced the returned error"},"message":{"type":"string","example":"The requested version of the document mismatch the current version.","description":"The requested version of the document mismatch the current version."}}}}}}}},"description":"The requested version of the document mismatch the current version."},"500":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"service_unavailable","description":"Machine-readable error code"},"message":{"type":"string","example":"The service is currently experiencing issues","description":"Human-readable explanation of the error"}}}}}}}},"description":"Internal server error."}},"parameters":[{"in":"query","name":"version","schema":{"type":"string","maxLength":20,"minLength":20},"example":"e374540fc9a92390f9a1","required":false,"description":"This field is to ensure that the latest version of the project assignment PDF matches the version received from the webhook. If it is not sent, the version validation is not performed and the endpoint returns the PDF. If it is sent, it is checked whether the current version is equal to the version sent; if not, a 409 error occurs, otherwise, the PDF is returned."},{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"m623fez","required":true,"description":"The unique identifier of the employee contract."}],"security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]}},"/eor/workers/tax-documents":{"get":{"tags":["EOR"],"summary":"List of tax documents for an employee","operationId":"listOfTaxDocumentsForAnEmployee-v2026-01-01","description":"Get list of tax documents for an employee.\n **Token scopes**: `worker:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"9AmobdjMwXOq","description":"Id of the tax document"},"url":{"type":"string","example":"https://example.com/file.pdf","description":"URL of the tax document"},"type":{"type":"string","example":"Tax Document","description":"Type of the tax document"},"year":{"type":"number","example":"2023","description":"Year of tax document"},"country":{"type":"string","example":"IL","description":"Country of the tax document"}}}}}}}},"description":"Tax documents successfully retrieved."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["worker:read"]}]}},"/forms/eor/worker-additional-fields/{country_code}":{"get":{"tags":["Forms"],"summary":"Get worker additional fields for (EOR)","operationId":"getWorkerAdditionalFieldsForEor","description":"Use this endpoint to retrieve the additional form fields required for EOR workers in a specified country.\n **Token scopes**: `forms:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["key","type","is_required","ui_guide","validation","dependencies"],"properties":{"key":{"type":"string","example":"additional_name","description":"Unique identifier for the field"},"type":{"type":"string","example":"string","description":"Data type of the field"},"ui_guide":{"type":"object","required":["label","field_type","order","description"],"properties":{"label":{"type":"string","example":"Preferred Name / Additional Name","description":"The primary label for the field"},"order":{"type":"integer","example":3,"description":"Display order of the field in the UI"},"field_type":{"type":"string","example":"text","description":"Type of the input field in the UI"},"description":{"type":"string","example":"","description":"Additional description for the field UI"},"helper_text":{"type":"string","example":"","description":"Helper text to guide user input"},"local_label":{"type":"string","example":"Imię preferowane","description":"Localized version of the field label"}},"description":"UI guidelines for rendering the field"},"validation":{"type":"array","items":{"type":"object","required":["type","error_message"],"properties":{"type":{"type":"string","example":"REGEX","description":"Type of the validation"},"value":{"type":"string","example":"^.*$","description":"Value to be used in the validation according to the type"},"error_message":{"type":"string","example":"Review the value entered","description":"Error message shown if the validation fails"}},"description":"Validation rules for the field"},"description":"Array of validation rules to apply to the field input"},"is_required":{"type":"boolean","example":false,"description":"Indicates if the field is required"},"required_by":{"type":"string","example":"sign_up","description":"Indicates when the field is required (e.g., sign_up, contract_signing)"},"dependencies":{"type":"array","items":{"type":"object","required":["key","value"],"properties":{"key":{"type":"string","example":"additional_name","description":"Unique identifier for the dependant field"},"value":{"oneOf":[{"type":"string","example":"John"},{"type":"object","required":["op","value"],"properties":{"op":{"type":"string","example":"gt","description":"Comparison operator (e.g., gt, gte, lt, lte, eq, neq)"},"value":{"oneOf":[{"type":"string","example":"0","description":"Value to compare against"},{"type":"number","example":0,"description":"Value to compare against"}]}}},{"type":"array","items":{"type":"string"},"example":["1","2","3"],"description":"Array of allowed values for the dependency"}],"example":"UK","description":"Value expected from dependant in order to display field. Can be a plain value or an object with an operator."}}},"description":"Array of field dependencies that determine when this field should be displayed"},"values_allowed":{"type":"array","items":{"type":"string"},"description":"List of allowed values for select fields"}}},"example":[{"key":"additional_name","type":"string","ui_guide":{"label":"Preferred Name / Additional Name","order":3,"field_type":"text","description":"","helper_text":"","local_label":"Imię preferowane"},"validation":[{"type":"REGEX","value":"^.*$","error_message":"Review the value entered"}],"is_required":false,"required_by":"sign_up","dependencies":[]},{"key":"dob","type":"string","ui_guide":{"label":"Date of Birth","order":4,"field_type":"date","description":"","helper_text":"","local_label":"Data urodzenia"},"validation":[{"type":"REGEX","value":"^.*$","error_message":"Review the value entered"}],"is_required":true,"required_by":"contract_signing","dependencies":[{"key":"country","value":"UK"}]}],"description":"Array of field configuration objects"}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_parameter","description":"Machine-readable error code"},"field":{"type":"string","example":"/data/example_field","description":"Name of the field causing the error (for validation issues)"},"message":{"type":"string","example":"Must have required property 'example_field'","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"service_unavailable","description":"Machine-readable error code"},"message":{"type":"string","example":"The service is currently experiencing issues","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."}},"parameters":[{"in":"path","name":"country_code","schema":{"type":"string"},"example":"de","required":true,"description":"Country code"}],"security":[{"deelToken":[]},{"oauth2":["forms:read"]}]}},"/eor/workers/contracts/{contract_id}/employee-agreement/download":{"get":{"tags":["EOR"],"summary":"Download employee agreement PDF","operationId":"downloadEmployeeAgreementPdf","description":"Get link to download the employee agreement PDF.\n **Token scopes**: `worker:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"url":{"type":"string","example":"https://api-prod.letsdeel.com/employee-agreement/12345.pdf","description":"URL to requested employee agreement to download."},"expires_at":{"type":"string","format":"date-time","example":"2020-03-31T10:58:49.780Z","description":"Expiration date time of download URL."}}}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"409":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string","example":"Employment Agreement version mismatch.","description":"The error message"}}}},"request":{"type":"object","properties":{"url":{"type":"string","example":"/rest/v2/example","description":"The relative URL of the failed request"},"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":"http","description":"The source handler which produced the returned error"},"status":{"type":"number","example":409,"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"}}}}}}},"description":"Employment Agreement version mismatch."},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"query","name":"version","schema":{"type":"string","maxLength":20,"minLength":20},"example":"cdf4f572eb13a5eaf46d","required":false,"description":"Optional version of the Employment Agreement to be signed. If informed and in the case of a mismatch, the API will return an error."},{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"37nex2x","required":true,"description":"The unique identifier of the employee contract."}],"security":[{"deelToken":[]},{"oauth2":["worker:read"]}]}},"/eor/workers/contracts/{contract_id}/hr-documents":{"get":{"tags":["EOR"],"summary":"List HR verification letters and documents","operationId":"listHrVerificationLettersAndDocuments","description":"List all HR verification letters and documents available.\n **Token scopes**: `worker:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","name"],"properties":{"id":{"type":"string","example":"494e14fe-bd3e-44b7-87c4-cf06d4bcb081","description":"Document Id."},"name":{"type":"string","example":"Standard verification letter","description":"Name of the document."}}}}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"37nex2x","required":true,"description":"The unique identifier of the employee contract."}],"security":[{"deelToken":[]},{"oauth2":["worker:read"]}]}},"/eor/workers/contracts/{contract_id}/offboarding/resignation-letter":{"get":{"tags":["EOR"],"summary":"Preview Resignation Letter","operationId":"previewResignationLetter","description":"This endpoint allows workers to preview a resignation letter for an EOR Contract.\n **Token scopes**: `worker:read`","responses":{"200":{"content":{"application/pdf":{"schema":{"type":"string","format":"binary","description":"PDF file content"}},"application/octet-stream":{"schema":{"type":"string","format":"binary","description":"The file content as binary data"}}},"headers":{"Content-Type":{"schema":{"enum":["application/pdf","application/octet-stream"],"type":"string"},"description":"MIME type of the file"},"Content-Length":{"schema":{"type":"string"},"description":"Size of the file in bytes"},"Content-Disposition":{"schema":{"type":"string","example":"attachment; filename=\"document.pdf\""},"description":"Attachment disposition with filename"}},"description":"File download successful"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_format","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"email","description":"The field name where input validation failed"},"message":{"type":"string","example":"The email field must be a valid email address format","description":"Description of the returned error"}}}}}}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"expired_token","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"authorization","description":"The field name where authentication failed"},"message":{"type":"string","example":"Your access token has expired. Please authenticate again to continue.","description":"Description of the returned error"}}}}}}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"access_denied","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"contract_id","description":"The field name where permission was denied"},"message":{"type":"string","example":"You do not have permission to access contract CT-12345. Contact your administrator for access.","description":"Description of the returned error"}}}}}}}},"description":"Forbidden"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"database_connection_failed","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":null,"description":"The field name where error occurred (null for server errors)"},"message":{"type":"string","example":"A temporary server error occurred. Please try again in a few moments or contact support if the issue persists.","description":"Description of the returned error"}}}}}}}},"description":"Internal Server Error"}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"abcd4fg","required":true,"description":"The unique identifier of the employee contract."}],"security":[{"deelToken":[]},{"oauth2":["worker:read"]}]}},"/eor/contracts/{contract_id}/employee-information":{"patch":{"tags":["EOR"],"summary":"Update Employee Information for EOR Contract","operationId":"updateEmployeeInformationForEorContract","description":"Updates employee information related to an EOR Contract. This endpoint supports partial updates. Attempting to update any undocumented fields will result in a validation error. This endpoint will only work for contracts with status `new`, `under_review`, `waiting_for_client_sign`, `waiting_for_eor_sign`, `waiting_for_employee_contract`, `waiting_for_employee_sign`, `awaiting_deposit_payment`, or `rejected`.\n **Token scopes**: `contracts:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","required":["id","status"],"properties":{"id":{"type":"string","example":"38j84xg","description":"The unique identifier of the employee contract."},"status":{"enum":["new","under_review","waiting_for_client_sign","waiting_for_eor_sign","waiting_for_employee_contract","waiting_for_employee_sign","awaiting_deposit_payment","rejected"],"type":"string","example":"under_review","description":"Current status of the contract"},"scope_of_work":{"type":"string","example":"Scope of work description.","description":"Scope of work description.","x-sensitive-employment":true},"employee_last_name":{"type":"string","example":"Doe","description":"The last name of the contract employee.","x-sensitive-pii":true},"employee_first_name":{"type":"string","example":"John","description":"The first name of the contract employee.","x-sensitive-pii":true}}}}}}},"description":"Employee information updated successfully"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_parameter","description":"Machine-readable error code"},"field":{"type":"string","example":"/data/example_field","description":"Name of the field causing the error (for validation issues)"},"message":{"type":"string","example":"Must have required property 'example_field'","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_parameter","description":"Machine-readable error code"},"field":{"type":"string","example":"/data/example_field","description":"Name of the field causing the error (for validation issues)"},"message":{"type":"string","example":"Must have required property 'example_field'","description":"Human-readable explanation of the error"}}}}}}}},"description":"Contract not found."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"service_unavailable","description":"Machine-readable error code"},"message":{"type":"string","example":"The service is currently experiencing issues","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"38j84xg","required":true,"description":"The unique identifier of the employee contract."}],"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"employee_last_name":{"type":"string","example":"Doe","description":"The last name of the employee."},"employee_first_name":{"type":"string","example":"John","description":"The first name of the employee."}}}}}}}}}},"/people/me":{"get":{"tags":["People"],"summary":"Get my current personal profile","operationId":"getMyCurrentPersonalProfile","description":"Retrieve the current user's profile.\n **Token scopes**: `worker:read`, `people:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"number","example":123,"description":"Unique identifier for the user profile "},"email":{"type":"string","example":"email@email.com","description":"Email address of the user","x-sensitive-pii":true},"user_id":{"type":"number","example":123,"description":"Unique identifier for the user"},"username":{"type":"string","example":"username","description":"Username of the user","x-sensitive-pii":true},"full_name":{"type":"string","example":"John Doe","description":"Full name of the user","x-sensitive-pii":true},"last_name":{"type":"string","example":"Doe","description":"Last name of the user","x-sensitive-pii":true},"avatar_url":{"type":"string","example":"https://example.com/avatar.jpg","nullable":true,"description":"URL of the user's avatar"},"first_name":{"type":"string","example":"John","description":"First name of the user","x-sensitive-pii":true},"middle_name":{"type":"string","example":"","nullable":true,"description":"Middle name of the user","x-sensitive-pii":true},"hris_enabled":{"type":"boolean","example":true,"nullable":true,"description":"HRIS feature enabled."},"profile_type":{"enum":["client","contractor","icp","direct_employee","hris_direct_employee","service_account"],"type":"string","example":"client","description":"Type of profile"},"slack_team_id":{"type":"string","example":"T123456","nullable":true,"description":"User's team slack id"},"slack_user_id":{"type":"string","example":"U123456","nullable":true,"description":"User's slack id"},"client_country":{"type":"string","example":"US","pattern":"^[A-Z]{2}$","nullable":true,"maxLength":2,"minLength":2,"description":"Country code."},"organization_id":{"type":"number","example":123,"description":"Unique identifier for the organization"},"organization_name":{"type":"string","example":"Deel","nullable":true,"description":"Name of the organization"},"contractor_country":{"type":"string","example":"US","pattern":"^[A-Z]{2}$","nullable":true,"maxLength":2,"minLength":2,"description":"Country code."},"hris_organization_user_id":{"type":"string","format":"uuid","example":"9b9fc43a-a90c-4615-ac50-baf1e314b53e","nullable":true,"description":"HRIS Organization User ID of the user. Used in products like Deel Engage."}},"description":"People object representing a Deel"}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["worker:read","people:read"]}]}},"/candidates":{"post":{"tags":["Candidates"],"summary":"Add Candidate","operationId":"addCandidate","description":"Add a candidate to Deel.\n **Token scopes**: `candidates:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["created"],"properties":{"created":{"type":"boolean","example":true,"description":"Indicates if the candidate was created successfully."}}}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["candidates:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","first_name","last_name","status","start_date","link"],"properties":{"id":{"type":"string","example":"123456","description":"Unique identifier of candidate in your ATS."},"link":{"type":"string","example":"https://atsexample.com/profile/id","description":"Link to candidate's profile in ATS."},"email":{"type":"string","format":"email","example":"john@company.com","minLength":5,"description":"Worker's work email address."},"state":{"type":"string","example":"AL","maxLength":50,"minLength":1,"description":"Job location state."},"status":{"enum":["offer-accepted","offer-sent","offer-declined","offer-deleted"],"type":"string","example":"offer-accepted","description":"Offer status"},"country":{"type":"string","example":"US","pattern":"^[A-Z]{2}$","maxLength":2,"minLength":2,"description":"Country code."},"job_title":{"type":"string","example":"3D Designer","description":"Job Title."},"last_name":{"type":"string","example":"Doe","description":"Candidate's last name."},"first_name":{"type":"string","example":"John","description":"Candidate's first name."},"start_date":{"type":"string","format":"date","example":"2022-12-31","description":"Short date in format ISO-8601 (YYYY-MM-DD)."},"nationality":{"type":"string","example":"US","maxLength":2,"minLength":2,"description":"Nationality of the worker."},"personal_email":{"type":"string","format":"email","example":"john@personal.com","minLength":5,"description":"Worker's personal email address."}},"description":"Details of candidate to create"}}}}},"required":true,"description":"Add a candidate to Deel"}}},"/gp/workers/contracts/{contract_id}/additional-information":{"patch":{"tags":["Global Payroll"],"summary":"Update GP Workers Additional Information","operationId":"updateGpWorkersAdditionalInformation","description":"Use this endpoint to update additional information for a GP worker's contract.  Provide the extra fields in the request body under 'data' for the contract identified by 'contract_id'.\n **Token scopes**: `people:write`","responses":{"204":{"description":"Operation successful."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_parameter","description":"Machine-readable error code"},"field":{"type":"string","example":"/data/example_field","description":"Name of the field causing the error (for validation issues)"},"message":{"type":"string","example":"Must have required property 'example_field'","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"service_unavailable","description":"Machine-readable error code"},"message":{"type":"string","example":"The service is currently experiencing issues","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"mnrw11a","required":true,"description":"The unique public identifier of the contract."}],"security":[{"deelToken":[]},{"oauth2":["people:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","maxProperties":200,"minProperties":1,"additionalProperties":{"oneOf":[{"type":"string","maxLength":1000},{"type":"number"},{"type":"boolean"}]}}}}}},"required":true}},"post":{"tags":["Global Payroll"],"summary":"Add GP Workers Additional Information","operationId":"addGpWorkersAdditionalInformation","description":"Use this endpoint to add additional information to a GP worker's contract. Provide the extra fields in the request body under 'data' for the contract identified by 'contract_id'.\n **Token scopes**: `people:write`","responses":{"201":{"content":{"application/json":{"schema":{"properties":{"data":{"type":"object","properties":{"created_at":{"type":"string","example":"2024-12-01T10:49:53.322Z","description":"Datetime of submission of the additional information"}}}}}}},"description":"Operation successful."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_parameter","description":"Machine-readable error code"},"field":{"type":"string","example":"/data/example_field","description":"Name of the field causing the error (for validation issues)"},"message":{"type":"string","example":"Must have required property 'example_field'","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"service_unavailable","description":"Machine-readable error code"},"message":{"type":"string","example":"The service is currently experiencing issues","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"mnrw11a","required":true,"description":"The unique public identifier of the contract."}],"security":[{"deelToken":[]},{"oauth2":["people:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","maxProperties":200,"minProperties":1,"additionalProperties":{"oneOf":[{"type":"string","maxLength":1000},{"type":"number"},{"type":"boolean"}]}}}}}},"required":true}}},"/eor/contracts/{contract_id}/offboarding/attachments/{attachment_id}":{"get":{"tags":["EOR"],"summary":"Retrieve offboarding attachment","operationId":"retrieveOffboardingAttachment","description":"This endpoint allows client and employee download the content of a specific attachment associated with a termination for the given contract.\n **Token scopes**: `contracts:read`","responses":{"200":{"content":{"application/pdf":{"schema":{"type":"string","format":"binary","description":"PDF file content"}}},"headers":{"Content-Type":{"schema":{"enum":["application/pdf"],"type":"string"},"description":"MIME type of the file"},"Content-Length":{"schema":{"type":"string"},"description":"Size of the file in bytes"},"Content-Disposition":{"schema":{"type":"string","example":"attachment; filename=\"document.pdf\""},"description":"Attachment disposition with filename"}},"description":"File download successful"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_format","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"email","description":"The field name where input validation failed"},"message":{"type":"string","example":"The email field must be a valid email address format","description":"Description of the returned error"}}}}}}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"expired_token","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"authorization","description":"The field name where authentication failed"},"message":{"type":"string","example":"Your access token has expired. Please authenticate again to continue.","description":"Description of the returned error"}}}}}}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"access_denied","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"contract_id","description":"The field name where permission was denied"},"message":{"type":"string","example":"You do not have permission to access contract CT-12345. Contact your administrator for access.","description":"Description of the returned error"}}}}}}}},"description":"Forbidden"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"database_connection_failed","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":null,"description":"The field name where error occurred (null for server errors)"},"message":{"type":"string","example":"A temporary server error occurred. Please try again in a few moments or contact support if the issue persists.","description":"Description of the returned error"}}}}}}}},"description":"Internal Server Error"}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"123E4567","required":true,"description":"The unique identifier of the employee contract."},{"in":"path","name":"attachment_id","schema":{"type":"string","format":"uuid"},"example":"123e4567-e89b-12d3-a456-426614174000","required":true,"description":"The unique identifier of the attachment to download."}],"security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]}},"/ats/job-boards/{job_board_id}/job-postings":{"get":{"tags":["ATS"],"summary":"Retrieve a list of ATS job postings","operationId":"retrieveAListOfAtsJobPostings","description":"Retrieves a list of all job postings in the Applicant Tracking System. Results can be filtered by query parameters.\n **Token scopes**: `ats:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","required":["id","title","richtext_description","is_compensation_visible","job","publications","created_at","updated_at"],"properties":{"id":{"type":"string","format":"uuid","example":"443a9b58-735c-4dc3-9744-589abb2dbe5f","description":"Unique identifier for the job posting"},"job":{"type":"object","required":["id","job_locations","job_employment_types","compensation"],"properties":{"id":{"type":"string","format":"uuid","example":"5f3cbc4b-2c51-4b48-a2c5-141f581dbf8a","description":"Unique identifier for the job"},"job_teams":{"type":"array","items":{"type":"object","required":["id","team"],"properties":{"id":{"type":"string","format":"uuid","example":"53e4d5bb-65e3-42ff-ada7-65badeeb9d8f","description":"Unique identifier for the job team"},"team":{"type":"object","required":["id","name"],"properties":{"id":{"type":"string","format":"uuid","example":"127ee4e0-3776-46c8-8999-5e045e2ae1cf","description":"Unique identifier for the team"},"name":{"type":"string","example":"Product Design Team","description":"Team name"}},"description":"Details for the team assigned to the job"}}},"nullable":true,"description":"Teams associated with the job","x-sensitive-employment":true},"compensation":{"type":"object","example":{"id":"9a8b7c6d-5e4f-4321-abcd-9876543210ff","max_amount":105000,"min_amount":85000,"currency_iso_code":"USD"},"nullable":true,"required":["id","currency_iso_code"],"properties":{"id":{"type":"string","format":"uuid","example":"9a8b7c6d-5e4f-4321-abcd-9876543210ff","description":"Unique identifier for the compensation record"},"max_amount":{"type":"number","example":105000,"nullable":true,"description":"Maximum compensation amount"},"min_amount":{"type":"number","example":85000,"nullable":true,"description":"Minimum compensation amount"},"currency_iso_code":{"type":"string","example":"USD","description":"Currency ISO code for the compensation"}},"description":"Compensation information for the job","x-sensitive-employment":true},"job_locations":{"type":"array","items":{"type":"object","required":["id","location"],"properties":{"id":{"type":"string","format":"uuid","example":"ae5ea0d8-300b-4027-9d14-0330ac5e527c","description":"Unique identifier for the job location"},"location":{"type":"object","required":["id","name"],"properties":{"id":{"type":"string","format":"uuid","example":"f61a2d36-2790-45d0-b9c9-988c6c234b9b","description":"Unique identifier for the location"},"name":{"type":"string","example":"France","description":"Location name"}},"description":"Details for the location assigned to the job"}}},"description":"Locations associated with the job","x-sensitive-employment":true},"job_departments":{"type":"array","items":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","example":"092007cf-8e8b-4720-99a2-ec29a0824cce","description":"Unique identifier for the job department"},"department":{"type":"object","nullable":true,"properties":{"id":{"type":"string","format":"uuid","example":"8cec1556-8681-436c-a307-2af84ac1b66d","description":"Unique identifier for the department"},"name":{"type":"string","example":"Design","description":"Department name"}},"description":"Details for the department associated with the job"}}},"nullable":true,"description":"Departments associated with the job","x-sensitive-employment":true},"job_employment_types":{"type":"array","items":{"type":"object","required":["id","employment_type"],"properties":{"id":{"type":"string","format":"uuid","example":"33a13504-ec08-4f2a-98cf-64c0cc20f20b","description":"Unique identifier for the job employment type"},"employment_type":{"type":"object","required":["id","name"],"properties":{"id":{"type":"string","format":"uuid","example":"5ed1ab2a-395f-4cf1-854f-7aa060a31db3","description":"Unique identifier for the employment type"},"name":{"type":"string","example":"Temporary","description":"Employment type name"}},"description":"Details for the employment type assigned to the job"}}},"description":"Employment types associated with the job","x-sensitive-employment":true}},"description":"Associated job information"},"title":{"type":"string","example":"Product Designer","description":"Job posting title","x-sensitive-employment":true},"created_at":{"type":"string","format":"date-time","example":"2025-07-24T16:28:46.063Z","description":"Creation timestamp"},"updated_at":{"type":"string","format":"date-time","example":"2025-07-25T10:11:12.613Z","description":"Last update timestamp"},"publications":{"type":"array","items":{"type":"object","required":["id","job_board","current_state"],"properties":{"id":{"type":"string","format":"uuid","example":"07e7f02c-e10f-4751-a1af-a7d110617e27","description":"Unique identifier for the job posting publication"},"job_board":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","example":"95858e6b-3971-408c-97d6-73ca4fce10b7","description":"Unique identifier for the job board"}},"description":"Job board where the posting is published"},"current_state":{"type":"object","required":["id","state_slug","created_at"],"properties":{"id":{"type":"string","format":"uuid","example":"958e9211-5944-49df-a9df-af43967b233f","description":"Unique identifier for the publication state"},"created_at":{"type":"string","format":"date-time","example":"2025-07-24T16:28:46.063Z","description":"Timestamp when the publication was created","x-sensitive-employment":true},"created_by":{"type":"string","format":"uuid","example":"42d103ea-9367-432a-8e6f-7ab548eeddcd","nullable":true,"description":"User who created the publication"},"state_slug":{"enum":["PUBLISHED_BASIC","PUBLISHED_PREMIUM","UNPUBLISHED","EXPIRED","IN_PROGRESS","FAILED"],"type":"string","example":"PUBLISHED_BASIC","description":"Current publication state","x-sensitive-employment":true},"error_message":{"type":"string","example":"Publication failed due to invalid job board credentials","nullable":true,"description":"Error message if publication failed"}},"description":"Current publication state details"}}},"description":"Publication information for different job boards"},"application_form":{"type":"object","nullable":true,"required":["id","title"],"properties":{"id":{"type":"string","format":"uuid","example":"6bfbc928-8d34-46a0-8bca-6503f0e7128c","description":"Unique identifier for the application form"},"title":{"type":"string","example":"Standard Application","description":"Title of the application form"}},"description":"Application form assigned to the job posting"},"richtext_description":{"type":"string","example":"<p>Some description</p>","nullable":true,"description":"Rich text description of the job posting","x-sensitive-employment":true},"is_compensation_visible":{"type":"boolean","example":false,"description":"Indicates if compensation details are visible to candidates","x-sensitive-employment":true}}}},"has_more":{"type":"boolean","example":false,"description":"Indicates if there are more results available"},"next_cursor":{"type":"string","example":null,"nullable":true,"description":"Cursor for the next page of results"},"total_count":{"type":"integer","example":1,"minimum":0,"description":"Total number of job postings"}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_parameter","description":"Machine-readable error code"},"message":{"type":"string","example":"status: Expected array,","description":"A description of the returned error"}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"query","name":"cursor","schema":{"type":"string"},"example":"cursor_value","required":false,"description":"The cursor for pagination (optional)"},{"in":"query","name":"limit","schema":{"type":"integer","format":"int32","default":20,"maximum":100,"minimum":1},"example":50,"required":false,"description":"Maximum number of records returned in one response (optional)"},{"in":"path","name":"job_board_id","schema":{"type":"string","format":"uuid"},"example":"95858e6b-3971-408c-97d6-73ca4fce10b7","required":true,"description":"Job Board ID must be a valid UUID"}],"security":[{"deelToken":[]},{"oauth2":["ats:read"]}]}},"/groups/{id}":{"patch":{"tags":["Groups"],"summary":"Edit a group","operationId":"editGroup","description":"Edit the details of an existing group.\n **Token scopes**: `groups:read`, `groups:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","example":{"data":{"id":"9e12eb6b-90ea-4543-8ff1-7789e7b8db7e","name":"Walmart","created_at":"2024-03-07T11:42:22.342Z","updated_at":"2024-03-07T11:42:22.342Z","external_metadata":"{'showInReport': 'true'}"}},"properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the updated group."},"name":{"type":"string","description":"The updated name of the group."},"created_at":{"type":"string","format":"date-time","description":"The timestamp when the group was created."},"updated_at":{"type":"string","format":"date-time","description":"The timestamp when the group was last updated."},"external_metadata":{"type":"object","description":"Extra information of the group."}}}}}}},"description":"Group updated successfully"},"400":{"content":{"application/json":{"schema":{"type":"object","example":{"error":{"message":"Invalid payload"}},"properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Description of the error."}}}}}}},"description":"Invalid request payload"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"id","schema":{"type":"string","description":"Unique identifier of the group to be edited."},"example":"9e12eb6b-90ea-4543-8ff1-7789e7b8db7e","required":true}],"security":[{"deelToken":[]},{"oauth2":["groups:read","groups:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["name"],"properties":{"name":{"type":"string","example":"Walmart","maxLength":48,"description":"The updated name of the group."}}}}}}},"required":true}},"delete":{"tags":["Groups"],"summary":"Delete a group","operationId":"deleteGroup","description":"Archive an existing group.\n **Token scopes**: `groups:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","example":{"data":{"archived_at":"2024-03-07T11:42:22.342Z"}},"properties":{"data":{"type":"object","properties":{"archived_at":{"type":"string","format":"date-time","description":"The timestamp when the group was archived."}}}}}}},"description":"Group archived successfully"},"400":{"content":{"application/json":{"schema":{"type":"object","example":{"error":{"message":"Group already archived or restriction error message."}},"properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Description of the error."}}}}}}},"description":"Bad request"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"content":{"application/json":{"schema":{"type":"object","example":{"error":{"message":"Group not found"}},"properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Group not found error message."}}}}}}},"description":"Group not found"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"id","schema":{"type":"string","description":"Unique identifier of the group to be archived."},"example":"9e12eb6b-90ea-4543-8ff1-7789e7b8db7e","required":true}],"security":[{"deelToken":[]},{"oauth2":["groups:write"]}]}},"/ats/offers":{"get":{"tags":["ATS"],"summary":"Retrieve a list of ATS offers","operationId":"retrieveAListOfAtsOffers-v2026-01-01","description":"List offers: Returns all offers associated with an organization, including worker type and offer status. Use this to review outstanding or accepted offers before initiating onboarding or contract creation workflows. Scope: ats:read\n **Token scopes**: `ats:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"a1b2c3d4-e5f6-7890-1234-567890abcdef","description":"Unique identifier"},"email":{"type":"object","example":{"id":"f1e2d3c4-b5a6-7890-1234-567890abcdef","body":"Hello, this is a test email.","subject":"Test Email","sender_name":"John Doe","recipient_cc":"cc@example.com","recipient_to":"to@example.com","recipient_bcc":"bcc@example.com"},"nullable":true,"properties":{"id":{"type":"string","format":"uuid","example":"f1e2d3c4-b5a6-7890-1234-567890abcdef","description":"Unique identifier for the email"},"body":{"type":"string","example":"Hello, this is a test email.","description":"Email body","x-sensitive-employment":true},"subject":{"type":"string","example":"Test Email","description":"Email subject","x-sensitive-employment":true},"sender_name":{"type":"string","example":"John Doe","description":"Sender name","x-sensitive-employment":true},"recipient_cc":{"type":"string","format":"email","example":"cc@example.com","nullable":true,"description":"Carbon-copy recipient email address","x-sensitive-pii":true},"recipient_to":{"type":"string","format":"email","example":"to@example.com","description":"Primary recipient email address","x-sensitive-pii":true},"recipient_bcc":{"type":"string","format":"email","example":"bcc@example.com","nullable":true,"description":"Blind-carbon-copy recipient email address","x-sensitive-pii":true}},"description":"Email details"},"job_title":{"type":"string","example":"Software Engineer","description":"Job title","x-sensitive-employment":true},"created_at":{"type":"string","format":"date-time","example":"2023-10-01T12:00:00Z","description":"Timestamp when the offer was created"},"start_date":{"type":"string","format":"date","example":"2024-02-01","description":"Start date","x-sensitive-employment":true},"updated_at":{"type":"string","format":"date-time","example":"2023-10-02T12:00:00Z","description":"Timestamp when the offer was last updated"},"worker_type":{"enum":["CONTRACTOR","DIRECT_EMPLOYEE","EOR_EMPLOYEE","GLOBAL_PAYROLL_EMPLOYEE","PEO_EMPLOYEE","UNKNOWN"],"type":"string","example":"CONTRACTOR","description":"Worker type","x-sensitive-employment":true},"country_code":{"type":"string","format":"country-code","example":"US","description":"Country code","x-sensitive-employment":true},"offer_status":{"enum":["CREATED","WAITING_FOR_APPROVAL","APPROVED","NOT_APPROVED","SENT","ACCEPTED","REJECTED"],"type":"string","example":"CREATED","description":"Offer status","x-sensitive-employment":true},"attachment_id":{"type":"string","format":"uuid","example":"b1c2d3e4-f5a6-7890-1234-567890abcdef","nullable":true,"description":"Attachment identifier"},"approval_rule_id":{"type":"string","format":"uuid","example":"c1d2e3f4-a5b6-7890-1234-567890abcdef","nullable":true,"description":"Approval rule identifier"},"approval_request_id":{"type":"string","format":"uuid","example":"d1e2f3a4-b5c6-7890-1234-567890abcdef","nullable":true,"description":"Approval request identifier"},"compensation_amount":{"type":"number","example":100000,"description":"Compensation amount","x-sensitive-employment":true},"rejection_reason_id":{"type":"string","format":"uuid","example":"e1f2a3b4-c5d6-7890-1234-567890abcdef","nullable":true,"description":"Rejection reason identifier"},"compensation_currency":{"type":"string","example":"USD","description":"Compensation currency","x-sensitive-employment":true},"application_interview_plan_stage_id":{"type":"string","format":"uuid","example":"f1a2b3c4-d5e6-7890-1234-567890abcdef","description":"Application interview plan stage identifier","x-sensitive-employment":true}}}},"has_more":{"type":"boolean","example":true,"description":"Indicates if there are more items to fetch."},"next_cursor":{"type":"string","example":"abcdef01-2345-6789-0abc-def012345678","nullable":true,"description":"Cursor for the next page of results"},"total_count":{"type":"number","example":100,"description":"Total number of offers"}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","example":"invalid_parameter","description":"Machine-readable error code"},"message":{"type":"string","example":"status: Expected array, received string","description":"A description of the returned error"}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["ats:read"]}]}},"/gp/workers/{worker_id}/banks":{"get":{"tags":["Global Payroll"],"summary":"Retrieve bank accounts","operationId":"getGpBankAccounts","description":"Retrieve all bank accounts for an employee.\n **Token scopes**: `people:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","allOf":[{"type":"object","properties":{"city":{"type":"string","example":"New York","description":"The city of the user's address.","x-sensitive-pii":true},"iban":{"type":"string","example":"GB33BUKB20201555555555","description":"The International Bank Account Number (IBAN)."},"email":{"type":"string","example":"user@example.com","description":"The user's email address.","x-sensitive-pii":true},"phone":{"type":"string","example":"+1234567890","description":"The user's phone number.","x-sensitive-pii":true},"postal":{"type":"string","example":"10001","description":"The user's postal or ZIP code.","x-sensitive-pii":true},"tax_id":{"type":"string","example":"123-45-6789","description":"The user's tax identification number."},"bank_code":{"type":"string","example":"BUKB","description":"The bank code."},"bank_name":{"type":"string","example":"Barclays Bank","description":"Name of the user's bank."},"full_name":{"type":"string","example":"John Doe","description":"Full name of the user.","x-sensitive-pii":true},"sort_code":{"type":"string","example":"12345","description":"UK sort code."},"swift_bic":{"type":"string","example":"BUKBGB22","description":"SWIFT/BIC code for the bank."},"rib_number":{"type":"string","example":"12345678901","description":"The RIB(Relevé d'Identité Bancaire)."},"branch_code":{"type":"string","example":"12345","description":"The branch code of the user's bank."},"account_type":{"type":"string","example":"checking","description":"Bank account type."},"country_code":{"type":"string","example":"US","description":"The country code of the user.","x-sensitive-pii":true},"address_line1":{"type":"string","example":"123 Main Street","description":"The primary address line.","x-sensitive-pii":true},"address_line2":{"type":"string","example":"Apartment 4B","description":"The secondary address line.","x-sensitive-pii":true},"currency_code":{"type":"string","example":"USD","description":"The currency code for transactions."},"original_name":{"type":"string","example":"Johnathan Doe","description":"The original name of the user.","x-sensitive-pii":true},"account_number":{"type":"string","example":"5555555555","description":"The user's bank account number."},"province_state":{"type":"string","example":"NY","description":"The state or province of the user's address.","x-sensitive-pii":true},"bank_branch_name":{"type":"string","example":"Barclays Manhattan Branch","description":"The name of the user's bank branch."},"bank_country_code":{"type":"string","example":"GB","description":"The country code where the bank is located."},"ach_routing_number":{"type":"string","example":"021000021","description":"The ACH (Automated Clearing House) Routing Number."}}},{"type":"object","required":["id","created_at","updated_at"],"properties":{"id":{"type":"string","example":"c34199c6-5b6f-4e5b-83c9-bb7044f0bfe7","description":"Unique identifier of this resource."},"status":{"type":"string","example":"active","description":"Current status of bank account."},"created_at":{"type":"string","format":"date-time","example":"2022-05-24T09:38:46.235Z","nullable":false,"description":"Long date-time format following ISO-8601."},"updated_at":{"type":"string","format":"date-time","example":"2022-05-24T09:40:46.235Z","nullable":false,"description":"Long date-time format following ISO-8601."}}}]}}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"worker_id","schema":{"type":"string","description":"Unique identifier for a worker."},"example":"wkr01a8pdlqlg0v0pzx11yhdy","required":true,"description":"Unique identifier for a worker."}],"security":[{"deelToken":[]},{"oauth2":["people:read"]}]},"post":{"tags":["Global Payroll"],"summary":"Add bank account","operationId":"addGpBankAccount","description":"Add a new bank account for an employee.\n **Token scopes**: `people:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","status","created_at","updated_at"],"properties":{"id":{"type":"string","format":"uuid","example":"6f50539e-9f62-45d0-a42e-62a62fbb984a","description":"Unique identifier for the newly added bank account."},"status":{"type":"string","example":"success","description":"The status of the newly added bank account."},"created_at":{"type":"string","format":"date-time","example":"2022-05-24T09:38:46.235Z","nullable":false,"description":"Timestamp of when the bank account was created, in ISO-8601 format."},"updated_at":{"type":"string","format":"date-time","example":"2022-05-24T09:38:46.235Z","nullable":false,"description":"Timestamp of the last update to the bank account, in ISO-8601 format."}}}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"worker_id","schema":{"type":"string","format":"uuid","description":"Unique identifier for a worker in UUID format."},"example":"6f50539e-9f62-45d0-a42e-62a62fbb984a","required":true,"description":"Unique identifier for a worker in UUID format."}],"security":[{"deelToken":[]},{"oauth2":["people:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"city":{"type":"string","example":"Springfield","description":"The city of the user's address."},"iban":{"type":"string","example":"GB29NWBK60161331926819","description":"The International Bank Account Number (IBAN)."},"email":{"type":"string","example":"john.doe@example.com","description":"The user's email address."},"phone":{"type":"string","example":"+1234567890","description":"The user's phone number."},"postal":{"type":"string","example":"12345","description":"The user's postal or ZIP code."},"tax_id":{"type":"string","example":"123-45-6789","description":"The user's tax identification number."},"bank_code":{"type":"string","example":"123","description":"The bank code."},"bank_name":{"type":"string","example":"Bank of Examples","description":"Name of the user's bank."},"full_name":{"type":"string","example":"John Doe","description":"Full name of the user."},"swift_bic":{"type":"string","example":"EXAMPLEBIC","description":"SWIFT/BIC code for the bank."},"rib_number":{"type":"string","example":"12345678901","description":"The RIB (Relevé d'Identité Bancaire)."},"branch_code":{"type":"string","example":"001","description":"The branch code of the user's bank."},"account_type":{"type":"string","example":"Savings","description":"Bank account type."},"country_code":{"type":"string","example":"US","description":"The country code of the user's address."},"address_line1":{"type":"string","example":"1234 Main St","description":"The primary address line."},"address_line2":{"type":"string","example":"Apartment 101","description":"The secondary address line."},"currency_code":{"type":"string","example":"USD","description":"The currency code for transactions."},"original_name":{"type":"string","example":"Johnathan Doe","description":"The original name of the user."},"account_number":{"type":"string","example":"123456789012","description":"The user's bank account number."},"province_state":{"type":"string","example":"Ontario","description":"The state or province of the user's address."},"bank_branch_name":{"type":"string","example":"Main Street Branch","description":"The name of the user's bank branch."},"bank_country_code":{"type":"string","example":"US","description":"The country code where the bank is located."},"ach_routing_number":{"type":"string","example":"12345678901","description":"The ACH (Automated Clearing House) Routing Number."}}}}}}},"required":true,"description":"Request body containing the details of the bank account to be added."}}},"/employee-info/contract-types/{type}/countries/{country}":{"get":{"tags":["Employee Information"],"summary":"Employee additional info template","operationId":"employeeAdditionalInfoTemplate-v2026-01-01","description":"Lists employee additional info template by the contract type and the employment country\n **Token scopes**: `contracts:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"b7045ecb-c5ca-43fa-9fa1-61bcb700ee89","description":"Unique identifier for the field"},"name":{"type":"string","example":"idType","description":"Name of the field"},"alias":{"type":"string","example":"deel_additional-data_ad_id-type","description":"Alias for the field"},"label":{"type":"string","example":"ID Type","description":"Label for the field"},"options":{"type":"array","items":{"type":"string","example":"Passport"},"nullable":true,"description":"Options for select input type"},"footnote":{"type":"string","example":"Please ensure this matches your official documents","nullable":true,"description":"Footnote for the field"},"input_type":{"type":"string","example":"select","description":"Type of input for the field"},"local_name":{"type":"string","example":"Tipo di ID","nullable":true,"description":"Local name for the field"},"description":{"type":"string","example":"Select your identification type","nullable":true,"description":"Description of the field"},"is_optional":{"type":"boolean","example":false,"description":"Indicates if the field is optional"},"required_by":{"type":"string","example":"sign_up","description":"Specifies when the field is required"},"dependencies":{"type":"array","items":{"type":"object","example":{"id":"b7045ecb-c6ca-43fa-9fa1-61bcb700ee89","value":"National ID"},"properties":{"id":{"type":"string","example":"b7045ecb-c6ca-43fa-9fa1-61bcb700ee89","description":"ID of the dependency"},"value":{"type":"string","example":"National ID","description":"Value of the dependency"}}},"nullable":true,"description":"Dependencies for the field"},"display_order":{"type":"string","example":"7","nullable":true,"description":"Display order of the field"},"how_to_obtain":{"type":"string","example":"Visit your local government office to request this document","nullable":true,"description":"Instructions on how to obtain the field value"},"can_be_skipped":{"type":"boolean","example":false,"nullable":true,"description":"Indicates if the field can be skipped"},"link_to_obtain":{"type":"string","example":"https://www.deel.com","nullable":true,"description":"Link to obtain the field value"},"validation_rule":{"type":"string","example":"^(Passport|National ID)$","nullable":true,"description":"Validation rule for the field"},"input_configuration":{"type":"object","example":{"type":"date","format":{"pattern":"YYYY-MM-DD","separator":"-"}},"nullable":true,"properties":{"type":{"type":"string","example":"date","description":"The configuration type matching the input type"},"format":{"type":"object","properties":{"pattern":{"type":"string","example":"YYYY-MM-DD","description":"Date format pattern"},"separator":{"type":"string","example":"-","description":"Separator character for the format"}},"description":"Format configuration for the input"}},"description":"Configuration object for the input field. Present for input types that require additional format or display configuration, such as date fields."},"link_to_obtain_label":{"type":"string","example":"Government Portal","nullable":true,"description":"Label for the link to obtain the field value"},"validation_error_message":{"type":"string","example":"Must be one of the following values: Passport, National ID","nullable":true,"description":"Validation error message for the field"},"dependency_condition_match_mode":{"enum":["ALL","ANY"],"type":"string","example":"ALL","nullable":true,"description":"Condition match mode for dependencies"}}}}}},"example":{"data":[{"id":"b7045ecb-c5ca-43fa-99f-61bcb700ee89","name":"idType","alias":"deel_additional-data_es_id-type","label":"ID Type","options":["Passport","National ID"],"footnote":null,"input_type":"select","local_name":"Tipo de identificacion","description":"Select your identification type","is_optional":false,"required_by":"sign_up","display_order":"1","how_to_obtain":null,"can_be_skipped":false,"link_to_obtain":null,"validation_rule":"^(Passport|National ID)$","input_configuration":null,"link_to_obtain_label":null,"validation_error_message":"Must be one of the following values: Passport, National ID"},{"id":"a1b2c3d4-e5f6-7890-abcd-ef1234567890","name":"idNumber","alias":"deel_additional-data_es_id-number","label":"ID Number","footnote":null,"input_type":"text","local_name":"Numero de identificacion","description":"Enter your identification number","is_optional":false,"required_by":"sign_up","dependencies":[{"id":"b7045ecb-c5ca-43fa-99f-61bcb700ee89","value":"National ID"}],"display_order":"2","how_to_obtain":null,"can_be_skipped":false,"link_to_obtain":null,"validation_rule":"^[A-Z0-9]+$","input_configuration":null,"link_to_obtain_label":null,"validation_error_message":"Must contain only uppercase letters and numbers","dependency_condition_match_mode":"ALL"}]}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Invalid country code or contract type."},"401":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Authentication required. Please provide a valid access token.","description":"Use this message to identify the authentication failure reason."}}},"minItems":1}}},"example":{"errors":[{"message":"Authentication required. Please provide a valid access token."}]}}},"description":"Authentication failed. The access token is missing, expired, or invalid."},"403":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"You do not have permission to access this resource.","description":"Use this message to identify the authorization failure reason."}}},"minItems":1}}},"example":{"errors":[{"message":"You do not have permission to access this resource."}]}}},"description":"Access denied. The authenticated user does not have the required contracts:read scope or contracts.view permission."},"404":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Additional info template not found","description":"Use this message to understand why the request failed. Indicates no additional info template is configured for this country and contract type."}}},"minItems":1}}},"example":{"errors":[{"message":"Additional info template not found"}]}}},"description":"No additional info template exists for the given country and contract type combination in the Employee Data Management system."},"429":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Too many requests. Please retry after some time.","description":"Use this message to detect rate limiting. Implement exponential backoff before retrying."}}},"minItems":1}}},"example":{"errors":[{"message":"Too many requests. Please retry after some time."}]}}},"description":"Rate limit exceeded. The client has sent too many requests in a given time window."},"500":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"An unexpected error occurred while processing your request. Please try again later.","description":"Use this message for logging and debugging purposes. Contains a general error description."}}},"minItems":1}}},"example":{"errors":[{"message":"An unexpected error occurred while processing your request. Please try again later."}]}}},"description":"Internal server error. Returned when the Employee Data Management service is unreachable or an unexpected error occurs."}},"parameters":[{"in":"path","name":"type","schema":{"enum":["eor","gp"],"type":"string"},"example":"eor","required":true,"description":"The contract type. Must be 'eor' (Employer of Record) or 'gp' (Global Payroll)."},{"in":"path","name":"country","schema":{"type":"string"},"example":"ES","required":true,"description":"ISO 3166-1 alpha-2 country code."}],"security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]}},"/gp/workers/{worker_id}/banks/{bank_id}":{"patch":{"tags":["Global Payroll"],"summary":"Modify bank account","operationId":"patchGpBankAccount","description":"Modify bank account for an employee.\n **Token scopes**: `people:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","status","created_at","updated_at"],"properties":{"id":{"type":"string","format":"uuid","example":"6f50539e-9f62-45d0-a42e-62a62fbb984a","description":"Unique identifier for the modified bank account."},"status":{"type":"string","example":"success","description":"The status of the modified bank account."},"created_at":{"type":"string","format":"date-time","example":"2022-05-24T09:38:46.235Z","nullable":false,"description":"Timestamp of when the bank account was created, in ISO-8601 format."},"updated_at":{"type":"string","format":"date-time","example":"2022-05-24T09:38:46.235Z","nullable":false,"description":"Timestamp of the last update to the bank account, in ISO-8601 format."}}}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"worker_id","schema":{"type":"string","format":"uuid","description":"Unique identifier for a worker in UUID format."},"example":"6f50539e-9f62-45d0-a42e-62a62fbb984a","required":true,"description":"Unique identifier for a worker in UUID format."},{"in":"path","name":"bank_id","schema":{"type":"string","format":"uuid","description":"Unique identifier for the bank account in UUID format."},"example":"a3b33c4d-8c02-4f7d-92b5-123abc456def","required":true,"description":"Unique identifier for the bank account in UUID format."}],"security":[{"deelToken":[]},{"oauth2":["people:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"city":{"type":"string","example":"Springfield","description":"The city of the user's address."},"iban":{"type":"string","example":"GB29NWBK60161331926819","description":"The International Bank Account Number (IBAN)."},"email":{"type":"string","example":"john.doe@example.com","description":"The user's email address."},"phone":{"type":"string","example":"+1234567890","description":"The user's phone number."},"postal":{"type":"string","example":"12345","description":"The user's postal or ZIP code."},"tax_id":{"type":"string","example":"123-45-6789","description":"The user's tax identification number."},"bank_code":{"type":"string","example":"123","description":"The bank code."},"bank_name":{"type":"string","example":"Bank of Examples","description":"Name of the user's bank."},"full_name":{"type":"string","example":"John Doe","description":"Full name of the user."},"swift_bic":{"type":"string","example":"EXAMPLEBIC","description":"SWIFT/BIC code for the bank."},"rib_number":{"type":"string","example":"12345678901","description":"The RIB (Relevé d'Identité Bancaire)."},"branch_code":{"type":"string","example":"001","description":"The branch code of the user's bank."},"account_type":{"type":"string","example":"Savings","description":"Bank account type."},"country_code":{"type":"string","example":"US","description":"The country code of the user's address."},"address_line1":{"type":"string","example":"1234 Main St","description":"The primary address line."},"address_line2":{"type":"string","example":"Apartment 101","description":"The secondary address line."},"currency_code":{"type":"string","example":"USD","description":"The currency code for transactions."},"original_name":{"type":"string","example":"Johnathan Doe","description":"The original name of the user."},"account_number":{"type":"string","example":"123456789012","description":"The user's bank account number."},"province_state":{"type":"string","example":"Ontario","description":"The state or province of the user's address."},"bank_branch_name":{"type":"string","example":"Main Street Branch","description":"The name of the user's bank branch."},"bank_country_code":{"type":"string","example":"US","description":"The country code where the bank is located."},"ach_routing_number":{"type":"string","example":"12345678901","description":"The ACH (Automated Clearing House) Routing Number."}}}}},"required":true,"description":"Request body to modify an existing bank account for an employee."}}},"/hris/organization_structures/{hris_org_structure_id}":{"delete":{"tags":["Organization structure"],"summary":"Delete an Org Structure from the Organization","operationId":"deleteAnOrgStructureFromTheOrganization-v2026-01-01","description":"Delete an Org Structure from the Organization. Use the force flag to bypass validation checks and remove the structure even when profiles are still assigned to it.\n **Token scopes**: `organizations:write`","responses":{"200":{"content":{"application/json":{}},"description":"Successfully deleted"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_parameter","description":"Machine-readable error code"},"field":{"type":"string","example":"/data/example_field","description":"Name of the field causing the error (for validation issues)"},"message":{"type":"string","example":"Must have required property 'example_field'","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"service_unavailable","description":"Machine-readable error code"},"message":{"type":"string","example":"The service is currently experiencing issues","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."}},"parameters":[{"in":"path","name":"hris_org_structure_id","schema":{"type":"string"},"example":"5f7b1b1b-1b1b-1b1b-1b1b-1b1b1b1b1b1b","required":true,"description":"Org Structure"}],"security":[{"deelToken":[]},{"oauth2":["organizations:write"]}]},"patch":{"tags":["Organization structure"],"summary":"Update an existing HRIS Org Structure","operationId":"updateAnExistingHrisOrgStructure-v2026-01-01","description":"Update an existing HRIS Org Structure including its name, settings, and teams hierarchy.\n **Token scopes**: `organizations:write`","responses":{"200":{"content":{"application/json":{}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_parameter","description":"Machine-readable error code"},"field":{"type":"string","example":"/data/example_field","description":"Name of the field causing the error (for validation issues)"},"message":{"type":"string","example":"Must have required property 'example_field'","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"service_unavailable","description":"Machine-readable error code"},"message":{"type":"string","example":"The service is currently experiencing issues","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."}},"parameters":[{"in":"path","name":"hris_org_structure_id","schema":{"type":"string"},"example":"1131a5a9-1fbb-4b58-87f6-d8798e6f0b9e","required":true,"description":"Org Structure"}],"security":[{"deelToken":[]},{"oauth2":["organizations:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","required":["teams"],"properties":{"name":{"type":"string","example":"HRIS Org Structure","description":"Name of the Org Structure"},"teams":{"type":"array","items":{"type":"object"}},"external_id":{"type":"string","example":"1131a5a9-1fbb-4b58-87f6-d8798e6f0b9e","description":"External ID of the Org Structure"},"enable_roles":{"type":"boolean","example":true,"description":"Enable roles for the Org Structure"},"is_multiselect":{"type":"boolean","example":true,"description":"Enable multiselect for the Org Structure"}}}}}}},"required":true}},"get":{"tags":["Organization structure"],"summary":"Fetch an Org Structure from the Organization","operationId":"fetchAnOrgStructureFromTheOrganization-v2026-01-01","description":"Retrieves detailed information about a specific organizational structure including its teams and roles.\n **Token scopes**: `organizations:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"HRIS Organization Structure ID"},"name":{"type":"string","example":"HRIS Organization Structure Name","description":"HRIS Organization Structure Name"},"type":{"type":"string","example":"HRIS Organization Structure Type","description":"HRIS Organization Structure Type"},"roles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","example":1,"description":"Role ID"},"name":{"type":"string","example":"Role Name","description":"Role Name"}}}},"teams":{"type":"array","items":{"type":"object"}},"external_id":{"type":"string","example":"HRIS Organization Structure External ID","description":"HRIS Organization Structure External ID"},"teams_count":{"type":"integer","example":1,"description":"HRIS Organization Structure Teams Count"},"enable_roles":{"type":"boolean","example":true,"description":"HRIS Organization Structure Enable Roles"},"is_multiselect":{"type":"boolean","example":true,"description":"HRIS Organization Structure Is Multiselect"}}}}}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"invalid_parameter"},"field":{"type":"string","example":"hrisOrgStructureId"},"message":{"type":"string","example":"\"hrisOrgStructureId\" must be a valid GUID"}}}}}}}},"description":"Bad request - The provided hrisOrgStructureId is invalid."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"not_found"},"field":{"type":"string","example":"hrisOrgStructureId"},"message":{"type":"string","example":"Organization structure was not found."}}}}}}}},"description":"Not found - No organization structure exists for the provided ID."},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"hris_org_structure_id","schema":{"type":"string"},"example":"d290f1ee-6c54-4b01-90e6-d701748f0851","required":true,"description":"HRIS Organization Structure ID"}],"security":[{"deelToken":[]},{"oauth2":["organizations:read"]}]}},"/profiles":{"patch":{"summary":"Profiles","operationId":"profiles","description":"Edit Profie\n **Token scopes**: `profile:write`, `profile:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"phone":{"type":"string","example":"+1-800-555-0199","description":"The contact number for the profile."},"currency":{"type":"string","example":"USD","description":"The preferred currency for the profile."},"timezone":{"type":"string","example":"UTC","description":"The timezone of the profile."},"last_name":{"type":"string","example":"Doe","description":"The last name of the profile."},"first_name":{"type":"string","example":"John","description":"The first name of the profile."},"preferred_name":{"type":"string","example":"Johnnie","description":"The preferred name of the profile."}}}}}}},"description":"Successfully updated profile."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","description":"Error message explaining what went wrong."}}}}},"description":"Invalid request parameters."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["profile:write","profile:read"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"phone":{"type":"string","example":"+1-800-555-0199","description":"The contact number for the profile."},"currency":{"type":"string","example":"USD","description":"The preferred currency for the profile."},"timezone":{"type":"string","example":"UTC","description":"The timezone of the profile."},"last_name":{"type":"string","example":"Doe","description":"The last name of the profile."},"first_name":{"type":"string","example":"John","description":"The first name of the profile."},"preferred_name":{"type":"string","example":"Johnnie","description":"The preferred name of the profile."}}}}}}},"required":true,"description":"Update profile information for the authenticated user"}}},"/teams":{"get":{"tags":["Organizations"],"summary":"Get Team List","operationId":"getTeams","description":"Retrieve a list of teams within the organization associated with the authenticated user. This list provides basic details about each team, including the team ID and name.\n **Token scopes**: `organizations:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","example":{"data":[{"id":"00000000-0000-0000-0000-000000000000","name":"Engineering"},{"id":"11111111-1111-1111-1111-111111111111","name":"Marketing"}]},"required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","name"],"properties":{"id":{"type":"string","format":"uuid","nullable":false,"description":"The unique identifier of the team within the organization."},"name":{"type":"string","example":"Engineering","nullable":false,"minLength":1,"description":"The name of the team."}}}}}}}},"description":"Successful retrieval of the teams in the organization."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Unauthorized. Please provide valid authentication credentials.","description":"An error message indicating that the authentication failed."}}}}},"description":"Unauthorized. The request is missing authentication credentials or the credentials provided are invalid."},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"No teams found in this organization.","description":"An error message indicating that no teams were found."}}}}},"description":"No teams found. There are no teams associated with the current organization."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Internal server error.","description":"A general error message indicating that the server encountered an unexpected issue."}}}}},"description":"Internal server error. An error occurred on the server while processing the request."}},"security":[{"deelToken":[]},{"oauth2":["organizations:read"]}]}},"/eor/contracts/{contract_id}/details":{"get":{"tags":["EOR"],"summary":"Retrieve EOR Contract Details","operationId":"retrieveEorContractDetails-v2026-01-01","description":"Returns the basic information for an EOR contract, along with employment costs associated to it\n **Token scopes**: `contracts:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","example":"38j84xg","description":"The unique identifier for the Deel contract."},"name":{"type":"string","example":"John Doe - 3D Artist","description":"Contract name"},"team":{"type":"object","properties":{"id":{"type":"string","example":"c4d1b604-54ef-4856-b561-d7cd90e2e306","description":"The unique identifier for the team."},"name":{"type":"string","example":"Cool team","description":"The name of the team."}}},"salary":{"type":"string","example":"150000.0000","nullable":false,"description":"Annual salary as a string to preserve decimal precision.","x-sensitive-employment":true},"status":{"enum":["under_review","waiting_for_employee_contract","waiting_for_client_sign","waiting_for_eor_sign","waiting_for_employee_sign","awaiting_deposit_payment","in_progress","completed","cancelled","user_cancelled","rejected"],"type":"string","example":"under_review","description":"The current status of the contract."},"creator":{"type":"object","properties":{"name":{"type":"string","example":"John Doe","description":"The name of the contract creator."},"email":{"type":"string","example":"510cd749d273e83a197ebd9e4342336f@test.com","description":"The email address of the contract creator."},"firstname":{"type":"string","example":"John","description":"The first name of the contract creator."}},"x-sensitive-pii":true},"currency":{"type":"string","example":"MXN","description":"The currency used in the contract."},"employee":{"type":"object","nullable":false,"properties":{"email":{"type":"string","example":"albert.einstein@test.com","description":"The email of the employee.","x-sensitive-pii":true},"pic_url":{"type":"string","example":"https://media.letsdeel.com/avatar/XXXXXXXX?q=0000000000000","nullable":true,"description":"URL to employee's picture.","x-sensitive-pii":true},"last_name":{"type":"string","example":"Einstein","description":"The last name of the employee.","x-sensitive-pii":true},"first_name":{"type":"string","example":"Albert","description":"The first name of the employee.","x-sensitive-pii":true},"legal_name":{"type":"string","example":"Albert Einstein","description":"The legal name of the employee.","x-sensitive-pii":true},"nationality":{"type":"string","example":"MX","description":"Two letter country code of the employee nationality."}},"description":"Employee details"},"end_date":{"type":"string","format":"date-time","example":"2026-08-10T23:59:59.999Z","nullable":true,"description":"The end date of the contract, if applicable."},"timezone":{"type":"string","example":"UTC","description":"The timezone of the contract."},"seniority":{"type":"object","properties":{"id":{"type":"number","example":"185","description":"The unique identifier for the seniority level."},"name":{"type":"string","example":"Junior (Individual Contributor Level 1)","description":"The name of the seniority level."}}},"sick_days":{"type":"object","nullable":false,"properties":{"max":{"type":"string","example":"364.0000","nullable":true,"description":"Maximum number of sick days allowed."},"min":{"type":"string","example":"0.0000","nullable":true,"description":"Minimum number of sick days allowed."}},"description":"Allowed sick days range."},"work_visa":{"type":"boolean","example":false,"nullable":false,"description":"Indicates if a work visa is required."},"created_at":{"type":"string","format":"date-time","example":"2025-04-02T20:31:01.645Z","description":"The date and time when the contract was created."},"start_date":{"type":"string","format":"date-time","example":"2025-04-04T00:00:00.000Z","nullable":false,"description":"The start date of the contract."},"updated_at":{"type":"string","format":"date-time","example":"2025-04-02T20:31:02.993Z","description":"The date and time when the contract was last updated."},"description":{"type":"string","example":"Duties and Responsibilities\n\n- Create detailed business plans designed to attain predetermined goals and quotas.","description":"Contract description"},"signed_date":{"type":"string","format":"date-time","example":"2025-04-04T03:09:15.378Z","nullable":true,"description":"The date and time when the contract was signed by both parties."},"cancelled_at":{"type":"string","format":"date-time","example":"2025-04-04T03:09:15.378Z","nullable":true,"description":"The date and time when the contract was cancelled."},"completed_at":{"type":"string","format":"date-time","example":"2025-04-04T03:09:15.378Z","nullable":true,"description":"The date and time when the contract was completed."},"payroll_type":{"enum":["BIMONTHLY","MONTHLY"],"type":"string","example":"BIMONTHLY","description":"Payroll frequency for the contract"},"can_adjust_on":{"type":"object","nullable":true,"properties":{"end":{"type":"string","example":"2025-04-20T00:00:00.000Z","description":"End of the period when adjustments can be made."},"start":{"type":"string","example":"2025-04-04T00:00:00.000Z","description":"Start of the period when adjustments can be made."}},"description":"Time frame when adjustments can be made."},"contract_type":{"enum":["eor"],"type":"string","example":"eor","description":"The type of contract."},"scope_of_work":{"type":"string","example":"Duties and Responsibilities\n\n- Create detailed business plans designed to attain predetermined goals and quotas.\n- Manage the entire sales cycle from finding a client to securing a deal.\n- Unearth new sales opportunities through networking and turn them into long-term partnerships.\n- Present products to prospective clients.\n- Provide professional after-sales support to maximize customer loyalty.\n- Remain in regular contact with your clients to understand and meet their needs.\n- Respond to complaints and resolve issues to the customer's satisfaction and to maintain the company's reputation.\n- Negotiate agreements.\n- Maintains all sales databases necessary to report sales activity and customer information.\n- Attends all sales meetings and training sessions as required by management.","nullable":false,"description":"Description of job scope and responsibilities."},"signing_bonus":{"type":"string","example":"18770.0000","nullable":true,"description":"One-time bonus paid at contract sign.","x-sensitive-employment":true},"time_off_type":{"enum":["STANDARD","SPECIFIC","PRORATED"],"type":"string","example":"STANDARD","nullable":false,"description":"Type of time off policy."},"deposit_months":{"type":"string","example":"1.50","nullable":true,"description":"Number of deposit months required."},"effective_date":{"type":"string","format":"date-time","example":"2025-04-04T00:00:00.000Z","description":"The date and time when the contract is effective."},"job_title_name":{"type":"string","example":"3D Artist","nullable":true,"description":"The contract's job title."},"completion_date":{"type":"string","format":"date-time","example":"2025-04-04T00:00:00.000Z","nullable":true,"description":"The completion date of the contract."},"employment_type":{"enum":["Full-time","Part-time"],"type":"string","example":"Full-time","description":"The type of employment."},"client_signature":{"type":"string","example":"Alice Banks","nullable":true,"description":"The signature of the client."},"client_signed_at":{"type":"string","format":"date-time","example":"2025-04-04T00:00:00.000Z","nullable":true,"description":"The date and time when the client signed the contract."},"employment_costs":{"type":"object","nullable":true,"properties":{"summary":{"type":"object","properties":{"salary":{"type":"string","example":"700,000.00","description":"Annual gross salary in local currency."},"currency":{"type":"string","example":"EUR","description":"Local currency code (e.g., BRL, PLN)."},"exchange_rate":{"type":"string","example":"0.92","description":"Exchange rate used to convert from local to supporting currency."},"totals_formatted":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string","example":"Monthly total","description":"Display title for the total (e.g., 'Monthly Total')."},"total":{"type":"string","example":"61,613.86","description":"Formatted amount in local currency."},"frequency":{"type":"string","example":"monthly","description":"Time period for the total (e.g., monthly, annual)."},"total_supporting":{"type":"string","example":"67,116.35","description":"Formatted amount in supporting currency."}}},"description":"Formatted summary totals in both local and supporting currencies."},"supporting_currency":{"type":"string","example":"USD","description":"Reference or secondary currency (e.g., USD) used for reporting totals."}},"description":"Top-level overview of costs, including key totals and currency metadata."},"sections":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","example":"MONTHLY_EMPLOYMENT_BREAKDOWN","description":"Internal identifier for the cost section (e.g., MONTHLY_EMPLOYMENT_BREAKDOWN)."},"label":{"type":"string","example":"Monthly employment breakdown","description":"Display name for the cost section."},"groups":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","example":"GROSS_MONTHLY_SALARY","description":"Internal identifier for the group."},"costs":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string","example":"Salary","description":"Name of the specific cost item (e.g., Salary, Meal Voucher)."},"totals":{"type":"array","items":{"type":"object","properties":{"total":{"type":"string","example":"58,333.33","description":"Total cost amount in local currency."},"frequency":{"type":"string","example":"monthly","description":"How often this cost occurs (e.g., monthly, annual, one-time)."},"total_supporting":{"type":"string","example":"63,542.84","description":"Total cost amount in the supporting currency."}}},"description":"Monthly and annual totals for the cost item in local and supporting currencies."}}},"description":"Individual cost items within the group."},"label":{"type":"string","example":"Gross salary","description":"Display name for the group (e.g., Gross Salary, Employer Cost)."},"totals":{"type":"array","items":{"type":"object","properties":{"total":{"type":"string","example":"58,633.33","description":"Group total in local currency."},"frequency":{"type":"string","example":"monthly","description":"How often the total is calculated (e.g., monthly, annual)."},"total_supporting":{"type":"string","example":"63,869.63","description":"Group total in supporting currency."}}},"description":"Aggregated totals for all items within the group."},"has_breakdown":{"type":"boolean","example":true,"description":"Indicates if the group contains multiple detailed cost items to be expanded."}}},"description":"Collections of related costs grouped under a common label."},"totals":{"type":"array","items":{"type":"object","properties":{"total":{"type":"string","example":"61,613.86","description":"Total cost for the section in local currency."},"frequency":{"type":"string","example":"monthly","description":"How often the total is calculated (e.g., monthly, annual)."},"total_supporting":{"type":"string","example":"67,116.35","description":"Total cost for the section in supporting currency."}}},"description":"Overall totals for the section, summing all groups and standalone items."},"is_summarized":{"type":"boolean","example":true,"description":"Indicates whether the section is presented in summarized form."},"standalone_items":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","example":"One off payment","description":"Internal identifier for the standalone cost item."},"label":{"type":"string","example":"Printed Agreement handling fee","description":"Display name for the standalone cost item."},"totals":{"type":"array","items":{"type":"object","properties":{"total":{"type":"string","example":"73.44","description":"Standalone cost amount in local currency."},"frequency":{"type":"string","example":"monthly","description":"How often this cost occurs (e.g., monthly, annual, one-time)."},"total_supporting":{"type":"string","example":"80.00","description":"Standalone cost amount in the supporting currency."}}},"description":"Monthly and annual totals for the standalone item in local and supporting currencies."}}},"description":"Cost items that do not belong to regular groups, often irregular or one-off costs."}}},"description":"Detailed and categorized cost sections including grouped and standalone items."},"additional_data":{"type":"object","properties":{"annual_notes":{"type":"array","items":{"type":"string"},"example":[],"description":"Notes or assumptions specifically relevant to annual cost calculations."},"monthly_notes":{"type":"array","items":{"type":"string"},"example":[],"description":"Notes or assumptions specifically relevant to monthly cost calculations."},"once_off_notes":{"type":"array","items":{"type":"string"},"example":[],"description":"Notes regarding one-time costs or irregular payments in the quote."},"additional_notes":{"type":"array","items":{"type":"string"},"example":["Kindly note that the onboarding process for employees in this country requires the completion of a QES (Qualified Electronic Signature) process, which carries a fee of $80 USD. This fee is designed to cover the additional administrative expenses associated with the QES process. In the event that the QES option is not available, an alternative would be to proceed with a printed agreement signature process, incurring costs of $80 USD. These costs include expenses for printing, shipping, and handling related to the signing of the printed agreement.","Deel can countersign the employment agreement once you provide a Qualifying Electronic Signature (QES). After the employee registers on the Deel platform, we will notify and invite you to sign the Scope of Work, through the QES process. Please note that we are unable to proceed with your employee full onboarding until you complete this QES signing step."],"description":"General conditions, assumptions, or fees that may apply to the quote."}},"description":"Supplementary notes and contextual information relevant to the cost quote."}},"description":"Detailed breakdown of employment costs including summary totals, sectioned cost groups, and additional context notes.","x-sensitive-employment":true},"employment_state":{"type":"string","example":"NJ","nullable":true,"description":"The state of the employment."},"hiring_objective":{"type":"object","nullable":true,"properties":{"type":{"enum":["EXPANDING_TO_NEW_COUNTRY","TEMP_EOR_OPENING_ENTITY","ONE_OFF_HIRE","CONVERTING_CONTRACTOR","OTHER"],"type":"string","example":"ONE_OFF_HIRE"},"extra_info":{"type":"string","example":"Planning to hire more soon","nullable":true}},"description":"Information about the hiring objective."},"probation_period":{"type":"integer","example":30,"nullable":false,"description":"Number of days in the probation period."},"employee_signed_at":{"type":"string","format":"date-time","example":"2025-04-04T00:00:00.000Z","nullable":true,"description":"Date and time when the employee signed."},"employment_country":{"type":"string","example":"US","description":"Two letter country code of the employment country."},"notice_period_type":{"enum":["STANDARD","CUSTOM",null],"type":"string","example":"STANDARD","nullable":true,"description":"Type of notice period if applicable."},"original_start_date":{"type":"string","format":"date-time","example":"2025-04-04T00:00:00.000Z","nullable":false,"description":"The originally planned start date."},"work_hours_per_week":{"type":"string","example":"40.00","nullable":false,"description":"Number of work hours per week."},"contractor_signature":{"type":"string","example":"Charles Dickens","nullable":true,"description":"The signature of the EOR entity representative.","x-sensitive-pii":true},"contractor_signed_at":{"type":"string","format":"date-time","example":"2025-04-04T00:00:00.000Z","nullable":true,"description":"The date and time when the contractor signed the contract."},"effective_plain_date":{"type":"string","format":"date","example":"2025-04-04","description":"The effective date in plain format."},"fixed_adjustment_ids":{"type":"array","items":{"type":"string"},"example":["cm90dtiahuzmu5a0oyt3090b8"],"nullable":true,"description":"List of fixed adjustment ids."},"invited_client_email":{"type":"string","example":"employer@test.com","nullable":true,"description":"The email address of the invited client.","x-sensitive-pii":true},"last_quote_rejection":{"type":"object","nullable":true,"properties":{"created_at":{"type":"string","example":"2025-04-04T03:09:15.378Z","nullable":false,"description":"Timestamp of when the rejection was made."},"rejected_by":{"type":"object","nullable":false,"properties":{"name":{"type":"string","example":"Stephen King","nullable":false,"description":"Full name of the rejecting person.","x-sensitive-pii":true},"profile_public_id":{"type":"string","format":"uuid","example":"e2ad9db5-e245-4ffb-a13d-1c1c2f82c91b","nullable":false,"description":"Public identifier for the rejecting person's profile."}},"description":"Details of the person who rejected."},"rejection_type":{"enum":["CLIENT","EOR_AGENT"],"type":"string","example":"CLIENT","nullable":true,"description":"Type of rejection."},"rejection_reason":{"enum":["TOO_EXPENSIVE","DECIDED_AGAINST_EMPLOYING_EOR","TEST_QUOTE","NOT_SATISFIED_WITH_DEEL","INACCURATE_INFO_JOB_TITLE","INACCURATE_INFO_JOB_DESCRIPTION","INACCURATE_INFO_JOB_DUTIES_SCOPE_OF_WORK","OTHER"],"type":"string","example":"DECIDED_AGAINST_EMPLOYING_EOR","nullable":false,"description":"Reason why the rejection occurred."},"rejection_message":{"type":"string","example":"Scope is too broad","nullable":true,"description":"Optional message explaining the rejection."}},"description":"Timestamp of last quote rejection."},"completion_plain_date":{"type":"string","format":"date","example":"2024-12-31","nullable":true,"description":"The completion date of the contract in plain contract."},"is_onboarding_on_hold":{"type":"boolean","example":false,"nullable":false,"description":"Whether onboarding is currently on hold or not."},"monthly_employer_cost":{"type":"string","example":"4709.9400","nullable":false,"description":"Monthly cost to the employer."},"employee_late_sign_start":{"type":"string","format":"date-time","example":"2025-04-08T03:09:15.378Z","nullable":true,"description":"Date when employee signed late, if applicable."},"is_early_invoice_enabled":{"type":"boolean","example":false,"nullable":false,"description":"Whether early invoicing is enabled or not."},"onboarding_step_duration":{"type":"integer","example":3,"nullable":true,"description":"Duration of onboarding steps in days."},"variable_compensation_ids":{"type":"array","items":{"type":"string"},"example":["cm90dtiaivl0mbqmflsu5asek"],"nullable":false,"description":"List of variable compensation IDs."},"can_remind_employee_to_sign":{"type":"boolean","example":false,"nullable":false,"description":"Whether reminders to sign the employee resignation can be sent to the employee or not."},"initial_effective_plain_date":{"type":"string","format":"date","example":"2025-04-04","description":"The initial effective date in plain format."},"is_foreign_currency_contract":{"type":"boolean","example":false,"nullable":false,"description":"Whether the contract uses foreign currency or not."},"is_employee_onboarding_delayed":{"type":"boolean","example":false,"nullable":false,"description":"Determines if the invite for employee onboarding should be dispatch manually."},"monthly_eor_management_fee_usd":{"type":"string","example":"500.0000","nullable":false,"description":"Monthly EOR management fee in USD."},"work_schedule_assignment_settings":{"enum":["NOT_AVAILABLE","SPECIFIC_SCHEDULES","GENERAL_SCHEDULES","ONE_TIME_AMENDMENT"],"type":"string","example":"NOT_AVAILABLE","nullable":false,"description":"Work schedule assignment setting."},"probation_period_type_for_definite":{"enum":["STANDARD","CUSTOM",null],"type":"string","example":"STANDARD","nullable":true,"description":"Probation period type for definite contracts."}}}}},"description":"Successful response"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Access denied","description":"Contract is not accessible to the user/organization"}}}}},"description":"Access denied"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"38j84xg","required":true,"description":"The unique identifier for the Deel contract"}],"security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]}},"/time_offs/profile/{hris_profile_id}/policies":{"get":{"tags":["Time Off"],"summary":"List policies","operationId":"listPolicies","description":"List policies for profile\n **Token scopes**: `time-off:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"policies":{"type":"array","items":{"type":"object","required":["id","name","tracking_unit","tracking_unit_amount","request_start_type","request_start_unit","request_start_unit_amount","leave_type","time_off_request_type","retrospective_request_type","overlap_request_type","allow_to_edit_past_time_offs","auto_approval_inactivity_time_unit","auto_approval_inactivity_time_unit_amount","notice_period_unit","notice_period_unit_amount","is_description_required","is_attachment_required","created_at","updated_at","policy_type","policy_allowances","policy_allowance_proration","payment_type"],"properties":{"id":{"type":"string","format":"uuid","example":"c7f4986f-39a4-4f5d-9325-f37a8e9f5cdf","description":"Unique identifier of the policy"},"name":{"type":"string","example":"US PTO Policy","description":"Name of the policy"},"created_at":{"type":"string","format":"date-time","example":"2023-01-01T00:00:00Z","description":"Date and time when the policy was created"},"leave_type":{"enum":["SHORT_TERM_LEAVE","LONG_TERM_LEAVE"],"type":"string","example":"SHORT_TERM_LEAVE","description":"Type of leave for this policy"},"updated_at":{"type":"string","format":"date-time","example":"2023-01-15T12:30:45Z","description":"Date and time when the policy was last updated"},"description":{"type":"string","example":"Standard paid time off policy for US employees","nullable":true,"description":"Description of the policy"},"policy_type":{"type":"object","example":{"id":"c7f4986f-39a4-4f5d-9325-f37a8e9f5cdf","name":"Vacation"},"required":["id","name"],"properties":{"id":{"type":"string","format":"uuid","example":"c7f4986f-39a4-4f5d-9325-f37a8e9f5cdf","description":"Unique identifier of the policy type"},"name":{"type":"string","example":"Vacation","description":"Name of the policy type"}},"description":"Type of this policy"},"payment_type":{"enum":["PAID","UNPAID"],"type":"string","example":"PAID","description":"Payment type for the time off policy"},"tracking_unit":{"enum":["HOUR","BUSINESS_DAY","CALENDAR_DAY","WEEK","MONTH","YEAR",null],"type":"string","example":"YEAR","nullable":true,"description":"Unit used for tracking policy periods"},"policy_type_id":{"type":"string","format":"uuid","example":"c7f4986f-39a4-4f5d-9325-f37a8e9f5cdf","description":"Unique identifier of the policy type"},"time_off_types":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"c7f4986f-39a4-4f5d-9325-f37a8e9f5cdf","description":"Unique identifier of the time off type"},"name":{"type":"string","example":"Vacation","description":"Name of the time off type"},"description":{"type":"string","example":"Annual vacation leave","nullable":true,"description":"Description of the time off type"}}},"description":"Time off types associated with this policy"},"tracking_cadence":{"enum":["FIXED_DAY","ANNIVERSARY",null],"type":"string","example":"ROLLING","nullable":true,"description":"Cadence for tracking policy periods"},"policy_allowances":{"type":"array","items":{"type":"object","example":{"id":"c7f4986f-39a4-4f5d-9325-f37a8e9f5cdf","type":"BASE_ALLOWANCE","accrual_type":"TIMEFRAME","accrual_unit":"MONTH","rollover_type":"CARRY_OVER","entitlement_unit":"CALENDAR_DAY","accrual_unit_amount":1,"enable_bank_holidays":true,"balance_tracking_type":"FLEXIBLE_NO_LIMIT","entitlement_start_date":null,"entitlement_start_type":"IMMEDIATELY","entitlement_start_unit":null,"entitlement_unit_amount":15,"accrual_application_type":"BEGIN_OF_CYCLE","rollover_expiration_unit":null,"rollover_limit_unit_amount":5,"entitlement_expiration_unit":null,"entitlement_start_unit_amount":null,"rollover_expiration_unit_amount":null,"entitlement_expiration_unit_amount":null,"zero_out_negative_balances_on_rollover":true,"part_time_prorated_entitlement_unit_amount":null,"balance_tracking_flexible_custom_request_amount":null},"required":["id","type","accrual_type","accrual_unit","accrual_unit_amount","accrual_application_type","entitlement_unit","entitlement_unit_amount","entitlement_start_type","entitlement_start_unit","entitlement_start_unit_amount","entitlement_start_date","entitlement_expiration_unit","entitlement_expiration_unit_amount","rollover_type","rollover_limit_unit_amount","rollover_expiration_unit","rollover_expiration_unit_amount","zero_out_negative_balances_on_rollover","enable_bank_holidays","balance_tracking_type","balance_tracking_flexible_custom_request_amount"],"properties":{"id":{"type":"string","format":"uuid","example":"c7f4986f-39a4-4f5d-9325-f37a8e9f5cdf","description":"Unique identifier of the policy allowance"},"type":{"enum":["BASE_ALLOWANCE","ADDITIONAL_ALLOWANCE"],"type":"string","example":"BASE_ALLOWANCE","description":"Type of the policy allowance"},"accrual_type":{"enum":["LUMPSUM","TIMEFRAME","EVENT","TIME_OFF_IN_LIEU"],"type":"string","example":"TIMEFRAME","description":"Type of accrual for the allowance. Determines how/when profiles should earn their entitlement (aka: allowance)."},"accrual_unit":{"enum":["HOUR","BUSINESS_DAY","CALENDAR_DAY","WEEK","MONTH","YEAR",null],"type":"string","example":"MONTH","nullable":true,"description":"Unit used for accrual"},"rollover_type":{"enum":["NO_ROLLOVER","PAY_OUT","CARRY_OVER","CARRY_OVER_PAY_OUT",null],"type":"string","example":"CARRY_OVER","nullable":true,"description":"Type of rollover"},"entitlement_unit":{"enum":["HOUR","BUSINESS_DAY","CALENDAR_DAY","WEEK","MONTH","YEAR",null],"type":"string","example":"CALENDAR_DAY","nullable":true,"description":"Unit used for entitlement"},"accrual_unit_amount":{"type":"number","example":1,"nullable":true,"description":"Amount of accrual units"},"enable_bank_holidays":{"type":"boolean","example":true,"description":"Whether bank holidays are enabled for this allowance"},"balance_tracking_type":{"enum":["INFLEXIBLE","FLEXIBLE_NO_LIMIT","FLEXIBLE_CUSTOM_AMOUNT","FLEXIBLE_UP_TO_YEARLY_ALLOWANCE",null],"type":"string","example":"FLEXIBLE_NO_LIMIT","nullable":true,"description":"Type of balance tracking. Determines how workers can request their time off."},"entitlement_start_date":{"type":"string","format":"date","example":"2023-01-01","nullable":true,"description":"Start date for entitlement"},"entitlement_start_type":{"enum":["IMMEDIATELY","FIXED_PERIOD","FIXED_DAY"],"type":"string","example":"IMMEDIATELY","description":"Type of entitlement start"},"entitlement_start_unit":{"enum":["HOUR","BUSINESS_DAY","CALENDAR_DAY","WEEK","MONTH","YEAR",null],"type":"string","example":"CALENDAR_DAY","nullable":true,"description":"Unit used for entitlement start"},"entitlement_unit_amount":{"type":"number","example":15,"nullable":true,"description":"Amount of entitlement units"},"accrual_application_type":{"enum":["BEGIN_OF_CYCLE","END_OF_CYCLE","BEGIN_OF_NEXT_CYCLE",null],"type":"string","example":"BEGIN_OF_CYCLE","nullable":true,"description":"Type of accrual application. Enum to indicate when accruals will be applied within the accrual cycles."},"rollover_expiration_unit":{"enum":["HOUR","BUSINESS_DAY","CALENDAR_DAY","WEEK","MONTH","YEAR",null],"type":"string","example":"MONTH","nullable":true,"description":"Unit used for rollover expiration"},"rollover_limit_unit_amount":{"type":"number","example":5,"nullable":true,"description":"Amount of rollover limit units"},"entitlement_expiration_unit":{"enum":["HOUR","BUSINESS_DAY","CALENDAR_DAY","WEEK","MONTH","YEAR",null],"type":"string","example":"MONTH","nullable":true,"description":"Unit used for entitlement expiration"},"entitlement_start_unit_amount":{"type":"number","example":90,"nullable":true,"description":"Amount of entitlement start units"},"rollover_expiration_unit_amount":{"type":"number","example":6,"nullable":true,"description":"Amount of rollover expiration units"},"entitlement_expiration_unit_amount":{"type":"number","example":3,"nullable":true,"description":"Amount of entitlement expiration units"},"zero_out_negative_balances_on_rollover":{"type":"boolean","example":true,"description":"Whether negative balances are zeroed out on rollover"},"part_time_prorated_entitlement_unit_amount":{"type":"number","example":7.5,"nullable":true,"description":"The total prorated policy allowance entitlement amount if the worker is part-time."},"balance_tracking_flexible_custom_request_amount":{"type":"number","example":8,"nullable":true,"description":"Amount for flexible custom request balance tracking. The flexible custom extra amount request of the policy allowance."}}},"description":"Allowances associated with this policy"},"notice_period_unit":{"enum":["HOUR","BUSINESS_DAY","CALENDAR_DAY","WEEK","MONTH","YEAR",null],"type":"string","example":"BUSINESS_DAY","nullable":true,"description":"Unit for notice period"},"request_start_type":{"enum":["IMMEDIATELY","FIXED_PERIOD",null],"type":"string","example":"IMMEDIATELY","nullable":true,"description":"Type of request start configuration"},"request_start_unit":{"enum":["HOUR","BUSINESS_DAY","CALENDAR_DAY","WEEK","MONTH","YEAR",null],"type":"string","example":"BUSINESS_DAY","nullable":true,"description":"Unit used for request start configuration"},"tracking_start_date":{"type":"string","format":"date","example":"2023-01-01","nullable":true,"description":"Start date for tracking policy periods"},"overlap_request_type":{"enum":["ALLOWED","NOT_ALLOWED"],"type":"string","example":"NOT_ALLOWED","description":"Type of overlapping requests allowed"},"tracking_unit_amount":{"type":"number","example":1,"nullable":true,"description":"Amount of tracking units"},"time_off_request_type":{"enum":["HALF_DAY","HOURLY","FULL_DAY","PERCENTAGE","PARTIAL_HOURS"],"type":"string","example":"FULL_DAY_ONLY","description":"Type of time off requests allowed"},"is_attachment_required":{"enum":["NOT_REQUIRED","REQUIRED","CONDITIONALLY_REQUIRED"],"type":"string","example":"REQUIRED","description":"Whether an attachment is required for time off requests"},"is_description_required":{"type":"boolean","example":true,"description":"Whether a description is required for time off requests"},"notice_period_unit_amount":{"type":"number","example":14,"nullable":true,"description":"Amount of notice period units"},"request_start_unit_amount":{"type":"number","example":14,"nullable":true,"description":"Amount of request start units"},"policy_allowance_proration":{"type":"object","example":{"prorates_on_hire":true,"prorates_on_termination":true,"part_time_worker_treatment_type":"CUSTOM_ENTITLEMENT","part_time_worker_treatment_specific_amount":12},"required":["part_time_worker_treatment_type","part_time_worker_treatment_specific_amount","prorates_on_hire","prorates_on_termination"],"properties":{"prorates_on_hire":{"type":"boolean","example":true,"description":"Whether proration is applied on hire"},"prorates_on_termination":{"type":"boolean","example":true,"description":"Whether proration is applied on termination"},"part_time_worker_treatment_type":{"enum":["SAME_AS_FTE","PERCENTAGE_OF_FTE","BASED_ON_WORK_HOURS","BASED_ON_WORK_DAYS","CUSTOM_ENTITLEMENT"],"type":"string","example":"PRORATION","description":"Type of treatment for part-time workers"},"part_time_worker_treatment_specific_amount":{"type":"number","example":10,"nullable":true,"description":"Specific amount for part-time worker treatment when the type is CUSTOM_ENTITLEMENT"}},"description":"Proration configuration for policy allowances"},"retrospective_request_type":{"enum":["ALLOWED","NOT_ALLOWED"],"type":"string","example":"ALLOWED","description":"Type of retrospective requests allowed"},"allow_to_edit_past_time_offs":{"type":"boolean","example":false,"description":"Whether editing past time offs is allowed"},"auto_approval_inactivity_time_unit":{"enum":["HOUR","BUSINESS_DAY","CALENDAR_DAY","WEEK","MONTH","YEAR",null],"type":"string","example":"CALENDAR_DAY","nullable":true,"description":"Unit for auto-approval inactivity time"},"auto_approval_inactivity_time_unit_amount":{"type":"number","example":3,"nullable":true,"description":"Amount of auto-approval inactivity time units"}},"description":"Time off policy"}}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Policy not found"}}}}},"description":"Not Found - Resource not found"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"query","name":"policy_type_name","schema":{"enum":["Moving leave","Adoption leave","Personal leave","Parental leave","Military leave","Childbirth leave","Study leave","Sick leave","Bereavement leave","Family & domestic violence leave","Marriage/wedding leave","Blood donation leave","Volunteer leave","Vacation","Doctor's appointment leave","Maternity leave","Hajj leave","Paternity leave","Civic/public duty leave","Childcare leave","Unpaid leave","Paid leave","Other leave","Disability leave","Pregnancy leave","RTT","Regional holiday","Breastfeeding leave","Advanced vacation"],"type":"string"},"example":"Adoption leave","required":false,"description":"Policy type name."},{"in":"query","name":"policy_type_id","schema":{"type":"string","format":"uuid"},"example":"f7b3b3b3-3b3b-3b3b-3b3b-3b3b3b3b3b3b","required":false,"description":"policy type id"},{"in":"path","name":"hris_profile_id","schema":{"type":"string","format":"uuid"},"example":"f7b3b3b3-3b3b-3b3b-3b3b-3b3b3b3b3b3b","required":true,"description":"hrisProfileId id."}],"security":[{"deelToken":[]},{"oauth2":["time-off:read"]}]}},"/legal-entities/{id}":{"delete":{"tags":["Legal Entities"],"summary":"Delete a legal entity","operationId":"deleteLegalEntity","description":"Archive a legal entity. This marks the entity as inactive but does not permanently remove it.\n **Token scopes**: `legal-entity:read`, `legal-entity:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"archived_at":{"type":"string","format":"date-time","example":"2024-11-29T12:00:00Z","description":"The timestamp when the legal entity was archived."}}}}},"description":"Successfully archived the legal entity."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Invalid request parameters.","description":"Error message explaining what went wrong."}}}}},"description":"Invalid request parameters."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"User does not have sufficient permissions to delete this entity.","description":"Error message explaining why access is denied."}}}}},"description":"Permission denied."},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"id","schema":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the legal entity."},"required":true,"description":"The ID of the legal entity to archive."}],"security":[{"deelToken":[]},{"oauth2":["legal-entity:read","legal-entity:write"]}]},"patch":{"tags":["Legal Entities"],"summary":"Edit a legal entity","operationId":"editLegalEntity","description":"Update the details of an existing legal entity.\n **Token scopes**: `legal-entity:read`, `legal-entity:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the legal entity."},"name":{"type":"string","example":"Deel Inc.","description":"The name of the legal entity."},"phone":{"type":"string","example":"+18001234567","description":"The phone number of the legal entity."},"address":{"type":"object","properties":{"city":{"type":"string","example":"San Francisco","description":"The city."},"state":{"type":"string","example":"CA","description":"The state."},"street":{"type":"string","example":"123 Main St","description":"The street address."},"country":{"type":"string","example":"US","description":"The ISO 2-letter country code."}}},"sic_number":{"type":"string","example":"1234","description":"The SIC number of the legal entity."},"entity_type":{"type":"string","example":"Corporation","description":"The type of the legal entity."},"industry_name":{"type":"string","example":"Software Development","description":"The industry name of the legal entity."},"company_identifiers":{"type":"object","properties":{"tax_number":{"type":"string","example":"123456789","description":"The tax identification number of the legal entity."},"registration_number":{"type":"string","example":"987654321","description":"The registration number of the legal entity."}}}}}}}}},"description":"Successfully updated the legal entity."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Invalid request parameters.","description":"Error message explaining what went wrong."}}}}},"description":"Invalid request parameters."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"User must be a manager of the organization to update an entity.","description":"Error message explaining why access is denied."}}}}},"description":"Permission denied."},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"id","schema":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the legal entity."},"required":true,"description":"The ID of the legal entity to update."}],"security":[{"deelToken":[]},{"oauth2":["legal-entity:read","legal-entity:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","example":"Deel Inc.","description":"The name of the legal entity."},"phone":{"type":"string","example":"+18001234567","description":"The phone number of the legal entity."},"address":{"type":"object","properties":{"city":{"type":"string","example":"San Francisco","description":"The city."},"state":{"type":"string","example":"CA","description":"The state."},"street":{"type":"string","example":"123 Main St","description":"The street address."},"country":{"type":"string","example":"US","description":"The ISO 2-letter country code."}}},"sic_number":{"type":"string","example":"1234","description":"The SIC number of the legal entity."},"entity_type":{"type":"string","example":"Corporation","description":"The type of the legal entity."},"industry_name":{"type":"string","example":"Software Development","description":"The industry name of the legal entity."},"company_identifiers":{"type":"object","properties":{"tax_number":{"type":"string","example":"123456789","description":"The tax identification number of the legal entity."},"registration_number":{"type":"string","example":"987654321","description":"The registration number of the legal entity."}},"description":"Identifiers associated with the legal entity."}}}}},"required":true}}},"/roles/{roleId}":{"patch":{"tags":["Organizations"],"summary":"Update organization custom role","operationId":"UpdateOrganizationRole","description":"undefined\n **Token scopes**: `organizations:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"number","example":1,"description":"ID of the role"},"name":{"type":"string","example":"Admin","description":"Name of the role"},"scope":{"type":"string","example":"organization","description":"Scope of the role"},"description":{"type":"string","example":"Admin role","description":"Description of the role"},"permissionSets":{"type":"array","items":{"type":"string","example":"manageUsers","description":"Permission set"}}}}}},"description":"Successful operation"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"roleId","schema":{"type":"string"},"example":"1","required":true,"description":"ID of the role"}],"security":[{"deelToken":[]},{"oauth2":["organizations:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"name":{"type":"string","example":"Admin","description":"Name of the role"},"description":{"type":"string","example":"Admin role","description":"Description of the role"},"permissionSets":{"type":"array","items":{"type":"string","example":"manageUsers","description":"Permission set"}}}}}}}},"required":true}}},"/ats/applications/{application_id}/interview-plan-stages":{"post":{"tags":["ATS"],"summary":"Associate application with an interview plan stage","operationId":"associateApplicationWithAnInterviewPlanStage-v2026-01-01","description":"Use this endpoint to associate an application with a specific interview plan stage in the hiring workflow. Use it when moving a candidate into a stage or backfilling history. Set is_current_stage to true to update the application's current stage; set it to false to record a historical entry without changing the current stage. To control triggered activities, pass applicable_job_activities; omit it to trigger all activities or pass an empty array to trigger none. If the candidate is being archived, include candidate_archivation_reason_id and optionally candidate_archivation_email_template_id to send a rejection email.\n **Token scopes**: `ats:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","created_at","updated_at"],"properties":{"id":{"type":"string","format":"uuid","example":"88688e3c-10dd-4917-a37c-659d0de928ed","description":"The unique identifier of the created application interview plan stage record"},"created_at":{"type":"string","format":"date-time","example":"2025-11-14T10:30:00Z","description":"The timestamp when the record was created"},"updated_at":{"type":"string","format":"date-time","example":"2025-11-14T10:30:00Z","description":"The timestamp when the record was last updated"}},"description":"The created application interview plan stage record"}}}}},"description":"Application interview plan stage successfully created"},"400":{"description":"Email body contains placeholders that can't be resolved"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"application_id","schema":{"type":"string","format":"uuid"},"example":"faac641e-a484-4875-aed5-bfcb0a0691a0","required":true,"description":"ID of the application to be associated with the interview plan stage"}],"security":[{"deelToken":[]},{"oauth2":["ats:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["interview_plan_stage_id","is_current_stage","creator_id"],"properties":{"creator_id":{"type":"string","format":"uuid","example":"64f20cad-0780-46b5-af85-ced82108dd27","description":"HRIS Organization User ID of the user creating the resource"},"delay_unit":{"enum":["hours","days","weeks"],"type":"string","example":"days","description":"The unit of time for the delay. Must be provided together with delay_amount. Cannot be used together with scheduled_send_at."},"delay_amount":{"type":"integer","example":2,"maximum":100,"minimum":1,"description":"The amount of time to delay the archivation email. Must be provided together with delay_unit. Cannot be used together with scheduled_send_at."},"is_current_stage":{"type":"boolean","example":true,"description":"When true, sets this stage as the application's current stage in the hiring workflow. When false, creates a historical record without changing the application's current stage."},"scheduled_send_at":{"type":"string","format":"date-time","example":"2026-04-01T10:00:00.000Z","description":"The exact future datetime to send the archivation email. Cannot be used together with delay_amount/delay_unit."},"interview_plan_stage_id":{"type":"string","format":"uuid","example":"076cf197-dda0-4694-a953-d7a449fa568a","description":"The ID of the interview plan stage to associate with the application"},"applicable_job_activities":{"type":"array","items":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","example":"b2c3d4e5-f6a7-8901-bcde-f12345678901","description":"The ID of the job activity to trigger"},"participants":{"type":"array","items":{"type":"object","required":["participant_hris_organization_user_id","role_slug"],"properties":{"role_slug":{"enum":["REVIEWER","INTERVIEWER"],"type":"string","example":"INTERVIEWER","description":"The role of the participant in the activity"},"participant_hris_organization_user_id":{"type":"string","format":"uuid","example":"c3d4e5f6-a7b8-9012-cdef-123456789012","description":"The HRIS organization user ID of the participant"}}},"description":"Optional array of custom participants for this activity. If not provided, the default participants from the job activity template will be used."},"candidate_self_scheduling_email_template_id":{"type":"string","format":"uuid","example":"d4e5f6a7-b8c9-0123-def1-234567890123","description":"Optional custom email template ID for candidate self-scheduling (only applicable for interview scheduling activities)"}}},"example":[{"id":"b2c3d4e5-f6a7-8901-bcde-f12345678901","participants":[{"role_slug":"INTERVIEWER","participant_hris_organization_user_id":"c3d4e5f6-a7b8-9012-cdef-123456789012"}]}],"description":"Optional array of job activities to trigger when associating the application with this stage. If not provided, all activities will be triggered. If an empty array is provided, no activities will be triggered."},"candidate_archivation_reason_id":{"type":"string","format":"uuid","example":"a1b2c3d4-e5f6-7890-abcd-ef1234567890","description":"Optional ID of the archivation reason if the candidate is being archived"},"candidate_archivation_email_template_id":{"type":"string","format":"uuid","example":"a1b2c3d4-e5f6-7890-abcd-ef1234567890","description":"Optional ID of the rejection email template if the candidate is being archived"}}}}}}},"required":true}}},"/legal-entities/{legal_entity_id}/cost-centers":{"get":{"tags":["Cost Centers"],"summary":"Get cost centers by legal entity","operationId":"getCostCentersByLegalEntity","description":"Fetch all cost centers related to a given legal entity id\n **Token scopes**: `legal-entity:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"properties":{"id":{"type":"number","format":"int64","example":7654,"description":"Cost center Id"},"created_at":{"type":"string","format":"date-time","example":"2025-01-01T00:00:00.000Z","description":"Cost center date of registration on Deel"},"updated_at":{"type":"string","format":"date-time","example":"2025-01-01T00:00:00.000Z","description":"Cost center date of most recent update on Deel"},"cost_center_name":{"type":"string","example":"HRIS main","description":"Cost center name to be displayed"},"cost_center_number":{"type":"string","example":"hris-1","description":"Cost center code"}}}}}}}},"description":"Cost center data was successfully fetched"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"number","example":3,"description":"The code of the source handler which produced the returned error"},"message":{"type":"string","example":"Must have required property 'example_field'","description":"A description of the returned error"}}}},"request":{"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"}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"legal_entity_id","schema":{"type":"string","format":"uuid"},"example":"ce652eb3-d49c-3675-8184-d873544eedf7","required":true,"description":"Legal entity id"}],"security":[{"deelToken":[]},{"oauth2":["legal-entity:read"]}]}},"/integrations/consent":{"get":{"tags":["Integrations"],"summary":"Get integration consent","operationId":"getIntegrationConsent","description":"Retrieve the consent for the authenticated user or organization.","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","nullable":false,"description":"Unique identifier for the consent."},"scope":{"type":"string","nullable":false,"description":"Scope of the consent."},"state":{"type":"string","nullable":false,"description":"State of the consent."},"status":{"type":"string","nullable":false,"description":"Status of the consent."},"user_id":{"type":"string","nullable":true,"description":"User ID associated with the consent."},"client_id":{"type":"string","nullable":false,"description":"Client ID associated with the consent."},"user_name":{"type":"string","nullable":true,"description":"User name associated with the consent."},"created_at":{"type":"string","nullable":false,"description":"Creation date for the consent."},"expires_at":{"type":"string","nullable":false,"description":"Expiration date for the consent."},"profile_id":{"type":"string","nullable":true,"description":"Profile ID associated with the consent."},"updated_at":{"type":"string","nullable":false,"description":"Update date for the consent."},"user_email":{"type":"string","nullable":true,"description":"User email associated with the consent."},"redirect_uri":{"type":"string","nullable":false,"description":"Redirect URI for the consent."},"organization_id":{"type":"string","nullable":true,"description":"Organization ID associated with the consent."}}}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":[]}]}},"/legal-entities/{legal_entity_id}/payroll-events":{"get":{"tags":["List Cycles"],"summary":"List payroll cycles","operationId":"listPayrollCycles-v2026-01-01","description":"Use this endpoint to retrieve a list of payroll events for a specified legal entity.\n **Token scopes**: `legal-entity:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data","has_more","items_per_page"],"properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"05ae50dc-3540-4f9a-a395-3486d2b81a4d","description":"The unique identifier for the payroll cycle."},"type":{"enum":["OFFCYCLE","REGULAR"],"type":"string","example":"REGULAR","description":"The type of payroll cycle (e.g., OFFCYCLE, REGULAR)."},"date_end":{"type":"string","format":"date-time","example":"2023-01-15T00:00:00.000Z","description":"The end date of the payroll cycle."},"date_start":{"type":"string","format":"date-time","example":"2023-01-01T00:00:00.000Z","description":"The start date of the payroll cycle."},"legal_entity_id":{"type":"string","example":"05ae50dc-3540-4f9a-a395-3486d2b81a4d","description":"The unique identifier for the associated legal entity."},"payroll_group_id":{"type":"string","example":"payroll_group_67890","nullable":true,"description":"The unique identifier for the payroll group."}}}},"has_more":{"type":"boolean","example":true,"description":"Indicates whether more pages are available."},"next_cursor":{"type":"string","example":"next_cursor_abcdefg","nullable":true,"description":"Pagination cursor to fetch the next page of results."},"items_per_page":{"type":"integer","example":5,"description":"The number of items per page."}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_parameter","description":"Machine-readable error code"},"field":{"type":"string","example":"/query/start","description":"Name of the field causing the error (for validation issues)"},"message":{"type":"string","example":"Start date must come before end date","description":"Human-readable explanation of the error"}}}}}}}},"description":"Validation error or bad input."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"internal_server_error","description":"Machine-readable error code"},"message":{"type":"string","example":"An unexpected error occurred on the server","description":"Human-readable explanation of the error"}}}}}}}},"description":"Internal server error."}},"parameters":[{"in":"query","name":"date_start","schema":{"type":"string","format":"date"},"example":"2021-01-01","description":"Start date in the format 'YYYY-MM-DD'. Must not be earlier than 5 years ago."},{"in":"query","name":"date_end","schema":{"type":"string","format":"date"},"example":"2022-01-01","description":"End date in the format 'YYYY-MM-DD'. Must not exceed 5 years in the future."},{"in":"query","name":"limit","schema":{"type":"integer","default":20,"maximum":100,"minimum":1},"example":20,"description":"Maximum number of items to return."},{"in":"query","name":"cursor","schema":{"type":"string"},"example":"abcdefghijklmnopqrstuvwx","description":"Pagination cursor, CUID or UUID format."},{"in":"path","name":"legal_entity_id","schema":{"type":"string","format":"uuid"},"example":"05ae50dc-3540-4f9a-a395-3486d2b81a4d","required":true,"description":"The unique identifier (public ID) for the legal entity."}],"security":[{"deelToken":[]},{"oauth2":["legal-entity:read"]}]}},"/tasks/{task_id}":{"patch":{"tags":["Tasks"],"summary":"Update Task By ID","operationId":"updateTaskById","description":"Updates a task by id, returns whether the update was successful or not.\n **Token scopes**: `tasks:write`","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"type":"object","required":["updated_at","created_at"],"properties":{"created_at":{"type":"string","format":"date-time","example":"2025-10-14T11:30:00Z","nullable":false,"description":"Timestamp indicating when the task was last updated."},"updated_at":{"type":"string","format":"date-time","example":"2025-10-14T11:30:00Z","nullable":false,"description":"Timestamp indicating when the task was last updated."}}}}},"example":{"data":{"created_at":"2025-10-14T11:30:00Z","updated_at":"2025-10-14T11:30:00Z"}}}},"description":"The task was successfully updated."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_parameter","description":"Machine-readable error code"},"field":{"type":"string","example":"amount","description":"Name of the field causing the error (for validation issues)"},"message":{"type":"string","example":"Must have required property 'amount'","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"service_unavailable","description":"Machine-readable error code"},"message":{"type":"string","example":"The service is currently experiencing issues","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."}},"parameters":[{"in":"path","name":"task_id","schema":{"type":"string"},"example":"4fb343ba-2d86-460b-9e3b-f0e5ef720a84","required":true,"description":"The id of an existing task"}],"security":[{"deelToken":[]},{"oauth2":["tasks:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"amount":{"type":"string","example":"1500.00","nullable":true,"description":"The amount to be associated with the task, in the appropriate currency."},"description":{"type":"string","example":"Completion of Q1 project tasks","nullable":true,"description":"A description of the task."},"hourly_report_preset_id":{"type":"string","example":"4fa345ba-2d86-260b-6e3b-f0e5ef720a23","nullable":true,"description":"Public ID of the hourly report preset, if applicable."}}}}}}},"required":true,"description":"Task update object containing fields to modify."}}},"/eor/workers/contracts/{contract_id}/offer-letter":{"get":{"tags":["EOR"],"summary":"Preview job offer letter","operationId":"previewJobOfferLetter","description":"Retrieve an EOR job offer letter in HTML. This endpoint does not support IC and Global Payroll contract types.\n **Token scopes**: `worker:read`","responses":{"200":{"content":{"text/html":{"schema":{"type":"string","example":"<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>Job Offer Letter</title>\n</head>\n<body>\n    <h1>Job Offer Letter</h1>\n    <p>Dear [Candidate Name],</p>\n    <p>We are pleased to offer you the position of [Position] at [Company].</p>\n    <p>Sincerely,</p>\n    <p>[Your Name]</p>\n</body>\n</html>","description":"HTML with job offer letter."}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"37nex2x","required":true,"description":"Deel contract id."}],"security":[{"deelToken":[]},{"oauth2":["worker:read"]}]}},"/gp/workers/{worker_id}/banks/guide":{"get":{"tags":["Global Payroll"],"summary":"Retrieve bank guide","operationId":"getGpBankGuide","description":"Retrieve the bank form guide for an employee.\n **Token scopes**: `people:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["key","required"],"properties":{"key":{"type":"string","example":"countryCode","nullable":false,"description":"The unique key representing the field."},"type":{"type":"string","example":"Text","description":"The type of the field, such as 'Text' or 'Dropdown'."},"label":{"type":"string","example":"Country","description":"The label or display name for this field."},"required":{"type":"boolean","example":true,"nullable":false,"description":"Indicates whether the field is required."},"validations":{"type":"array","items":{"type":"object","properties":{"type":{"enum":["MIN_LENGTH","MAX_LENGTH","REGEX"],"type":"string","example":"MIN_LENGTH","description":"The type of validation applied to the field."},"value":{"oneOf":[{"type":"string","example":"2","description":"The validation value, e.g., a minimum length."},{"type":"number","example":2,"description":"The validation value as a number."}]}}},"description":"An array of validation rules applied to the field."},"values_allowed":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string","example":"Argentina","description":"The display name of the allowed value."},"value":{"type":"string","example":"AR","description":"The value associated with the allowed option."}}},"description":"An array of allowed values for the field (e.g., for dropdown fields)."}}}}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"worker_id","schema":{"type":"string","format":"uuid","description":"Unique identifier for a worker in UUID format."},"example":"6f50539e-9f62-45d0-a42e-62a62fbb984a","required":true,"description":"Unique identifier for a worker in UUID format."}],"security":[{"deelToken":[]},{"oauth2":["people:read"]}]}},"/eor/contracts/{contract_id}/hrx-documents":{"get":{"tags":["HRX Documents"],"summary":"Retrieve HRX documents","operationId":"retrieveHrxDocuments","description":"Retrieves a list of HRX documents that have been shared with an employee for a specific EOR contract. These documents are generated and managed by HRX (Human Resources Experience) and include various employment-related documents such as employment agreements, onboarding materials, tax documents, visa support letters, and other official documentation required throughout the employment lifecycle.\n **Token scopes**: `worker:read`, `contracts:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data","has_more","next_cursor","total_count"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","name","category_id","category","category_type","category_description","created_at","updated_at"],"properties":{"id":{"type":"string","format":"uuid","example":"cb28e9a7-43cf-4f24-be6f-d72991cace2e","description":"Unique identifier for the employee document"},"name":{"type":"string","example":"Test Employee document","description":"Name of the employee document"},"category":{"type":"string","example":"Onboarding & Registration","description":"Type of the document category"},"created_at":{"type":"string","format":"date-time","example":"2025-09-16T11:54:06.763Z","description":"When the document was created"},"updated_at":{"type":"string","format":"date-time","example":"2025-09-16T11:54:50.168Z","description":"When the document was last updated"},"category_id":{"type":"string","format":"uuid","example":"cb28e9a7-43cf-4f24-be6f-d72991cace2e","description":"Unique identifier for the document category"},"category_type":{"enum":["EMPLOYMENT_AGREEMENT","ONBOARDING_REGISTRATION","OFFBOARDING_TERMINATION","TAX_FISCAL","STATUS_BENEFITS","VISA_TRAVEL_SUPPORT","OTHER"],"type":"string","example":"EMPLOYMENT_AGREEMENT","description":"Type of the document category"},"category_description":{"type":"string","example":"Core legal contract establishing the terms and conditions of employment between the worker and the EOR","description":"Description of the document category"}}},"example":[{"id":"cb28e9a7-43cf-4f24-be6f-d72991cace2e","name":"Employment Agreement Contract","category":"Onboarding & Registration","created_at":"2025-09-16T11:54:06.763Z","updated_at":"2025-09-16T11:54:50.168Z","category_id":"eda410c0-6148-4c72-96fa-8d3b6895bf5d","category_description":"Core legal contract establishing the terms and conditions of employment between the worker and the EOR"},{"id":"eda410c0-6148-4c72-96fa-8d3b6895bf5d","name":"Visa Application Letter","category":"Tax & Fiscal","created_at":"2025-09-16T12:26:47.769Z","updated_at":"2025-09-16T12:30:01.320Z","category_id":"cb28e9a7-43cf-4f24-be6f-d72991cace2e","category_description":"Employer-issued letters and certificates supporting visa applications, renewals, and travel abroad"}],"description":"List of employee documents"},"has_more":{"type":"boolean","example":true,"description":"Indicates if there are more pages available"},"next_cursor":{"type":"string","example":"eyJpZCI6ImVkYTQxMGMwLTYxNDgtNGM3Mi05NmZhLThkM2I2ODk1YmY1ZCJ9","nullable":true,"description":"Cursor to use for the next page. Null if there are no more pages."},"total_count":{"type":"integer","example":42,"description":"Total number of documents available across all pages"}}}}},"description":"HRX documents successfully retrieved for EOR contract"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_format","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"email","description":"The field name where input validation failed"},"message":{"type":"string","example":"The email field must be a valid email address format","description":"Description of the returned error"}}}}}}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"expired_token","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"authorization","description":"The field name where authentication failed"},"message":{"type":"string","example":"Your access token has expired. Please authenticate again to continue.","description":"Description of the returned error"}}}}}}}},"description":"Unauthorized"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"expired_token","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"authorization","description":"The field name where authentication failed"},"message":{"type":"string","example":"Your access token has expired. Please authenticate again to continue.","description":"Description of the returned error"}}}}}}}},"description":"Unauthorized"}},"parameters":[{"in":"query","name":"cursor","schema":{"type":"string"},"example":"eyJpZCI6ImNiMjhlOWE3LTQzY2YtNGYyNC1iZTZmLWQ3Mjk5MWNhY2UyZSJ9","required":false,"description":"Cursor for pagination. Use the cursor from the previous response to get the next page of results."},{"in":"query","name":"limit","schema":{"type":"integer","default":20,"maximum":100,"minimum":1},"example":20,"required":false,"description":"Number of items to return per page. Maximum is 100, default is 20."},{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"5B74FnLM","required":true,"description":"The unique identifier of the employee contract."}],"security":[{"deelToken":[]},{"oauth2":["worker:read","contracts:read"]}]}},"/hris/worker_relations/types":{"get":{"tags":["Worker Relations"],"summary":"Retrieve all worker relation types","operationId":"retrieveAllWorkerRelationTypes-v2026-01-01","description":"Retrieves all worker relationship types defined for the organization.\n **Token scopes**: `organizations:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"877ccad0-1234-5678-9abc-def012345678","description":"The ID of the relation type"},"child_name":{"type":"string","example":"Child","description":"The name of the secondary party in the relationship"},"is_default":{"type":"boolean","example":true,"description":"Whether this relation is default or not"},"external_id":{"type":"string","example":"child","nullable":true,"maxLength":100,"description":"A custom ID for the relation type"},"parent_name":{"type":"string","example":"Parent","description":"The name of the primary party in the relationship"}}}}}}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_parameter","description":"Machine-readable error code"},"field":{"type":"string","example":"/data/example_field","description":"Name of the field causing the error (for validation issues)"},"message":{"type":"string","example":"Must have required property 'example_field'","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"service_unavailable","description":"Machine-readable error code"},"message":{"type":"string","example":"The service is currently experiencing issues","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["organizations:read"]}]},"post":{"tags":["Worker Relations"],"summary":"Create worker relation type","operationId":"createWorkerRelationType","description":"Create worker relation type.\n **Token scopes**: `organizations:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"The ID of the relation type"},"child_name":{"type":"string","example":"Child","description":"The name of the secondary party in the relationship"},"is_default":{"type":"boolean","example":false,"description":"Whether this relation is default or not"},"external_id":{"type":"string","example":"child","description":"A custom ID for the relation type"},"parent_name":{"type":"string","example":"Parent","description":"The name of the primary party in the relationship"}}}}}}},"description":"Successful operation"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"security":[{"deelToken":[]},{"oauth2":["organizations:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"child_name":{"type":"string","example":"Child","maxLength":100,"description":"The name of the secondary party in the relationship"},"is_default":{"type":"boolean","default":false,"example":false,"description":"Whether this relation is default or not"},"external_id":{"type":"string","example":"child","maxLength":100,"description":"A custom ID for the relation type"},"parent_name":{"type":"string","example":"Parent","maxLength":100,"description":"The name of the primary party in the relationship"}}}}}}},"required":true}}},"/time_tracking/shifts/{external_id}":{"patch":{"tags":["Time Tracking Shifts"],"summary":"Update a shift","operationId":"updateAShift","description":"Update specific fields of an existing shift by its unique `external_id`. This includes shift summary details, description etc.\n **Token scopes**: `time-tracking:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"summary":{"type":"object","properties":{"time_unit":{"enum":["HOUR","DAY","WEEK","MONTH"],"type":"string","example":"HOUR","description":"Time unit"},"time_amount":{"type":"number","example":8,"description":"Time amount"},"total_break_hours":{"type":"number","example":2,"description":"Total break hours."},"payable_break_hours":{"type":"number","example":2,"description":"Payable break hours."},"total_payable_hours":{"type":"number","example":2,"description":"Total payable hours."},"shift_duration_hours":{"type":"number","example":2,"description":"Shift duration hours."},"shift_rate_external_id":{"type":"string","example":"abcd","description":"ShiftRate external ID."}},"description":"Summary of calculated time and rates for the shift."},"created_at":{"type":"string","example":"2024-10-08T12:08:29.695Z","description":"Timestamp when the shift was created."},"updated_at":{"type":"string","example":"2024-10-08T12:08:29.695Z","description":"Timestamp when the shift was last updated."},"contract_id":{"type":"string","example":"abcd","description":"The contract ID associated with the shift."},"description":{"type":"string","example":"sample description","description":"The description of the shift."},"external_id":{"type":"string","example":"abcd","description":"Unique identifier of the shift."},"date_of_work":{"type":"string","example":"2024-10-11","description":"The date of the shift."},"payroll_cycle_ref":{"type":"object","required":["date"],"properties":{"date":{"type":"string","example":"2023-10-31T00:00:00.000Z","description":"Date in ISO 8601 format that helps referencing a payroll cycle"}},"description":"Reference to the payroll cycle associated with this shift."}},"description":"Updated shift record details."}}}}},"description":"Shift updated successfully."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"content":{"application/json":{"example":{"errors":[{"code":"resource_not_found","message":"Shift with external id shift_123456 not found."}]}}},"description":"Not Found - Shift with the given external_id does not exist."},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"external_id","schema":{"type":"string"},"example":"12345678g","required":true,"description":"Unique identifier of the shift to be updated."}],"security":[{"deelToken":[]},{"oauth2":["time-tracking:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"summary":{"type":"object","properties":{"time_unit":{"enum":["HOUR","DAY","WEEK","MONTH"],"type":"string","example":"HOUR","description":"Time unit"},"time_amount":{"type":"number","example":8,"description":"Time amount"},"total_break_hours":{"type":"number","example":2,"description":"Total break hours"},"payable_break_hours":{"type":"number","example":2,"description":"Payable break hours"},"total_payable_hours":{"type":"number","example":2,"description":"Total payable hours"},"shift_duration_hours":{"type":"number","example":2,"description":"Shift duration hours"},"shift_rate_external_id":{"type":"string","example":"abcd","description":"Shift Rate external ID"}},"description":"Summary of calculated time and rates for the shift."},"description":{"type":"string","example":"This is a sample shift description.","description":"Description of the shift."},"date_of_work":{"type":"string","example":"2023-10-01","description":"The date of the shift."},"payroll_cycle_ref":{"type":"object","required":["date"],"properties":{"date":{"type":"string","example":"2023-10-31T00:00:00.000Z","description":"Date in ISO 8601 format that helps referencing a payroll cycle"}},"description":"Reference to the payroll cycle associated with this shift."}},"description":"Shift update request data."}}}}},"required":true}},"get":{"tags":["Time Tracking Shifts"],"summary":"Get shift details","operationId":"getShiftDetails","description":"Retrieve details of a specific shift by external ID.\n **Token scopes**: `time-tracking:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"meta":{"type":"object","properties":{"end":{"type":"object","properties":{"date":{"type":"string","example":"2023-10-01","description":"End date of the shift."},"time":{"type":"string","example":"17:00","description":"End time of the shift."},"is_rest_day":{"type":"boolean","example":false,"description":"Indicates if the shift end day is a rest day."},"is_public_holiday":{"type":"boolean","example":false,"description":"Indicates if the shift end day is a public holiday."}},"description":"End time details of the shift."},"start":{"type":"object","properties":{"date":{"type":"string","example":"2023-10-01","description":"Start date of the shift."},"time":{"type":"string","example":"08:00","description":"Start time of the shift."},"is_rest_day":{"type":"boolean","example":false,"description":"Indicates if the shift start day is a rest day."},"is_public_holiday":{"type":"boolean","example":false,"description":"Indicates if the shift start day is a public holiday."}},"description":"Start time details of the shift."},"breaks":{"type":"array","items":{"type":"object","properties":{"end":{"type":"object","properties":{"date":{"type":"string","example":"2023-10-01","description":"Break end date."},"time":{"type":"string","example":"12:30","description":"Break end time."}},"description":"End time details of the break."},"start":{"type":"object","properties":{"date":{"type":"string","example":"2023-10-01","description":"Break start date."},"time":{"type":"string","example":"12:00","description":"Break start time."}},"description":"Start time details of the break."},"is_paid":{"type":"boolean","example":true,"description":"Indicates if the break is paid."}}},"description":"List of break periods within the shift."},"approval_date":{"type":"string","example":"2023-10-02T00:00:00.000Z","description":"Approval date of the shift."}},"description":"Metadata containing detailed information about the shift timing, breaks, and approval status."},"summary":{"type":"object","properties":{"total_break_hours":{"type":"number","example":1,"description":"Total break hours within the shift."},"payable_break_hours":{"type":"number","example":0.5,"description":"Total payable break hours."},"total_payable_hours":{"type":"number","example":7.5,"description":"Total payable hours for the shift."},"shift_duration_hours":{"type":"number","example":8,"description":"Total duration of the shift in hours."},"shift_rate_external_id":{"type":"string","example":"rate1234","description":"External ID of the shift rate associated with the shift."}},"description":"Summary of calculated hours and rates for the shift."},"created_at":{"type":"string","example":"2024-10-02T05:09:35.691Z","description":"Timestamp when the shift was created."},"updated_at":{"type":"string","example":"2024-10-02T05:09:35.691Z","description":"Timestamp when the shift was last updated."},"contract_id":{"type":"string","example":"1234","description":"Contract ID associated with the shift."},"description":{"type":"string","example":"This is a sample shift description.","description":"Description of the shift."},"external_id":{"type":"string","example":"shift_123456r","description":"Unique identifier of the shift."},"date_of_work":{"type":"string","example":"2023-10-01","description":"The date of work for the shift."},"payroll_cycle_ref":{"type":"object","required":["date"],"properties":{"date":{"type":"string","example":"2023-10-31T00:00:00.000Z","description":"Date in ISO 8601 format that helps referencing a payroll cycle"}},"description":"Reference to the payroll cycle associated with this shift."}},"description":"Shift record details."}}}}},"description":"Shift details retrieved successfully"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"message":{"type":"string","description":"Description of the error."}}}}},"example":{"error":{"message":"Invalid external ID format"}}}},"description":"Invalid request parameters"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"external_id","schema":{"type":"string"},"example":"shift_1234567dewdwe","required":true,"description":"Unique identifier of the shift to retrieve."}],"security":[{"deelToken":[]},{"oauth2":["time-tracking:read"]}]},"delete":{"tags":["Time Tracking Shifts"],"summary":"Delete a Shift by External ID","operationId":"deleteShiftExternalId","description":"This endpoint deletes a shift using its external ID. Once deleted, the shift will no longer be retrievable or editable.\n **Token scopes**: `time-tracking:write`","responses":{"204":{"description":"Shift deleted successfully. No content is returned."},"400":{"content":{"application/json":{"example":{"error":"Invalid external ID format."}}},"description":"Invalid external ID provided or the request is malformed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"content":{"application/json":{"example":{"error":"Shift not found."}}},"description":"Shift with the given external ID was not found."},"500":{"content":{"application/json":{"example":{"error":"An unexpected error occurred. Please try again later."}}},"description":"Internal server error while attempting to delete the shift."}},"parameters":[{"in":"path","name":"external_id","schema":{"type":"string"},"example":"shift123-external-id","required":true,"description":"The unique external identifier of the shift to be deleted."}],"security":[{"deelToken":[]},{"oauth2":["time-tracking:write"]}]}},"/ats/applications/{application_id}/notes":{"post":{"tags":["ATS"],"summary":"Add note to an application","operationId":"addNoteToAnApplication-v2026-01-01","description":"Create application note: Adds a new note to a specific candidate application. Use this to record interview feedback, recruiter observations, or internal comments during the hiring process. The 'authorId' must correspond to a valid HRIS user. Scope: ats:write\n **Token scopes**: `ats:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","created_at","updated_at"],"properties":{"id":{"type":"string","format":"uuid","example":"a1b2c3d4-e5f6-7890-abcd-ef1234567890","description":"The unique identifier of the application note"},"created_at":{"type":"string","format":"date-time","example":"2025-11-27T10:30:00.000Z","description":"The timestamp when the application note was created"},"updated_at":{"type":"string","format":"date-time","example":"2025-11-27T10:30:00.000Z","description":"The timestamp when the application note was last updated"}}}}}}},"description":"Application note created successfully"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_parameter","description":"Machine-readable error code"},"field":{"type":"string","example":"/data/example_field","description":"Name of the field causing the error (for validation issues)"},"message":{"type":"string","example":"Must have required property 'example_field'","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"service_unavailable","description":"Machine-readable error code"},"message":{"type":"string","example":"The service is currently experiencing issues","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."}},"parameters":[{"in":"path","name":"application_id","schema":{"type":"string","format":"uuid"},"example":"a1b2c3d4-e5f6-7890-abcd-ef1234567890","required":true,"description":"Id of the application which the note will be added"}],"security":[{"deelToken":[]},{"oauth2":["ats:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["richtext_content","author_id"],"properties":{"author_id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000","description":"The UUID of the HRIS organization user creating the note"},"richtext_content":{"type":"string","example":"<p>Great communication skills. <strong>Highly recommended</strong>.</p>","description":"The content of the note in rich text HTML format"}}}}}}},"required":true}}},"/eor/contracts/{contract_id}/amendments/validation/settings":{"get":{"tags":["EOR"],"summary":" Get amendment validation settings for an EOR contract","operationId":"getAmendmentValidationSettingsForAnEorContract","description":"Get all amendment validations settings of available data points for an EOR contract amendment\n **Token scopes**: `contracts:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"rules":{"type":"array","items":{"type":"object","properties":{"max":{"type":"number","example":100,"description":"The maximum allowable value for numerical data points."},"min":{"type":"number","example":1,"nullable":true,"description":"The minimum allowable value for numerical data points."},"max_date":{"type":"string","format":"date","example":"2025-12-31","nullable":true,"description":"The latest allowable date for date-type data points."},"min_date":{"type":"string","format":"date","example":"2020-01-01","nullable":true,"description":"The earliest allowable date for date-type data points."},"nullable":{"type":"boolean","example":true,"description":"Indicates whether the data point can be null."},"requires":{"type":"object","example":{"employment_type":"FULL_TIME"},"description":"Contract conditions that must be met for this rule to be applied."},"is_editable":{"type":"boolean","example":false,"description":"Indicates whether the data point can be updated."},"possible_options":{"type":"array","items":{"type":"string","example":"FULL_TIME"},"example":["FULL_TIME","PART_TIME"],"description":"A list of possible values the data point can have. Unique for each data point."},"additional_details":{"type":"object","example":{"cap":6,"note":"Maximum probation cannot exceed 6 months.","rule":"ONE_THIRD_OF_CONTRACT_DURATION","time_unit":"MONTH"},"properties":{"cap":{"type":"number","example":6,"nullable":true,"description":"The maximum limit imposed for probation period for definite contract when specific calculation is used, it will be in additional_details.rule."},"note":{"type":"string","example":"Maximum probation cannot exceed 6 months.","nullable":true,"description":"Additional explanation or notes related to this rule."},"rule":{"enum":["ONE_QUARTER_OF_CONTRACT_DURATION","ONE_THIRD_OF_CONTRACT_DURATION","HALF_OF_CONTRACT_DURATION",null],"type":"string","example":"ONE_THIRD_OF_CONTRACT_DURATION","nullable":true,"description":"Specific rule that applies for probation period."},"time_unit":{"enum":["WEEK","MONTH","DAY",null],"type":"string","example":"MONTH","nullable":true,"description":"The unit of time applicable to notice period."}},"description":"Optional additional information for rules, if applicable."},"tenure_based_rules":{"type":"array","items":{"type":"object","example":{"notice_value":30,"max_employment_duration":24,"min_employment_duration":12,"employment_duration_type":"MONTH"},"properties":{"notice_value":{"type":"integer","example":30,"nullable":true,"description":"The required notice period for this range of employment duration."},"max_employment_duration":{"type":"integer","example":24,"nullable":true,"description":"The maximum duration of employment for this rule to apply."},"min_employment_duration":{"type":"integer","example":12,"nullable":true,"description":"The minimum duration of employment for this rule to apply."},"employment_duration_type":{"enum":["DAY","WEEK","MONTH","YEAR",null],"type":"string","example":"MONTH","nullable":true,"description":"The unit of measurement for the employment duration."}}},"description":"Defines notice period rules based on the duration of employment."},"external_validation":{"type":"boolean","example":true,"description":"Indicates whether external validation/fetching is required for this data point. If yes, the information for this data point must be retrieved using another endpoint."}}},"description":"The rules for the data point."},"data_point":{"type":"string","example":"SALARY","description":"The name of the data point being configured."}}}}}}}},"description":"Amendment settings response with additional_details included as optional."},"400":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"VALIDATION_ERROR"},"message":{"type":"string","example":"Internal validation error occurred"}}}}}},"example":{"errors":[{"code":"VALIDATION_ERROR","message":"Internal validation error occurred."}]}}},"description":"Bad Request. The request could not be understood or was missing required parameters."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"AMENDMENT_ERROR","description":"Unique error code identifying the type of not-found error."},"message":{"type":"string","example":"The requested resource could not be found.","description":"Human-readable description of the missing resource."}}}}}}}},"description":"Resource not found (e.g., contract, profile, amendment, change request)."},"500":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"AMENDMENT_ERROR"},"message":{"type":"string","example":"An unexpected error occurred"}}}}}},"example":{"errors":[{"code":"AMENDMENT_ERROR","message":"An unexpected error occurred"}]}}},"description":"Internal server error."}},"parameters":[{"in":"query","name":"employment_state","schema":{"type":"string"},"example":"CA","required":false,"description":"The employment state of the EOR worker contract"},{"in":"path","name":"contract_id","schema":{"type":"string","format":"alphanumeric"},"example":"3w6pd6r","required":true,"description":"The unique identifier of EOR worker contract."}],"security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]}},"/eor/{oid}/terminations/regular":{"post":{"tags":["EOR"],"summary":"Termination Request","operationId":"eorTerminationRequest","description":"This API enables clients with group admin and people manager permissions to initiate a request for the termination of an Employee of Record (EOR) contract for members of their team.\n **Token scopes**: `contracts:read`, `contracts:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"number","format":"float"},"end_date":{"type":"string","format":"date-time","example":"'2025-01-31T00:00:00.000Z'","nullable":true,"description":"The definitive contract end date"},"contract_id":{"type":"string","example":"5B74FnLM","description":"Public contract oid"},"request_data":{"type":"object","nullable":true,"properties":{"reason":{"type":"string","nullable":true},"end_date":{"type":"string","format":"date-time","example":"'2025-01-31T00:00:00.000Z'","nullable":true,"description":"The definitive contract end date"},"reason_detail":{"type":"string","example":"Employee is moving to another country","nullable":true,"description":"Optional field to describe the reason behind the resignation request"},"desired_end_date":{"type":"string","format":"date-time","example":"2025-01-31","nullable":true,"description":"The desired end date. If the date is not provided, it will be selected by HRX the closest date possible"},"termination_impact":{"type":"object","nullable":true,"properties":{"id":{"type":"string","format":"uuid"},"title":{"type":"string","example":"Bad Impact","description":"Termination impact title"},"description":{"type":"string","example":"It will be bad","description":"Termination impact description"}},"description":"Custom termination impact data if there is some configured on HR module"},"eligible_for_rehire":{"enum":["YES","NO","DONT_KNOW"],"type":"string","example":"DONT_KNOW","nullable":true,"description":"Parameter to inform whether it would be possible for the client to hire the employee again"},"eligible_for_rehire_reason":{"type":"string","example":false,"nullable":true,"description":"Describe if the option DONT_KNOW was selected on eligibleForRehire"},"custom_termination_reason_id":{"type":"number","format":"float","nullable":true,"description":"Custom termination reason ID. A custom termination reason can be added on Client HR module"}}},"desired_end_date":{"type":"string","format":"date-time","example":"2025-01-31","nullable":true,"description":"The desired end date. If the date is not provided, it will be selected by HRX the closest date possible"}}}}},"description":"Ok response"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string"}}},"minItems":1}}},"description":"Unauthorized response"},"403":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string"}}},"minItems":1}}},"description":"Forbidden response"},"404":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string"}}},"minItems":1}}},"description":"Not Found response"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"oid","schema":{"type":"string"},"required":true,"description":"Public contract id"}],"security":[{"deelToken":[]},{"oauth2":["contracts:read","contracts:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["is_employee_notified","used_time_off","reason","reason_detail"],"properties":{"reason":{"enum":["DEEL_COLLECTIONS","STATUS_CHANGE","RELOCATION","COMPENSATION","RETIREMENT","JOB_ABANDONMENT","WORK_RELATED","PERSONAL","OTHER_OPPORTUNITY","NON_RENEWAL","PROBATION","ASSIGNMENT_ENDED","POSITION_ELIMINATION","FORCE_REDUCTION","DEATH","FOR_CAUSE","PERFORMANCE","MEDICAL","PERFORMANCE_ISSUES","ATTENDANCE_ISSUES","REORGANIZATION_DOWNSIZING_BUDGET_OR_REDUCTION_OF_WORKFORCE","ROLE_BECAME_REDUNDANT_OR_ROLE_CHANGED","OFFER_WAS_REVOKED","EXITING_THE_MARKET","NO_LONGER_WISH_TO_WORK_WITH_DEEL","COMPANY_ACQUIRED","STEALING","MISCONDUCT","FALSIFYING","HARASSMENT","VIOLENCE","REORGANIZATION_DOWNSIZING_BUDGET_OR_REDUCTION_OF_WORKFORCE_OR_ROLE_BECAME_REDUNDANT_OR_ROLE_CHANGED","UNAUTHORIZED_ABSENCES_OR_LACK_OF_ATTENDANCE","STANDARD_RESELLER_PRACTICE","MOVING_EMPLOYEE_TO_INTERNAL_ENTITY","MOVING_EMPLOYEE_TO_DEEL_PEO","OTHER"],"type":"string","example":"PERFORMANCE_ISSUES","description":"Reason why the contract is being terminated"},"attachments":{"type":"array","items":{"type":"object","required":["key","fileName"],"properties":{"key":{"type":"string"},"file_name":{"type":"string","pattern":"\\.(png|PNG|jpg|JPG|jpeg|JPEG|heic|HEIC|pdf|PDF)$"}}},"description":"Any document that is important for the request to terminate the contract"},"is_sensitive":{"type":"boolean","example":false,"description":"Defines whether the termination is sensitive. In this case, only the person requesting the termination will be able to view the termination, receive emails or notifications."},"reason_detail":{"type":"string","example":"This decision to terminate employment is based on an unsatisfactory level of job performance despite documented efforts to provide support and improvement opportunities.","maxLength":5000,"minLength":100,"description":"Field to better explain how communication with the employee will be and/or their reaction to the communication, or other necessary information"},"used_time_off":{"type":"object","example":{"time_offs":[{"unit":"CALENDAR_DAY","policy_type":"Vacation","tracking_periods":[{"used":25,"end_date":"2024-12-31T00:00:00.000Z","start_date":"2024-01-01T00:00:00.000Z"},{"used":30,"end_date":"2023-12-31T00:00:00.000Z","start_date":"2023-01-01T00:00:00.000Z"}],"scheduled_until_end_date":5}],"additional_details":"Any additional details regarding time off that HRX should know","is_deel_pto_confirmed":true},"required":["isDeelPtoConfirmed","timeOffs"],"properties":{"time_offs":{"type":"array","items":{"type":"object","required":["policyType","unit","trackingPeriods","scheduledUntilEndDate"],"properties":{"unit":{"enum":["BUSINESS_DAY","CALENDAR_DAY","HOUR","WEEK","MONTH","YEAR"],"type":"string","description":"Time off unit"},"policy_type":{"enum":["Vacation","Sick leave","Maternity leave","Paternity leave","Parental leave","Bereavement leave","Childcare leave","Civic/public duty leave","Personal leave","Adoption leave","Blood donation leave","Childbirth leave","Disability leave","Doctor's appointment leave","Family & domestic violence leave","Hajj leave","Marriage/wedding leave","Military leave","Moving leave","Pregnancy leave","Study leave","Volunteer leave","Unpaid leave","Paid leave","Other leave","RTT","Regional holiday","Breastfeeding leave","Advanced vacation","Supplementary Leave","Floating Holiday Allowance"],"type":"string","description":"Time off policy type"},"tracking_periods":{"type":"array","items":{"type":"object","required":["startDate","endDate","used"],"properties":{"used":{"type":"number","format":"float","maximum":365,"minimum":0,"description":"Time off used in the period"},"end_date":{"type":"string","format":"date-time","description":"Time off start period"},"start_date":{"type":"string","format":"date-time","description":"Time off end period"}}}},"scheduled_until_end_date":{"type":"number","format":"float","maximum":365,"minimum":0,"description":"Time off escheduled until contract end date"}}},"description":"All time-off used by the employee during contract period"},"additional_details":{"type":"string","nullable":true,"description":"Any additional details regarding time off that HRX should know"},"is_deel_pto_confirmed":{"type":"boolean","description":"Defines whether the client agrees with the time off values ​​that are registered in Deel. If false, it means that the client changed the values."}}},"severance_type":{"enum":["DAYS","WEEKS","MONTHS","CASH"],"type":"string","example":"CASH","description":"The type of severance selected by the client. It's an optional field"},"desired_end_date":{"type":"string","example":"2025-01-31","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"The desired end date. If the date is not provided, it will be selected by HRX the closest date possible"},"severance_amount":{"type":"number","format":"float","example":1000,"minimum":0,"description":"The amount of severance needed"},"additional_reason":{"enum":["DISSATISFIED_WITH_DEEL_SERVICE","DISSATISFIED_WITH_DEEL_PRICING","DISSATISFIED_WITH_DEEL_PRODUCT"],"type":"string","example":"DISSATISFIED_WITH_DEEL_PRODUCT","nullable":true,"description":"An additional reason can be provided in case the reason selected is NO_LONGER_WISH_TO_WORK_WITH_DEEL"},"termination_notes":{"type":"array","items":{"type":"string","maxLength":5000},"default":[],"example":["What severance pay, if any, am I entitled to receive upon termination of this contract?","How will accrued vacation time, sick leave, or other paid time off be handled upon termination of this contract?"],"description":"Additional notes can be provided regarding the termination for Deel, like questions and doubts"},"eligible_for_rehire":{"enum":["YES","NO","DONT_KNOW"],"type":"string","example":"DONT_KNOW","nullable":true,"description":"Parameter to inform whether it would be possible for the client to hire the employee again"},"eor_country_data_id":{"type":"number","format":"float","example":1234,"description":"The current country data id"},"is_employee_notified":{"type":"boolean","example":false,"description":"Defines if employee was informed by client or not before the termination"},"termination_impact_id":{"type":"string","format":"uuid","description":"Termination impact data if there is some configured on HR module"},"additional_country_data":{"type":"array","items":{"type":"object","required":["question","answer"],"properties":{"answer":{"type":"boolean","nullable":true},"question":{"type":"string"}}},"example":[{"answer":false,"question":"Will the employee be released from duties during the notice period?"},{"answer":false,"question":"Is there any discount to apply to the employee?"}],"description":"For some countries some data is needed to help Deel to process the termination. The questions comes from another endpoint to get the additional country data"},"custom_termination_reason_id":{"type":"string","format":"uuid","description":"Custom termination reason ID. A custom termination reason can be added on Client HR module"},"employee_notification_detail":{"type":"string","nullable":true,"maxLength":5000,"minLength":1,"description":"If it's an termination contract ending and employee was already informed, the employee notification details should be provided"},"additional_supporting_documents":{"type":"array","items":{"type":"object","required":["key","fileName"],"properties":{"key":{"type":"string"},"file_name":{"type":"string","pattern":"\\.(png|PNG|jpg|JPG|jpeg|JPEG|heic|HEIC|pdf|PDF)$"}}},"example":[{"key":"qwerqweadcasdfad","file_name":"file-name.pdf"}],"description":"Any proof such as correspondence, documentation of previous warnings or attendance records for the reason select above."}}}}}}},"required":true}}},"/immigration/visa-requirement/business":{"get":{"tags":["Immigration"],"summary":"Get business visa eligibility and requirements","operationId":"getBusinessVisaEligibilityAndRequirements","description":"This endpoint receives personal information and desired travel information, analyzes and returns the possible business visa options for the given data.\n **Token scopes**: `immigration:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["visa_type_id","fee","name","description","fee_currency","qualification","estimated_timeline"],"properties":{"fee":{"type":"number","example":500,"nullable":true,"description":"Fee amount"},"name":{"type":"string","example":"B-1 Business Visitor Visa","nullable":true,"description":"Name of the visa type"},"description":{"type":"string","example":"An employee generally requires a valid title to enter and conduct business in the destination country. The risks of not being able to enter and the penalties for working without a valid work title are significant and can be imposed on both the employer and the employee. Nationals of Brazil are allowed to travel to the United States for External business meetings - Other business meetings (e.g. without hands-on work, representational) for up to 180 days upon obtaining B-1 Visa. The B-1 Visa grants up to a 180-day stay in the US performing the intended business activity.","description":"Description of the visa type"},"fee_currency":{"type":"string","example":"USD","pattern":"^[A-Z]{3}$","nullable":true,"description":"Currency code for the fee in ISO 4217 format"},"visa_type_id":{"type":"string","format":"uuid","example":"223e4567-e89b-12d3-a456-426614174111","nullable":true,"description":"Unique identifier of the visa type. This can be used to create a new business visa case on the create cases endpoint."},"qualification":{"enum":["VISA_REQUIRED","NO_VISA_REQUIRED","UNSUPPORTED"],"type":"string","example":"VISA_REQUIRED","description":"Visa qualification status, whether it is required or not. It can be also unsupported if the country does not support business visa options."},"estimated_timeline":{"enum":["SIX_WEEKS","THREE_MONTHS","ONE_WEEK","THREE_WEEKS","ONE_YEAR","TWO_WEEKS","FIVE_WEEKS","TWO_MONTHS","FIVE_MONTHS","FOUR_MONTHS","SIX_MONTHS","FOUR_WEEKS"],"type":"string","example":"FOUR_WEEKS","nullable":true,"description":"Estimated processing timeline, in weeks, months or years"}}}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_parameter","description":"Machine-readable error code"},"field":{"type":"string","example":"/data/example_field","description":"Name of the field causing the error (for validation issues)"},"message":{"type":"string","example":"Must have required property 'example_field'","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"service_unavailable","description":"Machine-readable error code"},"message":{"type":"string","example":"The service is currently experiencing issues","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."}},"parameters":[{"in":"query","name":"destination_country","schema":{"type":"string","pattern":"^[A-Z]{2}$"},"example":"US","required":true,"description":"The destination country code of the trip in ISO 3166-1 alpha-2 format"},{"in":"query","name":"nationality","schema":{"type":"string","pattern":"^[A-Z]{2}$"},"example":"BR","required":true,"description":"The nationality country code of the person in ISO 3166-1 alpha-2 format"},{"in":"query","name":"residence_country","schema":{"type":"string","pattern":"^[A-Z]{2}$"},"example":"BR","required":true,"description":"The residence country code of the person in ISO 3166-1 alpha-2 format"},{"in":"query","name":"trip_start_date","schema":{"type":"string","format":"date"},"example":"2026-01-31","required":true,"description":"The trip start date in ISO 8601 format (YYYY-MM-DD)"},{"in":"query","name":"trip_end_date","schema":{"type":"string","format":"date"},"example":"2026-02-23","required":true,"description":"The trip end date in ISO 8601 format (YYYY-MM-DD)"},{"in":"query","name":"trip_reason","schema":{"enum":["INTERNAL_BUSINESS_WITH_WORK_FOR_CLIENT","INTERNAL_BUSINESS_WITHOUT_WORK_FOR_CLIENT","MEETINGS_WITH_OR_FOR_A_CLIENT","MEETINGS_WITH_POTENTIAL_CLIENTS","NEGOTIATING_CONTRACTS_OR_SIGNING_AGREEMENTS","OTHER_EXTERNAL_BUSINESS","CONFERENCE","TEAM_OFFSITE","SPEAKING_AT_CONFERENCE_UNPAID","SPEAKING_AT_CONFERENCE_PAID","ATTENDING_INTERNAL_TRAINING","ATTENDING_EXTERNAL_TRAINING","DELIVERING_TRAINING_TO_INTERNAL_PARTICIPANTS","DELIVERING_TRAINING_TO_EXTERNAL_PARTICIPANTS_UNPAID","DELIVERING_TRAINING_TO_EXTERNAL_PARTICIPANTS_PAID","PARTICIPATION_IN_RESEARCH_PROJECTS_AND_STUDIES","ASSEMBLY_MAINTENANCE_REPAIR_INSTALLATION","TECHNICAL_SUPPORT_OR_SUPERVISION","OTHER_HANDS_ON_LABOUR","MARKET_RESEARCH_AND_EXPLORING_INVESTMENT_OPPORTUNITIES","OTHER"],"type":"string"},"example":"INTERNAL_BUSINESS_WITHOUT_WORK_FOR_CLIENT","required":true,"description":"The reason for the trip"},{"in":"query","name":"second_nationality","schema":{"type":"string","pattern":"^[A-Z]{2}$"},"example":"PT","required":false,"description":"The second nationality country code of the person in ISO 3166-1 alpha-2 format (optional)"}],"security":[{"deelToken":[]},{"oauth2":["immigration:read"]}]}},"/gp/workers/{id}/payslips":{"get":{"tags":["Global Payroll"],"summary":"Retrieve employee payslips","operationId":"retrieveEmployeePayslips-v2026-01-01","description":"Returns a list of payslips for a Global Payroll (GP) employee, including each payslip's date range and current status. Use this endpoint to display payslip history or verify that payslips have been published before initiating a download. Requires the worker id (UUID), which can be obtained from the List GPworkers endpoint. Each payslip in the response includes an id that is required for the download endpoint. Supports only GP contract types.\n **Token scopes**: `payslips:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","from","to","status"],"properties":{"id":{"type":"string","example":"0dRZGn2ed49y","description":"Unique identifier for the payslip."},"to":{"type":"string","format":"date","example":"2023-11-30","description":"End date of the payslip period in ISO-8601 format."},"from":{"type":"string","format":"date","example":"2023-11-01","description":"Start date of the payslip period in ISO-8601 format."},"status":{"type":"string","example":"AVAILABLE","description":"The current status of the payslip (e.g., AVAILABLE, PENDING, PUBLISHED)."}}}}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Invalid query parameters","description":"Error response"}}},"description":"Error messages"},"request":{"type":"object","properties":{"method":{"type":"string","example":"GET","description":"Method of the API"},"status":{"type":"number","example":400,"description":"Status of API response"}},"description":"Error request details"}}}}},"description":"Bad Request - Validation error or invalid parameters"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"id","schema":{"type":"string","format":"uuid","description":"Unique identifier for the worker in UUID format."},"example":"6f50539e-9f62-45d0-a42e-62a62fbb984a","required":true,"description":"Unique identifier for the worker."}],"security":[{"deelToken":[]},{"oauth2":["payslips:read"]}]}},"/immigration/workers/cases":{"get":{"tags":["Immigration"],"summary":"List of immigration cases for workers","operationId":"listOfImmigrationCasesForWorkers-v2026-04-02","description":"Retrieves a paginated list of immigration cases with filters for applicant name, case type, status, and country. Returns case details including type, status, process, timestamps, and optional closure information.\n **Token scopes**: `worker:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data","has_more","total_count"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","status","case_type","process","applicant","closure","created_at","updated_at"],"properties":{"id":{"type":"string","format":"uuid","example":"d7348f5b-b0a6-4c84-ae07-2e5ccdd60134","description":"Unique identifier of the immigration case."},"status":{"enum":["OPEN","CLOSED","ON_HOLD"],"type":"string","example":"OPEN","description":"Current lifecycle status of the immigration case."},"closure":{"type":"object","example":{"note":"Employee contract was terminated.","reason":"CONTRACT_CANCELLED"},"nullable":true,"required":["reason","note"],"properties":{"note":{"type":"string","example":"Employee contract was terminated.","nullable":true,"maxLength":400,"description":"Additional notes explaining the case closure.","x-sensitive-employment":true},"reason":{"enum":["CONTRACT_CANCELLED","NATIONALITY_CHANGE","NEW_CASE_TYPE_IS_REQUIRED","ONBOARDING_RELEASED","OTHER"],"type":"string","example":"CONTRACT_CANCELLED","nullable":true,"description":"Reason why the immigration case was closed.","x-sensitive-employment":true}},"description":"Closure details of the case if the case has been closed."},"process":{"type":"object","required":["id","name","status"],"properties":{"id":{"type":"string","format":"uuid","example":"c8895566-11aa-22bb-33cc-44dd55ee66ff","description":"Unique identifier of the current process."},"name":{"type":"string","example":"Initial Review","maxLength":255,"description":"Human-readable name of the current process step.","x-sensitive-employment":true},"status":{"type":"object","required":["id","name"],"properties":{"id":{"type":"string","format":"uuid","example":"f1234567-abcd-ef01-2345-6789abcd0123","nullable":true,"description":"Unique identifier of the process status."},"name":{"type":"string","example":"IN_PROGRESS","nullable":true,"maxLength":255,"description":"Human-readable name of the process status."}},"description":"Current status of the process."}},"description":"Current active process associated with the case."},"applicant":{"type":"object","example":{"id":"b1234567-89ab-cdef-0123-456789abcdef","name":"John Doe"},"nullable":true,"required":["name"],"properties":{"id":{"type":"string","format":"uuid","example":"b1234567-89ab-cdef-0123-456789abcdef","nullable":true,"description":"Unique identifier of the applicant."},"name":{"type":"string","example":"John Doe","maxLength":255,"description":"Full name of the applicant.","x-sensitive-pii":true,"x-sensitive-employment":true}},"description":"Applicant associated with the immigration case.","x-sensitive-pii":true},"case_type":{"type":"object","required":["id","name"],"properties":{"id":{"type":"string","format":"uuid","example":"a1234567-89ab-cdef-0123-456789abcdef","description":"Unique identifier of the case type."},"name":{"type":"string","example":"Work Permit","maxLength":255,"description":"Human-readable name of the case type."}},"description":"Type of immigration case."},"created_at":{"type":"string","format":"date-time","example":"2024-01-12T08:30:00Z","description":"Timestamp indicating when the case was created."},"updated_at":{"type":"string","format":"date-time","example":"2024-01-13T10:45:00Z","description":"Timestamp indicating when the case was last updated."}}},"description":"List of cases in the current page."},"has_more":{"type":"boolean","example":true,"description":"Indicates whether more results are available for pagination."},"next_cursor":{"type":"string","example":"eyJpZCI6IjEyMzQ1NiJ9","nullable":true,"description":"Cursor value to be used for fetching the next page of results."},"total_count":{"type":"integer","example":100,"description":"Total number of cases matching the search criteria."}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_parameter","description":"Machine-readable error code"},"field":{"type":"string","example":"/data/example_field","description":"Name of the field causing the error (for validation issues)"},"message":{"type":"string","example":"Must have required property 'example_field'","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"service_unavailable","description":"Machine-readable error code"},"message":{"type":"string","example":"The service is currently experiencing issues","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."}},"parameters":[{"in":"query","name":"search","schema":{"type":"string","maxLength":100,"minLength":3},"example":"john","required":false,"description":"Search by applicant name or code"},{"in":"query","name":"case_type_ids","schema":{"type":"array","items":{"type":"string","format":"uuid"}},"example":["e9b4ce94-2e3e-4d41-9faf-1ad2389cac1d"],"required":false,"description":"Filter by case type IDs"},{"in":"query","name":"statuses","schema":{"type":"array","items":{"enum":["OPEN","ON_HOLD","CLOSED"],"type":"string"}},"example":["OPEN","ON_HOLD","CLOSED"],"required":false,"description":"Filter by case status"},{"in":"query","name":"countries","schema":{"type":"array","items":{"type":"string","pattern":"^[A-Z]{2}$","maxLength":2,"minLength":2,"description":"The ISO 3166-1 alpha-2 country code."},"maxItems":100,"minItems":1},"example":["AE","SA"],"required":false,"description":"Filter by country. Uses ISO 3166-1 alpha-2 codes (https://www.iban.com/country-codes)."},{"in":"query","name":"cursor","schema":{"type":"string"},"example":"next-page-token-123","required":false,"description":"Pagination cursor for fetching next set of results"},{"in":"query","name":"limit","schema":{"type":"integer","default":20,"maximum":100},"example":20,"required":false,"description":"Max number of results to return"}],"security":[{"deelToken":[]},{"oauth2":["worker:read"]}]}},"/contracts/custom_fields":{"get":{"tags":["Custom Fields"],"summary":"List all custom fields","operationId":"listAllCustomFields","description":"Use this endpoint to retrieve all custom fields defined for contracts. Use it when building contract creation or edit flows that need to display field options and requirements. This operation is read-only and non-destructive.\n **Token scopes**: `contracts:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","name","type","settings","created_at"],"properties":{"id":{"type":"string","format":"uuid","example":"7015d676-6e53-47a1-8b01-2f0b2c550790","description":"Unique identifier of the custom field"},"name":{"type":"string","example":"Employment Status","description":"Name of the custom field"},"type":{"oneOf":[{"type":"object","required":["name"],"properties":{"name":{"enum":["text","number","date","percentage"],"type":"string","example":"text","description":"Simple types"}}},{"type":"object","required":["name","is_fixed"],"properties":{"name":{"enum":["currency"],"type":"string","example":"currency","description":"Currency type"},"currency":{"type":"string","example":"USD","nullable":true,"maxLength":3,"description":"Currency code (null when is_fixed is false)"},"is_fixed":{"type":"boolean","example":false,"description":"When currency is fixed, only the amount can be edited by the users"}}},{"type":"object","required":["name","options"],"properties":{"name":{"enum":["list","multiselect"],"type":"string","example":"list","description":"List types"},"options":{"type":"array","items":{"type":"string"},"example":["Option 1","Option 2"],"description":"List of options for the custom field"}}}],"description":"Type configuration of the custom field including its data type and type-specific properties"},"settings":{"type":"object","required":["required","is_enabled","access"],"properties":{"access":{"type":"object","required":["is_sensitive"],"properties":{"provided_by":{"enum":["organization","worker"],"type":"string","example":"organization","nullable":true,"description":"Entity providing access to the custom field"},"is_sensitive":{"type":"boolean","example":false,"description":"Whether the custom field is sensitive"},"group_permission_set":{"type":"string","example":"custom_fields_set1","nullable":true,"description":"Permission set identifier for the custom field"}},"description":"Access settings for the custom field"},"required":{"type":"boolean","example":true,"description":"Whether the custom field is required"},"countries":{"type":"array","items":{"type":"string"},"example":["CO","PH"],"description":"Countries for which the custom field is applicable. Omitted when applicable to all."},"is_enabled":{"type":"boolean","example":true,"description":"Whether the custom field is enabled"},"worker_types":{"type":"array","items":{"enum":["eor","contractor","hris_direct_employee","direct_employee"],"type":"string"},"example":["direct_employee","hris_direct_employee"],"description":"Worker types for which the custom field is applicable. Omitted when applicable to all."}},"description":"Configuration settings for the custom field including requirements, visibility, and access controls"},"placement":{"enum":["profile","contract"],"type":"string","example":"contract","nullable":true,"description":"Valid placements for custom field"},"created_at":{"type":"string","format":"date-time","example":"2025-10-14T13:47:22.851Z","description":"Creation date of the custom field"},"description":{"type":"string","example":"Custom Field Description","nullable":true,"maxLength":140,"description":"Description of the custom field"}}}}}}}},"description":"Successful response"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]}},"/offboarding/tracker/hris_profile/{oid}":{"get":{"tags":["Offboarding"],"summary":"Retrieve termination details by HRIS profile identifier","operationId":"retrieveTerminationDetailsByHrisProfileIdentifier","description":"Retrieve termination details by hris profile oid\n **Token scopes**: `contracts:read`, `people:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"summary":{"type":"array","items":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","example":"m7yg6zp","description":"The unique identifier for the contract associated with the summary item."}}},"name":{"type":"string","example":"Contract name","description":"The name of the summary item (e.g., Contract ending details)."},"type":{"type":"string","example":"CONTRACT_NAME","description":"The type of summary information (e.g., CONTRACT_ENDING_DETAILS)."},"value":{"type":"string","example":"TSB64 F348A1","description":"The value or status associated with the summary item."}}}},"contract":{"type":"object","properties":{"id":{"type":"string","example":"m7yg6zp","description":"The unique identifier for the contract."},"eor":{"type":"object","nullable":true,"properties":{"probation_period":{"type":"object","properties":{"status":{"type":"string","example":"in_progress","description":"probation status"},"period_end_at":{"type":"string","example":"2021-07-14T22:00:00+00:00","description":"Period end date"},"period_in_days":{"type":"integer","example":612411,"description":"total of days of period"}}}},"description":"Employer of Record (EOR) for the contract, if applicable."},"oid":{"type":"string","example":"m7yg6zp","description":"The object ID for the contract, which might be the same as the contract ID."},"name":{"type":"string","example":"John Doo","description":"The name or title of the contract."},"timezone":{"type":"string","example":"Europe/Belgrade","description":"The timezone associated with the contract (e.g., Europe/Belgrade)."},"contract_type":{"type":"string","example":"payg_tasks","description":"The type of the contract (e.g., payg_tasks)."}}},"progress":{"type":"object","properties":{"status":{"type":"string","example":"OFFBOARDING_IN_PROGRESS","description":"The current status of the offboarding process (e.g., OFFBOARDING_IN_PROGRESS)."},"reference_date":{"type":"string","example":"2021-07-14T22:00:00+00:00","description":"The reference date for the offboarding status (e.g., the termination date)."},"reference_date_type":{"type":"string","example":"END_DATE","description":"The type of reference date (e.g., END_DATE)."},"reference_date_timezone":{"type":"string","example":"Europe/Belgrade","description":"The timezone of the reference date."}}},"hiring_type":{"type":"string","example":"contractor","description":"The hiring type for the contract (e.g., contractor)."},"termination":{"type":"object","properties":{"id":{"type":"string","example":"b550b7e5-d6e1-4613-93ba-a7ee5f75887c","nullable":true,"description":"The termination ID"},"end_date":{"type":"string","example":"2024-12-01T22:59:59.999Z","description":"The end date of the contract termination."},"ending_type":{"type":"string","example":"ENDING_CONTRACT","description":"The type of termination (e.g., ENDING_CONTRACT)."},"initiated_at":{"type":"string","example":"2024-12-01T22:59:59.999Z","nullable":true,"description":"The date and time when the termination was initiated."},"initiated_by":{"type":"object","nullable":true,"properties":{"name":{"type":"string","example":"John Doo","description":"Name of individual","x-sensitive-pii":true},"profile_type":{"type":"string","example":"client","description":"individual's type"}},"description":"The individual that initiated the termination."},"public_message":{"type":"string","example":"Lorem Ipsum is simply dummy text of the printing and typesetting industry.","nullable":true,"description":"A public message regarding the termination."},"termination_impact":{"type":"object","nullable":true,"properties":{"title":{"type":"string","example":"Loren Impact","description":"Title of termination impact"},"description":{"type":"string","example":"Lorem Ipsum is simply dummy text of the printing and typesetting industry.","description":"Description of termination impact"}},"description":"The impact of the termination, if applicable."},"eligible_for_rehire":{"type":"string","example":"YES","nullable":true,"description":"Indicates whether the individual is eligible for rehire."},"eligible_for_rehire_reason":{"type":"string","example":"Lorem Ipsum is simply dummy text of the printing and typesetting industry.","nullable":true,"description":"The reason why the individual is or is not eligible for rehire."}}},"hris_profile":{"type":"object","properties":{"oid":{"type":"string","example":"b550b7e5-d6e1-4613-93ba-a7ee5f75887c","description":"The unique object ID for the HRIS profile."},"name":{"type":"string","example":"qhzTMW fPpuSu","description":"The name of the individual in the HRIS profile.","x-sensitive-pii":true},"work_email":{"type":"string","example":"a87cac24ea4fa4f0e4239ffd0facd778@test.com","description":"The work email address of the individual in the HRIS profile.","x-sensitive-pii":true}}},"app_experience":{"type":"object","properties":{"is_minimal_requirements":{"type":"boolean","example":true,"description":"Indicates whether the individual meets the minimal experience requirements for the role."}}}}}}}}},"description":"Successfully retrieved offboarding details"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"oid","schema":{"type":"string"},"example":"150f635e-fae1-4b9d-9f86-768bbbac3698","required":true,"description":"Unique hris profile oid"}],"security":[{"deelToken":[]},{"oauth2":["contracts:read","people:read"]}]}},"/adjustments":{"post":{"tags":["Adjustments"],"summary":"Create a new adjustment","operationId":"createANewAdjustment-v2026-01-01","description":"Generates a new adjustment entry attributed to a specific worker\n **Token scopes**: `adjustments:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the adjustment"},"file":{"type":"object","nullable":true,"properties":{"id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the file"},"name":{"type":"string","example":"your_file_name","description":"The name of the file"},"fileType":{"type":"string","example":"pdf","description":"The type of the file"}},"description":"'Adjustment attachement"},"title":{"type":"string","example":"Your title here","maxLength":255,"minLength":3,"description":"The title of the adjustment"},"amount":{"type":"string","example":"1234.56","description":"The amount of the adjustment"},"status":{"oneOf":[{"enum":["OPEN","PENDING_APPROVAL","OVERWRITTEN","FAILED","SUCCESS","AI_CHECK_IN_PROGRESS"],"type":"string","example":"OPEN","description":"Adjustment status (when contract type is GP)"},{"enum":["DRAFT","PENDING","ERRORS_FOUND","APPROVED","DENIED","DISBURSE_SCHEDULED","REIMBURSED","UNDER_REVIEW","PENDING_DEEL_REVIEW"],"type":"string","example":"DRAFT","description":"Adjustment status (when contract type is EOR)"}],"example":"OPEN","description":"The status of the adjustments"},"created_at":{"type":"string","format":"date-time","example":"2020-11-02T12:00:00.000Z","description":"The date and time when the adjustment was created"},"updated_at":{"type":"string","format":"date-time","example":"2020-11-02T12:00:00.000Z","description":"The date and time when the adjustment was last updated"},"contract_id":{"type":"string","example":"m3jk2j","description":"The identifier of the contract associated with the adjustment"},"description":{"type":"string","example":"Your description here","description":"The description of the adjustment"},"cycle_reference":{"type":"string","example":"your_cycle_reference","nullable":true,"description":"The reference to the cycle associated with the adjustment"},"move_next_cycle":{"type":"boolean","example":true,"description":"If an adjustments can belong to another payroll cycle"},"date_of_adjustment":{"type":"string","format":"date-time","example":"2020-11-02T12:00:00.000Z","description":"The date of the adjustment"},"actual_end_cycle_date":{"type":"string","example":"2023-11-15T00:00:00.000Z","description":"The date of the actual end cycle date"},"adjustment_category_id":{"type":"string","example":"c9cf4c2c0165f48f494415390c3b49","description":"The identifier of the adjustment category associated with the adjustment"},"actual_start_cycle_date":{"type":"string","example":"2023-11-01T00:00:00.000Z","description":"The date of the actual start cycle date"}}}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string"}}}}}}}},"description":"Bad Request – failed to create adjustments"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["adjustments:write"]}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","required":["contract_id","amount","title","description","adjustment_category_id","file","vendor","country"],"properties":{"file":{"type":"string","format":"binary","example":"file","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","minLength":1},{"type":"number","minimum":1}],"example":100.25,"description":"Amount of adjustment."},"vendor":{"type":"string","example":"Vendor","minLength":3,"description":"Vendor of adjustment."},"country":{"type":"string","example":"US","pattern":"^[A-Z]{2}$","maxLength":2,"minLength":2,"description":"Country code."},"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":{"type":"string","format":"date","example":"1999-12-31","nullable":true,"description":"Short date in format ISO-8601 (YYYY-MM-DD). For example: 2022-12-31."},"adjustment_category_id":{"type":"string","example":"c9cf4c2c0165f48f494415390c3b49","minLength":25,"description":"Adjustment category id."}}}}},"required":true,"description":"Creation data for a new adjustment"}}},"/immigration/workers/{worker_id}/onboarding-case":{"get":{"tags":["Immigration"],"summary":"Retrieve onboarding right-to-work case for a worker","operationId":"retrieveOnboardingRightToWorkCaseForAWorker","description":"Returns the right to work case for employee onboarding including the documents if any. In case no right to work case is open, the response will be empty.\n **Token scopes**: `worker:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","example":"5f5b3b3b-4b3b-4b3b-4b3b-4b3b3b3b3b3b","description":"Unique identifier of immigration case."},"status":{"enum":["OPEN","CLOSED","ON_HOLD"],"type":"string","example":"OPEN","description":"Status of the immigration case."},"process":{"type":"object","properties":{"id":{"type":"string","example":"5f5b3b3b-4b3b-4b3b-4b3b-4b3b3b3b3b3b","description":"Unique identifier of the current active process."},"name":{"enum":["WORK_AUTHORIZATION_VERIFICATION"],"type":"string","example":"WORK_AUTHORIZATION_VERIFICATION","description":"Name of the current active process."},"status":{"enum":["CANCELLED","AWAITING_DOCUMENTS","IN_REVIEW","APPROVED","REJECTED"],"type":"string","example":"IN_REVIEW","description":"Status of the current active process."},"rejection_note":{"type":"string","example":"We couldn't accept the document because the file or photo that has been submitted cannot be read fully.","description":"A detailed description of why the case was rejected. Only available if the case status is REJECTED."},"rejection_reason":{"type":"string","example":"Poor image quality","description":"The reason why the case was rejected. Only available if the case status is REJECTED."}},"description":"The current active process"},"contract":{"type":"object","properties":{"id":{"type":"string","example":"359pr8y","nullable":true,"description":"Id of the contract associated with the immigration case"}},"description":"The contract associated with the returned immigration case"},"applicant":{"type":"object","nullable":true,"properties":{"id":{"type":"string","example":"5f5b3b3b-4b3b-4b3b-4b3b-4b3b3b3b3b3b","description":"Unique identifier of the applicant profile id."},"external_id":{"type":"string","example":"123456","nullable":true,"description":"External identifier of the applicant  (from partner system or third party)."}},"description":"The employee for which this Right to Work case has been created for"},"case_type":{"enum":["IMMIGRATION_DOCUMENT_REVIEW"],"type":"string","example":"IMMIGRATION_DOCUMENT_REVIEW","description":" Type of the case. It will always be IMMIGRATION_DOCUMENT_REVIEW for this endpoint."},"documents":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"5f5b3b3b-4b3b-4b3b-4b3b-4b3b3b3b3b3b","description":"Unique identifier of the document."},"status":{"enum":["IN_REVIEW","ACTIVE","EXPIRED","EXPIRING"],"type":"string","example":"EXPIRING","description":"Status of the document."},"document_type":{"type":"string","example":"Eu blue card","nullable":true,"description":"The type of the document. Represents the visa type for right to work cases."},"expiration_date":{"type":"string","format":"date-time","example":"2023-10-31T13:45:30Z","nullable":true,"description":"Expiry date of the document. If document does not expire, it will be null"}}},"description":"A list of documents associated to the immigration case"},"visa_type":{"type":"string","example":"Eu blue card","nullable":true,"description":"The type of the visa."},"created_at":{"type":"string","format":"date-time","example":"2023-10-31T13:45:30Z","description":"Creation date of the immigration case."},"updated_at":{"type":"string","format":"date-time","example":"2023-10-31T13:45:30Z","description":"Last activity on the immigration case."},"country_code":{"type":"string","example":"DE","description":"The country of the immigration case."},"estimated_completion_date":{"type":"string","format":"date-time","example":"2023-10-31T13:45:30Z","nullable":true,"description":"Estimated completion date of the immigration case."}}}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_parameter","description":"Machine-readable error code"},"field":{"type":"string","example":"/data/worker_id","description":"Worker id (hris profile id)"},"message":{"type":"string","example":"Must have required property 'worker_id'","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message","code","field"],"properties":{"code":{"type":"string","example":"not_found","description":"Machine-readable error code"},"field":{"type":"string","example":"worker_id","description":"Worker id (hris profile id)"},"message":{"type":"string","example":"Onboarding case not found, please verify the worker_id","description":"Human-readable explanation of the error"}}}}}}}},"description":"Case not found."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"service_unavailable","description":"Machine-readable error code"},"message":{"type":"string","example":"The service is currently experiencing issues","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."}},"parameters":[{"in":"query","name":"contract_id","schema":{"type":"string"},"example":"359pr8y","required":false,"description":"Filters the worker's onboarding case to a specific contract. If the worker has multiple contracts and this parameter is omitted, the response may return a case from any associated contract; the response includes contract.id to indicate which contract was used. Provide this parameter for deterministic results."},{"in":"path","name":"worker_id","schema":{"type":"string"},"example":"a6fb5c89-5abd-45d1-afc1-7e98d550eb71","required":true,"description":"The hris profile oid (public id) of the worker."}],"security":[{"deelToken":[]},{"oauth2":["worker:read"]}]}},"/industries":{"get":{"tags":["Legal Entities"],"summary":"List all industry subcategories","operationId":"listAllIndustrySubcategories-v2026-01-01","description":"List industry subcategories with their parent category details, supporting cursor-based pagination and sorting by category or subcategory name. Each subcategory is identified by a UUID and includes NAICS codes. Used during entity setup to select an industry classification.\n **Token scopes**: `legal-entity:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data","has_more","next_cursor","total_count"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","name","category_name","created_at","updated_at"],"properties":{"id":{"type":"string","format":"uuid","example":"db82bb9c-4820-48a7-8f1a-799b509874e3","description":"UUID of the subcategory."},"name":{"type":"string","example":"Crop Production","description":"Name of the industry subcategory."},"created_at":{"type":"string","format":"date-time","example":"2024-05-12T14:23:00Z","description":"Date and time when the subcategory was created."},"updated_at":{"type":"string","format":"date-time","example":"2024-06-01T09:12:00Z","description":"Date and time when the subcategory was last updated."},"category_name":{"type":"string","example":"Agriculture","nullable":true,"description":"Name of the associated industry category."}}},"description":"List of industry subcategories."},"has_more":{"type":"boolean","example":true,"description":"Indicates if there are more results available."},"next_cursor":{"type":"string","example":"abc123==","nullable":true,"description":"Cursor to fetch the next page of results."},"total_count":{"type":"integer","example":120,"description":"Total number of results matching the query."}}}}},"description":"List of industry subcategories."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"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"}}}},"request":{"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"}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"query","name":"limit","schema":{"type":"integer","minimum":1},"example":10,"description":"Maximum number of items to return per page."},{"in":"query","name":"order","schema":{"enum":["ASC","DESC"],"type":"string","default":"ASC"},"example":"ASC","description":"Sorting order of the results."},{"in":"query","name":"sort_by","schema":{"enum":["subcategoryName","categoryName"],"type":"string","default":"categoryName"},"example":"categoryName","description":"Field used to sort the results."},{"in":"query","name":"cursor","schema":{"type":"string","nullable":true},"example":"eyJpZCI6IjEyMyIsInN1YmNhdGVnb3J5TmFtZSI6IlNvZnR3YXJlIn0=","description":"Cursor used for paginating to the next page of results."}],"security":[{"deelToken":[]},{"oauth2":["legal-entity:read"]}]}},"/payouts/contractors/methods/bank_transfers/requirements":{"get":{"tags":["Payouts"],"summary":"Get bank transfer requirements","operationId":"getBankTransferRequirements","description":"Retrieve requireements for bank transfer method creation\n **Token scopes**: `worker:read`, `worker:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["type","title","fields","total_fee"],"properties":{"type":{"type":"string","example":"swift_code","description":"Type of bank transfer, such as local, swift, iban. Maps to selected_option in method creation data."},"title":{"type":"string","example":"Local bank account","description":"Title of the bank transfer method"},"fields":{"type":"array","items":{"type":"object","required":["name","group"],"properties":{"name":{"type":"string","example":"Recipient's first name"},"group":{"type":"array","items":{"type":"object","required":["key","name","type","required"],"properties":{"key":{"type":"string","example":"firstName","description":"The key of the field in the method creaion payload"},"name":{"type":"string","example":"Recipient's first name","description":"User facing name of property"},"type":{"enum":["text","radio","select","date_local"],"type":"string","example":"text","description":"The type of the field, such as text, radio, select, or date_local."},"example":{"type":"string","example":"John Doe","description":"Example value for the field"},"required":{"type":"boolean","example":true,"description":"Whether the field is required"},"max_length":{"type":"integer","example":50,"description":"The maximum length of the field"},"values_allowed":{"type":"array","items":{"type":"object","required":["key","name"],"properties":{"key":{"type":"string","description":"The country code (e.g., AL for Albania)."},"name":{"type":"string","description":"The full name of the country (e.g., Albania)."}}},"example":[{"key":"AS","name":"American Samoa"},{"key":"AD","name":"Andorra"}],"description":"An array of allowed values with corresponding key and name."},"validation_regexp":{"type":"string","example":"^[a-zA-Z]{6}(([a-zA-Z0-9]{2})|([a-zA-Z0-9]{5}))$","description":"The regular expression to validate the field"},"refresh_requirements_on_change":{"type":"boolean","description":"Whether to refresh the requirements when the field value changes with field key as query parameter"}}}}}},"description":"Each field key is input field for the bank transfer method creation payload."},"total_fee":{"type":"string","example":"0.0000","description":"Fee preview for amount provided in query parameter"},"intermediary":{"type":"array","items":{"type":"object","required":["name","group"],"properties":{"name":{"type":"string","example":"BIC of the intermediary bank","description":"User facing name of the intermediary object"},"group":{"type":"array","items":{"type":"object","required":["key","name","type","required"],"properties":{"key":{"type":"string","example":"intermediary.bic"},"name":{"type":"string","example":"BIC of the intermediary bank","description":"User facing name of the intermediary object"},"type":{"type":"string","example":"text"},"example":{"type":"string","example":"BUKBGB22","description":"Example value for the field"},"required":{"type":"boolean","example":true,"description":"Whether the field is required"},"max_length":{"type":"integer","example":11,"description":"The maximum length of the field"},"min_length":{"type":"integer","example":8,"description":"The minimum length of the field"},"values_allowed":{"type":"array","items":{"type":"object","required":["key","name"],"properties":{"key":{"type":"string","description":"The country code (e.g., AL for Albania)."},"name":{"type":"string","description":"The full name of the country (e.g., Albania)."}}},"example":[{"key":"AS","name":"American Samoa"},{"key":"AD","name":"Andorra"}],"description":"An array of allowed values with corresponding key and name."},"validation_regexp":{"type":"string","example":"^[a-zA-Z]{6}(([a-zA-Z0-9]{2})|([a-zA-Z0-9]{5}))$","description":"The regular expression to validate the field"}}}}}},"description":"Each field is input for the bank transfer method creation payload intermediary object"}}}}}},"example":{"data":[{"type":"turkey","title":"Local bank account","fields":[{"name":"Recipient's first name","group":[{"key":"firstName","name":"Recipient's first name","type":"text","required":true,"max_length":50}]},{"name":"Recipient's last name","group":[{"key":"lastName","name":"Recipient's last name","type":"text","required":true,"max_length":50}]},{"name":"Recipient's phone number","group":[{"key":"phone","name":"Recipient's phone number","type":"text","required":true,"max_length":20}]},{"name":"Account Number (IBAN)","group":[{"key":"bank_account","name":"Recipient's IBAN","type":"text","example":"TR1234567890","required":true,"max_length":26}]}],"total_fee":"0.0000"},{"type":"swift_code","title":"SWIFT","fields":[{"name":"Full name of the account holder","group":[{"key":"beneficiaryName","name":"Full name of the account holder","type":"text","example":"John Doe","required":true,"refresh_requirements_on_change":false}]},{"name":"SWIFT / BIC code","group":[{"key":"swiftCode","name":"SWIFT / BIC code","type":"text","example":"BUKBGB22","required":true,"max_length":11,"min_length":8,"display_format":null,"values_allowed":null,"validation_regexp":"^[a-zA-Z]{6}(([a-zA-Z0-9]{2})|([a-zA-Z0-9]{5}))$","refresh_requirements_on_change":true}]},{"name":"IBAN / Account Number","group":[{"key":"accountNumber","name":"IBAN / Account Number","type":"text","example":"123456789012","required":true,"max_length":34,"min_length":4,"display_format":null,"values_allowed":null,"validation_regexp":"^[a-zA-Z0-9]{4,34}$","refresh_requirements_on_change":false}]}],"total_fee":"5.0000","intermediary":[{"name":"BIC of the intermediary bank","group":[{"key":"intermediary.bic","name":"BIC of the intermediary bank","type":"text","example":"BUKBGB22","required":true,"max_length":11,"min_length":8,"display_format":null,"values_allowed":null,"validation_regexp":"^[a-zA-Z]{6}(([a-zA-Z0-9]{2})|([a-zA-Z0-9]{5}))$","refresh_requirements_on_change":true}]},{"name":"Country of the intermediary bank","group":[{"key":"intermediary.country","name":"Country of the intermediary bank","type":"select","example":"Choose a country","required":true,"max_length":null,"min_length":null,"display_format":null,"values_allowed":[{"key":"AS","name":"American Samoa"},{"key":"AD","name":"Andorra"},{"key":"AO","name":"Angola"}],"validation_regexp":null,"refresh_requirements_on_change":true}]}]}]}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"query","name":"country","schema":{"type":"string","pattern":"^[A-Z]{2}$","maxLength":2,"minLength":2},"required":true,"description":"Country code"},{"in":"query","name":"currency","schema":{"type":"string","pattern":"^[A-Z]{3}$","maxLength":3,"minLength":3},"required":true,"description":"Currency code"},{"in":"query","name":"amount","schema":{"type":"number","format":"double"},"description":"Amount for calculating fees, if not provided, the default amount of 100.00 is used"}],"security":[{"deelToken":[]},{"oauth2":["worker:read","worker:write"]}]}},"/eor/job-scopes/validate":{"post":{"tags":["EOR"],"summary":"Request job scope validation","operationId":"requestJobScopeValidation-v2026-01-01","description":"This endpoint allows client to validate job scope description.\n **Token scopes**: `contracts:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string","example":"Job scope contains restricted pronouns","description":"Message with error description"},"relevant_text":{"type":"string","example":"you","description":"Part of the scope that caused the error."}}},"example":[{"message":"Job scope contains restricted pronouns","relevant_text":"you"}],"description":"List of validation errors, if empty the validation was successfully."},"quote_validation_log_public_id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174002","description":"Id from validation request."},"data_for_corrected_job_scope_endpoint":{"type":"object","properties":{"anonymized_job_scope":{"type":"string","example":"Software development and maintenance.","nullable":true,"description":"Anonymized job scope."},"errors_for_correct_job_scope":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string","example":"Job scope contains restricted pronouns","description":"Message with error description"}}},"example":[{"message":"Job scope contains restricted pronouns"}],"description":"List of errors for corrected job scope."},"must_create_correct_job_scope":{"type":"boolean","example":true,"description":"Indicates if a corrected job scope is required."}},"description":"Data for corrected job scope endpoint."}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"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"}}}},"request":{"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"}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["employment_country","team_id","job_scope","job_title","employee_name","client_legal_entity_id"],"properties":{"team_id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000","description":"The ID of the team."},"job_scope":{"type":"string","example":"Software development and maintenance.","maxLength":10000,"minLength":100,"description":"The scope of the job."},"job_title":{"type":"string","example":"Software Engineer","description":"The title of the job."},"work_visa":{"type":"boolean","example":true,"description":"Indicates if a work visa is required."},"client_name":{"type":"string","example":"Acme Inc.","description":"Optional client name. The validation refuses a job scope if it includes the client name. If not provided, it will be inferred from the legal entity instead."},"employee_name":{"type":"string","example":"John Doe","description":"The name of the employee."},"special_job_id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174001","nullable":true,"description":"The ID of the special job."},"employment_state":{"type":"string","example":"California","nullable":true,"description":"The state of employment."},"employment_country":{"type":"string","example":"US","description":"The country of employment."},"employee_nationality":{"type":"string","example":"Canadian","description":"The nationality of the employee."},"client_legal_entity_id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174002","description":"The ID of the client's legal entity."}},"description":"details of job scope"}}}}},"required":true,"description":"Run job scope validation"}}},"/hris/worker_relations/types/external/{externalId}":{"patch":{"tags":["Worker Relations"],"summary":"Update a worker relation type by external id","operationId":"updateWorkerRelationTypeExternalId","description":"Update a worker relation type by external id.\n **Token scopes**: `organizations:write`","responses":{"204":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"integer","example":1,"description":"The ID of the relation type"},"child_name":{"type":"string","example":"Child","description":"The name of the secondary party in the relationship"},"is_default":{"type":"boolean","example":false,"description":"Whether this relation is default or not"},"external_id":{"type":"string","example":"f47ac10b-58cc-4372-a567-0e02b2c3d479","maxLength":100,"description":"A custom ID for the relation type"},"parent_name":{"type":"string","example":"Parent","description":"The name of the primary party in the relationship"}}}}}}},"description":"Successful operation"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"externalId","schema":{"type":"string"},"example":"f47ac10b-58cc-4372-a567-0e02b2c3d479","required":true,"description":"Worker Relation Type external ID"}],"security":[{"deelToken":[]},{"oauth2":["organizations:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"child_name":{"type":"string","example":"Child","maxLength":100,"description":"The name of the secondary party in the relationship"},"external_id":{"type":"string","example":"f47ac10b-58cc-4372-a567-0e02b2c3d479","maxLength":100,"description":"A custom ID for the relation type"},"parent_name":{"type":"string","example":"Parent","maxLength":100,"description":"The name of the primary party in the relationship"}}}}}}},"required":true}},"delete":{"tags":["Worker Relations"],"summary":"Delete a worker relation type by external id","operationId":"deleteWorkerRelationTypeExternalId","description":"Delete a Worker Relation Type by the external ID.\n **Token scopes**: `organizations:write`","responses":{"204":{"content":{"application/json":{}},"description":"Successful operation"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"externalId","schema":{"type":"string"},"example":"WRT-0001","required":true,"description":"Worker Relation Type external ID"}],"security":[{"deelToken":[]},{"oauth2":["organizations:write"]}]}},"/people":{"get":{"tags":["People"],"summary":"List of People","operationId":"listOfPeople-v2026-01-01","description":"Use this endpoint to retrieve people in your organization for building directories or syncing HR data. Paginate with offset/limit and filter with search, teams, and other query parameters. This operation is non-destructive.\n **Token scopes**: `people:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"9b9fc43a-a90c-4615-ac50-baf1e314b53e","description":"Unique identifier for the employee."},"state":{"type":"string","example":"Active","nullable":true,"description":"The state of the employee.","x-sensitive-pii":true},"emails":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","example":"work","nullable":true,"description":"The type of email."},"value":{"type":"string","example":"work.email@example.com","nullable":true,"description":"The email address.","x-sensitive-pii":true}}},"nullable":true,"description":"An array of the employee's email addresses.","x-sensitive-pii":true},"country":{"type":"string","example":"USA","nullable":true,"description":"The country of the employee.","x-sensitive-pii":true},"is_pwac":{"type":"boolean","example":false,"description":"Whether the worker is a Person Without a Contract (PWAC)"},"timezone":{"type":"string","example":"EST","nullable":true,"description":"The timezone of the employee.","x-sensitive-pii":true},"addresses":{"type":"array","items":{"type":"object","properties":{"region":{"type":"string","example":"CO","description":"Region code."},"country":{"type":"string","example":"US","pattern":"^[A-Z]{2}$","nullable":true,"maxLength":2,"minLength":2,"description":"Country code."},"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."}}},"nullable":true,"description":"An array of address objects containing the employee's physical addresses.","x-sensitive-pii":true},"full_name":{"type":"string","example":"John Doe","description":"The full name of the employee.","x-sensitive-pii":true},"job_title":{"type":"string","example":"Access Field Technician","nullable":true,"description":"The job title of the employee."},"last_name":{"type":"string","example":"Doe","nullable":true,"description":"The last name of the employee.","x-sensitive-pii":true},"seniority":{"type":"string","example":"Junior (Individual Contributor Level 1)","nullable":true,"description":"The seniority level of the employee."},"worker_id":{"type":"string","example":"123","description":"The worker ID of the employee.","x-sensitive-pii":true},"birth_date":{"type":"string","example":"1990-01-01T00:00:00.000Z","nullable":true,"description":"The birth date of the employee.","x-sensitive-pii":true},"created_at":{"type":"string","format":"date-time","example":"2023-03-21T10:27:25.950Z","description":"The creation timestamp of the employee record."},"department":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"00000000-0000-0000-0000-000000000000","description":"Unique identifier of this resource."},"name":{"type":"string","example":"Delivery team","description":"The name of the department."},"parent":{"type":"string","example":"Research and Development","description":"The parent department name."}},"description":"The department of the employee."},"first_name":{"type":"string","example":"John","description":"The first name of the employee.","x-sensitive-pii":true},"start_date":{"type":"string","format":"date","example":"2023-03-20","nullable":true,"description":"The date the employee started working."},"updated_at":{"type":"string","format":"date-time","example":"2022-05-24T09:38:46.235Z","nullable":true,"description":"Long date-time format following ISO-8601"},"employments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"mzj524j","description":"Unique identifier for the employment."},"name":{"type":"string","example":"Khizar Naeem","description":"Name of the employee.","x-sensitive-pii":true},"team":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"00000000-0000-0000-0000-000000000000","description":"Refers to Groups in the platform. Working groups that reflect the organization's structure."},"name":{"type":"string","example":"Engineering Team","description":"The team name."}},"description":"The team to which the employee belongs."},"email":{"type":"string","example":"some@example.com","description":"The work email of the employee.","x-sensitive-pii":true},"state":{"type":"string","example":"Active","nullable":true,"description":"The state of employment.","x-sensitive-pii":true},"country":{"type":"string","example":"USA","nullable":true,"description":"The country of employment.","x-sensitive-pii":true},"payment":{"type":"object","properties":{"rate":{"type":"number","format":"float","example":100.5,"nullable":true,"description":"The payment rate"},"scale":{"type":"string","example":"hourly","nullable":true,"description":"The payment scale (e.g., hourly, weekly, monthly, etc.)"},"currency":{"type":"string","example":"USD","description":"The currency code (ISO 4217) for the payment"},"contract_name":{"type":"string","example":"Full-time Employment Contract","description":"The name of the contract associated with the payment","x-sensitive-pii":true}},"description":"Payment information for the employment, including rate, scale, currency, and associated contract name.","x-sensitive-employment":true},"is_ended":{"type":"boolean","example":false,"description":"Whether the employment has ended."},"timezone":{"type":"string","example":"EST","nullable":true,"description":"The timezone of the employment.","x-sensitive-pii":true},"job_title":{"type":"string","example":"Access Field Technician","nullable":true,"description":"The job title of the employment."},"seniority":{"type":"string","example":"Junior (Individual Contributor Level 1)","nullable":true,"description":"The seniority level of the employment."},"start_date":{"type":"string","format":"date","example":"2023-03-20","nullable":true,"description":"The start date of the employment."},"work_email":{"type":"string","example":"work.email@example.com","nullable":true,"description":"The work email of the employment.","x-sensitive-pii":true},"hiring_type":{"type":"string","example":"contractor","nullable":true,"description":"The type of hiring of the employment."},"hiring_status":{"type":"string","example":"onboarding","description":"The current hiring status of the employment."},"band_placement":{"enum":["ABOVE","WITHIN","BELOW"],"type":"string","example":"ABOVE","nullable":true,"description":"Where the employee falls in their compensation band"},"completion_date":{"type":"string","example":"2023-06-20T00:00:00.000Z","nullable":true,"description":"The completion date of the employment contract."},"contract_status":{"type":"string","example":"waiting_for_client_sign","description":"The status of the employment contract."},"voluntarily_left":{"type":"boolean","example":true,"nullable":true,"description":"Whether the employee voluntarily left the employment."},"comparative_ratio":{"type":"number","example":1.1,"nullable":true,"description":"Number comparing an employee's compensation to the band midpoint"},"contract_coverage":{"enum":["is_premium","is_shielded","no_coverage",null],"type":"string","example":"is_premium","nullable":true,"description":"The coverage of the employment contract."},"new_hiring_status":{"type":"string","example":"onboarding_overdue","nullable":true,"description":"The new hiring status of the employment."},"client_legal_entity":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"00000000-0000-0000-0000-000000000000","nullable":true,"description":"Unique identifier of this resource."},"name":{"type":"string","example":"Acme Corporation","nullable":true,"description":"The name of the client legal entity."}},"description":"The client legal entity associated with this employment contract."},"has_eor_termination":{"type":"boolean","example":true,"nullable":true,"description":"Whether the employment has an EOR termination."},"compensation_band_id":{"type":"string","example":"9b9fc43a-a90c-4615-ac50-baf1e314b53e","nullable":true,"description":"The employee's assigned compensation band"},"contract_is_archived":{"type":"boolean","example":false,"description":"Whether the employment contract is archived."},"termination_last_day":{"type":"string","format":"date-time","example":"2023-03-21T10:27:25.950Z","nullable":true,"description":"The last day of work mentioned on the contract termination."},"contract_has_contractor":{"type":"boolean","example":true,"description":"Whether the contract has a contractor."},"is_user_contract_deleted":{"type":"boolean","example":false,"description":"Whether the user contract is deleted."},"hris_direct_employee_invitation":{"type":"object","nullable":true,"properties":{"oid":{"type":"string","example":"rJ7PUDgbp9L6","description":"Unique identifier of this resource."},"status":{"type":"string","example":"DISABLED","nullable":true,"description":"The HRIS direct employee invitation status."},"send_at":{"type":"string","format":"date-time","example":"2023-03-21T10:27:25.950Z","nullable":true,"description":"The HRIS direct employee invitation send date."},"timezone":{"type":"string","example":"EST","nullable":true,"description":"The HRIS direct employee invitation timezone."}},"description":"The HRIS direct employee invitation status."}}},"nullable":true,"description":"An array of employment records associated with the employee, including contract details, team information, payment details, and employment status."},"external_id":{"type":"string","example":"9b9fc43a-a90c-4615-ac50-baf1e314b53e","nullable":true,"description":"The external ID of the employee."},"hiring_type":{"type":"string","example":"contractor","nullable":true,"description":"The type of hiring of the employee."},"hiring_status":{"type":"string","example":"onboarding","description":"The current hiring status of the employee."},"nationalities":{"type":"array","items":{"type":"string"},"example":["American"],"description":"The nationality of the employee.","x-sensitive-pii":true},"person_status":{"enum":["ACTIVE","OFFBOARDING","NOT_STARTED","INACTIVE"],"type":"string","example":"ACTIVE","nullable":true,"description":"Lifecycle status of the person (worker profile). Omitted or null without people_person_status.view; excluded from the response when using `fields` if not requested."},"work_location":{"type":"string","example":"Remote","nullable":true,"description":"The work location of the employee."},"direct_manager":{"type":"object","nullable":true,"properties":{"id":{"type":"string","example":"642b0547-9d80-4d35-a085-fd977ef209ef","description":"Unique identifier for the manager.","x-sensitive-pii":true},"last_name":{"type":"string","example":"John","description":"The last name of the manager.","x-sensitive-pii":true},"worker_id":{"type":"number","example":30,"description":"The worker ID of the manager.","x-sensitive-pii":true},"first_name":{"type":"string","example":"Doe","description":"The first name of the manager.","x-sensitive-pii":true},"work_email":{"type":"string","example":"john.doe@example.com","nullable":true,"description":"The work email of the manager.","x-sensitive-pii":true}},"description":"The direct manager of the employee.","x-sensitive-pii":true},"direct_reports":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"642b0547-9d80-4d35-a085-fd977ef209ef","description":"Unique identifier for the direct report.","x-sensitive-pii":true},"last_name":{"type":"string","example":"John","description":"The last name of the direct report.","x-sensitive-pii":true},"first_name":{"type":"string","example":"Doe","description":"The first name of the direct report.","x-sensitive-pii":true},"work_email":{"type":"string","example":"john.doe@example.com","nullable":true,"description":"The work email of the direct report.","x-sensitive-pii":true}}},"nullable":true,"description":"The direct reports to the employee.","x-sensitive-pii":true},"completion_date":{"type":"string","example":"2023-06-20T00:00:00.000Z","nullable":true,"description":"The completion date of the task or project."},"new_hiring_status":{"type":"string","example":"onboarding_overdue","nullable":true,"description":"The new hiring status of the employee."},"client_legal_entity":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"00000000-0000-0000-0000-000000000000","nullable":true,"description":"Unique identifier of this resource."},"name":{"type":"string","example":"Acme Corporation","nullable":true,"description":"The name of the client legal entity."}},"description":"The primary client legal entity associated with the employee."},"preferred_last_name":{"type":"string","example":"Doe","nullable":true,"description":"The preferred last name of the employee.","x-sensitive-pii":true},"direct_reports_count":{"type":"integer","example":0,"description":"The count of direct reports to the employee."},"preferred_first_name":{"type":"string","example":"John","nullable":true,"description":"The preferred first name of the employee.","x-sensitive-pii":true},"hris_organization_user_id":{"type":"string","format":"uuid","example":"9b9fc43a-a90c-4615-ac50-baf1e314b53e","nullable":true,"description":"HRIS Organization User ID of the employee. Used in products like Deel Engage."},"active_worker_termination_status":{"enum":["PENDING","CONTRACT_TERMINATION_DATA_COLLECTED","IN_PROGRESS","COMPLETED","FAILED","CANCELED",null],"type":"string","example":"IN_PROGRESS","nullable":true,"description":"The status of the active worker termination."},"direct_employee_termination_last_day":{"type":"string","format":"date-time","example":"2023-03-21T10:27:25.950Z","description":"The last day of work mentioned on the primary contract termination."}}}},"page":{"type":"object","required":["total_rows","items_per_page","offset"],"properties":{"offset":{"type":"integer","format":"int32","maximum":999999999,"minimum":0,"nullable":false},"total_rows":{"type":"number","nullable":false},"items_per_page":{"type":"number","maximum":200,"minimum":1,"nullable":false}}}}}}},"description":"Successful response"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["message","code"],"properties":{"code":{"type":"string","example":"INTERNAL_SERVER_ERROR","description":"Error code identifying the type of error."},"details":{"type":"string","example":"An unexpected error occurred while processing the request.","nullable":true,"description":"Additional details about the error."},"message":{"type":"string","example":"Internal server error","description":"Error message describing what went wrong."}}}}}}},"description":"Internal Server Error"}},"parameters":[{"in":"query","name":"offset","schema":{"type":"integer","format":"int32","default":0,"maximum":999999999,"minimum":0},"example":150,"description":"Return a page of results with given number of records."},{"in":"query","name":"limit","schema":{"type":"integer","format":"int32","maximum":200,"minimum":1},"example":50,"description":"Return a page of results with given number of records."},{"in":"query","name":"search","schema":{"type":"string"},"example":"John Doe","description":"Include a contract if by name or contractor name contains given search term."},{"in":"query","name":"teams","schema":{"type":"array","items":{"type":"string","format":"uuid"}},"example":["00000000-0000-0000-0000-000000000000","642b0547-9d80-4d35-a085-fd977ef209ef"],"description":"Filter the results based on the team(group) the users contract is associated with"},{"in":"query","name":"fields","schema":{"type":"array","items":{"enum":["id","first_name","last_name","full_name","display_name","preferred_name","preferred_first_name","preferred_last_name","personal_id","country","country_name","state","email","personal_email","work_email","phoneNumbers","nationalities","personal_address","addresses","pic_url","birth_date","nestedCustomFields","start_date","hris_original_start_date","worker_id","external_id","direct_reports","direct_reports_count","direct_manager","work_location","custom_fields","new_hiring_status","hiring_status","job_title","seniority","custom_field_values","worker_relations","timezone","employments","employments[0].id","employments[0].name","employments[0].start_date","employments[0].job_title","employments[0].hiring_status","employments[0].new_hiring_status","employments[0].seniority","employments[0].email","employments[0].work_email","employments[0].employee_number","employments[0].hiring_type","employments[0].team","employments[0].timezone","employments[0].client_legal_entity","employments[0].payment","employments[0].country","employments[0].state","employments[0].contract_status","employments[0].contract_type","employments[0].hris_service_provider","employments[0].hris_direct_employee_invitation","employments[0].voluntarily_left","employments[0].has_eor_termination","employments[0].contract_is_archived","employments[0].completion_date","employments[0].contract_has_contractor","employments[0].is_ended","employments[0].is_user_contract_deleted","employments[0].contract_coverage","employments[0].currency","employments[0].is_amending","employments[0].client_legal_entity_id","employments[0].is_eor_consultant_contract","employments[0].is_interview_process_required","employments[0].contract_timezone","employments[0].amendment_status","employments[0].pay_date","employments[0].termination_last_day","employments[0].custom_field_values","employments[0].hris_is_active","employments[0].isPrimary","employments[0].compensation_band_id","employments[0].band_placement","employments[0].comparative_ratio","direct_employee_termination_state","is_user_contract_deleted","orgStructures","ooo","is_ended","hris_service_provider","contract_types","contract_coverage","payments","pay_date","nextPayment","lastPayment","hourly_report_total","monthly_payment","hris_is_active","department","currency","contract_is_archived","termination_last_day","completion_date","hiring_type","worker_entity_name","client_legal_entity","parent_relations","child_relations","worker_termination_last_date_of_work","active_worker_termination_status","org_structures"],"type":"string"}},"example":["first_name","last_name","email"],"description":"Pick the fields you want to see in the response in order to avoid a bloated people list output. Supports dot notation (e.g., 'employments[0].contract_status') to access nested fields."},{"in":"query","name":"sort_by","schema":{"enum":["id","first_name","last_name","full_name","email","country","birth_date","hiring_type","start_date","team","job_title","hiring_status","completion_date","direct_manager","direct_reports_count","band_placement","comparative_ratio"],"type":"string"},"example":"hiring_status","description":"Sort people by given field name."},{"in":"query","name":"sort_order","schema":{"enum":["asc","desc"],"type":"string"},"example":"asc","description":"Order direction of results; ascending or descending."},{"in":"query","name":"hiring_statuses","schema":{"type":"array","items":{"enum":["pending_invite","draft","invited","onboarding","onboarding_at_risk","onboarding_overdue","onboarded","offboarding","active","inactive","in_review","quote_requires_changes"],"type":"string"}},"example":["active","onboarded"],"description":"Employee's current hiring status."},{"in":"query","name":"band_placements","schema":{"type":"array","items":{"enum":["ABOVE","WITHIN","BELOW"],"type":"string"}},"example":["ABOVE","WITHIN"],"description":"Employee's current band placement."},{"in":"query","name":"comparative_ratios_from","schema":{"type":"number","format":"float"},"example":1.1,"description":"Employee's minimum band placement"},{"in":"query","name":"comparative_ratios_to","schema":{"type":"number","format":"float"},"example":1.1,"description":"Employee's maximum band placement"},{"in":"query","name":"hiring_types","schema":{"type":"array","items":{"enum":["contractor","eor","peo","hris_direct_employee","hris_direct_contractor","direct_employee","contractor_outside_deel","person_without_contract"],"type":"string"}},"example":["eor","contractor"],"required":false,"description":"Filter people by hiring types"},{"in":"query","name":"person_statuses","schema":{"type":"array","items":{"enum":["ACTIVE","OFFBOARDING","NOT_STARTED","INACTIVE"],"type":"string"}},"example":["ACTIVE","INACTIVE"],"description":"Filter people by person (worker profile) lifecycle status."}],"security":[{"deelToken":[]},{"oauth2":["people:read"]}]},"post":{"tags":["People"],"summary":"Create a direct employee","operationId":"createADirectEmployee","description":"Create employee hired under your own entity to Deel's HRIS. Manage your employee through Deel and export a payroll report to your own providers.\n **Token scopes**: `people:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","employee","employment","compensation_details"],"properties":{"id":{"type":"string","format":"uuid","example":"f47ac10b-58cc-4372-a567-0e02b2c3d479","description":"The unique identifier of the created employee record"},"employee":{"type":"object","required":["first_name","last_name","email","nationality"],"properties":{"email":{"type":"string","format":"email","example":"email@email.com","maxLength":255,"minLength":3,"description":"The personal email of the person being hired"},"last_name":{"type":"string","example":"Doe","maxLength":100,"minLength":3,"description":"The last name of the person being hired"},"first_name":{"type":"string","example":"John","maxLength":100,"minLength":3,"description":"The first name of the person being hired"},"work_email":{"type":"string","format":"email","example":"work@email.com","maxLength":255,"minLength":3,"description":"The work email of the person being hired"},"external_id":{"type":"string","example":"1234","description":"An external identifier for the person being hired"},"nationality":{"type":"string","example":"BR","maxLength":2,"minLength":2,"description":"The nationality of the person being hired"}},"description":"The person that is being hired"},"employment":{"type":"object","required":["start_date","type","country","end_date","job_title","seniority","contract_id"],"properties":{"type":{"enum":["FULL_TIME","PART_TIME"],"type":"string","example":"FULL_TIME","description":"The type of employment"},"country":{"type":"string","example":"US","maxLength":2,"minLength":2,"description":"The country of the employment"},"end_date":{"type":"string","format":"date","example":"2029-01-01","description":"The end date of the employment"},"job_title":{"type":"string","example":"Software Engineer","description":"The job title of the employment"},"seniority":{"type":"string","example":"Senior","description":"The seniority of the employment"},"start_date":{"type":"string","format":"date","example":"2020-01-01","description":"The start date of the employment"},"contract_id":{"type":"string","example":"3w6pd6r","description":"The unique identifier of the worker contract"},"part_time_percentage":{"type":"number","example":23,"maximum":99,"minimum":1,"description":"The percentage of PART_TIME employment"}},"description":"The employment details of the employee"},"compensation_details":{"type":"object","required":["currency","salary"],"properties":{"scale":{"enum":["ANNUAL","MONTHLY","SEMIMONTHLY","BIWEEKLY","WEEKLY","DAILY","HOURLY"],"type":"string","default":"ANNUAL","example":"ANNUAL","description":"The scale at which the salary is paid"},"salary":{"type":"number","format":"float","example":10000,"minimum":0,"description":"The salary of the employee"},"currency":{"type":"string","example":"USD","maxLength":3,"minLength":3,"description":"The currency of the salary"}},"description":"The compensation details of the employee"}}}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"VALIDATION_ERROR","description":"Error code identifying the type of error"},"details":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","example":"employee.email","description":"The field that caused the error"},"message":{"type":"string","example":"Invalid email format","description":"Description of the validation error"}}},"description":"List of validation errors"},"message":{"type":"string","example":"Invalid request body","description":"Human readable error message"}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"INTERNAL_ERROR","description":"Error code identifying the type of error"},"message":{"type":"string","example":"An unexpected error occurred","description":"Human readable error message"}}}}}}},"description":"Operation failed."}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["people:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["employee","client","employment","compensation_details"],"properties":{"client":{"type":"object","required":["legal_entity","team"],"properties":{"team":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","example":"cbb25647-31e0-485d-9d5f-bdd48296aa1e","description":"The team that the employee is part of"},"direct_manager_id":{"type":"string","format":"uuid","example":"0d60f277-f66f-4fca-a5c8-c5c642924505","description":"The direct manager of the employee"}},"description":"The team information for the employee"},"department":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","example":"518c6bee-d798-4785-930f-535f09f3453d","description":"The department that the employee is part of"}},"description":"The department information for the employee"},"legal_entity":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","example":"cfebc769-abe9-4646-83b9-28cf79f23a0d","description":"The legal entity that the employee is part of"}},"description":"The legal entity information for the employee"}},"description":"The entity that is hiring the employee"},"employee":{"type":"object","required":["first_name","last_name","email","nationality","country"],"properties":{"email":{"type":"string","format":"email","example":"email@email.com","maxLength":255,"minLength":3,"description":"The personal email of the person being hired"},"state":{"type":"string","example":"CA","maxLength":50,"minLength":1,"description":"The state of the person being hired"},"country":{"type":"string","example":"US","maxLength":2,"minLength":2,"description":"The country of the person being hired"},"last_name":{"type":"string","example":"Doe","maxLength":100,"minLength":3,"description":"The last name of the person being hired"},"first_name":{"type":"string","example":"John","maxLength":100,"minLength":3,"description":"The first name of the person being hired"},"work_email":{"type":"string","format":"email","example":"work@email.com","maxLength":255,"minLength":3,"description":"The work email of the person being hired"},"external_id":{"type":"string","example":"1234","description":"An external identifier for the person being hired"},"nationality":{"type":"string","example":"BR","maxLength":2,"minLength":2,"description":"The nationality of the person being hired"}},"description":"The person that is being hired"},"employment":{"oneOf":[{"type":"object","required":["start_date","type","part_time_percentage","job_title","seniority"],"properties":{"type":{"enum":["PART_TIME"],"type":"string","example":"PART_TIME","description":"The type of employment"},"end_date":{"type":"string","format":"date","example":"2029-01-01","description":"The end date of the employment"},"job_title":{"type":"string","example":"Software Engineer","description":"The job title of the employment"},"seniority":{"type":"string","example":"Senior","description":"The seniority of the employment"},"start_date":{"type":"string","format":"date","example":"2020-01-01","description":"The start date of the employment"},"document_template_id":{"type":"string","format":"uuid","example":"a1b2c3d4-e5f6-7890-abcd-ef1234567890","description":"The document template ID for the employment contract"},"part_time_percentage":{"type":"number","example":23,"maximum":99,"minimum":1,"description":"The percentage of PART_TIME employment"}}},{"type":"object","required":["start_date","type","job_title","seniority"],"properties":{"type":{"enum":["FULL_TIME"],"type":"string","example":"FULL_TIME","description":"The type of employment"},"end_date":{"type":"string","format":"date","example":"2029-01-01","description":"The end date of the employment"},"job_title":{"type":"string","example":"Software Engineer","description":"The job title of the employment"},"seniority":{"type":"string","example":"Senior","description":"The seniority of the employment"},"start_date":{"type":"string","format":"date","example":"2020-01-01","description":"The start date of the employment"},"document_template_id":{"type":"string","format":"uuid","example":"a1b2c3d4-e5f6-7890-abcd-ef1234567890","description":"The document template ID for the employment contract"}}}],"example":{"type":"FULL_TIME","job_title":"Software Engineer","seniority":"Senior","start_date":"2020-01-01"},"description":"The employment details of the employee"},"compensation_details":{"type":"object","required":["currency","salary"],"properties":{"scale":{"enum":["ANNUAL","MONTHLY","SEMIMONTHLY","BIWEEKLY","WEEKLY","DAILY","HOURLY"],"type":"string","default":"ANNUAL","example":"ANNUAL","description":"The scale at which the salary is paid"},"salary":{"type":"number","format":"float","example":10000,"minimum":0,"description":"The salary of the employee"},"currency":{"type":"string","example":"USD","maxLength":3,"minLength":3,"description":"The currency of the salary"}},"description":"The compensation details of the employee"}}}}}}},"required":true}}},"/payouts/employees/methods":{"get":{"tags":["Payouts"],"summary":"Get Bank Details","operationId":"getBankDetails","description":"Get Bank Details\n **Token scopes**: `worker:read`, `worker:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"fd64ee5a-d4bf-49c4-a83e-60ab24a80b99","description":"Unique identifier for the bank details"},"data":{"type":"object","properties":{"city":{"type":"string","example":"City","description":"Name of the city"},"iban":{"type":"string","example":"FI6300001111222233","description":"International Bank Account Number"},"postal":{"type":"string","example":"102030","description":"Postal code"},"bank_name":{"type":"string","example":"BANK NAME","description":"Name of the bank"},"full_name":{"type":"string","example":"FULL NAME","description":"Full name of the account holder"},"swift_bic":{"type":"string","example":"FIXXXXFI","description":"SWIFT/BIC code"},"country_code":{"type":"string","example":"FI","description":"Country code"},"address_line1":{"type":"string","example":"Address Line","description":"Address line 1"},"original_name":{"type":"string","example":"ORIGINAL NAME V2","description":"Original name of the account holder"},"province_state":{"type":"string","example":"Province","description":"Province or state"},"bank_country_code":{"type":"string","example":"FI","description":"Country code of the bank"}}},"status":{"type":"string","example":"APPROVED","description":"Status of the bank details"},"version":{"type":"string","example":"8fb84054-9100-40cb-b0cf-a180decbbfc7","description":"Version identifier"},"created_at":{"type":"string","example":"2024-11-28T11:22:11.499Z","description":"Creation timestamp"},"updated_at":{"type":"string","example":"2024-11-28T11:56:54.082Z","description":"Last update timestamp"},"is_active_version":{"type":"boolean","example":true,"description":"Indicates if this is the active version"},"funds_distribution":{"type":"number","example":0,"description":"Funds distribution percentage"}}},"example":[{"id":"fd64ee5a-d4bf-49c4-a83e-60ab24a80b99","data":{"city":"City","iban":"FI6300001111222233","postal":"102030","bank_name":"BANK NAME","full_name":"FULL NAME","swift_bic":"FIXXXXFI","country_code":"FI","address_line1":"Address Line","original_name":"ORIGINAL NAME V2","province_state":"Province","bank_country_code":"FI"},"status":"APPROVED","version":"8fb84054-9100-40cb-b0cf-a180decbbfc7","created_at":"2024-11-28T11:22:11.499Z","updated_at":"2024-11-28T11:56:54.082Z","is_active_version":true,"funds_distribution":0},{"id":"cddad0e1-97f1-446c-b322-5d6acd24fbca","data":{"city":"City","iban":"ES60X0542811101000000123456","postal":"102030","bank_name":"BANK NAME","full_name":"FULL NAME","swift_bic":"FIXXXXFI","country_code":"ES","address_line1":"Address Line","original_name":"ORIGINAL NAME","province_state":"Province","bank_country_code":"ES"},"status":"APPROVED","version":"12d1145d-dc5e-4753-97ab-4bd9596e1543","created_at":"2024-11-28T11:55:44.322Z","updated_at":"2024-11-28T11:56:54.082Z","is_active_version":true,"funds_distribution":0},{"id":"230e7bf0-6c3e-426a-992c-7cff124561ff","data":{"city":"City","iban":"IT60X0542811101000000123456","postal":"102030","bank_name":"BANK NAME","full_name":"FULL NAME","swift_bic":"FIXXXXFI","country_code":"IT","address_line1":"Address Line","original_name":"ORIGINAL NAME","province_state":"Province","bank_country_code":"IT"},"status":"APPROVED","version":"f278fcff-0ffb-420c-8207-929b926638a0","created_at":"2024-11-28T11:56:54.057Z","updated_at":"2024-11-28T11:56:54.091Z","is_active_version":true,"funds_distribution":100}]}}},"examples":{"Get Bank Details":{"value":{"data":[{"id":"fd64ee5a-d4bf-49c4-a83e-60ab24a80b99","data":{"city":"City","iban":"FI6300001111222233","postal":"102030","bank_name":"BANK NAME","full_name":"FULL NAME","swift_bic":"FIXXXXFI","country_code":"FI","address_line1":"Address Line","original_name":"ORIGINAL NAME V2","province_state":"Province","bank_country_code":"FI"},"status":"APPROVED","version":"8fb84054-9100-40cb-b0cf-a180decbbfc7","created_at":"2024-11-28T11:22:11.499Z","updated_at":"2024-11-28T11:56:54.082Z","is_active_version":true,"funds_distribution":0},{"id":"cddad0e1-97f1-446c-b322-5d6acd24fbca","data":{"city":"City","iban":"ES60X0542811101000000123456","postal":"102030","bank_name":"BANK NAME","full_name":"FULL NAME","swift_bic":"FIXXXXFI","country_code":"ES","address_line1":"Address Line","original_name":"ORIGINAL NAME","province_state":"Province","bank_country_code":"ES"},"status":"APPROVED","version":"12d1145d-dc5e-4753-97ab-4bd9596e1543","created_at":"2024-11-28T11:55:44.322Z","updated_at":"2024-11-28T11:56:54.082Z","is_active_version":true,"funds_distribution":0},{"id":"230e7bf0-6c3e-426a-992c-7cff124561ff","data":{"city":"City","iban":"IT60X0542811101000000123456","postal":"102030","bank_name":"BANK NAME","full_name":"FULL NAME","swift_bic":"FIXXXXFI","country_code":"IT","address_line1":"Address Line","original_name":"ORIGINAL NAME","province_state":"Province","bank_country_code":"IT"},"status":"APPROVED","version":"f278fcff-0ffb-420c-8207-929b926638a0","created_at":"2024-11-28T11:56:54.057Z","updated_at":"2024-11-28T11:56:54.091Z","is_active_version":true,"funds_distribution":100}]}}}}},"description":"Get Bank Details"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"security":[{"deelToken":[]},{"oauth2":["worker:read","worker:write"]}]},"post":{"tags":["Payouts"],"summary":"Add/Edit Bank Details","operationId":"addEditBankDetails","description":"Add/Edit Bank Details\n **Token scopes**: `worker:read`, `worker:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","example":"230e7bf0-6c3e-426a-992c-7cff124561ff","description":"Unique identifier for the bank details"},"data":{"type":"object","properties":{"city":{"type":"string","example":"City","description":"Name of the city"},"iban":{"type":"string","example":"IT60X0542811101000000123456","description":"International Bank Account Number"},"postal":{"type":"string","example":"102030","description":"Postal code"},"bank_name":{"type":"string","example":"BANK NAME","description":"Name of the bank"},"full_name":{"type":"string","example":"FULL NAME","description":"Full name of the account holder"},"swift_bic":{"type":"string","example":"FIXXXXFI","description":"SWIFT/BIC code"},"country_code":{"type":"string","example":"IT","description":"Country code"},"address_line1":{"type":"string","example":"Address Line","description":"Address line 1"},"original_name":{"type":"string","example":"ORIGINAL NAME","description":"Original name of the account holder"},"province_state":{"type":"string","example":"Province","description":"Province or state"},"bank_country_code":{"type":"string","example":"IT","description":"Country code of the bank"}}},"status":{"type":"string","example":"APPROVED","description":"Status of the bank details"},"version":{"type":"string","example":"f278fcff-0ffb-420c-8207-929b926638a0","description":"Version identifier"},"created_at":{"type":"string","example":"2024-11-28T11:56:54.057Z","description":"Creation timestamp"},"updated_at":{"type":"string","example":"2024-11-28T11:56:54.091Z","description":"Last update timestamp"},"is_active_version":{"type":"boolean","example":true,"description":"Indicates if this is the active version"},"funds_distribution":{"type":"number","example":100,"description":"Funds distribution percentage"}}}}},"examples":{"Add Bank Details":{"value":{"data":{"id":"230e7bf0-6c3e-426a-992c-7cff124561ff","data":{"city":"City","iban":"IT60X0542811101000000123456","postal":"102030","bank_name":"BANK NAME","full_name":"FULL NAME","swift_bic":"FIXXXXFI","country_code":"IT","address_line1":"Address Line","original_name":"ORIGINAL NAME","province_state":"Province","bank_country_code":"IT"},"status":"APPROVED","version":"f278fcff-0ffb-420c-8207-929b926638a0","created_at":"2024-11-28T11:56:54.057Z","updated_at":"2024-11-28T11:56:54.091Z","is_active_version":true,"funds_distribution":100}}},"Edit Bank Details":{"value":{"data":{"id":"230e7bf0-6c3e-426a-992c-7cff124561ff","data":{"city":"City","iban":"IT60X0542811101000000123456","postal":"102030","bank_name":"BANK NAME","full_name":"FULL NAME","swift_bic":"FIXXXXFI","country_code":"IT","address_line1":"Address Line","original_name":"EDITED ORIGINAL NAME","province_state":"Province","bank_country_code":"IT"},"status":"APPROVED","version":"4a4c5b41-ef11-42ea-b905-6f4beb1d4173","created_at":"2024-11-28T12:21:31.712Z","updated_at":"2024-11-28T12:21:31.818Z","is_active_version":true,"funds_distribution":100}}}}}},"description":"Add Bank Details / Edit Bank Details"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"security":[{"deelToken":[]},{"oauth2":["worker:read","worker:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","example":"230e7bf0-6c3e-426a-992c-7cff124561ff","description":"Unique identifier for the bank details"},"payload":{"type":"object","properties":{"city":{"type":"string","example":"City","description":"Name of the city"},"iban":{"type":"string","example":"IT60X0542811101000000123456","description":"International Bank Account Number"},"postal":{"type":"string","example":"102030","description":"Postal code"},"bank_name":{"type":"string","example":"BANK NAME","description":"Name of the bank"},"full_name":{"type":"string","example":"FULL NAME","description":"Full name of the account holder"},"swift_bic":{"type":"string","example":"FIXXXXFI","description":"SWIFT/BIC code"},"country_code":{"type":"string","example":"IT","description":"Country code"},"address_line1":{"type":"string","example":"Address Line","description":"Address line 1"},"original_name":{"type":"string","example":"EDITED ORIGINAL NAME","description":"Original name of the account holder"},"province_state":{"type":"string","example":"Province","description":"Province or state"},"bank_country_code":{"type":"string","example":"IT","description":"Country code of the bank"}},"description":"Payload containing bank details"}},"description":"Request data"}}},"examples":{"Add/Edit Bank Details":{"value":{"data":{"id":"230e7bf0-6c3e-426a-992c-7cff124561ff","payload":{"city":"City","iban":"IT60X0542811101000000123456","postal":"102030","bank_name":"BANK NAME","full_name":"FULL NAME","swift_bic":"FIXXXXFI","country_code":"IT","address_line1":"Address Line","original_name":"EDITED ORIGINAL NAME","province_state":"Province","bank_country_code":"IT"}}}}}}}}}},"/screenings/verification-method":{"get":{"tags":["Screenings"],"summary":"Get verification method","operationId":"getVerificationMethod","description":"Get verification method by provided country and document type\n **Token scopes**: `screenings:read`, `worker:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["verification_method"],"properties":{"verification_method":{"type":"string","example":"veriff","description":"The supported method for KYC"}}}}}}},"description":"Successful operation"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"query","name":"country","schema":{"type":"string","maxLength":2,"minLength":2},"example":"CA","required":true,"description":"The document's issuing country code (ISO 3166-1 alpha-2)"},{"in":"query","name":"document_type","schema":{"enum":["passport","government_id","driving_license","other"],"type":"string"},"example":"driving_license","required":true,"description":"The document to be provided during KYC"}],"security":[{"deelToken":[]},{"oauth2":["screenings:read","worker:read"]}]}},"/payouts/employees/methods/{id}":{"delete":{"tags":["Payouts"],"summary":"Delete Bank Details","operationId":"deleteBankDetails","description":"Delete Bank Details\n **Token scopes**: `worker:read`, `worker:write`","responses":{"200":{"content":{},"description":"Delete Bank Details"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"id","schema":{"type":"string"},"example":"d290f1ee-6c54-4b01-90e6-d701748f0851","required":true,"description":"method ID"}],"security":[{"deelToken":[]},{"oauth2":["worker:read","worker:write"]}]}},"/daas/payslips":{"get":{"tags":["Deel As a Service"],"summary":"Get list of payslips for an EOR employee","operationId":"getEorEmployeePayslips","description":"Get list of payslips for an EOR employee.\n **Token scopes**: `worker:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","from","to","filename","status","rejected_at","reject_reason","uploaded_at","published_at","schedule_publishing_date","created_at","updated_at","url"],"properties":{"id":{"type":"string","example":"9K1rw5vwkZX2","description":"Unique identifier for the payslip record."},"to":{"type":"string","format":"date-time","example":"2023-08-01T00:00:00.000Z","description":"End date of the payment period."},"url":{"type":"string","example":"http://example.com/file.pdf","description":"URL"},"from":{"type":"string","format":"date-time","example":"2023-08-01T00:00:00.000Z","description":"Start date of the payment period."},"status":{"type":"string","example":"PENDING","description":"Status of the payslip (e.g., 'Pending', 'Processed')."},"created_at":{"type":"string","format":"date-time","example":"2023-08-01T00:00:00.000Z","description":"Creation date"},"updated_at":{"type":"string","format":"date-time","example":"2023-08-01T00:00:00.000Z","description":"Last update date"},"rejected_at":{"type":"string","format":"date-time","example":"2023-08-01T00:00:00.000Z","description":"Rejection date"},"uploaded_at":{"type":"string","format":"date-time","example":"2023-08-01T00:00:00.000Z","description":"Upload date"},"published_at":{"type":"string","format":"date-time","example":"2023-08-01T00:00:00.000Z","description":"Publish date"},"reject_reason":{"type":"string","example":"Something went wrong","description":"Rejection reason"},"schedule_publishing_date":{"type":"string","format":"date-time","example":"2023-08-01T00:00:00.000Z","description":"Scheduled for publishing date"}}}}}}}},"description":"Payslip records successfully retrieved."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["worker:read"]}]}},"/ats/candidates/{candidate_id}/tags":{"post":{"tags":["ATS"],"summary":"Create candidate tags","operationId":"createCandidateTags-v2026-02-27","description":"This endpoint replaces all existing tags associated with a candidate with a new set. Use this when updating candidate tags is necessary.\n **Token scopes**: `ats:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"a1b2c3d4-e5f6-7890-abcd-ef1234567890","description":"Unique identifier of the candidate-tag association."},"tag_id":{"type":"string","format":"uuid","example":"b2c3d4e5-f6a7-8901-bcde-f12345678901","description":"Unique identifier of the tag."},"created_at":{"type":"string","format":"date-time","example":"2026-02-26T12:00:00.000Z","description":"When the association was created."},"candidate_id":{"type":"string","format":"uuid","example":"c3d4e5f6-a7b8-9012-cdef-123456789012","description":"Unique identifier of the candidate."}}},"description":"List of created candidate-tag associations."}}}}},"description":"Successfully created"},"400":{"content":{"application/json":{"schema":{"type":"object","required":["status_code","timestamp","path","errors"],"properties":{"path":{"type":"string","description":"Request URL path"},"errors":{"type":"array","items":{"type":"object","required":["code","message","field"],"properties":{"code":{"type":"string","example":"invalid_parameter","description":"Error code"},"field":{"type":"string","example":"start_date","description":"Request field related to the error, if applicable"},"message":{"type":"string","example":"start_date is required","description":"Human-readable error message"}}},"description":"List of error objects"},"timestamp":{"type":"string","format":"date-time","description":"Time when the error occurred"},"status_code":{"type":"integer","example":400,"description":"HTTP status code"}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","required":["status_code","timestamp","path"],"properties":{"path":{"type":"string","description":"Request URL path"},"timestamp":{"type":"string","format":"date-time","description":"Time when the error occurred"},"status_code":{"type":"integer","example":500,"description":"HTTP status code"}}}}},"description":"Operation failed."}},"parameters":[{"in":"path","name":"candidate_id","schema":{"type":"string","format":"uuid"},"example":"c3d4e5f6-a7b8-9012-cdef-123456789012","required":true,"description":"The unique identifier of the candidate."}],"security":[{"deelToken":[]},{"oauth2":["ats:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["tag_ids"],"properties":{"tag_ids":{"type":"array","items":{"type":"string","format":"uuid"},"minItems":1,"description":"List of tag IDs to associate with the candidate"}}}}},"required":true}}},"/lookups/seniorities":{"get":{"tags":["Lookups"],"summary":"Retrieve Seniority Levels","operationId":"retrieveSeniorityLevels","description":"Retrieve a list of predefined seniority levels for roles in the Deel platform, including their names, hierarchical levels, and unique identifiers.","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","required":["id","name"],"properties":{"id":{"type":"integer","format":"int64","example":1,"description":"A unique identifier for the seniority level."},"name":{"type":"string","example":"Mid (Individual Contributor Level 2)","nullable":false,"minLength":1,"description":"The name of the seniority level, e.g., 'Mid (Individual Contributor Level 2)'."},"level":{"type":"number","example":2,"nullable":true,"description":"The hierarchical level of seniority, where higher numbers indicate greater seniority."}}},"description":"List of predefined seniority levels supported by the Deel platform."}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"query","name":"is_eor_contract","schema":{"type":"boolean","default":true},"example":true,"required":false,"description":"when `true`, exclude C-level seniorities for EOR contracts. Set to `false` to return all seniorities"}],"security":[{"deelToken":[]},{"oauth2":[]}]}},"/equity/exercise/{public_id}":{"patch":{"tags":["Contracts"],"summary":"Approve an equity exercise","operationId":"approveAnEquityExercise-v2026-01-01","description":"Approve an equity exercise.\n **Token scopes**: `contracts:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["id","status","created_at","updated_at","employer_approval"],"properties":{"id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000","description":"Unique identifier of the equity exercise."},"status":{"type":"string","example":"approved","description":"The current status of the equity exercise, e.g., 'approved' or 'pending'."},"created_at":{"type":"string","format":"date","example":"2023-05-01","description":"The date when the equity exercise was created."},"updated_at":{"type":"string","format":"date","example":"2023-05-05","description":"The date when the equity exercise was last updated."},"employer_approval":{"type":"string","example":"approved","description":"Indicates whether the employer has approved the equity exercise. Valid values: 'approved', 'rejected'."}}}}},"description":"Successful operation"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Authentication required. Please provide a valid access token.","description":"Describes the authentication failure reason."}}},"minItems":1}}},"example":{"errors":[{"message":"Authentication required. Please provide a valid access token."}]}}},"description":"Authentication failed. The access token is missing, expired, or invalid."},"403":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"You do not have permission to access this resource.","description":"Describes the authorization failure reason."}}},"minItems":1}}},"example":{"errors":[{"message":"You do not have permission to access this resource."}]}}},"description":"Access denied. The authenticated user does not have the required contracts:write scope."},"404":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Equity exercise request not found","description":"Describes why the resource was not found. Can indicate an invalid public_id, a wrong exercise request status, or a missing associated profile."}}},"minItems":1}}},"example":{"errors":[{"message":"Equity exercise request not found"}]}}},"description":"Resource not found. The equity exercise request does not exist, is not in the required status (APPROVED_BY_EMPLOYEE), or its associated worker profile was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Too many requests. Please retry after some time.","description":"Indicates rate limiting. Implement exponential backoff before retrying."}}},"minItems":1}}},"example":{"errors":[{"message":"Too many requests. Please retry after some time."}]}}},"description":"Rate limit exceeded."},"500":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"An unexpected error occurred while processing your request. Please try again later.","description":"General error description for logging and debugging."}}},"minItems":1}}},"example":{"errors":[{"message":"An unexpected error occurred while processing your request. Please try again later."}]}}},"description":"Internal server error. Occurs when an unexpected failure happens during approval processing (e.g., funding task creation failure). The exercise request status may be set to ERROR."}},"parameters":[{"in":"path","name":"public_id","schema":{"type":"string","format":"uuid"},"example":"123e4567-e89b-12d3-a456-426614174000","required":true,"description":"Equity exercise public ID."}],"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["employer_approval"],"properties":{"employer_approval":{"type":"string","example":"approved","description":"Approval decision by the employer for the equity exercise. Valid values: 'approved', 'rejected'."}}}}},"required":true}}},"/payouts/contractors/methods/{id}":{"put":{"tags":["Payouts"],"summary":"Update a bank transfer method","operationId":"updateBankTransferMethod","description":"Updates a bank transfer method\n **Token scopes**: `worker:read`, `worker:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"id":{"type":"string","example":"123e4567-e89b-12d3-a456-426614174000","description":"Unique identifier for the bank transfer method"},"status":{"enum":["pending","verifying","failed","approved"],"type":"string","example":"approved","description":"Status of the method. Can be `pending`, `verifying`, `failed`, or `approved`"}}}}},"example":{"data":{"id":"123e4567-e89b-12d3-a456-426614174000","status":"approved"}}}},"description":"Bank transfer method created successfully."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"id","schema":{"type":"string"},"example":"d290f1ee-6c54-4b01-90e6-d701748f0851","required":true,"description":"Method unique identifier"}],"security":[{"deelToken":[]},{"oauth2":["worker:read","worker:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["payment_method","address","payload","selected_option"],"properties":{"address":{"type":"object","required":["first_line","country","post_code","city"],"properties":{"city":{"type":"string","example":"San Francisco","description":"City name"},"state":{"type":"string","example":"CA","description":"State code"},"country":{"type":"string","example":"US","pattern":"^[A-Z]{2}$","description":"Country code"},"post_code":{"type":"string","example":"210000","description":"Post code"},"first_line":{"type":"string","example":"First Line","description":"First line of the address"}}},"payload":{"type":"object","example":{"currency":"US","swiftCode":"DBDBRSBG","intermediary":{"bic":"RSDASDS","country":"DE"},"accountNumber":"SA0380000000608010167222","accountHolderName":"John Doe"},"description":"Dynamic properties based on selected option. For example, if `selectedOption` is `swift_code`, payload may include `swiftCode`, `accountHolderName`, and `accountNumber`.","additionalProperties":true},"is_default":{"type":"boolean","example":true,"description":"Specifies if the method is the default payout method - if true, autowithdrawal will be enabled for the contractor using this method"},"method_name":{"type":"string","example":"Bank Method","description":"Name for method"},"payment_method":{"enum":["bank_transfer"],"type":"string","example":"bank_transfer","description":"Specifies the type of payment method"},"selectedOption":{"type":"string","example":"swift_code","description":"Specifies the type of bank transfer method. Maps from requirements type field"}}}}},"example":{"data":{"name":"Bank Method","address":{"city":"San Francisco","state":"CA","country":"US","post_code":"22406","first_line":"First Line"},"payload":{"currency":"USD","swiftCode":"DBDBRSBG","intermediary":{"bic":"RSDASDS","country":"US"},"accountNumber":"SA0380000000608010165443","accountHolderName":"John Doe"},"is_default":true,"payment_method":"bank_transfer","selected_option":"swift_code"}}}},"required":true}}},"/benefits/legal-entities/{id}/401k/plans/clean-up":{"post":{"tags":["Plans 401K"],"summary":"Clean up plan for a given legal entity","operationId":"cleanUpPlanForAGivenLegalEntity-v2026-01-01","description":"Clean up plan for a given legal entity\n **Token scopes**: `benefits:write`","responses":{"202":{"content":{"application/json":{"schema":{"type":"object","example":{}}}},"description":"Request accepted, processing asynchronously."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"id","schema":{"type":"string"},"example":"9585241d-2387-4d80-abea-cea4dde4807d","required":true,"description":"Id from the legal entity to clean up"}],"security":[{"deelToken":[]},{"oauth2":["benefits:write"]}]}},"/contracts/{contract_id}/off-cycle-payments/{id}":{"get":{"tags":["Off-cycle Payments"],"summary":"Retrieve a single off-cycle payment","operationId":"getOffCyclePaymentByContractAndId","description":"Retrieve a single off-cycle payment.\n **Token scopes**: `off-cycle-payments:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","status","description","date_submitted","created_at","currency_code","amount","reported_by"],"properties":{"id":{"type":"string","format":"uuid","example":"f47ac10b-58cc-4372-a567-0e02b2c3d479","description":"Unique identifier for the off-cycle payment."},"amount":{"type":"string","example":"1500.00","nullable":false,"description":"Amount of the off-cycle payment."},"status":{"enum":["approved","declined","not_payable","paid","pending","processing",null],"type":"string","example":"approved","nullable":true,"description":"Current status of the off-cycle payment."},"created_at":{"type":"string","format":"date-time","example":"2023-11-25T12:34:56Z","nullable":false,"description":"Timestamp of when the off-cycle payment was created."},"description":{"type":"string","example":"Bonus payment for Q3","nullable":false,"description":"Description of the off-cycle payment."},"reported_by":{"type":"object","nullable":false,"required":["id"],"properties":{"id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000","description":"Unique identifier of the reporter."},"full_name":{"type":"string","example":"John Doe","nullable":false,"description":"Full name of the person who reported the payment.","x-sensitive-pii":true}}},"currency_code":{"type":"string","example":"USD","pattern":"^[A-Z]{3}$","maxLength":3,"minLength":3,"description":"ISO 4217 currency code of the payment."},"date_submitted":{"type":"string","format":"date-time","example":"2023-11-25T08:00:00Z","nullable":false,"description":"Timestamp of when the payment was submitted."}}}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"mqj9gkr","required":true,"description":"Deel contract id."},{"in":"path","name":"id","schema":{"type":"string","format":"uuid"},"example":"f47ac10b-58cc-4372-a567-0e02b2c3d479","required":true,"description":"Deel off-cycle payment id."}],"security":[{"deelToken":[]},{"oauth2":["off-cycle-payments:read"]}]}},"/screenings/kyc/details":{"get":{"tags":["Screenings"],"summary":"Get worker's KYC details","operationId":"getWorkersKycDetails","description":"This endpoint allows organizations managing workers on Deel to retrieve detailed KYC verification data using the worker’s profile ID. It provides comprehensive information including verification status, document type, submission, approval, rejection, and expiry dates, supporting compliance monitoring and onboarding workflows\n **Token scopes**: `screenings:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["kyc_status","identity_document_type","submission_date","approval_date","expiration_date","rejection_date","created_at","updated_at","document_extracted_middle_name"],"properties":{"created_at":{"type":"string","format":"date-time","example":"2024-01-15T07:30:00Z","nullable":true,"description":"The date and time when the KYC screening was created"},"kyc_status":{"enum":["APPROVED","REJECTED","PENDING_REVIEW","EXPIRED","EXPIRING_SOON","NOT_SUBMITTED","NOT_REQUESTED"],"type":"string","example":"APPROVED","description":"The current KYC verification status of the profile"},"updated_at":{"type":"string","format":"date-time","example":"2025-01-15T17:30:00Z","nullable":true,"description":"The date and time when the KYC screening was last updated"},"approval_date":{"type":"string","format":"date-time","example":"2024-01-16T14:20:00Z","nullable":true,"description":"The date and time when the KYC screening was approved (null if not approved)"},"rejection_date":{"type":"string","format":"date-time","example":"2024-01-16T14:20:00Z","nullable":true,"description":"The date and time when the KYC screening was rejected (null if not rejected or pending review for Veriff)"},"expiration_date":{"type":"string","format":"date-time","example":"2025-01-15T10:30:00Z","nullable":true,"description":"The date and time when the KYC screening expires (null if no expiry)"},"submission_date":{"type":"string","format":"date-time","example":"2024-01-15T10:30:00Z","nullable":true,"description":"The date and time when the KYC screening was submitted"},"identity_document_name":{"type":"string","example":"Custom Document","nullable":true,"description":"The name of the identity document used for verification (in case of other document type)"},"identity_document_type":{"enum":["DRIVING_LICENSE","PASSPORT","GOVERNMENT_ID","SELFIE_WITH_ID","PROOF_OF_RESIDENCY","OTHER",null],"type":"string","example":"DRIVING_LICENSE","nullable":true,"description":"The type of identity document used for verification"},"identity_document_number":{"type":"string","example":"DL789012","nullable":true,"description":"Number of the submitted document","x-sensitive-pii":true},"document_extracted_last_name":{"type":"string","example":"Doe","nullable":true,"description":"The last name extracted from the submitted document","x-sensitive-pii":true},"document_extracted_first_name":{"type":"string","example":"John","nullable":true,"description":"The first name extracted from the submitted document","x-sensitive-pii":true},"document_extracted_middle_name":{"type":"string","example":"M","nullable":true,"description":"The middle name extracted from the submitted document"}}}}},"examples":{"expired":{"value":{"data":{"created_at":"2024-01-15T07:30:00Z","kyc_status":"EXPIRED","updated_at":"2025-01-15T17:30:00Z","approval_date":"2024-01-16T14:20:00Z","rejection_date":null,"expiration_date":"2024-01-10T10:30:00Z","submission_date":"2024-01-15T10:30:00Z","identity_document_type":"GOVERNMENT_ID","identity_document_number":"DL789012","document_extracted_last_name":"Doe","document_extracted_first_name":"John","document_extracted_middle_name":"M"}},"summary":"Expired KYC"},"approved":{"value":{"data":{"created_at":"2024-01-15T07:30:00Z","kyc_status":"APPROVED","updated_at":"2025-01-15T17:30:00Z","approval_date":"2024-01-16T14:20:00Z","rejection_date":null,"expiration_date":"2025-01-15T10:30:00Z","submission_date":"2024-01-15T10:30:00Z","identity_document_type":"DRIVING_LICENSE","identity_document_number":"DL789012","document_extracted_last_name":"Doe","document_extracted_first_name":"John","document_extracted_middle_name":null}},"summary":"Approved KYC"},"rejected":{"value":{"data":{"created_at":"2024-01-15T07:30:00Z","kyc_status":"REJECTED","updated_at":"2025-01-15T17:30:00Z","approval_date":null,"rejection_date":"2024-01-16T14:20:00Z","expiration_date":"2025-01-15T10:30:00Z","submission_date":"2024-01-15T10:30:00Z","identity_document_type":"PASSPORT","identity_document_number":"DL789012","document_extracted_last_name":"Doe","document_extracted_first_name":"John","document_extracted_middle_name":"M"}},"summary":"Rejected KYC"},"expiring_soon":{"value":{"data":{"created_at":"2024-01-15T07:30:00Z","kyc_status":"EXPIRING_SOON","updated_at":"2025-01-15T17:30:00Z","approval_date":"2024-01-16T14:20:00Z","rejection_date":null,"expiration_date":"2024-01-20T10:30:00Z","submission_date":"2024-01-15T10:30:00Z","identity_document_type":"SELFIE_WITH_ID","identity_document_number":"DL789012","document_extracted_last_name":"Doe","document_extracted_first_name":"John","document_extracted_middle_name":null}},"summary":"Expiring Soon KYC"},"not_requested":{"value":{"data":{"created_at":null,"kyc_status":"NOT_REQUESTED","updated_at":null,"approval_date":null,"rejection_date":null,"expiration_date":null,"submission_date":null,"identity_document_type":null,"identity_document_number":null,"document_extracted_last_name":null,"document_extracted_first_name":null,"document_extracted_middle_name":null}},"summary":"Not Requested KYC"},"not_submitted":{"value":{"data":{"created_at":null,"kyc_status":"NOT_SUBMITTED","updated_at":null,"approval_date":null,"rejection_date":null,"expiration_date":null,"submission_date":null,"identity_document_type":null,"identity_document_number":null,"document_extracted_last_name":null,"document_extracted_first_name":null,"document_extracted_middle_name":null}},"summary":"Not Submitted KYC"},"pending_review":{"value":{"data":{"created_at":"2024-01-15T07:30:00Z","kyc_status":"PENDING_REVIEW","updated_at":"2025-01-15T17:30:00Z","approval_date":null,"rejection_date":null,"expiration_date":null,"submission_date":"2024-01-15T10:30:00Z","identity_document_name":"My custom document","identity_document_type":"OTHER","identity_document_number":"DL789012","document_extracted_last_name":"Doe","document_extracted_first_name":"John","document_extracted_middle_name":null}},"summary":"Pending Review KYC"}}}},"description":"KYC details retrieved successfully"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"bad_request","description":"Machine-readable error code"},"message":{"type":"string","example":"\"value\" contains a conflict between exclusive peers [workerProfileId, profileId]","description":"Human-readable explanation of the error"}}}}}}}},"description":"Bad request - Invalid worker profile ID"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"forbidden","description":"Machine-readable error code"},"message":{"type":"string","example":"You do not have permissions to view this profile","description":"Human-readable explanation of the error"}}}}}}}},"description":"Forbidden - User not authorized to access this resource"},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"resource_not_found","description":"Machine-readable error code"},"message":{"type":"string","example":"We could not extract any profile by the provided hris profile","description":"Human-readable explanation of the error"}}}}}}}},"description":"Not Found - We could not extract any profile by the provided hris profile"},"409":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"conflict","description":"Machine-readable error code"},"message":{"type":"string","example":"We found multiple profiles for the provided worker ID. Please provide the contract id to resolve KYC details","description":"Human-readable explanation of the error"}}}}}}}},"description":"Conflict - We found multiple profiles for the provided worker ID. Please provide the contract id to resolve KYC details"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"query","name":"worker_profile_id","schema":{"type":"string","format":"uuid"},"example":"6ad9e983-e68f-473d-9d1d-809ae3d18085","required":false,"description":"Worker's HRIS profile public ID client requests to fetch KYC details for. This parameter is mutually exclusive with profile_id"},{"in":"query","name":"contract_id","schema":{"type":"string","maxLength":7},"example":"3rd4qvw","required":false,"description":"Worker's contract ID. This parameter is required in case there are multiple profiles associated to the target worker. For example, when worker used to work for the former company he had another profile ID. So we need contract ID to properly resolve profile's KYC details.  In case this parameter is not provided and multiple associated profiles are found, exception with 409 status code will be thrown"},{"in":"query","name":"profile_id","schema":{"type":"string","format":"uuid"},"example":"6ad9e984-e68f-473d-9d1d-809ae3d18085","required":false,"description":"Worker's profile public ID client requests to fetch KYC details for, This parameter is mutually exclusive with worker_profile_id "}],"security":[{"deelToken":[]},{"oauth2":["screenings:read"]}]}},"/immigration/visa-types/{country_code}":{"get":{"tags":["Immigration"],"summary":"Immigration visa types","operationId":"immigrationVisaTypes","description":"Fetch immigration supported visa types by country\n **Token scopes**: `immigration:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"5f5b3b3b-4b3b-4b3b-4b3b-4b3b3b3b3b3b","description":"The unique identifier of a visa type."},"name":{"type":"string","example":"Eu blue card","description":"The name of a visa."}}}}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"country_code","schema":{"type":"string"},"example":"US","required":true,"description":"Alpha 2 country code"}],"security":[{"deelToken":[]},{"oauth2":["immigration:read"]}]}},"/gp/workers/{worker_id}/compensation":{"patch":{"tags":["Global Payroll"],"summary":"Update compensation","operationId":"updateCompensation","description":"Update the compensation of a Global Payroll employee. Returns the full compensation history including the update.\n **Token scopes**: `people:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","properties":{"scale":{"enum":["YEAR","MONTH","HOUR"],"type":"string","example":"YEAR","description":"The scale to which a given salary applies."},"salary":{"type":"string","example":"50000","description":"Compensation salary."},"status":{"enum":["ACTIVE","UPCOMING","OUTDATED"],"type":"string","example":"ACTIVE","description":"The status of a salary amendment."},"effective_date":{"type":"string","format":"date","example":"1999-12-31","description":"Short date in format ISO-8601 (YYYY-MM-DD). For example: 2022-12-31."}}}}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"worker_id","schema":{"type":"string","format":"uuid","description":"Unique identifier for a worker in UUID format."},"example":"6f50539e-9f62-45d0-a42e-62a62fbb984a","required":true,"description":"Unique identifier for a worker in UUID format."}],"security":[{"deelToken":[]},{"oauth2":["people:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["scale","salary","effective_date"],"properties":{"scale":{"enum":["YEAR","MONTH","HOUR"],"type":"string","example":"YEAR","nullable":false,"description":"The scale to which a given salary applies."},"salary":{"type":"number","example":50000,"nullable":false,"description":"Compensation salary."},"effective_date":{"type":"string","format":"date","example":"1999-12-31","nullable":false,"description":"Short date in format ISO-8601 (YYYY-MM-DD). For example: 2022-12-31."}}}}}}},"required":true,"description":"Request body containing the data to update the compensation of the employee."}}},"/contracts/gp":{"post":{"tags":["Global Payroll"],"summary":"Create a Global Payroll (GP) contract","operationId":"createAGlobalPayrollGpContract-v2026-01-01","description":"Create a Global Payroll contract, including dataset such as employment, employee address, client legal_entity/team, compensation_details, job_title, invite_employee_to_app, work_location for US\n **Token scopes**: `contracts:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"id":{"type":"string","example":"c9f8a1b2-1234-5678-9abc-1234567890ab","description":"Id of the contract created."},"type":{"enum":["ongoing_time_based","milestones","time_based","pay_as_you_go_time_based","commission","payg_milestones","payg_tasks","eor","unknown","employee","global_payroll","shield_msa","hris_direct_employee","peo"],"type":"string","example":"global_payroll","description":"Type of a contract."},"client":{"type":"object","example":{"legal_entity":{"name":"Acme Corporation Ltd."}},"properties":{"legal_entity":{"type":"object","example":{"name":"Acme Corporation Ltd."},"properties":{"name":{"type":"string","example":"Acme Corporation Ltd.","description":"Legal entity name."}}}}},"status":{"enum":["new","under_review","waiting_for_employee_contract","waiting_for_client_sign","processing_payment","waiting_for_contractor_sign","waiting_for_eor_sign","waiting_for_employee_sign","awaiting_deposit_payment","in_progress","completed","cancelled","user_cancelled","rejected","waiting_for_client_payment","onboarding"],"type":"string","example":"completed","nullable":false,"description":"Status of a contract in Deel workflow."},"employee":{"type":"object","example":{"email":"jane.doe@example.com","last_name":"Doe","first_name":"Jane","employee_number":"EMP-1001"},"properties":{"email":{"type":"string","example":"jane.doe@example.com","description":"Employee's email address."},"last_name":{"type":"string","example":"Doe","description":"Employee's last name."},"first_name":{"type":"string","example":"Jane","description":"Employee's first name."},"employee_number":{"type":"string","example":"EMP-1001","nullable":true,"description":"Employee's number."}}},"job_title":{"type":"string","example":"Designer","description":"Employee's job title."},"created_at":{"type":"string","format":"date-time","example":"2024-06-15T10:30:00.000Z","nullable":true,"description":"Long date-time format following ISO-8601."},"employment":{"type":"object","properties":{"type":{"type":"string","example":"Full-time","description":"Is it a full-time contract or a part-time contract?"},"state":{"type":"string","example":"CA","nullable":true,"description":"State code of the state/province where this person will be employed."},"country":{"type":"string","example":"US","description":"Country of employment."},"end_date":{"type":"string","format":"date-time","example":"2025-06-15T00:00:00.000Z","nullable":true,"description":"Long date-time format following ISO-8601."},"holidays":{"type":"object","properties":{"allowance":{"type":"number","example":20,"description":"Number of holidays."},"start_date":{"type":"string","format":"date-time","example":"2024-01-01T00:00:00.000Z","nullable":true,"description":"Long date-time format following ISO-8601."}}},"start_date":{"type":"string","format":"date-time","example":"2024-01-01T00:00:00.000Z","nullable":true,"description":"Long date-time format following ISO-8601."},"work_visa_required":{"type":"boolean","example":true,"description":"Do you require Deel to apply for a work visa for this person?"}}},"compensation_details":{"type":"object","example":{"scale":"YEAR","salary":85000,"currency":"USD"},"properties":{"scale":{"type":"string","example":"YEAR","description":"Scale at which the salary is paid."},"salary":{"type":"number","example":85000,"description":"Gross annual/month salary."},"currency":{"type":"string","example":"USD","description":"Currency of gross annual/month salary."}}}}}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_parameter","description":"Machine-readable error code"},"field":{"type":"string","example":"/data/example_field","description":"Name of the field causing the error (for validation issues)"},"message":{"type":"string","example":"Must have required property 'example_field'","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"service_unavailable","description":"Machine-readable error code"},"message":{"type":"string","example":"The service is currently experiencing issues","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["employee","employment","job_title","client","compensation_details"],"properties":{"client":{"type":"object","required":["legal_entity","team"],"properties":{"team":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","example":"00000000-0000-0000-0000-000000000000","description":"Refers to Groups in the platform. Working groups that reflect the organization's structure."}}},"legal_entity":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","example":"00000000-0000-0000-0000-000000000000","description":"Unique identifier of the legal entity."}}}}},"employee":{"type":"object","required":["first_name","last_name","email","address","work_email"],"properties":{"email":{"type":"string","format":"email","example":"jane.doe@example.com","minLength":5,"description":"Employee's personal email address used for communication and onboarding."},"address":{"type":"object","required":["street","city","zip","country"],"properties":{"zip":{"type":"string","example":"44000","description":"Postal or ZIP code."},"city":{"type":"string","example":"Denver","description":"City of residence."},"state":{"type":"string","example":"CO","description":"State or province code."},"street":{"type":"string","example":"Deel Street 500","description":"Street name and building number."},"country":{"enum":["AD","AE","AF","AG","AI","AL","AM","AN","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","XA","XB","XC","XK","XX","YE","YT","ZA","ZM","ZW"],"type":"string","example":"US","description":"ISO 3166-1 alpha-2 country code."}}},"last_name":{"type":"string","example":"Doe","description":"Employee's last name."},"first_name":{"type":"string","example":"Jane","description":"Employee's first name."},"work_email":{"type":"string","format":"email","example":"jane.doe@company.com","minLength":5,"description":"Employee's company email address associated with the client organization."},"nationality":{"enum":["AD","AE","AF","AG","AI","AL","AM","AN","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","XA","XB","XC","XK","XX","YE","YT","ZA","ZM","ZW"],"type":"string","example":"US","description":"Employee's nationality in ISO 3166-1 alpha-2 format."},"employee_number":{"type":"string","example":"100","description":"Internal employee identifier within the client organization."}}},"job_title":{"type":"string","example":"Senior Software Engineer","description":"Employee's official job title as stated in the employment agreement."},"employment":{"type":"object","required":["type","start_date","holidays"],"properties":{"type":{"enum":["Full-time","Part-time"],"type":"string","example":"Full-time","description":"Employment type indicating whether the employee works full-time or part-time."},"country":{"enum":["AD","AE","AF","AG","AI","AL","AM","AN","AO","AQ","AR","AS","AT","AU","AW","AX","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BL","BM","BN","BO","BQ","BR","BS","BT","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CU","CV","CW","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GG","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IM","IN","IO","IQ","IR","IS","IT","JE","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MF","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SV","SX","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TR","TT","TV","TW","TZ","UA","UG","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","XA","XB","XC","XK","XX","YE","YT","ZA","ZM","ZW"],"type":"string","example":"US","description":"Country where the employee is employed, in ISO 3166-1 alpha-2 format. Used as the contract country. Falls back to employee address country if not provided."},"holidays":{"type":"object","required":["allowance","start_date"],"properties":{"allowance":{"type":"number","example":20,"description":"Number of paid holiday days allocated per year."},"start_date":{"type":"string","format":"date","example":"2024-01-01","description":"Date when the holiday entitlement becomes effective (ISO-8601 YYYY-MM-DD)."}}},"start_date":{"type":"string","format":"date","example":"2024-01-01","description":"Employment start date in ISO-8601 format (YYYY-MM-DD)."}}},"work_location":{"type":"object","required":["is_wfh"],"properties":{"name":{"type":"string","example":"New York Office","description":"Name of the registered entity address where the employee works. Use 'Remote' if applicable."},"is_wfh":{"type":"boolean","example":true,"description":"Indicates whether the employee works remotely."},"effective_date":{"type":"string","format":"date","example":"2024-07-01","description":"Date when the work location becomes effective (ISO-8601 YYYY-MM-DD)."}},"description":"Work location details for the employee. Required for US legal entities."},"compensation_details":{"type":"object","required":["salary","scale"],"properties":{"scale":{"enum":["YEAR","MONTH"],"type":"string","default":"YEAR","example":"YEAR","description":"Defines whether the salary amount represents yearly or monthly gross compensation."},"salary":{"type":"number","example":85000,"description":"Gross salary amount based on the selected scale."},"currency":{"type":"string","example":"USD","pattern":"^[A-Z]{3}$","maxLength":3,"minLength":3,"description":"Three-letter ISO 4217 currency code representing the salary currency."}}},"invite_employee_to_app":{"type":"boolean","example":true,"description":"When true, the employee will receive an invitation to join the platform for onboarding."}}}}}}},"required":true,"description":"Global Payroll (GP) contract object that needs to be created."}}},"/forms/eor/create-contract/definitions":{"post":{"tags":["Forms"],"summary":"Fetch multiple EOR Contract forms","operationId":"fetchMultipleEorContractForms","description":"Retrieve paginated, versioned form definitions for creating EOR contracts for the specified countries. Use this endpoint when initializing or resuming a contract-creation flow to determine the required sections, fields, validation rules, and conditional logic per country (and optional contract type/locale). Always consume the latest effective version from the response and handle pagination. Not intended for reading or updating existing contracts.\n **Token scopes**: `forms:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data","has_more","total_count"],"properties":{"data":{"type":"array","items":{"type":"object","required":["country","pages"],"properties":{"pages":{"type":"array","items":{"type":"object","required":["title","sections"],"properties":{"title":{"type":"string","example":"Personal Details","description":"Title of the form page."},"sections":{"type":"array","items":{"type":"object","required":["title","questions"],"properties":{"title":{"type":"string","example":"Team information","description":"Title of the section."},"subtitle":{"type":"string","example":"Information about the team","description":"Additional information shown at the top of the section."},"questions":{"type":"array","items":{"type":"object","required":["title","type","key"],"properties":{"key":{"type":"string","example":"client.legal_entity.id","description":"Unique key identifier for the question."},"type":{"enum":["FreeText","Paragraph","SingleSelection","MultiSelection","Address","PhoneNumber","DocumentUpload","Number","Dropdown","DatePicker","Email"],"type":"string","example":"Dropdown","description":"Type of the question."},"rules":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string","example":"Legal entity ID","description":"Title of the question."},"source":{"type":"object","nullable":true,"properties":{"url":{"type":"string","example":"/rest/v2/legal-entities","description":"API endpoint providing dynamic options."},"definition":{"type":"string","example":"https://developer.deel.com/reference/getlegalentitylist","description":"Reference URL for API documentation."},"description":{"type":"string","example":"Available legal entities for selection must be dynamically fetched","description":"Description of the data source."}},"description":"Defines dynamic data source for the question."},"options":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string","example":"Yes","description":"Display text for the option."},"value":{"type":"string","example":"true","nullable":true,"description":"Value associated with the option."}}},"example":[{"title":"Yes","value":"true"},{"title":"No","value":"false"}],"nullable":true,"description":"List of selectable options for selection-type questions. Value may be of any type."},"is_range":{"type":"boolean","example":false,"description":"Specifies whether a date picker allows range selection."},"requires":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","example":"employee.nationality","description":"Key of the dependent field."},"value":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}],"example":true,"description":"Expected value for the condition."},"operator":{"type":"string","example":"ne","nullable":true,"description":"Comparison operator (e.g., 'eq', 'ne')."},"compare_key":{"type":"string","example":"employment.country","nullable":true,"description":"Key of the field to compare against."}}},"description":"List of conditions that must be met for this rule to apply."},"max_value":{"oneOf":[{"type":"string"},{"type":"number"}],"example":180,"description":"Maximum value allowed."},"min_value":{"oneOf":[{"type":"string"},{"type":"number"}],"example":0,"description":"Minimum value allowed."},"max_length":{"type":"integer","example":255,"nullable":true,"description":"Maximum character length for text responses."},"min_length":{"type":"integer","example":1,"nullable":true,"description":"Minimum character length for text responses."},"helper_text":{"type":"string","example":"Please select the appropriate legal entity.","nullable":true,"description":"Additional information to assist the user."},"is_disabled":{"type":"boolean","example":false,"description":"If true, the field is disabled and cannot be edited."},"is_required":{"type":"boolean","example":true,"description":"Indicates if the question is required."},"number_type":{"type":"string","example":"CURRENCY","description":"Used for number fields to define the unit or representation."},"default_value":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}],"example":40,"description":"Default value to pre-fill in the form."},"is_only_digits":{"type":"boolean","example":false,"description":"Restricts input to numeric characters only, for FreeText questions."},"date_limitation":{"type":"string","example":"BLOCK_PAST","nullable":true,"description":"Limits date selection (e.g., blocking past dates). Will always be 'BLOCK_PAST' for now."},"is_multiple_selection":{"type":"boolean","example":false,"description":"Indicates if the user can select multiple values."},"must_request_validation":{"type":"boolean","example":true,"description":"Whether additional validation should be triggered for this field."}}},"nullable":true,"description":"Validation rules for the question."},"title":{"type":"string","example":"Legal entity ID","description":"Title of the question."},"source":{"type":"object","nullable":true,"properties":{"url":{"type":"string","example":"/rest/v2/legal-entities","description":"API endpoint providing dynamic options."},"definition":{"type":"string","example":"https://developer.deel.com/reference/getlegalentitylist","description":"Reference URL for API documentation."},"description":{"type":"string","example":"Available legal entities for selection must be dynamically fetched","description":"Description of the data source."}},"description":"Defines dynamic data source for the question."},"options":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string","example":"Yes","description":"Display text for the option."},"value":{"type":"string","example":"true","nullable":true,"description":"Value associated with the option."}}},"example":[{"title":"Yes","value":"true"},{"title":"No","value":"false"}],"nullable":true,"description":"List of selectable options for selection-type questions. Value may be of any type."},"is_range":{"type":"boolean","example":false,"description":"Specifies whether a date picker allows range selection."},"max_value":{"oneOf":[{"type":"string"},{"type":"number"}],"example":180,"description":"Maximum value allowed."},"min_value":{"oneOf":[{"type":"string"},{"type":"number"}],"example":0,"description":"Minimum value allowed."},"max_length":{"type":"integer","example":255,"nullable":true,"description":"Maximum character length for text responses."},"min_length":{"type":"integer","example":1,"nullable":true,"description":"Minimum character length for text responses."},"helper_text":{"type":"string","example":"Please select the appropriate legal entity.","nullable":true,"description":"Additional information to assist the user."},"is_disabled":{"type":"boolean","example":false,"description":"If true, the field is disabled and cannot be edited."},"is_required":{"type":"boolean","example":true,"description":"Indicates if the question is required."},"number_type":{"type":"string","example":"CURRENCY","description":"Used for number fields to define the unit or representation."},"default_value":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}],"example":40,"description":"Default value to pre-fill in the form."},"is_only_digits":{"type":"boolean","example":false,"description":"Restricts input to numeric characters only, for FreeText questions."},"date_limitation":{"type":"string","example":"BLOCK_PAST","nullable":true,"description":"Limits date selection (e.g., blocking past dates). Will always be 'BLOCK_PAST' for now."},"is_multiple_selection":{"type":"boolean","example":false,"description":"Indicates if the user can select multiple values."},"must_request_validation":{"type":"boolean","example":true,"description":"Whether additional validation should be triggered for this field."}}},"description":"List of questions within the section."}}},"description":"Sections within the page."}}},"description":"List of pages in the form."},"state":{"type":"string","example":"CA","nullable":true,"description":"State or province code if applicable"},"country":{"type":"string","example":"US","pattern":"^[A-Z]{2}$","description":"Two-letter country code in ISO 3166-1 alpha-2 format"}}},"description":"Array of quote forms for the requested countries."},"has_more":{"type":"boolean","example":true,"description":"Indicates if there are more results available beyond the current page."},"next_cursor":{"type":"string","example":"eyJvZmZzZXQiOjEwfQ==","nullable":true,"description":"Cursor for fetching the next page of results. Null if no more results."},"total_count":{"type":"integer","example":25,"description":"Total number of countries in the request."}}}}},"description":"Successful response containing multiple form configuration data."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_parameter","description":"Machine-readable error code"},"field":{"type":"string","example":"/data/example_field","description":"Name of the field causing the error (for validation issues)"},"message":{"type":"string","example":"Must have required property 'example_field'","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"service_unavailable","description":"Machine-readable error code"},"message":{"type":"string","example":"The service is currently experiencing issues","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."}},"parameters":[{"in":"query","name":"limit","schema":{"type":"integer","default":10,"maximum":10,"minimum":1},"example":5,"required":false,"description":"Maximum number of countries to return in a single response. Defaults to 10."},{"in":"query","name":"cursor","schema":{"type":"string"},"example":"eyJvZmZzZXQiOjEwfQ==","required":false,"description":"Pagination cursor for fetching subsequent pages of results."}],"security":[{"deelToken":[]},{"oauth2":["forms:read"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["countries"],"properties":{"countries":{"type":"array","items":{"type":"object","required":["country_code"],"properties":{"state":{"type":"string","example":"CA","description":"The selected state code of the contract. This is only required for countries that specify it."},"country_code":{"type":"string","example":"US","pattern":"^[A-Z]{2}$","maxLength":2,"minLength":2,"description":"Two-letter country code in ISO 3166-1 alpha-2 format"}}},"example":[{"state":"CA","country_code":"US"},{"country_code":"BR"}],"minItems":1,"description":"Array of countries for which to fetch quote forms. Maximum 10 countries per request."},"start_date":{"type":"string","format":"date","example":"2024-01-15","description":"The selected start date of the contract in ISO 8601 formatted date string."},"work_hours_per_week":{"type":"integer","example":40,"maximum":168,"minimum":1,"description":"The selected number of work hours per week."},"contract_duration_in_days":{"type":"integer","example":365,"minimum":1,"description":"The contract duration in days for definite contracts."}}}}}}},"required":true,"description":"Request body containing countries and optional parameters for bulk quote form fetching."}}},"/benefits/legal-entities/{id}/benefits/401k/activate":{"post":{"tags":["Plans 401K"],"summary":"Activate the 401k integration for the legal entity","operationId":"activateThe401KIntegrationForTheLegalEntity-v2026-01-01","description":"Activate the 401k integration for the legal entity\n **Token scopes**: `benefits:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"isActive":{"type":"boolean","example":true,"nullable":false,"description":"Whether the 401k integration has been activated or not."}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"id","schema":{"type":"string"},"example":"9585241d-2387-4d80-abea-cea4dde4807d","required":true,"description":"Id from the legal entity to activate 401k integration"}],"security":[{"deelToken":[]},{"oauth2":["benefits:write"]}]}},"/eor/worker":{"post":{"tags":["EOR"],"summary":"Create EOR Worker","operationId":"createEorWorker-v2026-01-01","description":"Create EOR Worker\n **Token scopes**: `people:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["hris_profile_id","user_id","profile_id"],"properties":{"user_id":{"type":"string","format":"uuid","example":"00000000-0000-0000-0000-000000000000","description":"The ID of the worker's user profile"},"profile_id":{"type":"string","format":"uuid","example":"00000000-0000-0000-0000-000000000000","description":"The ID of the worker's profile"},"hris_profile_id":{"type":"string","format":"uuid","example":"00000000-0000-0000-0000-000000000000","description":"The ID of the worker's HRIS profile"}}}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"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"}}}},"request":{"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"}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["people:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","required":["contract_id"],"properties":{"contract_id":{"type":"string","example":"mp4y66j","description":"ID of the contract associated with the timesheet"}}}}}}},"required":true}}},"/contracts/{contract_id}/cost-centers":{"post":{"tags":["Cost Centers"],"summary":"Assign cost centers to an employment contract","operationId":"assignCostCentersToAnEmploymentContract-v2026-01-01","description":"Assign cost centers to employment by contract id\n **Token scopes**: `contracts:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","example":"4553c756-bfe4-459d-a2d7-84fc5a9e8df9","description":"Updated employment term id","x-sensitive-employment":true}}}}}}},"description":"Cost center allocation was successfully added to the contract"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"error":{"type":"string","example":"The effective date must be greater than or equal to 2025-06-30","description":"A description of the returned error"}}}},"request":{"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"}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"26nq49s","required":true,"description":"Employment's contract ID"}],"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["value","effective_date"],"properties":{"value":{"type":"array","items":{"type":"object","required":["cost_center_id","allocation_percentage"],"properties":{"cost_center_id":{"type":"integer","format":"int64","example":"1243","description":"Cost center id"},"allocation_percentage":{"type":"number","example":"0.25","maximum":1,"minimum":0,"description":"Cost center allocation for this employment, between 0 (none) and 1 (100%)"}}}},"effective_date":{"type":"string","format":"date","example":"2025-01-01","description":"Allocation start date"}}}}}}},"required":true,"description":"Cost center information to allocate to the contract"}}},"/contracts/{contract_id}/documents":{"post":{"tags":["Contracts"],"summary":"Attach a file to contract","operationId":"addContractDocument","description":"Attach a file to contract document.\n **Token scopes**: `contracts:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","nullable":true,"required":["filename","key"],"properties":{"key":{"type":"string","nullable":false,"description":"You can call attachments end-point, get key and URL to upload your file."},"filename":{"type":"string","nullable":false,"description":"Original filename you used to upload using attachments end-point."}},"description":"This object is used for linking file attachments to your records."}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"37nex2x","required":true,"description":"Deel contract id."}],"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary","nullable":false,"description":"Upload the file you want to attach to this entry."}},"description":"This is the file you will upload in a multi-part form."}}},"description":"A form to attach a file to contract document."}}},"/contracts/{contract_id}/tasks/{task_id}/reviews":{"post":{"tags":["Tasks"],"summary":"Review a single task","operationId":"reviewASingleTask","description":"Review a specific task associated with a Deel contract to approve or decline the submitted work. The review includes the status (approved or declined) and an optional reason if declined.\n **Token scopes**: `contracts:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["created"],"properties":{"created":{"type":"boolean","example":true,"description":"Indicating whether the task review was created"}}}}},"example":{"data":[{"id":"00000000-0000-0000-0000-000000000000","amount":1500,"status":"approved","attachment":{"key":"file-key-123","filename":"task-details.pdf"},"description":"Completion of Q1 project tasks","date_submitted":"2024-11-01"}]}}},"description":"The task review was successfully processed."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Invalid 'status' field. Must be 'approved' or 'declined'."}}}}},"description":"Bad request. Missing required fields or invalid data format."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Unauthorized access. Please provide a valid authentication token."}}}}},"description":"Unauthorized. Authentication credentials are missing or invalid."},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Task with ID '00000000-0000-0000-0000-000000000000' not found."}}}}},"description":"Not found. The specified task or contract was not found."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"An error occurred while reviewing the task. Please try again later."}}}}},"description":"Internal server error. An unexpected error occurred while processing the request."}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"37nex2x","required":true,"description":"The unique Deel contract ID associated with the task."},{"in":"path","name":"task_id","schema":{"type":"string"},"example":"00000000-0000-0000-0000-000000000000","required":true,"description":"The unique ID of the task to be reviewed."}],"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","required":["status"],"properties":{"reason":{"type":"string","example":"Incomplete documentation","nullable":true,"description":"Optional reason for declining the task."},"status":{"enum":["approved","declined"],"type":"string","example":"approved","nullable":false,"description":"The review status of the task. Possible values are 'approved' or 'declined'."}}}}},"example":{"data":{"reason":"Incomplete documentation","status":"declined"}}}},"required":true}}},"/contracts/{contract_id}/tasks/many/reviews":{"post":{"tags":["Tasks"],"summary":"Review multiple tasks","operationId":"reviewMultipleTasks","description":"Review multiple tasks associated with a Deel contract to approve or decline the submitted work. The review includes a status (approved or declined) for each task and an optional reason for declined tasks.\n **Token scopes**: `contracts:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["created"],"properties":{"created":{"type":"boolean","example":true,"description":"Indicating whether the task review was created"}}}}},"example":{"data":{"created":true}}}},"description":"The task reviews were successfully processed."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Invalid 'status' field. Must be 'approved' or 'declined'."}}}}},"description":"Bad request. Missing required fields or invalid data format."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Unauthorized access. Please provide a valid authentication token."}}}}},"description":"Unauthorized. Authentication credentials are missing or invalid."},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Task with ID '00000000-0000-0000-0000-000000000001' not found."}}}}},"description":"Not found. One or more specified tasks or the contract was not found."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"An error occurred while reviewing the tasks. Please try again later."}}}}},"description":"Internal server error. An unexpected error occurred while processing the request."}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"37nex2x","required":true,"description":"The unique Deel contract ID associated with the tasks."}],"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","required":["status","ids"],"properties":{"ids":{"type":"array","items":{"type":"string","format":"uuid"},"example":["00000000-0000-0000-0000-000000000001","00000000-0000-0000-0000-000000000002"],"maxItems":1000,"minItems":1,"description":"An array of task IDs to review. A maximum of 1000 task IDs is allowed per request."},"reason":{"type":"string","example":"Incomplete documentation","nullable":true,"description":"Optional reason for declining the tasks."},"status":{"enum":["approved","declined"],"type":"string","example":"approved","nullable":false,"description":"The review status of the tasks. Possible values are 'approved' or 'declined'."}}}}},"example":{"data":{"ids":["00000000-0000-0000-0000-000000000001","00000000-0000-0000-0000-000000000002"],"reason":"Incomplete documentation","status":"declined"}}}},"required":true}}},"/eor/{oid}/terminations/resignation":{"post":{"tags":["EOR","Terminations"],"summary":"Request EOR Contract Resignation","operationId":"eorResignationRequest","description":"Enable clients with group admin and people manager permissions to initiate a resignation request for an Employee of Record (EOR) contract within their team.\n **Token scopes**: `contracts:read`, `contracts:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"id":{"type":"number","format":"float"},"end_date":{"type":"string","format":"date-time","example":"'2025-01-31T00:00:00.000Z'","nullable":true,"description":"The definitive contract end date"},"contract_id":{"type":"string","example":"5B74FnLM","description":"Public contract oid"},"request_data":{"type":"object","nullable":true,"properties":{"reason":{"type":"string","nullable":true},"end_date":{"type":"string","format":"date-time","example":"'2025-01-31T00:00:00.000Z'","nullable":true,"description":"The definitive contract end date"},"reason_detail":{"type":"string","example":"Employee is moving to another country","nullable":true,"description":"Optional field to describe the reason behind the resignation request"},"desired_end_date":{"type":"string","format":"date-time","example":"2025-01-31","nullable":true,"description":"The desired end date. If the date is not provided, it will be selected by HRX the closest date possible"},"termination_impact":{"type":"object","nullable":true,"properties":{"id":{"type":"string","format":"uuid"},"title":{"type":"string","example":"Bad Impact","description":"Termination impact title"},"description":{"type":"string","example":"It will be bad","description":"Termination impact description"}},"description":"Custom termination impact data if there is some configured on HR module"},"eligible_for_rehire":{"enum":["YES","NO","DONT_KNOW"],"type":"string","example":"DONT_KNOW","nullable":true,"description":"Parameter to inform whether it would be possible for the client to hire the employee again"},"eligible_for_rehire_reason":{"type":"string","example":false,"nullable":true,"description":"Describe if the option DONT_KNOW was selected on eligibleForRehire"},"custom_termination_reason_id":{"type":"number","format":"float","nullable":true,"description":"Custom termination reason ID. A custom termination reason can be added on Client HR module"}}},"desired_end_date":{"type":"string","format":"date-time","example":"2025-01-31","nullable":true,"description":"The desired end date. If the date is not provided, it will be selected by HRX the closest date possible"}}}}}}},"description":"Ok response"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string"}}},"minItems":1}}},"description":"Unauthorized response"},"403":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string"}}},"minItems":1}}},"description":"Forbidden response"},"404":{"content":{"application/json":{"schema":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string"}}},"minItems":1}}},"description":"Not Found response"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"oid","schema":{"type":"string","example":"5B74FnLM"},"required":true,"description":"Public contract oid"}],"security":[{"deelToken":[]},{"oauth2":["contracts:read","contracts:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["reason","used_time_off","is_employee_staying_with_deel"],"properties":{"reason":{"enum":["EMPLOYEE_IS_MOVING_TO_ANOTHER_COUNTRY","MOVING_EMPLOYEE_TO_INTERNAL_ENTITY","MOVING_EMPLOYEE_TO_DEEL_PEO","EMPLOYEE_FOUND_ANOTHER_JOB","EMPLOYEE_NOT_HAPPY_WITH_BENEFITS","EMPLOYEE_NOT_HAPPY_WITH_SALARY","EMPLOYEE_NOT_HAPPY_WITH_THE_ROLE","EMPLOYEE_NOT_HAPPY_WITH_COMPANY_CULTURE","EMPLOYEE_NOT_HAPPY_WITH_DEEL","EMPLOYEE_PROJECT_ENDED","EMPLOYEE_SWITCHING_TO_OTHER_EOR_PROVIDER","EMPLOYEE_LEFT_ROLE_FOR_PERSONAL_MATTERS","EMPLOYEE_MOVING_FROM_EOR_TO_CONTRACTOR_OR_FREELANCE","WORKER_TYPE_CHANGE","DEEL_COLLECTIONS","EMPLOYEE_DID_NOT_TAKE_THE_OFFER","EMPLOYEE_PROVIDED_NO_REASON","OTHER_BUSINESS_REASONS"],"type":"string","example":"EMPLOYEE_IS_MOVING_TO_ANOTHER_COUNTRY","description":"Reason why the contract is being terminated"},"attachments":{"type":"array","items":{"type":"object","required":["key","fileName"],"properties":{"key":{"type":"string"},"file_name":{"type":"string","pattern":"\\.(png|PNG|jpg|JPG|jpeg|JPEG|heic|HEIC|pdf|PDF)$"}}},"description":"Any document that is important for the request to terminate the contract"},"is_sensitive":{"type":"boolean","example":false,"description":"Defines whether the termination is sensitive. In this case, only the person requesting the termination will be able to view the termination, receive emails or notifications."},"reason_detail":{"type":"string","example":"Employee is moving to another country","maxLength":5000,"description":"Optional field to describe the reason behind the resignation request"},"used_time_off":{"type":"object","example":{"time_offs":[{"unit":"CALENDAR_DAY","policy_type":"Vacation","tracking_periods":[{"used":25,"end_date":"2024-12-31T00:00:00.000Z","start_date":"2024-01-01T00:00:00.000Z"},{"used":30,"end_date":"2023-12-31T00:00:00.000Z","start_date":"2023-01-01T00:00:00.000Z"}],"scheduled_until_end_date":5}],"additional_details":"Any additional details regarding time off that HRX should know","is_deel_pto_confirmed":true},"required":["isDeelPtoConfirmed","timeOffs"],"properties":{"time_offs":{"type":"array","items":{"type":"object","required":["policyType","unit","trackingPeriods","scheduledUntilEndDate"],"properties":{"unit":{"enum":["BUSINESS_DAY","CALENDAR_DAY","HOUR","WEEK","MONTH","YEAR"],"type":"string","description":"Time off unit"},"policy_type":{"enum":["Vacation","Sick leave","Maternity leave","Paternity leave","Parental leave","Bereavement leave","Childcare leave","Civic/public duty leave","Personal leave","Adoption leave","Blood donation leave","Childbirth leave","Disability leave","Doctor's appointment leave","Family & domestic violence leave","Hajj leave","Marriage/wedding leave","Military leave","Moving leave","Pregnancy leave","Study leave","Volunteer leave","Unpaid leave","Paid leave","Other leave","RTT","Regional holiday","Breastfeeding leave","Advanced vacation","Supplementary Leave","Floating Holiday Allowance"],"type":"string","description":"Time off policy type"},"tracking_periods":{"type":"array","items":{"type":"object","required":["startDate","endDate","used"],"properties":{"used":{"type":"number","format":"float","maximum":365,"minimum":0,"description":"Time off used in the period"},"end_date":{"type":"string","format":"date-time","description":"Time off start period"},"start_date":{"type":"string","format":"date-time","description":"Time off end period"}}}},"scheduled_until_end_date":{"type":"number","format":"float","maximum":365,"minimum":0,"description":"Time off escheduled until contract end date"}}},"description":"All time-off used by the employee during contract period"},"additional_details":{"type":"string","nullable":true,"description":"Any additional details regarding time off that HRX should know"},"is_deel_pto_confirmed":{"type":"boolean","description":"Defines whether the client agrees with the time off values that are registered in Deel. If false, it means that the client changed the values."}}},"severance_type":{"enum":["DAYS","WEEKS","MONTHS","CASH"],"type":"string","example":"CASH","description":"The type of severance selected by the client. It's an optional field"},"desired_end_date":{"type":"string","example":"2025-01-31","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"The desired end date. If the date is not provided, it will be selected by HRX the closest date possible"},"severance_amount":{"type":"number","format":"float","example":1000,"minimum":0,"description":"The amount of severance needed"},"additional_reason":{"enum":["MOVING_TO_INTERNAL_ENTITY_WITH_DEEL_GLOBAL_PAYROLL","MOVING_TO_INTERNAL_ENTITY_WITH_OTHER_PROVIDER"],"type":"string","example":"MOVING_TO_INTERNAL_ENTITY_WITH_OTHER_PROVIDER","nullable":true,"description":"An additional reason can be provided in case the reason selected is MOVING_EMPLOYEE_TO_INTERNAL_ENTITY"},"termination_notes":{"type":"array","items":{"type":"string","maxLength":5000},"default":[],"example":["What severance pay, if any, am I entitled to receive upon termination of this contract?","How will accrued vacation time, sick leave, or other paid time off be handled upon termination of this contract?"],"description":"Additional notes can be provided regarding the termination for Deel, like questions and doubts"},"eligible_for_rehire":{"enum":["YES","NO","DONT_KNOW"],"type":"string","example":"DONT_KNOW","nullable":true,"description":"Parameter to inform whether it would be possible for the client to hire the employee again"},"termination_impact_id":{"type":"string","format":"uuid","description":"Termination impact data if there is some configured on HR module"},"eligible_for_rehire_reason":{"type":"string","example":false,"nullable":true,"maxLength":255,"description":"Describe if the option DONT_KNOW was selected on eligibleForRehire"},"custom_termination_reason_id":{"type":"string","format":"uuid","nullable":true,"description":"Custom termination reason ID. A custom termination reason can be added on Client HR module"},"is_employee_staying_with_deel":{"type":"boolean","example":false,"nullable":true,"description":"Defines if employee will keep using Deel as provider"}}}}}}}}}}}},"/eor/contract/{oid}/cancel":{"post":{"tags":["EOR"],"summary":"Cancel EOR Contract","operationId":"cancelEorContract","description":"Cancel EOR Contract\n **Token scopes**: `contracts:write`","responses":{"204":{"description":"Contract cancelled successfully"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Invalid cancellation reason","description":"Error message details"}}}}},"description":"Bad Request"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"Contract not found","description":"Error message details"}}}}},"description":"Contract not found"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"oid","schema":{"type":"string"},"required":true,"description":"Contract oid"}],"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["cancellation_reason"],"properties":{"cancellation_reason":{"enum":["INTERNAL_DECISION","UNSATISFACTORY_EXPERIENCE","EXPLORING_ALTERNATIVE","OFFER_CHANGES"],"type":"string","example":"UNSATISFACTORY_EXPERIENCE","description":"Reason for contract termination"},"cancellation_message":{"type":"string","example":"Contract termination requested","description":"Message for contract termination"}}}}}}},"required":true,"description":"Cancel EOR Contract"}}},"/eor/contracts/{contract_id}/amendments/{amendment_id}/accept":{"post":{"tags":["EOR"],"summary":"Accept a contract amendment on behalf of the client.","operationId":"acceptAContractAmendmentOnBehalfOfTheClient","description":"Allows the client to accept a contract amendment, formally acknowledging and approving the modifications to the contract.\n **Token scopes**: `contracts:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"b9fd7198-7e81-4e57-bcf9-de6315194327","description":"Id of amendment"},"type":{"enum":["INSTANT","OPS","LEGAL","DISABLED","CUSTOM","AUTOMATED",null],"type":"string","example":"OPS","nullable":true,"description":"Type of amendment"},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"8e6ba281-c703-4af3-ad93-b27434b70c7d","description":"Id of amendment item"},"item":{"type":"string","example":"SALARY_INCREASE","description":"Amendment item"},"type":{"enum":["INSTANT","OPS","LEGAL","DISABLED","CUSTOM","AUTOMATED"],"type":"string","example":"OPS","description":"Type of amendment"},"new_value":{"type":"string","example":"62382.93","description":"The new valid value after the attempted change."},"data_point":{"type":"string","example":"salary","description":"The field that is selected for amendment."},"previous_value":{"type":"string","example":"68.9170","description":"The previous valid value before the attempted change."}}},"description":"Items of amendment"},"scope":{"type":"string","example":"Project scope details","description":"Scope of the amendment."},"salary":{"type":"string","example":"50000.00","description":"Salary for the amendment.","x-sensitive-employment":true},"source":{"enum":["APP","PUBLIC_API","APP_BULK_AMENDMENT",null],"type":"string","example":"APP","nullable":true,"description":"Source of amendment flow creation."},"currency":{"type":"string","example":"GBP","description":"Contract currency."},"end_date":{"type":"string","format":"date-time","example":"2023-10-04T13:27:20.148Z","nullable":true,"description":"End date of the employment."},"holidays":{"type":"integer","example":20,"nullable":true,"description":"Number of holidays."},"job_code":{"type":"string","example":"49589","nullable":true,"description":"Job code associated with the job title."},"job_title":{"type":"string","example":"Software Engineer","maxLength":1000,"description":"Job title associated with the amendment.","x-sensitive-pii":true},"created_at":{"type":"string","format":"date-time","example":"2023-10-04T13:27:20.148Z","description":"Creation date of the amendment."},"start_date":{"type":"string","format":"date-time","example":"2023-10-04T13:27:20.148Z","description":"Start date of the employment."},"updated_at":{"type":"string","format":"date-time","example":"2023-10-04T13:27:20.148Z","description":"Date when amendment is updated"},"hourly_rate":{"type":"string","example":"50000.00","nullable":true,"description":"Hourly rate of the amendment","x-sensitive-employment":true},"custom_items":{"type":"array","items":{"type":"object","required":["id","type","status"],"properties":{"id":{"type":"string","format":"uuid","example":"e7b45fa6-9a72-4ab6-b163-ef50ccaba7fb","description":"Unique identifier for the custom amendment item"},"type":{"type":"string","example":"START_DATE","description":"Type/context of the custom amendment item"},"status":{"enum":["REJECTED","APPROVED","PENDING_REVIEW","PENDING_LEGAL"],"type":"string","example":"PENDING_REVIEW","description":"Current status of the custom amendment item"},"description":{"type":"string","example":"Please change the start date to 20th November 2025.","nullable":true,"description":"Detailed description of the custom amendment item"},"rejection_reason":{"type":"string","example":"Start date cannot be moved this far in advance.","nullable":true,"description":"Reason for rejection if the item was rejected"}}},"description":"Custom amendment items associated with the amendment flow"},"job_category":{"type":"string","example":"Engineering","nullable":true,"description":"Job category associated with the job title."},"requested_by":{"type":"string","example":"John Doe","nullable":true,"description":"Profile name of the user who requested the change"},"seniority_id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","nullable":true,"description":"Seniority level identifier."},"document_type":{"enum":["EA","SOW","SOW_EA",null],"type":"string","example":"SOW_EA","nullable":true,"description":"Amendment document type"},"legal_context":{"type":"object","example":{"status":"REQUEST_LEGAL_REVIEW","details":"This amendment requires input from the legal team and will be moved to `paused` until it is resolved manually","jira_ticket":"COHDSB-9600","jira_web_url":"https://letsdeel.atlassian.net/browse/COHDSB-9600","requested_at":"2025-04-23T10:40:25.527Z"},"nullable":true,"properties":{"status":{"enum":["REQUEST_LEGAL_REVIEW","WAITING_FOR_ANOTHER_TEAM","WAITING_FOR_HRX_ACTION","DECLINED","SOLVED"],"type":"string","example":"REQUEST_LEGAL_REVIEW","description":"Current status of the legal review process"},"details":{"type":"string","example":"This amendment requires input from the legal team and will be moved to `paused` until it is resolved manually","description":"Details regarding the legal request"},"jira_ticket":{"type":"string","example":"COHDSB-9600","description":"Jira ticket identifier linked to the legal context"},"jira_web_url":{"type":"string","format":"uri","example":"https://letsdeel.atlassian.net/browse/COHDSB-9600","description":"Link to the Jira ticket for tracking"},"requested_at":{"type":"string","format":"date-time","example":"2025-04-23T10:40:25.527Z","description":"Timestamp when legal review was requested"}},"description":"Additional details needed for legal input"},"time_off_type":{"enum":["STANDARD","SPECIFIC","PRORATED"],"type":"string","example":"STANDARD","description":"Type of time off."},"void_deadline":{"type":"string","format":"date-time","example":"2023-01-01T00:00:00Z","nullable":true,"description":"Deadline this SOW to be voided"},"effective_date":{"type":"string","format":"date-time","example":"2023-01-01T00:00:00Z","nullable":true,"description":"Effective date of the amendment."},"seniority_date":{"type":"string","format":"date","example":"2023-01-01","nullable":true,"description":"The seniority date represents the employee’s original start date with a previous employer. It is used to preserve employment tenure when the employee transfers to this company. Can be null if not applicable."},"employment_type":{"enum":["FULL_TIME","PART_TIME"],"type":"string","example":"FULL_TIME","description":"Type of employment."},"sick_leave_days":{"type":"integer","format":"number","example":12,"nullable":true,"description":"Number of sick leave days"},"employment_state":{"type":"string","example":"Active","nullable":true,"description":"State of employment."},"probation_period":{"type":"integer","example":3,"nullable":true,"description":"Duration of the probation period."},"work_schedule_id":{"type":"string","format":"uuid","example":"2b786de3-9b25-42d9-8a2d-61583bcfc09e","nullable":true,"description":"Work schedule id"},"fixed_adjustments":{"type":"array","items":{"type":"object","required":["id","value","description","is_recurring","status","is_amended","is_country_specific","created_at","updated_at"],"properties":{"id":{"type":"string","example":"cmfo0hqd5bw00cqs1b1jd7eag","description":"System-generated unique identifier for the fixed adjustment record in an amendment request."},"value":{"type":"string","example":"1200.50","pattern":"^(?!0+(\\.0+)?$)\\d+(?:\\.\\d+)?$","description":"Value of the fixed adjustment."},"status":{"enum":["WAITING_FOR_SIGNING","ACTIVE","OUTDATED","CANCELLED"],"type":"string","example":"WAITING_FOR_SIGNING","description":"Current status of the fixed adjustment."},"created_at":{"type":"string","format":"date-time","example":"2025-09-22T10:21:13.815Z","description":"Timestamp when the fixed adjustment was created."},"is_amended":{"type":"boolean","example":true,"description":"Whether this fixed adjustment was amended from a previous one."},"is_deleted":{"type":"boolean","example":false,"description":"True if the fixed adjustment was deleted as part of the amendment; otherwise false."},"updated_at":{"type":"string","format":"date-time","example":"2025-09-22T10:21:13.815Z","description":"Timestamp when the fixed adjustment was last updated."},"description":{"type":"string","example":"Housing allowance for employee relocation","maxLength":256,"minLength":1,"description":"Description of the fixed adjustment."},"is_recurring":{"type":"boolean","example":true,"description":"Whether the fixed adjustment is recurring. If set to false, it will be treated as a one-time fixed allowance."},"is_country_specific":{"type":"boolean","example":false,"description":"Whether this fixed adjustment applies only to a specific country."},"parent_fixed_adjustment_id":{"type":"string","example":"cmfo0hqd5i9kbhfvk8fn7aniy","nullable":true,"description":"Reference to the parent fixed adjustment, if applicable."}}},"description":"List of fixed adjustments associated with the amendment request."},"rejection_context":{"type":"object","example":{"rejected_at":"2025-02-24T11:08:57.433Z"},"nullable":true,"properties":{"rejected_at":{"type":"string","format":"date-time","example":"2025-02-24T11:08:57.433Z","description":"Timestamp of when the rejection occurred"}},"description":"Additional details containing rejection reason"},"amendment_statuses":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","example":"PREPARING_DOCUMENTS.AMENDMENT_REQUESTED.SOW.PENDING_DOCUMENT_SUBMIT","description":"Logical, system-oriented identifier of the amendment status. Can be used to group statuses under a parent category and subgroup them for more granular state tracking. The structure typically follows a dot-separated hierarchy (e.g., 'PARENT','PARENT.CHILD', 'PARENT.CHILD.CHILD.CHILD', ...), which allows logical grouping and filtering of related statuses."},"friendly_name":{"type":"string","example":"AWAITING_REVIEW","description":"Human-readable label of the amendment status (e.g., DRAFT, PENDING, APPROVED)."},"amendment_flow_status":{"type":"object","properties":{"created_at":{"type":"string","format":"date-time","example":"2023-10-04T13:27:20.148Z","description":"The timestamp when this amendment status was created."}},"description":"Metadata about the amendment status, including when it was created."}},"description":"Details of a specific amendment status in the lifecycle of the amendment."},"description":"List of amendment statuses representing the history and progression of an amendment."},"notice_period_type":{"enum":["STANDARD","CUSTOM",null],"type":"string","example":"CUSTOM","nullable":true,"description":"Type of notice period."},"void_deadline_type":{"enum":["CUTOFF","START_DATE","END_DATE","EXPIRY",null],"type":"string","example":"CUTOFF","nullable":true,"description":"Type of void deadline"},"work_hours_per_week":{"type":"string","example":"40.00","description":"Number of work hours per week.","x-sensitive-employment":true},"employee_nationality":{"type":"string","example":"GB","description":"Nationality of the employee.","x-sensitive-pii":true},"is_hrx_action_needed":{"type":"boolean","example":false,"description":"Is HRX action needed."},"variable_compensation":{"type":"object","required":["id","title","amount","type","timeline","parent_id","effective_date","created_at","updated_at"],"properties":{"id":{"type":"string","example":"cmg0p4zgszy3m8v3a04bd5sjs","description":"The unique ID assigned by the system to this variable compensation record."},"type":{"enum":["FIXED","PERCENTAGE"],"type":"string","example":"FIXED","description":"The way the compensation is calculated. `FIXED` means a fixed amount (like $1000). `PERCENTAGE` means it’s based on a percentage of the salary."},"title":{"type":"string","example":"Bonus","description":"Title or name of the variable compensation."},"amount":{"type":"string","format":"decimal","example":"100000.0000","description":"The value of the compensation. Shown as a string to keep the exact number of decimals."},"timeline":{"enum":["MONTHLY","QUARTERLY","ANNUALLY","BIANNUALLY"],"type":"string","example":"ANNUALLY","description":"How often the compensation is paid — for example monthly, quarterly, annually, or twice a year."},"parent_id":{"type":"string","example":"cmg0p4zgszy3m8v3a04bd5sjs","nullable":true,"description":"Reference to the parent variable compensation, if applicable. Null if this compensation is not linked to any compensation."},"created_at":{"type":"string","format":"date-time","example":"2025-09-26T10:25:50.476Z","description":"The date and time when this record was first created in the system."},"is_amended":{"type":"boolean","example":true,"description":"Shows whether this compensation has been changed as part of an amendment."},"is_deleted":{"type":"boolean","example":true,"description":"Shows whether this compensation has been deleted."},"updated_at":{"type":"string","format":"date-time","example":"2025-09-26T10:25:50.476Z","description":"The date and time when this record was last updated."},"effective_date":{"type":"string","format":"date-time","example":"2025-10-18T00:00:00.000Z","description":"The date when this compensation starts being valid."},"incentive_plan":{"type":"object","properties":{"details":{"type":"string","example":"Year-end performance bonus based on quarterly targets.","description":"Extra details about the incentive plan, if any."},"employee_signature":{"type":"string","example":"John Doe","description":"The employee’s signature for the incentive plan, if collected."},"employee_signed_at":{"type":"string","format":"date-time","example":"2025-12-15T14:30:00.000Z","description":"The date and time when the employee signed the incentive plan. Empty if not signed."}},"description":"Details of the incentive plan linked to this compensation, if any."}},"description":"Represents a variable compensation record (such as a bonus, commission, or incentive) within a contract. It contains details like the amount, type, frequency, and whether it is part of an incentive plan. The record also tracks when it was created, updated, and whether it has been amended."},"notice_period_time_unit":{"enum":["DAY","WEEK","MONTH",null],"type":"string","example":"WEEK","nullable":true,"description":"Notice period time unit."},"is_effective_date_updated":{"type":"boolean","example":false,"description":"Is Effective Date updated."},"work_schedule_rules_version":{"type":"string","example":"2","nullable":true,"description":"Work schedule rule version."},"notice_period_after_probation":{"type":"string","example":"30","nullable":true,"description":"Notice period after probation."},"notice_period_during_probation":{"type":"string","example":"15","nullable":true,"description":"Notice period during probation."},"probation_period_type_for_definite":{"enum":["STANDARD","CUSTOM",null],"type":"string","example":"STANDARD","nullable":true,"description":"Type of probation period for definite contracts."}}}}}}},"description":"Amendment info"},"400":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"VALIDATION_ERROR"},"message":{"type":"string","example":"Internal validation error occurred"}}}}}},"example":{"errors":[{"code":"VALIDATION_ERROR","message":"Internal validation error occurred."}]}}},"description":"Bad Request. The request could not be understood or was missing required parameters."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"AMENDMENT_ERROR","description":"Unique error code identifying the type of not-found error."},"message":{"type":"string","example":"The requested resource could not be found.","description":"Human-readable description of the missing resource."}}}}}}}},"description":"Resource not found (e.g., contract, profile, amendment, change request)."},"500":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"AMENDMENT_ERROR"},"message":{"type":"string","example":"An unexpected error occurred"}}}}}},"example":{"errors":[{"code":"AMENDMENT_ERROR","message":"An unexpected error occurred"}]}}},"description":"Internal server error."}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string","format":"alphanumeric"},"example":"3w6pd6r","required":true,"description":"The unique identifier of EOR worker contract."},{"in":"path","name":"amendment_id","schema":{"type":"string","format":"uuid"},"example":"77733bb9-9e17-4dfd-ba1b-1315f77cd7f7","required":true,"description":"A unique identifier for the employee contract amendment."}],"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":false},"example":{}}},"required":false,"description":"This operation does not require a request body. Provide an empty JSON object if required by the client."}}},"/eor/contracts/{contract_id}/offboarding/review-client-sign-offs":{"post":{"tags":["EOR"],"summary":"Review, approve, or request changes to EOR offboarding documents","operationId":"reviewApproveOrRequestChangesToEorOffboardingDocuments","description":"Use this endpoint to review, approve, or request changes to EOR employee offboarding documents for a specific contract during the client sign‑off step.\n **Token scopes**: `contracts:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the offboarding request"},"end_date":{"type":"string","format":"date-time","example":"2025-01-31T00:00:00.000Z","nullable":true,"description":"The definitive contract end date","x-sensitive-pii":true,"x-sensitive-employment":true},"documents":{"type":"object","nullable":false,"required":["supporting","offboarding"],"properties":{"supporting":{"type":"array","items":{"type":"object","required":["id","name","type","created_at","updated_at","is_additional_supporting_document"],"properties":{"id":{"type":"string","example":"cmddlk1ghehm54l18gejg198r","description":"The unique identifier of the file","x-sensitive-pii":true},"name":{"type":"string","example":"Supporting Documentation","description":"The name of the file","x-sensitive-pii":true},"type":{"type":"string","example":"pdf","description":"The type/extension of the file","x-sensitive-pii":true},"created_at":{"type":"string","format":"date-time","example":"2025-07-21T21:07:27.713Z","description":"The date and time the file was created","x-sensitive-pii":true},"updated_at":{"type":"string","format":"date-time","example":"2025-07-21T21:07:27.713Z","description":"The date and time the file was updated","x-sensitive-pii":true},"is_additional_supporting_document":{"type":"boolean","example":false,"description":"Indicates if this is an additional supporting document added after the initial submission","x-sensitive-pii":true}}},"x-sensitive-pii":true},"offboarding":{"type":"array","items":{"type":"object","required":["files","reviewer_type","is_employee_notification_required","status"],"properties":{"id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the document set shared with the employee.","x-sensitive-pii":true},"files":{"type":"array","items":{"type":"object","required":["id","name","type","created_at"],"properties":{"id":{"type":"string","example":"cmdeh9wzgvihue4r54n2y51p4","description":"The unique identifier of the file","x-sensitive-pii":true},"name":{"type":"string","example":"Employee Sign Off Documents","description":"The name of the file","x-sensitive-pii":true},"type":{"type":"string","example":"pdf","description":"The type/extension of the file","x-sensitive-pii":true},"created_at":{"type":"string","format":"date-time","example":"2025-07-22T11:55:23.068Z","description":"The date and time the file was created","x-sensitive-pii":true},"updated_at":{"type":"string","format":"date-time","example":"2025-07-22T11:55:23.068Z","description":"The date and time the file was updated","x-sensitive-pii":true}}},"x-sensitive-pii":true},"status":{"enum":["AWAITING_REVIEW","AWAITING_FEEDBACK","FEEDBACK_PROVIDED","APPROVED","CHANGES_REQUESTED_BY_CLIENT","CHANGES_REQUESTED_BY_EMPLOYEE","WAIVED_REVIEW","NOT_RESPONDED","CANCELLED"],"type":"string","example":"AWAITING_REVIEW","description":"The current status of the document review","x-sensitive-pii":true},"created_at":{"type":"string","format":"date-time","example":"2025-07-22T11:55:23.068Z","description":"The date and time the document set was created","x-sensitive-pii":true},"updated_at":{"type":"string","format":"date-time","example":"2025-07-22T11:55:23.068Z","description":"The date and time the document set was updated","x-sensitive-pii":true},"reviewed_at":{"type":"string","format":"date-time","example":"2025-07-22T12:30:00.000Z","nullable":true,"description":"The date and time when the document was reviewed","x-sensitive-pii":true},"reviewed_by":{"type":"string","example":"John Doe","nullable":true,"description":"The name of the reviewer for this document. If the reviewer is not an employee, it will be the name of the client","x-sensitive-pii":true},"reviewer_type":{"enum":["CLIENT","EMPLOYEE"],"type":"string","example":"EMPLOYEE","description":"The type of reviewer for this document","x-sensitive-pii":true},"reviewer_feedback":{"type":"string","example":"Document needs clarification on section 3","nullable":true,"description":"Feedback provided by the reviewer","x-sensitive-pii":true},"notification_instructions":{"type":"string","example":"<p>Please review and provide feedback on the attached documents.</p>","nullable":true,"description":"HTML instructions for the reviewer notification","x-sensitive-pii":true},"is_employee_notification_required":{"type":"boolean","example":true,"description":"Indicates if the employee should be notified about this document review","x-sensitive-pii":true}}},"description":"Document set shared that requires client or employee review","x-sensitive-pii":true},"resignation_letter":{"type":"object","nullable":true,"properties":{"id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the resignation letter"},"signature":{"type":"string","example":"John Doe","nullable":true,"description":"The signature of the resignation letter"},"signed_at":{"type":"string","format":"date-time","example":"2025-01-31T00:00:00.000Z","nullable":true,"description":"The date and time when the resignation letter was signed"},"created_at":{"type":"string","format":"date-time","example":"2025-01-31T00:00:00.000Z","nullable":false,"description":"The date and time the resignation letter was created"},"updated_at":{"type":"string","format":"date-time","example":"2025-01-31T00:00:00.000Z","nullable":false,"description":"The date and time the resignation letter was updated"}},"x-sensitive-pii":true}},"description":"Document management structure for termination workflow including review processes and supporting documents","x-sensitive-pii":true},"created_at":{"type":"string","format":"date-time","example":"2025-01-31T00:00:00.000Z","nullable":false,"description":"The date and time the offboarding request was created"},"updated_at":{"type":"string","format":"date-time","example":"2025-01-31T00:00:00.000Z","nullable":false,"description":"The date and time the offboarding request was updated"},"contract_id":{"type":"string","example":"5B74FnLM","description":"The unique identifier of the employee contract."},"is_sensitive":{"type":"boolean","example":false,"nullable":false,"description":"Indicates if the offboarding request is sensitive. This is used to restrict access to the request only to the requester and the HRX team."},"request_data":{"type":"object","nullable":true,"properties":{"reason":{"enum":["STATUS_CHANGE","RELOCATION","COMPENSATION","RETIREMENT","JOB_ABANDONMENT","WORK_RELATED","PERSONAL","OTHER_OPPORTUNITY","NON_RENEWAL","PROBATION","ASSIGNMENT_ENDED","POSITION_ELIMINATION","FORCE_REDUCTION","DEATH","FOR_CAUSE","PERFORMANCE","MEDICAL","PERFORMANCE_ISSUES","ATTENDANCE_ISSUES","REORGANIZATION_DOWNSIZING_BUDGET_OR_REDUCTION_OF_WORKFORCE","ROLE_BECAME_REDUNDANT_OR_ROLE_CHANGED","OFFER_WAS_REVOKED","EXITING_THE_MARKET","NO_LONGER_WISH_TO_WORK_WITH_DEEL","COMPANY_ACQUIRED","STEALING","MISCONDUCT","FALSIFYING","HARASSMENT","VIOLENCE","REORGANIZATION_DOWNSIZING_BUDGET_OR_REDUCTION_OF_WORKFORCE_OR_ROLE_BECAME_REDUNDANT_OR_ROLE_CHANGED","UNAUTHORIZED_ABSENCES_OR_LACK_OF_ATTENDANCE","STANDARD_RESELLER_PRACTICE","MOVING_EMPLOYEE_TO_INTERNAL_ENTITY","MOVING_EMPLOYEE_TO_DEEL_PEO","OTHER"],"type":"string","example":"PERFORMANCE","nullable":false,"description":"The reason for the termination","x-sensitive-pii":true,"x-sensitive-employment":true},"end_date":{"type":"string","format":"date-time","example":"2025-01-31T00:00:00.000Z","nullable":true,"description":"The definitive contract end date","x-sensitive-pii":true,"x-sensitive-employment":true},"reason_detail":{"type":"string","example":"Employee is moving to another country","nullable":true,"description":"Optional field to describe the reason behind the resignation request","x-sensitive-pii":true,"x-sensitive-employment":true},"used_time_off":{"type":"object","example":{"time_offs":[{"unit":"BUSINESS_DAY","policy_type":"Vacation","tracking_periods":[{"used":0,"end_date":"2025-02-28T00:00:00.000Z","start_date":"2024-03-01T00:00:00.000Z"},{"used":0,"end_date":"2024-02-29T00:00:00.000Z","start_date":"2023-03-01T00:00:00.000Z"},{"used":0,"end_date":"2023-02-28T00:00:00.000Z","start_date":"2022-03-01T00:00:00.000Z"}],"scheduled_until_end_date":0}],"additional_details":null,"is_deel_pto_confirmed":true},"nullable":false,"required":["time_offs","is_deel_pto_confirmed"],"properties":{"time_offs":{"type":"array","items":{"type":"object","required":["unit","policy_type","tracking_periods","scheduled_until_end_date"],"properties":{"unit":{"enum":["BUSINESS_DAY","CALENDAR_DAY","HOUR"],"type":"string","example":"BUSINESS_DAY","description":"The unit of measurement for time off tracking","x-sensitive-employment":true},"policy_type":{"type":"string","example":"Vacation","description":"The type of time-off policy","x-sensitive-employment":true},"tracking_periods":{"type":"array","items":{"type":"object","required":["used","end_date","start_date"],"properties":{"used":{"type":"number","example":0,"description":"The amount of time off used in this tracking period","x-sensitive-employment":true},"end_date":{"type":"string","format":"date-time","example":"2025-02-28T00:00:00.000Z","description":"The end date of the tracking period","x-sensitive-employment":true},"start_date":{"type":"string","format":"date-time","example":"2024-03-01T00:00:00.000Z","description":"The start date of the tracking period","x-sensitive-employment":true}}},"x-sensitive-employment":true},"scheduled_until_end_date":{"type":"number","example":0,"description":"The amount of time off scheduled until the end date of the current tracking period","x-sensitive-employment":true}}},"x-sensitive-employment":true},"additional_details":{"type":"object","nullable":true,"properties":{"notes":{"type":"string","example":"Additional notes about time off allocation","nullable":true,"description":"Additional notes or comments about the time-off data","x-sensitive-employment":true},"updated_by":{"type":"string","example":"HR Administrator","nullable":true,"description":"The person or system that last updated the time-off data","x-sensitive-pii":true,"x-sensitive-employment":true},"last_updated_at":{"type":"string","format":"date-time","example":"2025-01-31T00:00:00.000Z","nullable":true,"description":"The date and time when the time-off data was last updated","x-sensitive-employment":true}},"x-sensitive-employment":true},"is_deel_pto_confirmed":{"type":"boolean","example":true,"nullable":false,"description":"Indicates whether the PTO allocation has been confirmed by Deel's system","x-sensitive-employment":true}},"description":"Time-off usage data including policy information and tracking periods","x-sensitive-employment":true},"desired_end_date":{"type":"string","format":"date","example":"2025-01-31","nullable":true,"description":"The desired end date. If the date is not provided, it will be selected by HRX the closest date possible","x-sensitive-pii":true},"eligible_for_rehire":{"enum":["YES","NO","DONT_KNOW"],"type":"string","example":"DONT_KNOW","nullable":true,"description":"Parameter to inform whether it would be possible for the client to hire the employee again","x-sensitive-pii":true},"eligible_for_rehire_reason":{"type":"string","example":"Employee is not eligible for rehire due to performance issues","nullable":true,"description":"Describe if the option DONT_KNOW was selected on eligible_for_rehire","x-sensitive-pii":true}},"x-sensitive-pii":true},"desired_end_date":{"type":"string","format":"date-time","example":"2025-01-31T00:00:00.000Z","nullable":true,"description":"The desired end date. If the date is not provided, it will be selected by HRX the closest date possible","x-sensitive-pii":true,"x-sensitive-employment":true}}}}}}},"description":"Approval submitted successfully."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_format","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"email","description":"The field name where input validation failed"},"message":{"type":"string","example":"The email field must be a valid email address format","description":"Description of the returned error"}}}}}}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"expired_token","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"authorization","description":"The field name where authentication failed"},"message":{"type":"string","example":"Your access token has expired. Please authenticate again to continue.","description":"Description of the returned error"}}}}}}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"access_denied","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"contract_id","description":"The field name where permission was denied"},"message":{"type":"string","example":"You do not have permission to access contract CT-12345. Contact your administrator for access.","description":"Description of the returned error"}}}}}}}},"description":"Forbidden"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"database_connection_failed","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":null,"description":"The field name where error occurred (null for server errors)"},"message":{"type":"string","example":"A temporary server error occurred. Please try again in a few moments or contact support if the issue persists.","description":"Description of the returned error"}}}}}}}},"description":"Internal Server Error"}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"5B74FnLM","required":true,"description":"The unique identifier of the employee contract."}],"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["has_client_approved"],"properties":{"reviewer_feedback":{"type":"string","example":"I don't agree witht the severance amount.","nullable":true,"maxLength":2000,"description":"Feedback from the reviewer when the termination is not approved. Required if has_client_approved is false, otherwise optional."},"has_client_approved":{"type":"boolean","example":false,"description":"Indicates if the client has approved the termination request"},"has_employee_been_notified":{"type":"boolean","example":false,"nullable":true,"description":"Indicates if the employee has been notified about the termiantion"}}}}}}}}}},"/eor/contracts/{contract_id}/amendments/{amendment_id}/sign":{"post":{"tags":["EOR"],"summary":"Sign a contract amendment (employee)","operationId":"signAContractAmendmentEmployee","description":"Allows the employee to provide their signature for a specific contract amendment, confirming acknowledgment and acceptance of the changes.\n **Token scopes**: `contracts:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"b9fd7198-7e81-4e57-bcf9-de6315194327","description":"Id of amendment"},"type":{"enum":["INSTANT","OPS","LEGAL","DISABLED","CUSTOM","AUTOMATED",null],"type":"string","example":"OPS","nullable":true,"description":"Type of amendment"},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"8e6ba281-c703-4af3-ad93-b27434b70c7d","description":"Id of amendment item"},"item":{"type":"string","example":"SALARY_INCREASE","description":"Amendment item"},"type":{"enum":["INSTANT","OPS","LEGAL","DISABLED","CUSTOM","AUTOMATED"],"type":"string","example":"OPS","description":"Type of amendment"},"new_value":{"type":"string","example":"62382.93","description":"The new valid value after the attempted change."},"data_point":{"type":"string","example":"salary","description":"The field that is selected for amendment."},"previous_value":{"type":"string","example":"68.9170","description":"The previous valid value before the attempted change."}}},"description":"Items of amendment"},"scope":{"type":"string","example":"Project scope details","description":"Scope of the amendment."},"salary":{"type":"string","example":"50000.00","description":"Salary for the amendment.","x-sensitive-employment":true},"source":{"enum":["APP","PUBLIC_API","APP_BULK_AMENDMENT",null],"type":"string","example":"APP","nullable":true,"description":"Source of amendment flow creation."},"currency":{"type":"string","example":"GBP","description":"Contract currency."},"end_date":{"type":"string","format":"date-time","example":"2023-10-04T13:27:20.148Z","nullable":true,"description":"End date of the employment."},"holidays":{"type":"integer","example":20,"nullable":true,"description":"Number of holidays."},"job_code":{"type":"string","example":"49589","nullable":true,"description":"Job code associated with the job title."},"job_title":{"type":"string","example":"Software Engineer","maxLength":1000,"description":"Job title associated with the amendment.","x-sensitive-pii":true},"created_at":{"type":"string","format":"date-time","example":"2023-10-04T13:27:20.148Z","description":"Creation date of the amendment."},"start_date":{"type":"string","format":"date-time","example":"2023-10-04T13:27:20.148Z","description":"Start date of the employment."},"updated_at":{"type":"string","format":"date-time","example":"2023-10-04T13:27:20.148Z","description":"Date when amendment is updated"},"hourly_rate":{"type":"string","example":"50000.00","nullable":true,"description":"Hourly rate of the amendment","x-sensitive-employment":true},"custom_items":{"type":"array","items":{"type":"object","required":["id","type","status"],"properties":{"id":{"type":"string","format":"uuid","example":"e7b45fa6-9a72-4ab6-b163-ef50ccaba7fb","description":"Unique identifier for the custom amendment item"},"type":{"type":"string","example":"START_DATE","description":"Type/context of the custom amendment item"},"status":{"enum":["REJECTED","APPROVED","PENDING_REVIEW","PENDING_LEGAL"],"type":"string","example":"PENDING_REVIEW","description":"Current status of the custom amendment item"},"description":{"type":"string","example":"Please change the start date to 20th November 2025.","nullable":true,"description":"Detailed description of the custom amendment item"},"rejection_reason":{"type":"string","example":"Start date cannot be moved this far in advance.","nullable":true,"description":"Reason for rejection if the item was rejected"}}},"description":"Custom amendment items associated with the amendment flow"},"job_category":{"type":"string","example":"Engineering","nullable":true,"description":"Job category associated with the job title."},"requested_by":{"type":"string","example":"John Doe","nullable":true,"description":"Profile name of the user who requested the change"},"seniority_id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","nullable":true,"description":"Seniority level identifier."},"document_type":{"enum":["EA","SOW","SOW_EA",null],"type":"string","example":"SOW_EA","nullable":true,"description":"Amendment document type"},"legal_context":{"type":"object","example":{"status":"REQUEST_LEGAL_REVIEW","details":"This amendment requires input from the legal team and will be moved to `paused` until it is resolved manually","jira_ticket":"COHDSB-9600","jira_web_url":"https://letsdeel.atlassian.net/browse/COHDSB-9600","requested_at":"2025-04-23T10:40:25.527Z"},"nullable":true,"properties":{"status":{"enum":["REQUEST_LEGAL_REVIEW","WAITING_FOR_ANOTHER_TEAM","WAITING_FOR_HRX_ACTION","DECLINED","SOLVED"],"type":"string","example":"REQUEST_LEGAL_REVIEW","description":"Current status of the legal review process"},"details":{"type":"string","example":"This amendment requires input from the legal team and will be moved to `paused` until it is resolved manually","description":"Details regarding the legal request"},"jira_ticket":{"type":"string","example":"COHDSB-9600","description":"Jira ticket identifier linked to the legal context"},"jira_web_url":{"type":"string","format":"uri","example":"https://letsdeel.atlassian.net/browse/COHDSB-9600","description":"Link to the Jira ticket for tracking"},"requested_at":{"type":"string","format":"date-time","example":"2025-04-23T10:40:25.527Z","description":"Timestamp when legal review was requested"}},"description":"Additional details needed for legal input"},"time_off_type":{"enum":["STANDARD","SPECIFIC","PRORATED"],"type":"string","example":"STANDARD","description":"Type of time off."},"void_deadline":{"type":"string","format":"date-time","example":"2023-01-01T00:00:00Z","nullable":true,"description":"Deadline this SOW to be voided"},"effective_date":{"type":"string","format":"date-time","example":"2023-01-01T00:00:00Z","nullable":true,"description":"Effective date of the amendment."},"seniority_date":{"type":"string","format":"date","example":"2023-01-01","nullable":true,"description":"The seniority date represents the employee’s original start date with a previous employer. It is used to preserve employment tenure when the employee transfers to this company. Can be null if not applicable."},"employment_type":{"enum":["FULL_TIME","PART_TIME"],"type":"string","example":"FULL_TIME","description":"Type of employment."},"sick_leave_days":{"type":"integer","format":"number","example":12,"nullable":true,"description":"Number of sick leave days"},"employment_state":{"type":"string","example":"Active","nullable":true,"description":"State of employment."},"probation_period":{"type":"integer","example":3,"nullable":true,"description":"Duration of the probation period."},"work_schedule_id":{"type":"string","format":"uuid","example":"2b786de3-9b25-42d9-8a2d-61583bcfc09e","nullable":true,"description":"Work schedule id"},"fixed_adjustments":{"type":"array","items":{"type":"object","required":["id","value","description","is_recurring","status","is_amended","is_country_specific","created_at","updated_at"],"properties":{"id":{"type":"string","example":"cmfo0hqd5bw00cqs1b1jd7eag","description":"System-generated unique identifier for the fixed adjustment record in an amendment request."},"value":{"type":"string","example":"1200.50","pattern":"^(?!0+(\\.0+)?$)\\d+(?:\\.\\d+)?$","description":"Value of the fixed adjustment."},"status":{"enum":["WAITING_FOR_SIGNING","ACTIVE","OUTDATED","CANCELLED"],"type":"string","example":"WAITING_FOR_SIGNING","description":"Current status of the fixed adjustment."},"created_at":{"type":"string","format":"date-time","example":"2025-09-22T10:21:13.815Z","description":"Timestamp when the fixed adjustment was created."},"is_amended":{"type":"boolean","example":true,"description":"Whether this fixed adjustment was amended from a previous one."},"is_deleted":{"type":"boolean","example":false,"description":"True if the fixed adjustment was deleted as part of the amendment; otherwise false."},"updated_at":{"type":"string","format":"date-time","example":"2025-09-22T10:21:13.815Z","description":"Timestamp when the fixed adjustment was last updated."},"description":{"type":"string","example":"Housing allowance for employee relocation","maxLength":256,"minLength":1,"description":"Description of the fixed adjustment."},"is_recurring":{"type":"boolean","example":true,"description":"Whether the fixed adjustment is recurring. If set to false, it will be treated as a one-time fixed allowance."},"is_country_specific":{"type":"boolean","example":false,"description":"Whether this fixed adjustment applies only to a specific country."},"parent_fixed_adjustment_id":{"type":"string","example":"cmfo0hqd5i9kbhfvk8fn7aniy","nullable":true,"description":"Reference to the parent fixed adjustment, if applicable."}}},"description":"List of fixed adjustments associated with the amendment request."},"rejection_context":{"type":"object","example":{"rejected_at":"2025-02-24T11:08:57.433Z"},"nullable":true,"properties":{"rejected_at":{"type":"string","format":"date-time","example":"2025-02-24T11:08:57.433Z","description":"Timestamp of when the rejection occurred"}},"description":"Additional details containing rejection reason"},"amendment_statuses":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","example":"AWAITING_SIGNATURE.EA.PENDING_EMPLOYEE_SIGNATURE","description":"Logical, system-oriented identifier of the amendment status. Can be used to group statuses under a parent category and subgroup them for more granular state tracking. The structure typically follows a dot-separated hierarchy (e.g., 'PARENT','PARENT.CHILD', 'PARENT.CHILD.CHILD.CHILD', ...), which allows logical grouping and filtering of related statuses."},"friendly_name":{"type":"string","example":"PENDING_EMPLOYEE_SIGNATURE","description":"Friendly name of amendment status"},"amendment_flow_status":{"type":"object","properties":{"created_at":{"type":"string","format":"date-time","example":"2023-10-04T13:27:20.148Z","description":"Creation date"}},"description":"Metadata about the amendment status, including when it was created."}}},"description":"List of amendment statuses representing the history and progression of an amendment."},"notice_period_type":{"enum":["STANDARD","CUSTOM",null],"type":"string","example":"CUSTOM","nullable":true,"description":"Type of notice period."},"void_deadline_type":{"enum":["CUTOFF","START_DATE","END_DATE","EXPIRY",null],"type":"string","example":"CUTOFF","nullable":true,"description":"Type of void deadline"},"work_hours_per_week":{"type":"string","example":"40.00","description":"Number of work hours per week.","x-sensitive-employment":true},"employee_nationality":{"type":"string","example":"GB","description":"Nationality of the employee.","x-sensitive-pii":true},"is_hrx_action_needed":{"type":"boolean","example":false,"description":"Is HRX action needed."},"variable_compensation":{"type":"object","required":["id","title","amount","type","timeline","parent_id","effective_date","created_at","updated_at"],"properties":{"id":{"type":"string","example":"cmg0p4zgszy3m8v3a04bd5sjs","description":"The unique ID assigned by the system to this variable compensation record."},"type":{"enum":["FIXED","PERCENTAGE"],"type":"string","example":"FIXED","description":"The way the compensation is calculated. `FIXED` means a fixed amount (like $1000). `PERCENTAGE` means it’s based on a percentage of the salary."},"title":{"type":"string","example":"Bonus","description":"Title or name of the variable compensation."},"amount":{"type":"string","format":"decimal","example":"100000.0000","description":"The value of the compensation. Shown as a string to keep the exact number of decimals."},"timeline":{"enum":["MONTHLY","QUARTERLY","ANNUALLY","BIANNUALLY"],"type":"string","example":"ANNUALLY","description":"How often the compensation is paid — for example monthly, quarterly, annually, or twice a year."},"parent_id":{"type":"string","example":"cmg0p4zgszy3m8v3a04bd5sjs","nullable":true,"description":"Reference to the parent variable compensation, if applicable. Null if this compensation is not linked to any compensation."},"created_at":{"type":"string","format":"date-time","example":"2025-09-26T10:25:50.476Z","description":"The date and time when this record was first created in the system."},"is_amended":{"type":"boolean","example":true,"description":"Shows whether this compensation has been changed as part of an amendment."},"is_deleted":{"type":"boolean","example":true,"description":"Shows whether this compensation has been deleted."},"updated_at":{"type":"string","format":"date-time","example":"2025-09-26T10:25:50.476Z","description":"The date and time when this record was last updated."},"effective_date":{"type":"string","format":"date-time","example":"2025-10-18T00:00:00.000Z","description":"The date when this compensation starts being valid."},"incentive_plan":{"type":"object","properties":{"details":{"type":"string","example":"Year-end performance bonus based on quarterly targets.","description":"Extra details about the incentive plan, if any."},"employee_signature":{"type":"string","example":"John Doe","description":"The employee’s signature for the incentive plan, if collected."},"employee_signed_at":{"type":"string","format":"date-time","example":"2025-12-15T14:30:00.000Z","description":"The date and time when the employee signed the incentive plan. Empty if not signed."}},"description":"Details of the incentive plan linked to this compensation, if any."}},"description":"Represents a variable compensation record (such as a bonus, commission, or incentive) within a contract. It contains details like the amount, type, frequency, and whether it is part of an incentive plan. The record also tracks when it was created, updated, and whether it has been amended."},"notice_period_time_unit":{"enum":["DAY","WEEK","MONTH",null],"type":"string","example":"WEEK","nullable":true,"description":"Notice period time unit."},"is_effective_date_updated":{"type":"boolean","example":false,"description":"Is Effective Date updated."},"work_schedule_rules_version":{"type":"string","example":"2","nullable":true,"description":"Work schedule rule version."},"notice_period_after_probation":{"type":"string","example":"30","nullable":true,"description":"Notice period after probation."},"notice_period_during_probation":{"type":"string","example":"15","nullable":true,"description":"Notice period during probation."},"probation_period_type_for_definite":{"enum":["STANDARD","CUSTOM",null],"type":"string","example":"STANDARD","nullable":true,"description":"Type of probation period for definite contracts."}}}}}}},"description":"Amendment info"},"400":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"VALIDATION_ERROR"},"message":{"type":"string","example":"Internal validation error occurred"}}}}}},"example":{"errors":[{"code":"VALIDATION_ERROR","message":"Internal validation error occurred."}]}}},"description":"Bad Request. The request could not be understood or was missing required parameters."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"AMENDMENT_ERROR","description":"Unique error code identifying the type of not-found error."},"message":{"type":"string","example":"The requested resource could not be found.","description":"Human-readable description of the missing resource."}}}}}}}},"description":"Resource not found (e.g., contract, profile, amendment, change request)."},"500":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"AMENDMENT_ERROR"},"message":{"type":"string","example":"An unexpected error occurred"}}}}}},"example":{"errors":[{"code":"AMENDMENT_ERROR","message":"An unexpected error occurred"}]}}},"description":"Internal server error."}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string","format":"alphanumeric"},"example":"3w6pd6r","required":true,"description":"The unique identifier of EOR worker contract."},{"in":"path","name":"amendment_id","schema":{"type":"string","format":"uuid"},"example":"77733bb9-9e17-4dfd-ba1b-1315f77cd7f7","required":true,"description":"A unique identifier for the employee contract amendment."}],"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":false},"example":{}}},"required":false,"description":"This operation does not require a request body. Provide an empty JSON object if required by the client."}}},"/eor/contracts/{contract_id}/amendments/{amendment_id}/confirm":{"post":{"tags":["EOR"],"summary":"Confirm an existing contract amendment","operationId":"confirmAnExistingContractAmendment-v2026-01-01","description":"Confirms an existing contract amendment and initiates the review process, sending it to both Deel and the employee for acknowledgment and approval.\n **Token scopes**: `contracts:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"b9fd7198-7e81-4e57-bcf9-de6315194327","description":"Id of amendment"},"type":{"enum":["INSTANT","OPS","LEGAL","DISABLED","CUSTOM","AUTOMATED",null],"type":"string","example":"OPS","nullable":true,"description":"Type of amendment"},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"8e6ba281-c703-4af3-ad93-b27434b70c7d","description":"Id of amendment item"},"item":{"type":"string","example":"SALARY_INCREASE","description":"Amendment item"},"type":{"type":"string","example":"OPS","description":"Type of amendment"},"new_value":{"type":"string","example":"62382.93","description":"The new valid value after the attempted change."},"data_point":{"type":"string","example":"salary","description":"The field that is selected for amendment."},"previous_value":{"type":"string","example":"68.9170","description":"The previous valid value before the attempted change."}}},"description":"Items of amendment"},"scope":{"type":"string","example":"Project scope details","description":"Scope of the amendment."},"salary":{"type":"string","example":"50000.00","description":"Salary for the amendment.","x-sensitive-employment":true},"source":{"enum":["APP","PUBLIC_API","APP_BULK_AMENDMENT",null],"type":"string","example":"APP","nullable":true,"description":"Source of amendment flow creation."},"currency":{"type":"string","example":"GBP","description":"Contract currency."},"end_date":{"type":"string","format":"date-time","example":"2023-10-04T13:27:20.148Z","nullable":true,"description":"End date of the employment."},"holidays":{"type":"integer","example":20,"nullable":true,"description":"Number of holidays."},"job_code":{"type":"string","example":"49589","nullable":true,"description":"Job code associated with the job title."},"job_title":{"type":"string","example":"Software Engineer","maxLength":1000,"description":"Job title associated with the amendment.","x-sensitive-pii":true},"created_at":{"type":"string","format":"date-time","example":"2023-10-04T13:27:20.148Z","description":"Creation date of the amendment."},"start_date":{"type":"string","format":"date-time","example":"2023-10-04T13:27:20.148Z","description":"Start date of the employment."},"updated_at":{"type":"string","format":"date-time","example":"2023-10-04T13:27:20.148Z","description":"Date when amendment is updated"},"hourly_rate":{"type":"string","example":"50000.00","nullable":true,"description":"Hourly rate of the amendment","x-sensitive-employment":true},"custom_items":{"type":"array","items":{"type":"object","required":["id","type","status"],"properties":{"id":{"type":"string","format":"uuid","example":"e7b45fa6-9a72-4ab6-b163-ef50ccaba7fb","description":"Unique identifier for the custom amendment item"},"type":{"type":"string","example":"START_DATE","description":"Type/context of the custom amendment item"},"status":{"enum":["REJECTED","APPROVED","PENDING_REVIEW","PENDING_LEGAL"],"type":"string","example":"PENDING_REVIEW","description":"Current status of the custom amendment item"},"description":{"type":"string","example":"Please change the start date to 20th November 2025.","nullable":true,"description":"Detailed description of the custom amendment item"},"rejection_reason":{"type":"string","example":"Start date cannot be moved this far in advance.","nullable":true,"description":"Reason for rejection if the item was rejected"}}},"description":"Custom amendment items associated with the amendment flow"},"job_category":{"type":"string","example":"Engineering","nullable":true,"description":"Job category associated with the job title."},"requested_by":{"type":"string","example":"John Doe","nullable":true,"description":"Profile name of the user who requested the change"},"seniority_id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","nullable":true,"description":"Seniority level identifier."},"document_type":{"enum":["EA","SOW","SOW_EA",null],"type":"string","example":"SOW_EA","nullable":true,"description":"Amendment document type"},"legal_context":{"type":"object","example":{"status":"REQUEST_LEGAL_REVIEW","details":"This amendment requires input from the legal team and will be moved to `paused` until it is resolved manually","jira_ticket":"COHDSB-9600","jira_web_url":"https://letsdeel.atlassian.net/browse/COHDSB-9600","requested_at":"2025-04-23T10:40:25.527Z"},"nullable":true,"properties":{"status":{"enum":["REQUEST_LEGAL_REVIEW","WAITING_FOR_ANOTHER_TEAM","WAITING_FOR_HRX_ACTION","DECLINED","SOLVED"],"type":"string","example":"REQUEST_LEGAL_REVIEW","description":"Current status of the legal review process"},"details":{"type":"string","example":"This amendment requires input from the legal team and will be moved to `paused` until it is resolved manually","description":"Details regarding the legal request"},"jira_ticket":{"type":"string","example":"COHDSB-9600","description":"Jira ticket identifier linked to the legal context"},"jira_web_url":{"type":"string","format":"uri","example":"https://letsdeel.atlassian.net/browse/COHDSB-9600","description":"Link to the Jira ticket for tracking"},"requested_at":{"type":"string","format":"date-time","example":"2025-04-23T10:40:25.527Z","description":"Timestamp when legal review was requested"}},"description":"Additional details needed for legal input"},"time_off_type":{"enum":["STANDARD","SPECIFIC","PRORATED"],"type":"string","example":"STANDARD","description":"Type of time off."},"void_deadline":{"type":"string","format":"date","example":"2023-01-01T00:00:00Z","nullable":true,"description":"Deadline this SOW to be voided"},"effective_date":{"type":"string","format":"date-time","example":"2023-01-01T00:00:00Z","nullable":true,"description":"Effective date of the amendment."},"seniority_date":{"type":"string","format":"date-time","example":"2023-01-01T00:00:00Z","nullable":true,"description":"The seniority date represents the employee’s original start date with a previous employer. It is used to preserve employment tenure when the employee transfers to this company. Can be null if not applicable."},"employment_type":{"enum":["FULL_TIME","PART_TIME"],"type":"string","example":"FULL_TIME","description":"Type of employment."},"sick_leave_days":{"type":"integer","format":"number","example":12,"nullable":true,"description":"Number of sick leave days"},"employment_state":{"type":"string","example":"Active","nullable":true,"description":"State of employment."},"probation_period":{"type":"integer","example":3,"nullable":true,"description":"Duration of the probation period."},"work_schedule_id":{"type":"string","format":"uuid","example":"2b786de3-9b25-42d9-8a2d-61583bcfc09e","nullable":true,"description":"Work schedule id"},"fixed_adjustments":{"type":"array","items":{"type":"object","required":["id","value","description","is_recurring","status","is_amended","is_country_specific","created_at","updated_at"],"properties":{"id":{"type":"string","example":"cmfo0hqd5bw00cqs1b1jd7eag","description":"System-generated unique identifier for the fixed adjustment record in an amendment request."},"value":{"type":"string","example":"1200.50","pattern":"^(?!0+(\\.0+)?$)\\d+(?:\\.\\d+)?$","description":"Value of the fixed adjustment."},"status":{"enum":["WAITING_FOR_SIGNING","ACTIVE","OUTDATED","CANCELLED"],"type":"string","example":"WAITING_FOR_SIGNING","description":"Current status of the fixed adjustment."},"created_at":{"type":"string","format":"date-time","example":"2025-09-22T10:21:13.815Z","description":"Timestamp when the fixed adjustment was created."},"is_amended":{"type":"boolean","example":true,"description":"Whether this fixed adjustment was amended from a previous one."},"is_deleted":{"type":"boolean","example":false,"description":"True if the fixed adjustment was deleted as part of the amendment; otherwise false."},"updated_at":{"type":"string","format":"date-time","example":"2025-09-22T10:21:13.815Z","description":"Timestamp when the fixed adjustment was last updated."},"description":{"type":"string","example":"Housing allowance for employee relocation","maxLength":256,"minLength":1,"description":"Description of the fixed adjustment."},"is_recurring":{"type":"boolean","example":true,"description":"Whether the fixed adjustment is recurring. If set to false, it will be treated as a one-time fixed allowance."},"is_country_specific":{"type":"boolean","example":false,"description":"Whether this fixed adjustment applies only to a specific country."},"parent_fixed_adjustment_id":{"type":"string","example":"cmfo0hqd5i9kbhfvk8fn7aniy","nullable":true,"description":"Reference to the parent fixed adjustment, if applicable."}}},"description":"List of fixed adjustments associated with the amendment request."},"rejection_context":{"type":"object","example":{"rejected_at":"2025-02-24T11:08:57.433Z"},"nullable":true,"properties":{"rejected_at":{"type":"string","format":"date-time","example":"2025-02-24T11:08:57.433Z","description":"Timestamp of when the rejection occurred"}},"description":"Additional details containing rejection reason"},"amendment_statuses":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","example":"PREPARING_DOCUMENTS","description":"Logical, system-oriented identifier of the amendment status. Can be used to group statuses under a parent category and subgroup them for more granular state tracking. The structure typically follows a dot-separated hierarchy (e.g., 'PARENT','PARENT.CHILD', 'PARENT.CHILD.CHILD.CHILD', ...), which allows logical grouping and filtering of related statuses."},"friendly_name":{"type":"string","example":"PREPARING_DOCUMENTS","description":"Friendly name of amendment status"},"amendment_flow_status":{"type":"object","properties":{"created_at":{"type":"string","format":"date-time","example":"2023-10-04T13:27:20.148Z","description":"Creation date"}},"description":"Metadata about the amendment status, including when it was created."}}},"description":"List of amendment statuses representing the history and progression of an amendment."},"notice_period_type":{"enum":["STANDARD","CUSTOM",null],"type":"string","example":"CUSTOM","nullable":true,"description":"Type of notice period."},"void_deadline_type":{"enum":["CUTOFF","START_DATE","END_DATE","EXPIRY",null],"type":"string","example":"CUTOFF","nullable":true,"description":"Type of void deadline"},"work_hours_per_week":{"type":"string","example":"40.00","description":"Number of work hours per week.","x-sensitive-employment":true},"employee_nationality":{"type":"string","example":"GB","description":"Nationality of the employee.","x-sensitive-pii":true},"is_hrx_action_needed":{"type":"boolean","example":false,"description":"Is HRX action needed."},"variable_compensation":{"type":"object","required":["id","title","amount","type","timeline","parent_id","effective_date","created_at","updated_at"],"properties":{"id":{"type":"string","example":"cmg0p4zgszy3m8v3a04bd5sjs","description":"The unique ID assigned by the system to this variable compensation record."},"type":{"enum":["FIXED","PERCENTAGE"],"type":"string","example":"FIXED","description":"The way the compensation is calculated. `FIXED` means a fixed amount (like $1000). `PERCENTAGE` means it’s based on a percentage of the salary."},"title":{"type":"string","example":"Bonus","description":"Title or name of the variable compensation."},"amount":{"type":"string","format":"decimal","example":"100000.0000","description":"The value of the compensation. Shown as a string to keep the exact number of decimals."},"timeline":{"enum":["MONTHLY","QUARTERLY","ANNUALLY","BIANNUALLY"],"type":"string","example":"ANNUALLY","description":"How often the compensation is paid — for example monthly, quarterly, annually, or twice a year."},"parent_id":{"type":"string","example":"cmg0p4zgszy3m8v3a04bd5sjs","nullable":true,"description":"Reference to the parent variable compensation, if applicable. Null if this compensation is not linked to any compensation."},"created_at":{"type":"string","format":"date-time","example":"2025-09-26T10:25:50.476Z","description":"The date and time when this record was first created in the system."},"is_amended":{"type":"boolean","example":true,"description":"Shows whether this compensation has been changed as part of an amendment."},"is_deleted":{"type":"boolean","example":true,"description":"Shows whether this compensation has been deleted."},"updated_at":{"type":"string","format":"date-time","example":"2025-09-26T10:25:50.476Z","description":"The date and time when this record was last updated."},"effective_date":{"type":"string","format":"date-time","example":"2025-10-18T00:00:00.000Z","description":"The date when this compensation starts being valid."},"incentive_plan":{"type":"object","properties":{"details":{"type":"string","example":"Year-end performance bonus based on quarterly targets.","description":"Extra details about the incentive plan, if any."},"employee_signature":{"type":"string","example":"John Doe","description":"The employee’s signature for the incentive plan, if collected."},"employee_signed_at":{"type":"string","format":"date-time","example":"2025-12-15T14:30:00.000Z","description":"The date and time when the employee signed the incentive plan. Empty if not signed."}},"description":"Details of the incentive plan linked to this compensation, if any."}},"description":"Represents a variable compensation record (such as a bonus, commission, or incentive) within a contract. It contains details like the amount, type, frequency, and whether it is part of an incentive plan. The record also tracks when it was created, updated, and whether it has been amended."},"notice_period_time_unit":{"enum":["DAY","WEEK","MONTH",null],"type":"string","example":"WEEK","nullable":true,"description":"Notice period time unit."},"is_effective_date_updated":{"type":"boolean","example":false,"description":"Is Effective Date updated."},"work_schedule_rules_version":{"type":"string","example":"2","nullable":true,"description":"Work schedule rule version."},"notice_period_after_probation":{"type":"string","example":"4","nullable":true,"description":"Notice period after probation."},"notice_period_during_probation":{"type":"string","example":"4","nullable":true,"description":"Notice period during probation."},"probation_period_type_for_definite":{"enum":["STANDARD","CUSTOM",null],"type":"string","example":"STANDARD","nullable":true,"description":"Type of probation period for definite contracts."}}}}}}},"description":"Amendment info"},"400":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"VALIDATION_ERROR"},"message":{"type":"string","example":"Internal validation error occurred"}}}}}},"example":{"errors":[{"code":"VALIDATION_ERROR","message":"Internal validation error occurred."}]}}},"description":"Bad Request. The request could not be understood or was missing required parameters."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"AMENDMENT_ERROR","description":"Unique error code identifying the type of not-found error."},"message":{"type":"string","example":"The requested resource could not be found.","description":"Human-readable description of the missing resource."}}}}}}}},"description":"Resource not found (e.g., contract, profile, amendment, change request)."},"500":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"AMENDMENT_ERROR"},"message":{"type":"string","example":"An unexpected error occurred"}}}}}},"example":{"errors":[{"code":"AMENDMENT_ERROR","message":"An unexpected error occurred"}]}}},"description":"Internal server error."}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string","format":"alphanumeric"},"example":"3w6pd6r","required":true,"description":"The unique identifier of EOR worker contract."},{"in":"path","name":"amendment_id","schema":{"type":"string","format":"uuid"},"example":"77733bb9-9e17-4dfd-ba1b-1315f77cd7f7","required":true,"description":"A unique identifier for the employee contract amendment."}],"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":false},"example":{}}},"required":false,"description":"This operation does not require a request body. Provide an empty JSON object if required by the client."}}},"/eor/contracts/{contract_id}/amendments/validate":{"post":{"tags":["EOR"],"summary":"Validate amendment data points","operationId":"validateAmendmentDataPoints","description":"Validate amendment data points that require external validation\n **Token scopes**: `contracts:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","example":{"scope":{"valid":false,"message":"Scope exceeds maximum length of 20,000 characters."},"job_title":{"valid":true,"message":null}},"description":"Validation results keyed by amendment field","additionalProperties":{"type":"object","example":{"valid":false,"message":"Scope exceeds maximum length of 20,000 characters."},"properties":{"valid":{"type":"boolean","example":true,"nullable":true},"message":{"type":"string","example":"Scope exceeds maximum length of 20,000 characters.","nullable":true}}}}}}}},"description":"Validation result"},"400":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"VALIDATION_ERROR"},"message":{"type":"string","example":"Internal validation error occurred"}}}}}},"example":{"errors":[{"code":"VALIDATION_ERROR","message":"Internal validation error occurred."}]}}},"description":"Bad Request. The request could not be understood or was missing required parameters."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"AMENDMENT_ERROR","description":"Unique error code identifying the type of not-found error."},"message":{"type":"string","example":"The requested resource could not be found.","description":"Human-readable description of the missing resource."}}}}}}}},"description":"Resource not found (e.g., contract, profile, amendment, change request)."},"500":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"AMENDMENT_ERROR"},"message":{"type":"string","example":"An unexpected error occurred"}}}}}},"example":{"errors":[{"code":"AMENDMENT_ERROR","message":"An unexpected error occurred"}]}}},"description":"Internal server error."}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string","format":"alphanumeric"},"example":"3w6pd6r","required":true,"description":"The unique identifier of the employee contract."}],"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","description":"Dynamic object containing amendment fields. Supports flexible keys such as scope, job_title, or others.","additionalProperties":{}}}},"examples":{"withScope":{"value":{"data":{"scope":"Responsible for project planning, resource allocation, and ensuring quality delivery."}},"summary":"Example with scope"},"withJobTitle":{"value":{"data":{"job_title":"Product Manager"}},"summary":"Example with job title"}}}},"required":true}}},"/eor/contracts/{contract_id}/offboarding/review-employee-sign-offs":{"post":{"tags":["EOR"],"summary":"Submit employee sign-off review for offboarding documents","operationId":"submitEmployeeSignOffReviewForOffboardingDocuments","description":"Use this endpoint to submit an employee's review decision for the EOR offboarding document set for contract. Employees can approve the documents or request changes by providing feedback.\n **Token scopes**: `worker:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the offboarding request"},"end_date":{"type":"string","format":"date-time","example":"2025-01-31T00:00:00.000Z","nullable":true,"description":"The definitive contract end date","x-sensitive-pii":true,"x-sensitive-employment":true},"documents":{"type":"object","nullable":false,"required":["supporting","offboarding"],"properties":{"supporting":{"type":"array","items":{"type":"object","required":["id","name","type","created_at","updated_at","is_additional_supporting_document"],"properties":{"id":{"type":"string","example":"cmddlk1ghehm54l18gejg198r","description":"The unique identifier of the file","x-sensitive-pii":true},"name":{"type":"string","example":"Supporting Documentation","description":"The name of the file","x-sensitive-pii":true},"type":{"type":"string","example":"pdf","description":"The type/extension of the file","x-sensitive-pii":true},"created_at":{"type":"string","format":"date-time","example":"2025-07-21T21:07:27.713Z","description":"The date and time the file was created","x-sensitive-pii":true},"updated_at":{"type":"string","format":"date-time","example":"2025-07-21T21:07:27.713Z","description":"The date and time the file was updated","x-sensitive-pii":true},"is_additional_supporting_document":{"type":"boolean","example":false,"description":"Indicates if this is an additional supporting document added after the initial submission","x-sensitive-pii":true}}},"x-sensitive-pii":true},"offboarding":{"type":"array","items":{"type":"object","required":["files","reviewer_type","is_employee_notification_required","status"],"properties":{"id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the document set shared with the employee.","x-sensitive-pii":true},"files":{"type":"array","items":{"type":"object","required":["id","name","type","created_at"],"properties":{"id":{"type":"string","example":"cmdeh9wzgvihue4r54n2y51p4","description":"The unique identifier of the file","x-sensitive-pii":true},"name":{"type":"string","example":"Employee Sign Off Documents","description":"The name of the file","x-sensitive-pii":true},"type":{"type":"string","example":"pdf","description":"The type/extension of the file","x-sensitive-pii":true},"created_at":{"type":"string","format":"date-time","example":"2025-07-22T11:55:23.068Z","description":"The date and time the file was created","x-sensitive-pii":true},"updated_at":{"type":"string","format":"date-time","example":"2025-07-22T11:55:23.068Z","description":"The date and time the file was updated","x-sensitive-pii":true}}},"x-sensitive-pii":true},"status":{"enum":["AWAITING_REVIEW","AWAITING_FEEDBACK","FEEDBACK_PROVIDED","APPROVED","CHANGES_REQUESTED_BY_CLIENT","CHANGES_REQUESTED_BY_EMPLOYEE","WAIVED_REVIEW","NOT_RESPONDED","CANCELLED"],"type":"string","example":"AWAITING_REVIEW","description":"The current status of the document review","x-sensitive-pii":true},"created_at":{"type":"string","format":"date-time","example":"2025-07-22T11:55:23.068Z","description":"The date and time the document set was created","x-sensitive-pii":true},"updated_at":{"type":"string","format":"date-time","example":"2025-07-22T11:55:23.068Z","description":"The date and time the document set was updated","x-sensitive-pii":true},"reviewed_at":{"type":"string","format":"date-time","example":"2025-07-22T12:30:00.000Z","nullable":true,"description":"The date and time when the document was reviewed","x-sensitive-pii":true},"reviewed_by":{"type":"string","example":"John Doe","nullable":true,"description":"The name of the reviewer for this document. If the reviewer is not an employee, it will be the name of the client","x-sensitive-pii":true},"reviewer_type":{"enum":["CLIENT","EMPLOYEE"],"type":"string","example":"EMPLOYEE","description":"The type of reviewer for this document","x-sensitive-pii":true},"reviewer_feedback":{"type":"string","example":"Document needs clarification on section 3","nullable":true,"description":"Feedback provided by the reviewer","x-sensitive-pii":true},"notification_instructions":{"type":"string","example":"<p>Please review and provide feedback on the attached documents.</p>","nullable":true,"description":"HTML instructions for the reviewer notification","x-sensitive-pii":true},"is_employee_notification_required":{"type":"boolean","example":true,"description":"Indicates if the employee should be notified about this document review","x-sensitive-pii":true}}},"description":"Document set shared that requires client or employee review","x-sensitive-pii":true},"resignation_letter":{"type":"object","nullable":true,"properties":{"id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the resignation letter"},"signature":{"type":"string","example":"John Doe","nullable":true,"description":"The signature of the resignation letter"},"signed_at":{"type":"string","format":"date-time","example":"2025-01-31T00:00:00.000Z","nullable":true,"description":"The date and time when the resignation letter was signed"},"created_at":{"type":"string","format":"date-time","example":"2025-01-31T00:00:00.000Z","nullable":false,"description":"The date and time the resignation letter was created"},"updated_at":{"type":"string","format":"date-time","example":"2025-01-31T00:00:00.000Z","nullable":false,"description":"The date and time the resignation letter was updated"}},"x-sensitive-pii":true}},"description":"Document management structure for termination workflow including review processes and supporting documents","x-sensitive-pii":true},"created_at":{"type":"string","format":"date-time","example":"2025-01-31T00:00:00.000Z","nullable":false,"description":"The date and time the offboarding request was created"},"updated_at":{"type":"string","format":"date-time","example":"2025-01-31T00:00:00.000Z","nullable":false,"description":"The date and time the offboarding request was updated"},"contract_id":{"type":"string","example":"5B74FnLM","description":"The unique identifier of the employee contract."},"is_sensitive":{"type":"boolean","example":false,"nullable":false,"description":"Indicates if the offboarding request is sensitive. This is used to restrict access to the request only to the requester and the HRX team."},"request_data":{"type":"object","nullable":true,"properties":{"reason":{"enum":["STATUS_CHANGE","RELOCATION","COMPENSATION","RETIREMENT","JOB_ABANDONMENT","WORK_RELATED","PERSONAL","OTHER_OPPORTUNITY","NON_RENEWAL","PROBATION","ASSIGNMENT_ENDED","POSITION_ELIMINATION","FORCE_REDUCTION","DEATH","FOR_CAUSE","PERFORMANCE","MEDICAL","PERFORMANCE_ISSUES","ATTENDANCE_ISSUES","REORGANIZATION_DOWNSIZING_BUDGET_OR_REDUCTION_OF_WORKFORCE","ROLE_BECAME_REDUNDANT_OR_ROLE_CHANGED","OFFER_WAS_REVOKED","EXITING_THE_MARKET","NO_LONGER_WISH_TO_WORK_WITH_DEEL","COMPANY_ACQUIRED","STEALING","MISCONDUCT","FALSIFYING","HARASSMENT","VIOLENCE","REORGANIZATION_DOWNSIZING_BUDGET_OR_REDUCTION_OF_WORKFORCE_OR_ROLE_BECAME_REDUNDANT_OR_ROLE_CHANGED","UNAUTHORIZED_ABSENCES_OR_LACK_OF_ATTENDANCE","STANDARD_RESELLER_PRACTICE","MOVING_EMPLOYEE_TO_INTERNAL_ENTITY","MOVING_EMPLOYEE_TO_DEEL_PEO","OTHER"],"type":"string","example":"PERFORMANCE","nullable":false,"description":"The reason for the termination","x-sensitive-pii":true,"x-sensitive-employment":true},"end_date":{"type":"string","format":"date-time","example":"2025-01-31T00:00:00.000Z","nullable":true,"description":"The definitive contract end date","x-sensitive-pii":true,"x-sensitive-employment":true},"reason_detail":{"type":"string","example":"Employee is moving to another country","nullable":true,"description":"Optional field to describe the reason behind the resignation request","x-sensitive-pii":true,"x-sensitive-employment":true},"used_time_off":{"type":"object","example":{"time_offs":[{"unit":"BUSINESS_DAY","policy_type":"Vacation","tracking_periods":[{"used":0,"end_date":"2025-02-28T00:00:00.000Z","start_date":"2024-03-01T00:00:00.000Z"},{"used":0,"end_date":"2024-02-29T00:00:00.000Z","start_date":"2023-03-01T00:00:00.000Z"},{"used":0,"end_date":"2023-02-28T00:00:00.000Z","start_date":"2022-03-01T00:00:00.000Z"}],"scheduled_until_end_date":0}],"additional_details":null,"is_deel_pto_confirmed":true},"nullable":false,"required":["time_offs","is_deel_pto_confirmed"],"properties":{"time_offs":{"type":"array","items":{"type":"object","required":["unit","policy_type","tracking_periods","scheduled_until_end_date"],"properties":{"unit":{"enum":["BUSINESS_DAY","CALENDAR_DAY","HOUR"],"type":"string","example":"BUSINESS_DAY","description":"The unit of measurement for time off tracking","x-sensitive-employment":true},"policy_type":{"type":"string","example":"Vacation","description":"The type of time-off policy","x-sensitive-employment":true},"tracking_periods":{"type":"array","items":{"type":"object","required":["used","end_date","start_date"],"properties":{"used":{"type":"number","example":0,"description":"The amount of time off used in this tracking period","x-sensitive-employment":true},"end_date":{"type":"string","format":"date-time","example":"2025-02-28T00:00:00.000Z","description":"The end date of the tracking period","x-sensitive-employment":true},"start_date":{"type":"string","format":"date-time","example":"2024-03-01T00:00:00.000Z","description":"The start date of the tracking period","x-sensitive-employment":true}}},"x-sensitive-employment":true},"scheduled_until_end_date":{"type":"number","example":0,"description":"The amount of time off scheduled until the end date of the current tracking period","x-sensitive-employment":true}}},"x-sensitive-employment":true},"additional_details":{"type":"object","nullable":true,"properties":{"notes":{"type":"string","example":"Additional notes about time off allocation","nullable":true,"description":"Additional notes or comments about the time-off data","x-sensitive-employment":true},"updated_by":{"type":"string","example":"HR Administrator","nullable":true,"description":"The person or system that last updated the time-off data","x-sensitive-pii":true,"x-sensitive-employment":true},"last_updated_at":{"type":"string","format":"date-time","example":"2025-01-31T00:00:00.000Z","nullable":true,"description":"The date and time when the time-off data was last updated","x-sensitive-employment":true}},"x-sensitive-employment":true},"is_deel_pto_confirmed":{"type":"boolean","example":true,"nullable":false,"description":"Indicates whether the PTO allocation has been confirmed by Deel's system","x-sensitive-employment":true}},"description":"Time-off usage data including policy information and tracking periods","x-sensitive-employment":true},"desired_end_date":{"type":"string","format":"date","example":"2025-01-31","nullable":true,"description":"The desired end date. If the date is not provided, it will be selected by HRX the closest date possible","x-sensitive-pii":true},"eligible_for_rehire":{"enum":["YES","NO","DONT_KNOW"],"type":"string","example":"DONT_KNOW","nullable":true,"description":"Parameter to inform whether it would be possible for the client to hire the employee again","x-sensitive-pii":true},"eligible_for_rehire_reason":{"type":"string","example":"Employee is not eligible for rehire due to performance issues","nullable":true,"description":"Describe if the option DONT_KNOW was selected on eligible_for_rehire","x-sensitive-pii":true}},"x-sensitive-pii":true},"desired_end_date":{"type":"string","format":"date-time","example":"2025-01-31T00:00:00.000Z","nullable":true,"description":"The desired end date. If the date is not provided, it will be selected by HRX the closest date possible","x-sensitive-pii":true,"x-sensitive-employment":true}}}}}}},"description":"Approval submitted successfully."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_format","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"email","description":"The field name where input validation failed"},"message":{"type":"string","example":"The email field must be a valid email address format","description":"Description of the returned error"}}}}}}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"expired_token","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"authorization","description":"The field name where authentication failed"},"message":{"type":"string","example":"Your access token has expired. Please authenticate again to continue.","description":"Description of the returned error"}}}}}}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"access_denied","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"contract_id","description":"The field name where permission was denied"},"message":{"type":"string","example":"You do not have permission to access contract CT-12345. Contact your administrator for access.","description":"Description of the returned error"}}}}}}}},"description":"Forbidden"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"database_connection_failed","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":null,"description":"The field name where error occurred (null for server errors)"},"message":{"type":"string","example":"A temporary server error occurred. Please try again in a few moments or contact support if the issue persists.","description":"Description of the returned error"}}}}}}}},"description":"Internal Server Error"}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"5B74FnLM","required":true,"description":"The unique identifier of the employee contract."}],"security":[{"deelToken":[]},{"oauth2":["worker:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","required":["approved","requested_changes","reviewer_signature"],"properties":{"approved":{"type":"boolean","example":true,"description":"Indicates if the employee has approved the sign-off review"},"requested_changes":{"type":"string","example":"Please update the last working day to next Friday.","nullable":true,"maxLength":2000,"description":"Details of requested changes if the review is not approved"},"reviewer_signature":{"type":"string","example":"Jane Smith","nullable":true,"maxLength":1000,"description":"Signature of the reviewer if the review is approved"}}}}}}},"description":"Ok response"}}},"/eor/contracts/{contract_id}/documents/{type}/sign":{"post":{"tags":["EOR"],"summary":"Sign EOR contract document","operationId":"signEorContractDocument","description":"Signs a document with the provided signature and title\n **Token scopes**: `contracts:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["document_type"],"properties":{"signature":{"type":"string","example":"Client Signature","nullable":true,"description":"The signature of the client if the document is signed.","x-sensitive-pii":true},"signed_at":{"type":"string","format":"date-time","example":"2025-01-01T00:00:00.000Z","nullable":true,"description":"The date and time the client signed the document if it is signed."},"document_type":{"enum":["FRAMEWORK_AGREEMENT"],"type":"string","example":"FRAMEWORK_AGREEMENT","description":"The type of document. Currently only FRAMEWORK_AGREEMENT is supported."},"eor_signature":{"type":"string","example":"EOR Signature","nullable":true,"description":"The signature of the EOR if the document is signed.","x-sensitive-pii":true},"eor_signed_at":{"type":"string","format":"date-time","example":"2025-01-01T00:00:00.000Z","nullable":true,"description":"The date and time the EOR signed the document if it is signed."},"client_job_title":{"type":"string","example":"Job Title","nullable":true,"description":"The job title of the client if the document is signed.","x-sensitive-pii":true,"x-sensitive-employment":true}}}}}}},"description":"The document has been signed"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"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"}}}},"request":{"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"}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"required":true,"description":"EOR contract ID"},{"in":"path","name":"type","schema":{"enum":["FRAMEWORK_AGREEMENT"],"type":"string"},"example":"FRAMEWORK_AGREEMENT","required":true,"description":"The type of document. Currently only FRAMEWORK_AGREEMENT is supported."}],"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","required":["signature","client_job_title"],"properties":{"signature":{"type":"string","example":"John Doe","description":"The signature of the client signing the document."},"client_job_title":{"type":"string","example":"Software Engineer","description":"The job title of the client signing the document."}}}}}}}}}},"/eor/contracts/{contract_id}/offboarding/resignation":{"post":{"tags":["EOR"],"summary":"Request contract resignation","operationId":"requestContractResignation","description":"Enable clients to initiate a resignation request for an Employee of Record (EOR) contract within their team\n **Token scopes**: `contracts:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the offboarding request"},"end_date":{"type":"string","format":"date-time","example":"2025-01-31T00:00:00.000Z","nullable":true,"description":"The definitive contract end date","x-sensitive-pii":true,"x-sensitive-employment":true},"documents":{"type":"object","nullable":false,"required":["supporting","offboarding"],"properties":{"supporting":{"type":"array","items":{"type":"object","required":["id","name","type","created_at","updated_at","is_additional_supporting_document"],"properties":{"id":{"type":"string","example":"cmddlk1ghehm54l18gejg198r","description":"The unique identifier of the file","x-sensitive-pii":true},"name":{"type":"string","example":"Supporting Documentation","description":"The name of the file","x-sensitive-pii":true},"type":{"type":"string","example":"pdf","description":"The type/extension of the file","x-sensitive-pii":true},"created_at":{"type":"string","format":"date-time","example":"2025-07-21T21:07:27.713Z","description":"The date and time the file was created","x-sensitive-pii":true},"updated_at":{"type":"string","format":"date-time","example":"2025-07-21T21:07:27.713Z","description":"The date and time the file was updated","x-sensitive-pii":true},"is_additional_supporting_document":{"type":"boolean","example":false,"description":"Indicates if this is an additional supporting document added after the initial submission","x-sensitive-pii":true}}},"x-sensitive-pii":true},"offboarding":{"type":"array","items":{"type":"object","required":["files","reviewer_type","is_employee_notification_required","status"],"properties":{"id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the document set shared with the employee.","x-sensitive-pii":true},"files":{"type":"array","items":{"type":"object","required":["id","name","type","created_at"],"properties":{"id":{"type":"string","example":"cmdeh9wzgvihue4r54n2y51p4","description":"The unique identifier of the file","x-sensitive-pii":true},"name":{"type":"string","example":"Employee Sign Off Documents","description":"The name of the file","x-sensitive-pii":true},"type":{"type":"string","example":"pdf","description":"The type/extension of the file","x-sensitive-pii":true},"created_at":{"type":"string","format":"date-time","example":"2025-07-22T11:55:23.068Z","description":"The date and time the file was created","x-sensitive-pii":true},"updated_at":{"type":"string","format":"date-time","example":"2025-07-22T11:55:23.068Z","description":"The date and time the file was updated","x-sensitive-pii":true}}},"x-sensitive-pii":true},"status":{"enum":["AWAITING_REVIEW","AWAITING_FEEDBACK","FEEDBACK_PROVIDED","APPROVED","CHANGES_REQUESTED_BY_CLIENT","CHANGES_REQUESTED_BY_EMPLOYEE","WAIVED_REVIEW","NOT_RESPONDED","CANCELLED"],"type":"string","example":"AWAITING_REVIEW","description":"The current status of the document review","x-sensitive-pii":true},"created_at":{"type":"string","format":"date-time","example":"2025-07-22T11:55:23.068Z","description":"The date and time the document set was created","x-sensitive-pii":true},"updated_at":{"type":"string","format":"date-time","example":"2025-07-22T11:55:23.068Z","description":"The date and time the document set was updated","x-sensitive-pii":true},"reviewed_at":{"type":"string","format":"date-time","example":"2025-07-22T12:30:00.000Z","nullable":true,"description":"The date and time when the document was reviewed","x-sensitive-pii":true},"reviewed_by":{"type":"string","example":"John Doe","nullable":true,"description":"The name of the reviewer for this document. If the reviewer is not an employee, it will be the name of the client","x-sensitive-pii":true},"reviewer_type":{"enum":["CLIENT","EMPLOYEE"],"type":"string","example":"EMPLOYEE","description":"The type of reviewer for this document","x-sensitive-pii":true},"reviewer_feedback":{"type":"string","example":"Document needs clarification on section 3","nullable":true,"description":"Feedback provided by the reviewer","x-sensitive-pii":true},"notification_instructions":{"type":"string","example":"<p>Please review and provide feedback on the attached documents.</p>","nullable":true,"description":"HTML instructions for the reviewer notification","x-sensitive-pii":true},"is_employee_notification_required":{"type":"boolean","example":true,"description":"Indicates if the employee should be notified about this document review","x-sensitive-pii":true}}},"description":"Document set shared that requires client or employee review","x-sensitive-pii":true}},"description":"Document management structure for termination workflow including review processes and supporting documents","x-sensitive-pii":true},"created_at":{"type":"string","format":"date-time","example":"2025-01-31T00:00:00.000Z","nullable":false,"description":"The date and time the offboarding request was created"},"updated_at":{"type":"string","format":"date-time","example":"2025-01-31T00:00:00.000Z","nullable":false,"description":"The date and time the offboarding request was updated"},"contract_id":{"type":"string","example":"5B74FnLM","description":"The unique identifier of the employee contract."},"is_sensitive":{"type":"boolean","example":false,"nullable":false,"description":"Indicates if the offboarding request is sensitive. This is used to restrict access to the request only to the requester and the HRX team."},"request_data":{"type":"object","nullable":true,"properties":{"reason":{"enum":["STATUS_CHANGE","RELOCATION","COMPENSATION","RETIREMENT","JOB_ABANDONMENT","WORK_RELATED","PERSONAL","OTHER_OPPORTUNITY","NON_RENEWAL","PROBATION","ASSIGNMENT_ENDED","POSITION_ELIMINATION","FORCE_REDUCTION","DEATH","FOR_CAUSE","PERFORMANCE","MEDICAL","PERFORMANCE_ISSUES","ATTENDANCE_ISSUES","REORGANIZATION_DOWNSIZING_BUDGET_OR_REDUCTION_OF_WORKFORCE","ROLE_BECAME_REDUNDANT_OR_ROLE_CHANGED","OFFER_WAS_REVOKED","EXITING_THE_MARKET","NO_LONGER_WISH_TO_WORK_WITH_DEEL","COMPANY_ACQUIRED","STEALING","MISCONDUCT","FALSIFYING","HARASSMENT","VIOLENCE","REORGANIZATION_DOWNSIZING_BUDGET_OR_REDUCTION_OF_WORKFORCE_OR_ROLE_BECAME_REDUNDANT_OR_ROLE_CHANGED","UNAUTHORIZED_ABSENCES_OR_LACK_OF_ATTENDANCE","STANDARD_RESELLER_PRACTICE","MOVING_EMPLOYEE_TO_INTERNAL_ENTITY","MOVING_EMPLOYEE_TO_DEEL_PEO","OTHER"],"type":"string","example":"PERFORMANCE","nullable":false,"description":"The reason for the termination","x-sensitive-pii":true,"x-sensitive-employment":true},"end_date":{"type":"string","format":"date-time","example":"2025-01-31T00:00:00.000Z","nullable":true,"description":"The definitive contract end date","x-sensitive-pii":true,"x-sensitive-employment":true},"reason_detail":{"type":"string","example":"Employee is moving to another country","nullable":true,"description":"Optional field to describe the reason behind the resignation request","x-sensitive-pii":true,"x-sensitive-employment":true},"used_time_off":{"type":"object","example":{"time_offs":[{"unit":"BUSINESS_DAY","policy_type":"Vacation","tracking_periods":[{"used":0,"end_date":"2025-02-28T00:00:00.000Z","start_date":"2024-03-01T00:00:00.000Z"},{"used":0,"end_date":"2024-02-29T00:00:00.000Z","start_date":"2023-03-01T00:00:00.000Z"},{"used":0,"end_date":"2023-02-28T00:00:00.000Z","start_date":"2022-03-01T00:00:00.000Z"}],"scheduled_until_end_date":0}],"additional_details":null,"is_deel_pto_confirmed":true},"nullable":false,"required":["time_offs","is_deel_pto_confirmed"],"properties":{"time_offs":{"type":"array","items":{"type":"object","required":["unit","policy_type","tracking_periods","scheduled_until_end_date"],"properties":{"unit":{"enum":["BUSINESS_DAY","CALENDAR_DAY","HOUR"],"type":"string","example":"BUSINESS_DAY","description":"The unit of measurement for time off tracking","x-sensitive-employment":true},"policy_type":{"type":"string","example":"Vacation","description":"The type of time-off policy","x-sensitive-employment":true},"tracking_periods":{"type":"array","items":{"type":"object","required":["used","end_date","start_date"],"properties":{"used":{"type":"number","example":0,"description":"The amount of time off used in this tracking period","x-sensitive-employment":true},"end_date":{"type":"string","format":"date-time","example":"2025-02-28T00:00:00.000Z","description":"The end date of the tracking period","x-sensitive-employment":true},"start_date":{"type":"string","format":"date-time","example":"2024-03-01T00:00:00.000Z","description":"The start date of the tracking period","x-sensitive-employment":true}}},"x-sensitive-employment":true},"scheduled_until_end_date":{"type":"number","example":0,"description":"The amount of time off scheduled until the end date of the current tracking period","x-sensitive-employment":true}}},"x-sensitive-employment":true},"additional_details":{"type":"object","nullable":true,"properties":{"notes":{"type":"string","example":"Additional notes about time off allocation","nullable":true,"description":"Additional notes or comments about the time-off data","x-sensitive-employment":true},"updated_by":{"type":"string","example":"HR Administrator","nullable":true,"description":"The person or system that last updated the time-off data","x-sensitive-pii":true,"x-sensitive-employment":true},"last_updated_at":{"type":"string","format":"date-time","example":"2025-01-31T00:00:00.000Z","nullable":true,"description":"The date and time when the time-off data was last updated","x-sensitive-employment":true}},"x-sensitive-employment":true},"is_deel_pto_confirmed":{"type":"boolean","example":true,"nullable":false,"description":"Indicates whether the PTO allocation has been confirmed by Deel's system","x-sensitive-employment":true}},"description":"Time-off usage data including policy information and tracking periods","x-sensitive-employment":true},"desired_end_date":{"type":"string","format":"date","example":"2025-01-31","nullable":true,"description":"The desired end date. If the date is not provided, it will be selected by HRX the closest date possible","x-sensitive-pii":true,"x-sensitive-employment":true},"eligible_for_rehire":{"enum":["YES","NO","DONT_KNOW"],"type":"string","example":"DONT_KNOW","nullable":true,"description":"Parameter to inform whether it would be possible for the client to hire the employee again","x-sensitive-pii":true},"eligible_for_rehire_reason":{"type":"string","example":"Employee is not eligible for rehire due to performance issues","nullable":true,"description":"Describe if the option DONT_KNOW was selected on eligible_for_rehire","x-sensitive-pii":true,"x-sensitive-employment":true}},"x-sensitive-pii":true},"desired_end_date":{"type":"string","format":"date-time","example":"2025-01-31T00:00:00.000Z","nullable":true,"description":"The desired end date. If the date is not provided, it will be selected by HRX the closest date possible","x-sensitive-pii":true,"x-sensitive-employment":true}}}}}}},"description":"Resignation request submitted successfully."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_format","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"email","description":"The field name where input validation failed"},"message":{"type":"string","example":"The email field must be a valid email address format","description":"Description of the returned error"}}}}}}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"expired_token","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"authorization","description":"The field name where authentication failed"},"message":{"type":"string","example":"Your access token has expired. Please authenticate again to continue.","description":"Description of the returned error"}}}}}}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"access_denied","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"contract_id","description":"The field name where permission was denied"},"message":{"type":"string","example":"You do not have permission to access contract CT-12345. Contact your administrator for access.","description":"Description of the returned error"}}}}}}}},"description":"Forbidden"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"database_connection_failed","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":null,"description":"The field name where error occurred (null for server errors)"},"message":{"type":"string","example":"A temporary server error occurred. Please try again in a few moments or contact support if the issue persists.","description":"Description of the returned error"}}}}}}}},"description":"Internal Server Error"}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"5B74FnLM","required":true,"description":"The unique identifier of the employee contract."}],"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["reason","used_time_off","is_employee_staying_with_deel"],"properties":{"reason":{"enum":["EMPLOYEE_IS_MOVING_TO_ANOTHER_COUNTRY","MOVING_EMPLOYEE_TO_INTERNAL_ENTITY","MOVING_EMPLOYEE_TO_DEEL_PEO","EMPLOYEE_FOUND_ANOTHER_JOB","EMPLOYEE_NOT_HAPPY_WITH_BENEFITS","EMPLOYEE_NOT_HAPPY_WITH_SALARY","EMPLOYEE_NOT_HAPPY_WITH_THE_ROLE","EMPLOYEE_NOT_HAPPY_WITH_COMPANY_CULTURE","EMPLOYEE_NOT_HAPPY_WITH_DEEL","EMPLOYEE_PROJECT_ENDED","EMPLOYEE_SWITCHING_TO_OTHER_EOR_PROVIDER","EMPLOYEE_LEFT_ROLE_FOR_PERSONAL_MATTERS","EMPLOYEE_MOVING_FROM_EOR_TO_CONTRACTOR_OR_FREELANCE","WORKER_TYPE_CHANGE","DEEL_COLLECTIONS","EMPLOYEE_DID_NOT_TAKE_THE_OFFER","EMPLOYEE_PROVIDED_NO_REASON","OTHER_BUSINESS_REASONS"],"type":"string","example":"EMPLOYEE_IS_MOVING_TO_ANOTHER_COUNTRY","description":"Reason why the contract is being terminated"},"attachments":{"type":"string","format":"binary","example":"@/Users/JohnDoe/Downloads/test.pdf","description":"This field allows for uploading multiple files at once. Attach any document that is important for the request to terminate the contract. Includes common image formats (JPG, JPEG, PNG, HEIC) and PDF documents"},"is_sensitive":{"type":"boolean","example":false,"description":"Defines whether the termination is sensitive. In this case, only the person requesting the termination will be able to view the termination, receive emails or notifications."},"reason_detail":{"type":"string","example":"Employee is moving to another country","maxLength":5000,"description":"Optional field to describe the reason behind the resignation request"},"used_time_off":{"type":"object","properties":{"tracking_type":{"enum":["ON_PLATFORM","OFF_PLATFORM"],"type":"string","example":"ON_PLATFORM","description":"Type of time off tracking - whether it's tracked on Deel platform or off platform"},"off_platform_used_time_off":{"type":"object","example":{"entitlements":[{"used":25,"tracking_period":"2024-01-01","tracking_period_end_date":"2024-12-31"},{"used":30,"tracking_period":"2023-01-01","tracking_period_end_date":"2023-12-31"}],"total_scheduled":5,"entitlement_unit":"CALENDAR_DAY"},"nullable":true,"required":["entitlements","total_scheduled","entitlement_unit"],"properties":{"entitlements":{"type":"array","items":{"type":"object","required":["tracking_period","tracking_period_end_date","used"],"properties":{"used":{"type":"number","format":"float","example":25,"minimum":0,"description":"Amount of time off used in the period"},"tracking_period":{"type":"string","format":"date","example":"2024-01-01","description":"Start date of the tracking period"},"tracking_period_end_date":{"type":"string","format":"date","example":"2024-12-31","description":"End date of the tracking period"}}},"description":"Array of time off entitlements for different tracking periods"},"total_scheduled":{"type":"number","format":"float","example":5,"minimum":0,"description":"Total amount of time off scheduled until the end date"},"entitlement_unit":{"enum":["BUSINESS_DAY","CALENDAR_DAY","HOUR","WEEK","MONTH","YEAR"],"type":"string","example":"CALENDAR_DAY","description":"Unit of measurement for the time off entitlements"}},"description":"Required when tracking_type is OFF_PLATFORM, null otherwise"}}},"severance_type":{"enum":["DAYS","WEEKS","MONTHS","CASH"],"type":"string","example":"CASH","description":"The type of severance selected by the client. It's an optional field"},"desired_end_date":{"type":"string","format":"date","example":"2025-01-31","description":"The desired end date. If the date is not provided, it will be selected by HRX the closest date possible"},"severance_amount":{"type":"number","format":"float","example":1000,"minimum":0,"description":"The amount of severance needed"},"additional_reason":{"enum":["MOVING_TO_INTERNAL_ENTITY_WITH_DEEL_GLOBAL_PAYROLL","MOVING_TO_INTERNAL_ENTITY_WITH_OTHER_PROVIDER"],"type":"string","example":"MOVING_TO_INTERNAL_ENTITY_WITH_OTHER_PROVIDER","nullable":true,"description":"An additional reason can be provided in case the reason selected is MOVING_EMPLOYEE_TO_INTERNAL_ENTITY"},"termination_notes":{"type":"array","items":{"type":"string","maxLength":5000},"default":[],"example":["What severance pay, if any, am I entitled to receive upon termination of this contract?","How will accrued vacation time, sick leave, or other paid time off be handled upon termination of this contract?"],"description":"Additional notes can be provided regarding the termination for Deel, like questions and doubts"},"eligible_for_rehire":{"enum":["YES","NO","DONT_KNOW"],"type":"string","example":"DONT_KNOW","nullable":true,"description":"Parameter to inform whether it would be possible for the client to hire the employee again"},"eligible_for_rehire_reason":{"type":"string","example":"The employee is not eligible for rehire because of performance issues","nullable":true,"maxLength":255,"description":"Describe if the option DONT_KNOW was selected on eligible_for_rehire"},"is_employee_staying_with_deel":{"type":"boolean","example":false,"nullable":true,"description":"Defines if employee will keep using Deel as provider"}}}}}}}}}},"/eor/contracts/{contract_id}/offboarding/termination":{"post":{"tags":["EOR"],"summary":"Initiate EOR contract termination request","operationId":"initiateEorContractTerminationRequest","description":"Enables clients to initiate a request for the termination of an Employee of Record (EOR) contract for members of their team.\n **Token scopes**: `contracts:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the offboarding request"},"end_date":{"type":"string","format":"date-time","example":"2025-01-31T00:00:00.000Z","nullable":true,"description":"The definitive contract end date","x-sensitive-pii":true,"x-sensitive-employment":true},"documents":{"type":"object","nullable":false,"required":["supporting","offboarding"],"properties":{"supporting":{"type":"array","items":{"type":"object","required":["id","name","type","created_at","updated_at","is_additional_supporting_document"],"properties":{"id":{"type":"string","example":"cmddlk1ghehm54l18gejg198r","description":"The unique identifier of the file","x-sensitive-pii":true},"name":{"type":"string","example":"Supporting Documentation","description":"The name of the file","x-sensitive-pii":true},"type":{"type":"string","example":"pdf","description":"The type/extension of the file","x-sensitive-pii":true},"created_at":{"type":"string","format":"date-time","example":"2025-07-21T21:07:27.713Z","description":"The date and time the file was created","x-sensitive-pii":true},"updated_at":{"type":"string","format":"date-time","example":"2025-07-21T21:07:27.713Z","description":"The date and time the file was updated","x-sensitive-pii":true},"is_additional_supporting_document":{"type":"boolean","example":false,"description":"Indicates if this is an additional supporting document added after the initial submission","x-sensitive-pii":true}}},"x-sensitive-pii":true},"offboarding":{"type":"array","items":{"type":"object","required":["files","reviewer_type","is_employee_notification_required","status"],"properties":{"id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the document set shared with the employee.","x-sensitive-pii":true},"files":{"type":"array","items":{"type":"object","required":["id","name","type","created_at"],"properties":{"id":{"type":"string","example":"cmdeh9wzgvihue4r54n2y51p4","description":"The unique identifier of the file","x-sensitive-pii":true},"name":{"type":"string","example":"Employee Sign Off Documents","description":"The name of the file","x-sensitive-pii":true},"type":{"type":"string","example":"pdf","description":"The type/extension of the file","x-sensitive-pii":true},"created_at":{"type":"string","format":"date-time","example":"2025-07-22T11:55:23.068Z","description":"The date and time the file was created","x-sensitive-pii":true},"updated_at":{"type":"string","format":"date-time","example":"2025-07-22T11:55:23.068Z","description":"The date and time the file was updated","x-sensitive-pii":true}}},"x-sensitive-pii":true},"status":{"enum":["AWAITING_REVIEW","AWAITING_FEEDBACK","FEEDBACK_PROVIDED","APPROVED","CHANGES_REQUESTED_BY_CLIENT","CHANGES_REQUESTED_BY_EMPLOYEE","WAIVED_REVIEW","NOT_RESPONDED","CANCELLED"],"type":"string","example":"AWAITING_REVIEW","description":"The current status of the document review","x-sensitive-pii":true},"created_at":{"type":"string","format":"date-time","example":"2025-07-22T11:55:23.068Z","description":"The date and time the document set was created","x-sensitive-pii":true},"updated_at":{"type":"string","format":"date-time","example":"2025-07-22T11:55:23.068Z","description":"The date and time the document set was updated","x-sensitive-pii":true},"reviewed_at":{"type":"string","format":"date-time","example":"2025-07-22T12:30:00.000Z","nullable":true,"description":"The date and time when the document was reviewed","x-sensitive-pii":true},"reviewed_by":{"type":"string","example":"John Doe","nullable":true,"description":"The name of the reviewer for this document. If the reviewer is not an employee, it will be the name of the client","x-sensitive-pii":true},"reviewer_type":{"enum":["CLIENT","EMPLOYEE"],"type":"string","example":"EMPLOYEE","description":"The type of reviewer for this document","x-sensitive-pii":true},"reviewer_feedback":{"type":"string","example":"Document needs clarification on section 3","nullable":true,"description":"Feedback provided by the reviewer","x-sensitive-pii":true},"notification_instructions":{"type":"string","example":"<p>Please review and provide feedback on the attached documents.</p>","nullable":true,"description":"HTML instructions for the reviewer notification","x-sensitive-pii":true},"is_employee_notification_required":{"type":"boolean","example":true,"description":"Indicates if the employee should be notified about this document review","x-sensitive-pii":true}}},"description":"Document set shared that requires client or employee review","x-sensitive-pii":true}},"description":"Document management structure for termination workflow including review processes and supporting documents","x-sensitive-pii":true},"created_at":{"type":"string","format":"date-time","example":"2025-01-31T00:00:00.000Z","nullable":false,"description":"The date and time the offboarding request was created"},"updated_at":{"type":"string","format":"date-time","example":"2025-01-31T00:00:00.000Z","nullable":false,"description":"The date and time the offboarding request was updated"},"contract_id":{"type":"string","example":"5B74FnLM","description":"The unique identifier of the employee contract."},"is_sensitive":{"type":"boolean","example":false,"nullable":false,"description":"Indicates if the offboarding request is sensitive. This is used to restrict access to the request only to the requester and the HRX team."},"request_data":{"type":"object","nullable":true,"properties":{"reason":{"enum":["STATUS_CHANGE","RELOCATION","COMPENSATION","RETIREMENT","JOB_ABANDONMENT","WORK_RELATED","PERSONAL","OTHER_OPPORTUNITY","NON_RENEWAL","PROBATION","ASSIGNMENT_ENDED","POSITION_ELIMINATION","FORCE_REDUCTION","DEATH","FOR_CAUSE","PERFORMANCE","MEDICAL","PERFORMANCE_ISSUES","ATTENDANCE_ISSUES","REORGANIZATION_DOWNSIZING_BUDGET_OR_REDUCTION_OF_WORKFORCE","ROLE_BECAME_REDUNDANT_OR_ROLE_CHANGED","OFFER_WAS_REVOKED","EXITING_THE_MARKET","NO_LONGER_WISH_TO_WORK_WITH_DEEL","COMPANY_ACQUIRED","STEALING","MISCONDUCT","FALSIFYING","HARASSMENT","VIOLENCE","REORGANIZATION_DOWNSIZING_BUDGET_OR_REDUCTION_OF_WORKFORCE_OR_ROLE_BECAME_REDUNDANT_OR_ROLE_CHANGED","UNAUTHORIZED_ABSENCES_OR_LACK_OF_ATTENDANCE","STANDARD_RESELLER_PRACTICE","MOVING_EMPLOYEE_TO_INTERNAL_ENTITY","MOVING_EMPLOYEE_TO_DEEL_PEO","OTHER"],"type":"string","example":"PERFORMANCE","nullable":false,"description":"The reason for the termination","x-sensitive-pii":true,"x-sensitive-employment":true},"end_date":{"type":"string","format":"date-time","example":"2025-01-31T00:00:00.000Z","nullable":true,"description":"The definitive contract end date","x-sensitive-pii":true,"x-sensitive-employment":true},"reason_detail":{"type":"string","example":"Employee is moving to another country","nullable":true,"description":"Optional field to describe the reason behind the resignation request","x-sensitive-pii":true,"x-sensitive-employment":true},"used_time_off":{"type":"object","example":{"time_offs":[{"unit":"BUSINESS_DAY","policy_type":"Vacation","tracking_periods":[{"used":0,"end_date":"2025-02-28T00:00:00.000Z","start_date":"2024-03-01T00:00:00.000Z"},{"used":0,"end_date":"2024-02-29T00:00:00.000Z","start_date":"2023-03-01T00:00:00.000Z"},{"used":0,"end_date":"2023-02-28T00:00:00.000Z","start_date":"2022-03-01T00:00:00.000Z"}],"scheduled_until_end_date":0}],"additional_details":null,"is_deel_pto_confirmed":true},"nullable":false,"required":["time_offs","is_deel_pto_confirmed"],"properties":{"time_offs":{"type":"array","items":{"type":"object","required":["unit","policy_type","tracking_periods","scheduled_until_end_date"],"properties":{"unit":{"enum":["BUSINESS_DAY","CALENDAR_DAY","HOUR"],"type":"string","example":"BUSINESS_DAY","description":"The unit of measurement for time off tracking","x-sensitive-employment":true},"policy_type":{"type":"string","example":"Vacation","description":"The type of time-off policy","x-sensitive-employment":true},"tracking_periods":{"type":"array","items":{"type":"object","required":["used","end_date","start_date"],"properties":{"used":{"type":"number","example":0,"description":"The amount of time off used in this tracking period","x-sensitive-employment":true},"end_date":{"type":"string","format":"date-time","example":"2025-02-28T00:00:00.000Z","description":"The end date of the tracking period","x-sensitive-employment":true},"start_date":{"type":"string","format":"date-time","example":"2024-03-01T00:00:00.000Z","description":"The start date of the tracking period","x-sensitive-employment":true}}},"x-sensitive-employment":true},"scheduled_until_end_date":{"type":"number","example":0,"description":"The amount of time off scheduled until the end date of the current tracking period","x-sensitive-employment":true}}},"x-sensitive-employment":true},"additional_details":{"type":"object","nullable":true,"properties":{"notes":{"type":"string","example":"Additional notes about time off allocation","nullable":true,"description":"Additional notes or comments about the time-off data","x-sensitive-employment":true},"updated_by":{"type":"string","example":"HR Administrator","nullable":true,"description":"The person or system that last updated the time-off data","x-sensitive-pii":true,"x-sensitive-employment":true},"last_updated_at":{"type":"string","format":"date-time","example":"2025-01-31T00:00:00.000Z","nullable":true,"description":"The date and time when the time-off data was last updated","x-sensitive-employment":true}},"x-sensitive-employment":true},"is_deel_pto_confirmed":{"type":"boolean","example":true,"nullable":false,"description":"Indicates whether the PTO allocation has been confirmed by Deel's system","x-sensitive-employment":true}},"description":"Time-off usage data including policy information and tracking periods","x-sensitive-employment":true},"desired_end_date":{"type":"string","format":"date","example":"2025-01-31","nullable":true,"description":"The desired end date. If the date is not provided, it will be selected by HRX the closest date possible","x-sensitive-pii":true},"eligible_for_rehire":{"enum":["YES","NO","DONT_KNOW"],"type":"string","example":"DONT_KNOW","nullable":true,"description":"Parameter to inform whether it would be possible for the client to hire the employee again","x-sensitive-pii":true},"eligible_for_rehire_reason":{"type":"string","example":"Employee is not eligible for rehire due to performance issues","nullable":true,"description":"Describe if the option DONT_KNOW was selected on eligible_for_rehire","x-sensitive-pii":true}},"x-sensitive-pii":true},"desired_end_date":{"type":"string","format":"date-time","example":"2025-01-31T00:00:00.000Z","nullable":true,"description":"The desired end date. If the date is not provided, it will be selected by HRX the closest date possible","x-sensitive-pii":true,"x-sensitive-employment":true}}}}}}},"description":"Ok response"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_format","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"email","description":"The field name where input validation failed"},"message":{"type":"string","example":"The email field must be a valid email address format","description":"Description of the returned error"}}}}}}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"expired_token","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"authorization","description":"The field name where authentication failed"},"message":{"type":"string","example":"Your access token has expired. Please authenticate again to continue.","description":"Description of the returned error"}}}}}}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"access_denied","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"contract_id","description":"The field name where permission was denied"},"message":{"type":"string","example":"You do not have permission to access contract CT-12345. Contact your administrator for access.","description":"Description of the returned error"}}}}}}}},"description":"Forbidden"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"database_connection_failed","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":null,"description":"The field name where error occurred (null for server errors)"},"message":{"type":"string","example":"A temporary server error occurred. Please try again in a few moments or contact support if the issue persists.","description":"Description of the returned error"}}}}}}}},"description":"Internal Server Error"}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"5B74FnLM","required":true,"description":"The unique identifier of the employee contract."}],"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["is_employee_notified","used_time_off","reason","reason_detail"],"properties":{"reason":{"enum":["DEEL_COLLECTIONS","STATUS_CHANGE","RELOCATION","COMPENSATION","RETIREMENT","JOB_ABANDONMENT","WORK_RELATED","PERSONAL","OTHER_OPPORTUNITY","NON_RENEWAL","PROBATION","ASSIGNMENT_ENDED","POSITION_ELIMINATION","FORCE_REDUCTION","DEATH","FOR_CAUSE","PERFORMANCE","MEDICAL","PERFORMANCE_ISSUES","ATTENDANCE_ISSUES","REORGANIZATION_DOWNSIZING_BUDGET_OR_REDUCTION_OF_WORKFORCE","ROLE_BECAME_REDUNDANT_OR_ROLE_CHANGED","OFFER_WAS_REVOKED","EXITING_THE_MARKET","NO_LONGER_WISH_TO_WORK_WITH_DEEL","COMPANY_ACQUIRED","STEALING","MISCONDUCT","FALSIFYING","HARASSMENT","VIOLENCE","REORGANIZATION_DOWNSIZING_BUDGET_OR_REDUCTION_OF_WORKFORCE_OR_ROLE_BECAME_REDUNDANT_OR_ROLE_CHANGED","UNAUTHORIZED_ABSENCES_OR_LACK_OF_ATTENDANCE","STANDARD_RESELLER_PRACTICE","MOVING_EMPLOYEE_TO_INTERNAL_ENTITY","MOVING_EMPLOYEE_TO_DEEL_PEO","OTHER"],"type":"string","example":"PERFORMANCE_ISSUES","description":"Reason why the contract is being terminated"},"attachments":{"type":"string","format":"binary","example":"@/Users/JohnDoe/Downloads/test.pdf","description":"This field allows for uploading multiple files at once. Attach any document that is important for the request to terminate the contract. Includes common image formats (JPG, JPEG, PNG, HEIC) and PDF documents."},"is_sensitive":{"type":"boolean","example":false,"description":"Defines whether the termination is sensitive. In this case, only the person requesting the termination will be able to view the termination, receive emails or notifications."},"reason_detail":{"type":"string","example":"This decision to terminate employment is based on an unsatisfactory level of job performance despite documented efforts to provide support and improvement opportunities.","maxLength":5000,"minLength":100,"description":"Field to better explain how communication with the employee will be and/or their reaction to the communication, or other necessary information"},"used_time_off":{"type":"object","properties":{"tracking_type":{"enum":["ON_PLATFORM","OFF_PLATFORM"],"type":"string","example":"ON_PLATFORM","description":"Type of time off tracking - whether it's tracked on Deel platform or off platform"},"off_platform_used_time_off":{"type":"object","example":{"entitlements":[{"used":25,"tracking_period":"2024-01-01","tracking_period_end_date":"2024-12-31"},{"used":30,"tracking_period":"2023-01-01","tracking_period_end_date":"2023-12-31"}],"total_scheduled":5,"entitlement_unit":"CALENDAR_DAY"},"nullable":true,"required":["entitlements","total_scheduled","entitlement_unit"],"properties":{"entitlements":{"type":"array","items":{"type":"object","required":["tracking_period","tracking_period_end_date","used"],"properties":{"used":{"type":"number","format":"float","example":25,"minimum":0,"description":"Amount of time off used in the period"},"tracking_period":{"type":"string","format":"date","example":"2024-01-01","description":"Start date of the tracking period"},"tracking_period_end_date":{"type":"string","format":"date","example":"2024-12-31","description":"End date of the tracking period"}}},"description":"Array of time off entitlements for different tracking periods"},"total_scheduled":{"type":"number","format":"float","example":5,"minimum":0,"description":"Total amount of time off scheduled until the end date"},"entitlement_unit":{"enum":["BUSINESS_DAY","CALENDAR_DAY","HOUR","WEEK","MONTH","YEAR"],"type":"string","example":"CALENDAR_DAY","description":"Unit of measurement for the time off entitlements"}},"description":"Required when tracking_type is OFF_PLATFORM, null otherwise"}}},"severance_type":{"enum":["DAYS","WEEKS","MONTHS","CASH"],"type":"string","example":"CASH","description":"The type of severance selected by the client. It's an optional field"},"desired_end_date":{"type":"string","format":"date","example":"2025-01-31","description":"The desired end date of the contract. If the date is not provided, Deel HRX team will select the nearest possible date."},"severance_amount":{"type":"integer","example":1000,"minimum":0,"description":"The amount of severance needed"},"additional_reason":{"enum":["DISSATISFIED_WITH_DEEL_SERVICE","DISSATISFIED_WITH_DEEL_PRICING","DISSATISFIED_WITH_DEEL_PRODUCT"],"type":"string","example":"DISSATISFIED_WITH_DEEL_PRODUCT","nullable":true,"description":"An additional reason can be provided in case the reason selected is NO_LONGER_WISH_TO_WORK_WITH_DEEL"},"termination_notes":{"type":"array","items":{"type":"string","maxLength":5000},"default":[],"example":["What severance pay, if any, am I entitled to receive upon termination of this contract?","How will accrued vacation time, sick leave, or other paid time off be handled upon termination of this contract?"],"description":"Additional notes can be provided regarding the termination for Deel, like questions and doubts"},"eligible_for_rehire":{"enum":["YES","NO","DONT_KNOW"],"type":"string","example":"DONT_KNOW","nullable":true,"description":"Parameter to inform whether it would be possible for the client to hire the employee again"},"is_employee_notified":{"type":"boolean","example":false,"description":"Defines if employee was informed by client or not before the termination"},"required_information":{"type":"array","items":{"type":"object","required":["question","answer"],"properties":{"answer":{"type":"boolean","example":false,"nullable":true,"description":"The answer to the question"},"question":{"type":"string","example":"Will the employee be released from duties during the notice period?","description":"The question to be answered"}}},"example":[{"answer":false,"question":"Will the employee be released from duties during the notice period?"},{"answer":false,"question":"Is there any discount to apply to the employee?"}],"description":"For some countries some data is needed to help to process the termination. The questions comes from another endpoint to get the required information. See GET /eor/:oid/offboarding/required-information to get the questions."},"termination_impact_id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000","description":"Termination impact data if there is some configured on HR module"},"employee_notification_detail":{"type":"string","nullable":true,"maxLength":5000,"minLength":1,"description":"If it's an termination contract ending and employee was already informed, should detail the notification to the employee"},"additional_supporting_documents":{"type":"string","format":"binary","example":"@/Users/JohnDoe/Downloads/test.pdf","description":"This field allows for uploading multiple files at once. Any proof such as correspondence, documentation of previous warnings or attendance records for the reason select above. Includes common image formats (JPG, JPEG, PNG, HEIC) and PDF documents."}}}}}}},"required":true}}},"/eor/contracts/{contract_id}/project-assignment/accept":{"post":{"tags":["EOR"],"summary":"Accept EOR project assignment as client","operationId":"acceptEorProjectAssignmentAsClient","description":"Utilize this endpoint to accept a project assignment for an EOR contract once the client has reviewed and approved the terms.\n **Token scopes**: `contracts:write`","responses":{"204":{"description":"The project assignment was accepted successfully."},"400":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"VALIDATION_ERROR"},"message":{"type":"string","example":"Internal validation error occurred"}}}}}}}},"description":"Bad Request. The request could not be understood or was missing required parameters."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"409":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"code","description":"The code of the source handler which produced the returned error"},"message":{"type":"string","example":"The requested version of the document mismatch the current version.","description":"The requested version of the document mismatch the current version."}}}}}}}},"description":"The requested version of the document mismatch the current version."},"500":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"service_unavailable","description":"Machine-readable error code"},"message":{"type":"string","example":"The service is currently experiencing issues","description":"Human-readable explanation of the error"}}}}}}}},"description":"Internal server error."}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"m623fez","required":true,"description":"The unique identifier of the employee contract."}],"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"version":{"type":"string","example":"e374540fc9a92390f9a1","maxLength":20,"minLength":20,"description":"This field is to ensure that the latest version of the project assignment PDF matches the version received from the webhook. If it is not sent, the version validation is not performed and the endpoint returns the PDF. If it is sent, it is checked whether the current version is equal to the version sent; if not, a 409 error occurs, otherwise, the PDF is returned."}}}}}}}}}},"/eor/mailboxes/change-password":{"post":{"tags":["EOR"],"summary":"Change EOR Mailbox Password","operationId":"changeEorMailboxPassword","description":"Use this endpoint to change an EOR mailbox password for a worker\n **Token scopes**: `worker:write`","responses":{"204":{"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_parameter","description":"Machine-readable error code"},"field":{"type":"string","example":"/data/example_field","description":"Name of the field causing the error (for validation issues)"},"message":{"type":"string","example":"Must have required property 'example_field'","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"service_unavailable","description":"Machine-readable error code"},"message":{"type":"string","example":"The service is currently experiencing issues","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["worker:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"password":{"type":"string","example":"Password!@#456","description":"The new password."}}}}}}},"required":true,"description":"The new password to be set"}}},"/eor/workers/banks":{"post":{"tags":["EOR"],"summary":"Add bank account","operationId":"addBankAccount","description":"Add bank account for an EOR employee.\n **Token scopes**: `worker:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id"],"properties":{"id":{"type":"string","example":"dcc7b587-2246-4909-853e-12056e90c451","description":"ID of Bank Account."}}}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["worker:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["key","value"],"properties":{"key":{"type":"string","example":"beneficiaryName","description":"The key of the bank account properties."},"value":{"type":"string","example":"John Doe","description":"The value for that key property."}}},"description":"Array of key value properties of bank account"}}}}}}}},"/eor/workers/compliance-documents/{document_id}":{"post":{"tags":["EOR"],"summary":"Upload employee compliance document","operationId":"uploadEmployeeComplianceDocument-v2026-01-01","description":"Upload compliance document for an EOR employee.\n **Token scopes**: `worker:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["success"],"properties":{"success":{"type":"boolean","example":true,"description":"Indicates whether the file upload was successful."}}}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","description":"Human-readable error message."}}}}}}}},"description":"Bad request. The file is missing or the document_id format is invalid."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","description":"Human-readable error message."}}}}}}}},"description":"Authentication failed. Bearer token is missing, expired, or invalid."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","description":"Human-readable error message."}}}}}}}},"description":"Forbidden. The worker does not have permission to upload to this compliance document, the document cannot be submitted in its current state, or the requirement is obsolete."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","description":"Human-readable error message."}}}}}}}},"description":"The compliance document specified by document_id was not found."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","description":"Human-readable error message."}}}}}}}},"description":"Internal server error. The file upload failed or an unexpected error occurred."}},"parameters":[{"in":"path","name":"document_id","schema":{"type":"string","format":"uuid"},"example":"9b9fc43a-a90c-4615-ac50-baf1e314b53e","required":true,"description":"Unique identifier for a compliance document in Deel."}],"security":[{"deelToken":[]},{"oauth2":["worker:write"]}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary","description":"The employee compliance document to upload. Accepted formats: PNG, JPG, JPEG, HEIC, PDF."}}}}},"required":true,"description":"The employee compliance document data to upload"}}},"/eor/workers/compliance-documents/{document_id}/acknowledgement":{"post":{"tags":["EOR"],"summary":"Acknowledge a compliance document","operationId":"acknowledgeAComplianceDocument","description":"API endpoint to submit consent for compliance documents that require acknowledgement.\n **Token scopes**: `worker:write`","responses":{"204":{"description":"Document was acknowledged successfully"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_parameter","description":"Machine-readable error code"},"field":{"type":"string","example":"/data/example_field","description":"Name of the field causing the error (for validation issues)"},"message":{"type":"string","example":"Must have required property 'example_field'","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"service_unavailable","description":"Machine-readable error code"},"message":{"type":"string","example":"The service is currently experiencing issues","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."}},"parameters":[{"in":"path","name":"document_id","schema":{"type":"string"},"example":"9b9fc43a-a90c-4615-ac50-baf1e314b53e","required":true,"description":"The unique identifier of the compliance document."}],"security":[{"deelToken":[]},{"oauth2":["worker:write"]}]}},"/eor/workers/contracts/{contract_id}/offboarding":{"post":{"tags":["EOR"],"summary":"Submit EOR Worker Resignation","operationId":"submitEorWorkerResignation","description":"This endpoint allows workers to formally request the resignation of their EOR contract\n **Token scopes**: `worker:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the offboarding request"},"end_date":{"type":"string","format":"date-time","example":"2025-01-31T00:00:00.000Z","nullable":true,"description":"The definitive contract end date","x-sensitive-pii":true,"x-sensitive-employment":true},"documents":{"type":"object","nullable":false,"required":["supporting","offboarding"],"properties":{"supporting":{"type":"array","items":{"type":"object","required":["id","name","type","created_at","updated_at","is_additional_supporting_document"],"properties":{"id":{"type":"string","format":"cuid","example":"cmddlk1ghehm54l18gejg198r","description":"The unique identifier of the file","x-sensitive-pii":true},"name":{"type":"string","example":"Supporting Documentation","description":"The name of the file","x-sensitive-pii":true},"type":{"type":"string","example":"pdf","description":"The type/extension of the file","x-sensitive-pii":true},"created_at":{"type":"string","format":"date-time","example":"2025-07-21T21:07:27.713Z","description":"The date and time the file was created","x-sensitive-pii":true},"updated_at":{"type":"string","format":"date-time","example":"2025-07-21T21:07:27.713Z","description":"The date and time the file was updated","x-sensitive-pii":true},"is_additional_supporting_document":{"type":"boolean","example":false,"description":"Indicates if this is an additional supporting document added after the initial submission","x-sensitive-pii":true}}},"x-sensitive-pii":true},"offboarding":{"type":"array","items":{"type":"object","required":["files","reviewer_type","is_employee_notification_required","status"],"properties":{"id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the document set shared with the employee.","x-sensitive-pii":true},"files":{"type":"array","items":{"type":"object","required":["id","name","type","created_at"],"properties":{"id":{"type":"string","format":"cuid","example":"cmdeh9wzgvihue4r54n2y51p4","description":"The unique identifier of the file","x-sensitive-pii":true},"name":{"type":"string","example":"Employee Sign Off Documents","description":"The name of the file","x-sensitive-pii":true},"type":{"type":"string","example":"pdf","description":"The type/extension of the file","x-sensitive-pii":true},"created_at":{"type":"string","format":"date-time","example":"2025-07-22T11:55:23.068Z","description":"The date and time the file was created","x-sensitive-pii":true},"updated_at":{"type":"string","format":"date-time","example":"2025-07-22T11:55:23.068Z","description":"The date and time the file was updated","x-sensitive-pii":true}}},"x-sensitive-pii":true},"status":{"enum":["AWAITING_REVIEW","AWAITING_FEEDBACK","FEEDBACK_PROVIDED","APPROVED","CHANGES_REQUESTED_BY_CLIENT","CHANGES_REQUESTED_BY_EMPLOYEE","WAIVED_REVIEW","NOT_RESPONDED","CANCELLED"],"type":"string","example":"AWAITING_REVIEW","description":"The current status of the document review","x-sensitive-pii":true},"created_at":{"type":"string","format":"date-time","example":"2025-07-22T11:55:23.068Z","description":"The date and time the document set was created","x-sensitive-pii":true},"updated_at":{"type":"string","format":"date-time","example":"2025-07-22T11:55:23.068Z","description":"The date and time the document set was updated","x-sensitive-pii":true},"reviewed_at":{"type":"string","format":"date-time","example":"2025-07-22T12:30:00.000Z","nullable":true,"description":"The date and time when the document was reviewed","x-sensitive-pii":true},"reviewed_by":{"type":"string","example":"John Doe","nullable":true,"description":"The name of the reviewer for this document. If the reviewer is not an employee, it will be the name of the client","x-sensitive-pii":true},"reviewer_type":{"enum":["CLIENT","EMPLOYEE"],"type":"string","example":"EMPLOYEE","description":"The type of reviewer for this document","x-sensitive-pii":true},"reviewer_feedback":{"type":"string","example":"Document needs clarification on section 3","nullable":true,"description":"Feedback provided by the reviewer","x-sensitive-pii":true},"notification_instructions":{"type":"string","example":"<p>Please review and provide feedback on the attached documents.</p>","nullable":true,"description":"HTML instructions for the reviewer notification","x-sensitive-pii":true},"is_employee_notification_required":{"type":"boolean","example":true,"description":"Indicates if the employee should be notified about this document review","x-sensitive-pii":true}}},"description":"Document set shared that requires client or employee review","x-sensitive-pii":true}},"description":"Document management structure for termination workflow including review processes and supporting documents","x-sensitive-pii":true},"created_at":{"type":"string","format":"date-time","example":"2025-01-31T00:00:00.000Z","nullable":false,"description":"The date and time the offboarding request was created"},"updated_at":{"type":"string","format":"date-time","example":"2025-01-31T00:00:00.000Z","nullable":false,"description":"The date and time the offboarding request was updated"},"contract_id":{"type":"string","example":"5B74FnLM","description":"The unique identifier of the employee contract."},"is_sensitive":{"type":"boolean","example":false,"nullable":false,"description":"Indicates if the offboarding request is sensitive. This is used to restrict access to the request only to the requester and the HRX team."},"request_data":{"type":"object","nullable":true,"properties":{"reason":{"enum":["STATUS_CHANGE","RELOCATION","COMPENSATION","RETIREMENT","JOB_ABANDONMENT","WORK_RELATED","PERSONAL","OTHER_OPPORTUNITY","NON_RENEWAL","PROBATION","ASSIGNMENT_ENDED","POSITION_ELIMINATION","FORCE_REDUCTION","DEATH","FOR_CAUSE","PERFORMANCE","MEDICAL","PERFORMANCE_ISSUES","ATTENDANCE_ISSUES","REORGANIZATION_DOWNSIZING_BUDGET_OR_REDUCTION_OF_WORKFORCE","ROLE_BECAME_REDUNDANT_OR_ROLE_CHANGED","OFFER_WAS_REVOKED","EXITING_THE_MARKET","NO_LONGER_WISH_TO_WORK_WITH_DEEL","COMPANY_ACQUIRED","STEALING","MISCONDUCT","FALSIFYING","HARASSMENT","VIOLENCE","REORGANIZATION_DOWNSIZING_BUDGET_OR_REDUCTION_OF_WORKFORCE_OR_ROLE_BECAME_REDUNDANT_OR_ROLE_CHANGED","UNAUTHORIZED_ABSENCES_OR_LACK_OF_ATTENDANCE","STANDARD_RESELLER_PRACTICE","MOVING_EMPLOYEE_TO_INTERNAL_ENTITY","MOVING_EMPLOYEE_TO_DEEL_PEO","OTHER"],"type":"string","example":"PERFORMANCE","nullable":false,"description":"The reason for the termination","x-sensitive-pii":true,"x-sensitive-employment":true},"end_date":{"type":"string","format":"date-time","example":"2025-01-31T00:00:00.000Z","nullable":true,"description":"The definitive contract end date","x-sensitive-pii":true,"x-sensitive-employment":true},"reason_detail":{"type":"string","example":"Employee is moving to another country","nullable":true,"description":"Optional field to describe the reason behind the resignation request","x-sensitive-pii":true,"x-sensitive-employment":true},"used_time_off":{"type":"object","example":{"time_offs":[{"unit":"BUSINESS_DAY","policy_type":"Vacation","tracking_periods":[{"used":0,"end_date":"2025-02-28T00:00:00.000Z","start_date":"2024-03-01T00:00:00.000Z"},{"used":0,"end_date":"2024-02-29T00:00:00.000Z","start_date":"2023-03-01T00:00:00.000Z"},{"used":0,"end_date":"2023-02-28T00:00:00.000Z","start_date":"2022-03-01T00:00:00.000Z"}],"scheduled_until_end_date":0}],"additional_details":null,"is_deel_pto_confirmed":true},"nullable":false,"required":["time_offs","is_deel_pto_confirmed"],"properties":{"time_offs":{"type":"array","items":{"type":"object","required":["unit","policy_type","tracking_periods","scheduled_until_end_date"],"properties":{"unit":{"enum":["BUSINESS_DAY","CALENDAR_DAY","HOUR"],"type":"string","example":"BUSINESS_DAY","description":"The unit of measurement for time off tracking","x-sensitive-employment":true},"policy_type":{"type":"string","example":"Vacation","description":"The type of time-off policy","x-sensitive-employment":true},"tracking_periods":{"type":"array","items":{"type":"object","required":["used","end_date","start_date"],"properties":{"used":{"type":"number","example":0,"description":"The amount of time off used in this tracking period","x-sensitive-employment":true},"end_date":{"type":"string","format":"date-time","example":"2025-02-28T00:00:00.000Z","description":"The end date of the tracking period","x-sensitive-employment":true},"start_date":{"type":"string","format":"date-time","example":"2024-03-01T00:00:00.000Z","description":"The start date of the tracking period","x-sensitive-employment":true}}},"x-sensitive-employment":true},"scheduled_until_end_date":{"type":"number","example":0,"description":"The amount of time off scheduled until the end date of the current tracking period","x-sensitive-employment":true}}},"x-sensitive-employment":true},"additional_details":{"type":"object","nullable":true,"properties":{"notes":{"type":"string","example":"Additional notes about time off allocation","nullable":true,"description":"Additional notes or comments about the time-off data","x-sensitive-employment":true},"updated_by":{"type":"string","example":"HR Administrator","nullable":true,"description":"The person or system that last updated the time-off data","x-sensitive-pii":true,"x-sensitive-employment":true},"last_updated_at":{"type":"string","format":"date-time","example":"2025-01-31T00:00:00.000Z","nullable":true,"description":"The date and time when the time-off data was last updated","x-sensitive-employment":true}},"x-sensitive-employment":true},"is_deel_pto_confirmed":{"type":"boolean","example":true,"nullable":false,"description":"Indicates whether the PTO allocation has been confirmed by Deel's system","x-sensitive-employment":true}},"description":"Time-off usage data including policy information and tracking periods","x-sensitive-employment":true},"desired_end_date":{"type":"string","format":"date","example":"2025-01-31","nullable":true,"description":"The desired end date. If the date is not provided, it will be selected by HRX the closest date possible","x-sensitive-pii":true,"x-sensitive-employment":true},"eligible_for_rehire":{"enum":["YES","NO","DONT_KNOW"],"type":"string","example":"DONT_KNOW","nullable":true,"description":"Parameter to inform whether it would be possible for the client to hire the employee again","x-sensitive-pii":true},"eligible_for_rehire_reason":{"type":"string","example":"Employee is not eligible for rehire due to performance issues","nullable":true,"description":"Describe if the option DONT_KNOW was selected on eligible_for_rehire","x-sensitive-pii":true,"x-sensitive-employment":true}},"x-sensitive-pii":true},"desired_end_date":{"type":"string","format":"date-time","example":"2025-01-31T00:00:00.000Z","nullable":true,"description":"The desired end date. If the date is not provided, it will be selected by HRX the closest date possible","x-sensitive-pii":true,"x-sensitive-employment":true}}}}}}},"description":"Ok response"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_format","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"email","description":"The field name where input validation failed"},"message":{"type":"string","example":"The email field must be a valid email address format","description":"Description of the returned error"}}}}}}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"expired_token","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"authorization","description":"The field name where authentication failed"},"message":{"type":"string","example":"Your access token has expired. Please authenticate again to continue.","description":"Description of the returned error"}}}}}}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"access_denied","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"contract_id","description":"The field name where permission was denied"},"message":{"type":"string","example":"You do not have permission to access contract CT-12345. Contact your administrator for access.","description":"Description of the returned error"}}}}}}}},"description":"Forbidden"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"database_connection_failed","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":null,"description":"The field name where error occurred (null for server errors)"},"message":{"type":"string","example":"A temporary server error occurred. Please try again in a few moments or contact support if the issue persists.","description":"Description of the returned error"}}}}}}}},"description":"Internal Server Error"}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"5B74FnLM","required":true,"description":"The unique identifier of the employee contract."}],"security":[{"deelToken":[]},{"oauth2":["worker:write"]}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["reason","desired_end_date","signature"],"properties":{"reason":{"enum":["EMPLOYEE_IS_MOVING_TO_ANOTHER_COUNTRY","MOVING_EMPLOYEE_TO_INTERNAL_ENTITY","MOVING_EMPLOYEE_TO_DEEL_PEO","EMPLOYEE_FOUND_ANOTHER_JOB","EMPLOYEE_NOT_HAPPY_WITH_BENEFITS","EMPLOYEE_NOT_HAPPY_WITH_SALARY","EMPLOYEE_NOT_HAPPY_WITH_THE_ROLE","EMPLOYEE_NOT_HAPPY_WITH_COMPANY_CULTURE","EMPLOYEE_NOT_HAPPY_WITH_DEEL","EMPLOYEE_PROJECT_ENDED","EMPLOYEE_SWITCHING_TO_OTHER_EOR_PROVIDER","EMPLOYEE_LEFT_ROLE_FOR_PERSONAL_MATTERS","EMPLOYEE_MOVING_FROM_EOR_TO_CONTRACTOR_OR_FREELANCE","WORKER_TYPE_CHANGE","PREFERRED_NOT_TO_SAY"],"type":"string","example":"EMPLOYEE_FOUND_ANOTHER_JOB","description":"The reason for the employee's resignation"},"signature":{"type":"string","example":"John Doe","description":"Employee signature"},"reason_detail":{"type":"string","example":"Received an offer with better benefits and career growth opportunities","maxLength":500,"description":"Additional details explaining the resignation reason"},"desired_end_date":{"type":"string","format":"date","example":"2025-12-31","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"The employee's desired last day of work in YYYY-MM-DD format"},"supporting_documents":{"type":"string","format":"binary","description":"This field allows for uploading multiple files at once. Includes common image formats (JPG, JPEG, PNG, HEIC) and PDF documents."}}}}}}}}}},"/eor/workers/contracts/{contract_id}/offboarding/resignation-letter/sign":{"post":{"tags":["EOR"],"summary":"Sign Resignation Letter","operationId":"signResignationLetter","description":"This endpoint allows workers to provide their signature for a resignation letter. The signature is required to finalize the resignation process. Upon successful submission, the resignation letter is queued for PDF generation and further processing.\n **Token scopes**: `worker:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the offboarding request"},"end_date":{"type":"string","format":"date-time","example":"2025-01-31T00:00:00.000Z","nullable":true,"description":"The definitive contract end date","x-sensitive-pii":true,"x-sensitive-employment":true},"documents":{"type":"object","nullable":false,"required":["supporting","offboarding"],"properties":{"supporting":{"type":"array","items":{"type":"object","required":["id","name","type","created_at","updated_at","is_additional_supporting_document"],"properties":{"id":{"type":"string","format":"cuid","example":"cmddlk1ghehm54l18gejg198r","description":"The unique identifier of the file","x-sensitive-pii":true},"name":{"type":"string","example":"Supporting Documentation","description":"The name of the file","x-sensitive-pii":true},"type":{"type":"string","example":"pdf","description":"The type/extension of the file","x-sensitive-pii":true},"created_at":{"type":"string","format":"date-time","example":"2025-07-21T21:07:27.713Z","description":"The date and time the file was created","x-sensitive-pii":true},"updated_at":{"type":"string","format":"date-time","example":"2025-07-21T21:07:27.713Z","description":"The date and time the file was updated","x-sensitive-pii":true},"is_additional_supporting_document":{"type":"boolean","example":false,"description":"Indicates if this is an additional supporting document added after the initial submission","x-sensitive-pii":true}}},"x-sensitive-pii":true},"offboarding":{"type":"array","items":{"type":"object","required":["files","reviewer_type","is_employee_notification_required","status"],"properties":{"id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the document set shared with the employee.","x-sensitive-pii":true},"files":{"type":"array","items":{"type":"object","required":["id","name","type","created_at"],"properties":{"id":{"type":"string","format":"cuid","example":"cmdeh9wzgvihue4r54n2y51p4","description":"The unique identifier of the file","x-sensitive-pii":true},"name":{"type":"string","example":"Employee Sign Off Documents","description":"The name of the file","x-sensitive-pii":true},"type":{"type":"string","example":"pdf","description":"The type/extension of the file","x-sensitive-pii":true},"created_at":{"type":"string","format":"date-time","example":"2025-07-22T11:55:23.068Z","description":"The date and time the file was created","x-sensitive-pii":true},"updated_at":{"type":"string","format":"date-time","example":"2025-07-22T11:55:23.068Z","description":"The date and time the file was updated","x-sensitive-pii":true}}},"x-sensitive-pii":true},"status":{"enum":["AWAITING_REVIEW","AWAITING_FEEDBACK","FEEDBACK_PROVIDED","APPROVED","CHANGES_REQUESTED_BY_CLIENT","CHANGES_REQUESTED_BY_EMPLOYEE","WAIVED_REVIEW","NOT_RESPONDED","CANCELLED"],"type":"string","example":"AWAITING_REVIEW","description":"The current status of the document review","x-sensitive-pii":true},"created_at":{"type":"string","format":"date-time","example":"2025-07-22T11:55:23.068Z","description":"The date and time the document set was created","x-sensitive-pii":true},"updated_at":{"type":"string","format":"date-time","example":"2025-07-22T11:55:23.068Z","description":"The date and time the document set was updated","x-sensitive-pii":true},"reviewed_at":{"type":"string","format":"date-time","example":"2025-07-22T12:30:00.000Z","nullable":true,"description":"The date and time when the document was reviewed","x-sensitive-pii":true},"reviewed_by":{"type":"string","example":"John Doe","nullable":true,"description":"The name of the reviewer for this document. If the reviewer is not an employee, it will be the name of the client","x-sensitive-pii":true},"reviewer_type":{"enum":["CLIENT","EMPLOYEE"],"type":"string","example":"EMPLOYEE","description":"The type of reviewer for this document","x-sensitive-pii":true},"reviewer_feedback":{"type":"string","example":"Document needs clarification on section 3","nullable":true,"description":"Feedback provided by the reviewer","x-sensitive-pii":true},"notification_instructions":{"type":"string","example":"<p>Please review and provide feedback on the attached documents.</p>","nullable":true,"description":"HTML instructions for the reviewer notification","x-sensitive-pii":true},"is_employee_notification_required":{"type":"boolean","example":true,"description":"Indicates if the employee should be notified about this document review","x-sensitive-pii":true}}},"description":"Document set shared that requires client or employee review","x-sensitive-pii":true},"resignation_letter":{"type":"object","nullable":true,"properties":{"id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000","description":"The unique identifier of the resignation letter"},"signature":{"type":"string","example":"John Doe","nullable":true,"description":"The signature of the resignation letter"},"signed_at":{"type":"string","format":"date-time","example":"2025-01-31T00:00:00.000Z","nullable":true,"description":"The date and time when the resignation letter was signed"},"created_at":{"type":"string","format":"date-time","example":"2025-01-31T00:00:00.000Z","nullable":false,"description":"The date and time the resignation letter was created"},"updated_at":{"type":"string","format":"date-time","example":"2025-01-31T00:00:00.000Z","nullable":false,"description":"The date and time the resignation letter was updated"}},"x-sensitive-pii":true}},"description":"Document management structure for termination workflow including review processes and supporting documents","x-sensitive-pii":true},"created_at":{"type":"string","format":"date-time","example":"2025-01-31T00:00:00.000Z","nullable":false,"description":"The date and time the offboarding request was created"},"updated_at":{"type":"string","format":"date-time","example":"2025-01-31T00:00:00.000Z","nullable":false,"description":"The date and time the offboarding request was updated"},"contract_id":{"type":"string","example":"5B74FnLM","description":"The unique identifier of the employee contract."},"is_sensitive":{"type":"boolean","example":false,"nullable":false,"description":"Indicates if the offboarding request is sensitive. This is used to restrict access to the request only to the requester and the HRX team."},"request_data":{"type":"object","nullable":true,"properties":{"reason":{"enum":["STATUS_CHANGE","RELOCATION","COMPENSATION","RETIREMENT","JOB_ABANDONMENT","WORK_RELATED","PERSONAL","OTHER_OPPORTUNITY","NON_RENEWAL","PROBATION","ASSIGNMENT_ENDED","POSITION_ELIMINATION","FORCE_REDUCTION","DEATH","FOR_CAUSE","PERFORMANCE","MEDICAL","PERFORMANCE_ISSUES","ATTENDANCE_ISSUES","REORGANIZATION_DOWNSIZING_BUDGET_OR_REDUCTION_OF_WORKFORCE","ROLE_BECAME_REDUNDANT_OR_ROLE_CHANGED","OFFER_WAS_REVOKED","EXITING_THE_MARKET","NO_LONGER_WISH_TO_WORK_WITH_DEEL","COMPANY_ACQUIRED","STEALING","MISCONDUCT","FALSIFYING","HARASSMENT","VIOLENCE","REORGANIZATION_DOWNSIZING_BUDGET_OR_REDUCTION_OF_WORKFORCE_OR_ROLE_BECAME_REDUNDANT_OR_ROLE_CHANGED","UNAUTHORIZED_ABSENCES_OR_LACK_OF_ATTENDANCE","STANDARD_RESELLER_PRACTICE","MOVING_EMPLOYEE_TO_INTERNAL_ENTITY","MOVING_EMPLOYEE_TO_DEEL_PEO","OTHER"],"type":"string","example":"PERFORMANCE","nullable":false,"description":"The reason for the termination","x-sensitive-pii":true,"x-sensitive-employment":true},"end_date":{"type":"string","format":"date-time","example":"2025-01-31T00:00:00.000Z","nullable":true,"description":"The definitive contract end date","x-sensitive-pii":true,"x-sensitive-employment":true},"reason_detail":{"type":"string","example":"Employee is moving to another country","nullable":true,"description":"Optional field to describe the reason behind the resignation request","x-sensitive-pii":true,"x-sensitive-employment":true},"used_time_off":{"type":"object","example":{"time_offs":[{"unit":"BUSINESS_DAY","policy_type":"Vacation","tracking_periods":[{"used":0,"end_date":"2025-02-28T00:00:00.000Z","start_date":"2024-03-01T00:00:00.000Z"},{"used":0,"end_date":"2024-02-29T00:00:00.000Z","start_date":"2023-03-01T00:00:00.000Z"},{"used":0,"end_date":"2023-02-28T00:00:00.000Z","start_date":"2022-03-01T00:00:00.000Z"}],"scheduled_until_end_date":0}],"additional_details":null,"is_deel_pto_confirmed":true},"nullable":false,"required":["time_offs","is_deel_pto_confirmed"],"properties":{"time_offs":{"type":"array","items":{"type":"object","required":["unit","policy_type","tracking_periods","scheduled_until_end_date"],"properties":{"unit":{"enum":["BUSINESS_DAY","CALENDAR_DAY","HOUR"],"type":"string","example":"BUSINESS_DAY","description":"The unit of measurement for time off tracking","x-sensitive-employment":true},"policy_type":{"type":"string","example":"Vacation","description":"The type of time-off policy","x-sensitive-employment":true},"tracking_periods":{"type":"array","items":{"type":"object","required":["used","end_date","start_date"],"properties":{"used":{"type":"number","example":0,"description":"The amount of time off used in this tracking period","x-sensitive-employment":true},"end_date":{"type":"string","format":"date-time","example":"2025-02-28T00:00:00.000Z","description":"The end date of the tracking period","x-sensitive-employment":true},"start_date":{"type":"string","format":"date-time","example":"2024-03-01T00:00:00.000Z","description":"The start date of the tracking period","x-sensitive-employment":true}}},"x-sensitive-employment":true},"scheduled_until_end_date":{"type":"number","example":0,"description":"The amount of time off scheduled until the end date of the current tracking period","x-sensitive-employment":true}}},"x-sensitive-employment":true},"additional_details":{"type":"object","nullable":true,"properties":{"notes":{"type":"string","example":"Additional notes about time off allocation","nullable":true,"description":"Additional notes or comments about the time-off data","x-sensitive-employment":true},"updated_by":{"type":"string","example":"HR Administrator","nullable":true,"description":"The person or system that last updated the time-off data","x-sensitive-pii":true,"x-sensitive-employment":true},"last_updated_at":{"type":"string","format":"date-time","example":"2025-01-31T00:00:00.000Z","nullable":true,"description":"The date and time when the time-off data was last updated","x-sensitive-employment":true}},"x-sensitive-employment":true},"is_deel_pto_confirmed":{"type":"boolean","example":true,"nullable":false,"description":"Indicates whether the PTO allocation has been confirmed by Deel's system","x-sensitive-employment":true}},"description":"Time-off usage data including policy information and tracking periods","x-sensitive-employment":true},"desired_end_date":{"type":"string","format":"date","example":"2025-01-31","nullable":true,"description":"The desired end date. If the date is not provided, it will be selected by HRX the closest date possible","x-sensitive-pii":true,"x-sensitive-employment":true},"eligible_for_rehire":{"enum":["YES","NO","DONT_KNOW"],"type":"string","example":"DONT_KNOW","nullable":true,"description":"Parameter to inform whether it would be possible for the client to hire the employee again","x-sensitive-pii":true},"eligible_for_rehire_reason":{"type":"string","example":"Employee is not eligible for rehire due to performance issues","nullable":true,"description":"Describe if the option DONT_KNOW was selected on eligible_for_rehire","x-sensitive-pii":true,"x-sensitive-employment":true}},"x-sensitive-pii":true},"desired_end_date":{"type":"string","format":"date-time","example":"2025-01-31T00:00:00.000Z","nullable":true,"description":"The desired end date. If the date is not provided, it will be selected by HRX the closest date possible","x-sensitive-pii":true,"x-sensitive-employment":true}}}}}}},"description":"Resignation signed successfully."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_format","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"email","description":"The field name where input validation failed"},"message":{"type":"string","example":"The email field must be a valid email address format","description":"Description of the returned error"}}}}}}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"expired_token","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"authorization","description":"The field name where authentication failed"},"message":{"type":"string","example":"Your access token has expired. Please authenticate again to continue.","description":"Description of the returned error"}}}}}}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"access_denied","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":"contract_id","description":"The field name where permission was denied"},"message":{"type":"string","example":"You do not have permission to access contract CT-12345. Contact your administrator for access.","description":"Description of the returned error"}}}}}}}},"description":"Forbidden"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"database_connection_failed","description":"Error code of the handler which produced the returned error"},"field":{"type":"string","example":null,"description":"The field name where error occurred (null for server errors)"},"message":{"type":"string","example":"A temporary server error occurred. Please try again in a few moments or contact support if the issue persists.","description":"Description of the returned error"}}}}}}}},"description":"Internal Server Error"}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"abcd4fg","required":true,"description":"The unique identifier of the employee contract."}],"security":[{"deelToken":[]},{"oauth2":["worker:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"signature":{"type":"string","example":"John Doe","description":"Employee signature"}}}}}}}}}},"/eor/workers/contracts/{contract_id}/signatures":{"post":{"tags":["EOR"],"summary":"Sign a contract ","operationId":"signAContract","description":"Sign a contract as a employee.\n **Token scopes**: `worker:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["created"],"properties":{"created":{"type":"boolean"}}}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"409":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string","example":"Employment Agreement version mismatch.","description":"The error message"}}}},"request":{"type":"object","properties":{"url":{"type":"string","example":"/rest/v2/example","description":"The relative URL of the failed request"},"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":"http","description":"The source handler which produced the returned error"},"status":{"type":"number","example":409,"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"}}}}}}},"description":"Employment Agreement version mismatch."},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"mryv8dx","required":true,"description":"The unique identifier of the employee contract."}],"security":[{"deelToken":[]},{"oauth2":["worker:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","required":["signature"],"properties":{"version":{"type":"string","example":"cdf4f572eb13a5eaf46d","maxLength":20,"minLength":20,"description":"Optional version of the Employment Agreement to be signed. If informed and in the case of a mismatch, the API will return an error."},"signature":{"type":"string","example":"John Doe","minLength":2,"description":"Signature of employee."}}}}}}},"required":true}}},"/groups/{id}/clone":{"post":{"tags":["Groups"],"summary":"Clone a Group","operationId":"cloneAGroup","description":"Clone an existing group within the organization. This creates a new group with the specified name, copying the structure and settings from the source group.\n **Token scopes**: `groups:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","example":{"data":{"id":"9e12eb6b-90ea-4543-8ff1-7789e7b8db7e","name":"Walmart","created_at":"2024-03-07T11:42:22.342Z","updated_at":"2024-03-07T11:42:22.342Z","external_metadata":"{'showInReport': 'true'}"}},"properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"9e12eb6b-90ea-4543-8ff1-7789e7b8db7e","description":"The unique identifier of the created group."},"name":{"type":"string","example":"Walmart","description":"The name of the created group."},"created_at":{"type":"string","format":"date-time","example":"2024-03-07T11:42:22.342Z","description":"The timestamp when the group was created."},"updated_at":{"type":"string","format":"date-time","example":"2024-03-07T11:42:22.342Z","description":"The timestamp when the group was last updated."},"external_metadata":{"type":"object","description":"Extra information of the group."}}}}}}},"description":"Group cloned successfully"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string","example":"Must have required property example_field","description":"A description of the returned error"}}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"id","schema":{"type":"string","format":"uuid"},"example":"9e12eb6b-90ea-4543-8ff1-7789e7b8db7e","required":true,"description":"Unique identifier of the group to be cloned."}],"security":[{"deelToken":[]},{"oauth2":["groups:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["name"],"properties":{"name":{"type":"string","example":"Walmart","maxLength":48,"description":"The name of the group to be created."},"external_metadata":{"type":"object","example":"{'showInReport': 'true'}","description":"The extra information of the group to be created."}}}}}}},"required":true}}},"/hris/positions/apply_changes":{"post":{"tags":["Positions"],"summary":"Apply changes to positions.","operationId":"applyChangesToPositions-v2026-01-01","description":"Applies a set of position changes (add, edit, delete) for a given HRIS profile.\n **Token scopes**: `profile:write`","responses":{"204":{"description":"Successful operation"},"400":{"description":"Bad Request. Invalid input parameters."},"401":{"description":"Unauthorized. Invalid or expired token."},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"description":"Internal Server Error. Could not process the request."}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["profile:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","required":["profile_id"],"properties":{"add":{"type":"array","items":{"type":"object","required":["team_id"],"properties":{"role_id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","nullable":true,"description":"Id of the role to be assigned to the position."},"team_id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Id of the team to be assigned to the position."},"is_supportive":{"type":"boolean","example":true,"description":"Flag to indicate if the position is supportive."}}}},"edit":{"type":"array","items":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Id of the position to be edited."},"role_id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","nullable":true,"description":"Id of the role to be assigned to the position."},"is_supportive":{"type":"boolean","example":false,"description":"Flag to indicate if the position is supportive."}}}},"delete":{"type":"array","items":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Id of the position to be deleted."}}}},"profile_id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Id of the profile to which the positions belong."}},"description":"The request payload containing the position changes to apply."}}}}},"required":true}}},"/hris/worker_relations/profile":{"post":{"tags":["Worker Relations"],"summary":"Create a worker relation","operationId":"createAWorkerRelation-v2026-01-01","description":"Create a hierarchical relation between a worker and its subordinates.\n **Token scopes**: `profile:write`","responses":{"201":{"content":{"application/json":{}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"invalid_parameter"},"field":{"type":"string","example":"parent_hris_profile_id"},"message":{"type":"string","example":"\"parent_hris_profile_id\" is required"}}}}}}}},"description":"Bad request - The request body is invalid, missing required fields, or a circular relationship was detected."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"not_found"},"field":{"type":"string","example":"parent_hris_profile_id"},"message":{"type":"string","example":"HRIS profile was not found."}}}}}}}},"description":"Not found - The parent profile, child profile, or relationship type was not found."},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["profile:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","required":["parent_hris_profile_id","child_hris_profile_ids","hris_relationship_type_id"],"properties":{"child_hris_profile_ids":{"type":"array","items":{"type":"string","format":"uuid"},"example":["d290f1ee-6c54-4b01-90e6-d701748f0851","d290f1ee-6c54-4b01-90e6-d701748f0852"],"minItems":1,"description":"An array containing the secondary HrisProfiles IDs."},"parent_hris_profile_id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"Primary HrisProfile ID"},"hris_relationship_type_id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"The ID of the Worker Relation Type."}},"description":"The request payload containing the relationship details."}}}}},"required":true}}},"/hris/worker_relations/profile/external":{"post":{"tags":["Worker Relations"],"summary":"Create worker relation with external Ids","operationId":"createWorkerRelationExternalId","description":"Create a hierarchical relation between a worker and its subordinates using external IDs to identify them.\n **Token scopes**: `profile:write`","responses":{"201":{"content":{"application/json":{}},"description":"Successful operation"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"security":[{"deelToken":[]},{"oauth2":["profile:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","required":["parent_external_hris_profile_id","child_hris_profile_ids","hris_relationship_type_external_id"],"properties":{"child_hris_profile_ids":{"type":"array","items":{"type":"object","required":["external_hris_profile_id","relation_external_id"],"properties":{"relation_external_id":{"type":"string","example":"abcdedf","maxLength":100,"description":"A custom ID to set to the relation."},"external_hris_profile_id":{"type":"string","example":"abcdedf","maxLength":100,"description":"The external ID of the secondary HrisProfile."}}},"example":[{"relation_external_id":"abcdedf","external_hris_profile_id":"abcdedf"}],"minItems":1,"description":"An array containing the secondary HrisProfiles external IDs and the relation external ID."},"parent_external_hris_profile_id":{"type":"string","example":"abcdedf","maxLength":100,"description":"Primary HrisProfile external ID"},"hris_relationship_type_external_id":{"type":"string","example":"abcdedf","maxLength":100,"description":"The external ID of the Worker Relation Type."}}}}}}},"required":true}}},"/immigration/workers/{worker_id}/cases/{case_id}/required-document/{document_request_id}":{"post":{"tags":["Immigration"],"summary":"Upload a required immigration document","operationId":"uploadARequiredImmigrationDocument","description":"Upload a required immigration document for a specific case. The document will be submitted for review.\n **Token scopes**: `worker:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","example":"5f5b3b3b-4b3b-4b3b-4b3b-4b3b3b3b3b3b","description":"Unique identifier of the document."},"status":{"enum":["IN_REVIEW"],"type":"string","example":"IN_REVIEW","description":"Status of the document."},"created_at":{"type":"string","format":"date-time","example":"2023-10-31T13:45:30Z","description":"Creation date of the document."},"updated_at":{"type":"string","format":"date-time","example":"2023-10-31T13:45:30Z","description":"Last update date of the document."}}}}}}},"description":"Document uploaded."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"worker_id","schema":{"type":"string"},"example":"a6fb5c89-5abd-45d1-afc1-7e98d550eb71","required":true,"description":"The hris profile oid (public id) of the worker."},{"in":"path","name":"case_id","schema":{"type":"string"},"example":"a6fb5c89-5abd-45d1-afc1-7e98d550eb71","required":true,"description":"The unique identifier of the case for which the required document is being requested."},{"in":"path","name":"document_request_id","schema":{"type":"string"},"example":"a6fb5c89-5abd-45d1-afc1-7e98d550eb71","required":true,"description":"The unique identifier of the document request fo which this document is being uplodaded"}],"security":[{"deelToken":[]},{"oauth2":["worker:write"]}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["file"],"properties":{"file":{"type":"string","format":"binary","example":"passport.jpg","minLength":1,"description":"Immigration right to work document. More than 1 document can be uploaded at the same time (e.g.: front and back)"}},"description":"Details of immigration document upload"}}}}},"required":true,"description":"Upload of immigration document"}}},"/invoice-adjustments/{id}/reviews":{"post":{"tags":["Invoices"],"summary":"Review a single invoice adjustment","operationId":"updateInvoiceAdjustmentById","description":"Review a single invoice adjustment to approve or decline it.\n **Token scopes**: `invoice-adjustments:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["created"],"properties":{"created":{"type":"boolean"}}}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"id","schema":{"type":"string"},"example":"5f4e3f3b-4b8b-4b1b-8e0b-1b1b1b1b1b1b","required":true,"description":"ID of an existing invoice adjustment."}],"security":[{"deelToken":[]},{"oauth2":["invoice-adjustments:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["status"],"properties":{"reason":{"type":"string","example":"Wrong amount","nullable":true,"maxLength":200,"description":"The reason for the adjustment update."},"status":{"enum":["approved","declined"],"type":"string","nullable":false,"description":"The status of the adjustment."}}}}}}},"required":true}}},"/managers/magic-links":{"post":{"tags":["Managers"],"summary":"Generate magic link for manager login","operationId":"generateMagicLinkForManagerLogin","description":"Generate a one-time magic link that allows a manager to log in to Deel without entering credentials. The target manager must belong to the requesting organization and cannot be an organization admin. Only available for White Label enabled organizations or Partners or Child organizations. The magic link expires after 5 minutes and can only be used once. After clicking the link, the manager will be automatically authenticated and redirected to Deel.\n **Token scopes**: `auth:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["created_at","magic_link","expires_at"],"properties":{"created_at":{"type":"string","format":"date-time","example":"2025-07-06T19:46:54.000Z","description":"When the magic link was created (ISO 8601 format)"},"expires_at":{"type":"string","format":"date-time","example":"2025-07-06T19:51:54.000Z","description":"When the magic link expires (ISO 8601 format)"},"magic_link":{"type":"string","example":"https://app.deel.com/login/session?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ3b3JrZXJJZCI6IjEzNDI1NTEi...","description":"The magic link URL that users can click and log in to Deel automatically"}}}}}}},"description":"Magic link generated successfully"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message","field"],"properties":{"code":{"type":"string","example":"unauthorized","description":"Machine-readable error code"},"field":{"type":"string","example":"authorization","description":"The field that caused the error"},"message":{"type":"string","example":"Unauthorized call: invalid token","description":"Human-readable error message"}}}}}}}},"description":"Unauthorized - Invalid or missing authentication token"},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message","field"],"properties":{"code":{"type":"string","example":"forbidden","description":"Machine-readable error code"},"field":{"type":"string","example":"authorization","description":"The field that caused the error"},"message":{"type":"string","example":"Insufficient permissions","description":"Human-readable error message"}}}}}}}},"description":"Forbidden - Not allowed to generate magic link for this manager"},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message","field"],"properties":{"code":{"type":"string","example":"not_found","description":"Machine-readable error code"},"field":{"type":"string","example":"manager_id","description":"The field that caused the error"},"message":{"type":"string","example":"Manager not found","description":"Human-readable error message"}}}}}}}},"description":"Not Found - Manager does not exist or is not in organization"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message","field"],"properties":{"code":{"type":"string","example":"internal_server_error","description":"Machine-readable error code"},"field":{"type":"string","example":"server","description":"The field that caused the error"},"message":{"type":"string","example":"Token generation failed","description":"Human-readable error message"}}}}}}}},"description":"Internal Server Error"}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["auth:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"manager_id":{"type":"string","example":"882cc059-6126-4279-8adc-629d4c876597","maxLength":100,"description":"Manager id."}}}}}}},"required":true,"description":"Details for magic link for managers generation."}}},"/payouts/contractors/settings/auto_withdraw":{"post":{"tags":["Payouts"],"summary":"Update auto withdraw setting for contractor","operationId":"updateAutoWithdrawSetting","description":"Updates auto withdraw setting for contractor\n **Token scopes**: `worker:read`, `worker:write`","responses":{"200":{"description":"Auto withdraw setting updated successfully"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"security":[{"deelToken":[]},{"oauth2":["worker:read","worker:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","example":{"data":{"is_auto_withdraw_enabled":true}},"required":["data"],"properties":{"data":{"type":"object","required":["is_auto_withdraw_enabled"],"properties":{"is_auto_withdraw_enabled":{"type":"boolean","description":"Sets auto withdraw to enabled or disabled for contractor"}}}}}}},"required":true}}},"/time-tracking/timesheets/{timesheet_id}/review":{"post":{"tags":["Time Tracking Timesheets"],"summary":"Review a submitted timesheet","operationId":"reviewASubmittedTimesheet","description":"Review a successfully submitted timesheet. Only PENDING_REVIEW timesheets can be reviewed, and all associated hours will be approved/rejected at once.\n **Token scopes**: `time-tracking:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","review_status","reviewed_at"],"properties":{"id":{"type":"string","format":"uuid","example":"880e8400-e29b-41d4-a716-446655440003","description":"Unique identifier for the timesheet"},"reviewed_at":{"type":"string","format":"date-time","example":"2025-07-10T13:22:45.000Z","description":"Timestamp when the timesheet was reviewed"},"review_reason":{"type":"string","example":"Client's reason for rejection","nullable":true,"description":"Reason provided by the reviewer when rejecting the timesheet. Only present when review_status is REJECTED."},"review_status":{"enum":["PENDING_CREATION","PENDING_REVIEW","APPROVED","REJECTED"],"type":"string","example":"APPROVED","description":"Current status of the timesheet review"}},"description":"Updated timesheet details after review"}}}}},"description":"Timesheet reviewed successfully. Returns updated timesheet details with review status and review timestamp."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message","code","field"],"properties":{"code":{"type":"string","example":"not_found","description":"Machine-readable error code"},"field":{"type":"string","example":"timesheet_id","description":"Name of the field causing the error (for validation issues)"},"message":{"type":"string","example":"Timesheet not found, please verify the timesheet_id","description":"Human-readable explanation of the error"}}}}}}}},"description":"Timesheet not found."},"422":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message","code","details"],"properties":{"code":{"type":"string","example":"not_available_for_review","description":"Machine-readable error code"},"field":{"type":"string","example":null,"nullable":true,"description":"Name of the field causing the error (for validation issues)"},"details":{"type":"object","example":{"timesheet":{"id":"880e8400-e29b-41d4-a716-446655440003","contract_id":"JvUc0hPV","reviewed_at":"2025-07-10T13:22:345.000Z","review_status":"REJECTED","submission_status":"SUBMITTED"}},"required":["timesheet"],"properties":{"timesheet":{"type":"object","required":["id","contract_id","submission_status","review_status"],"properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier for the timesheet"},"contract_id":{"type":"string","description":"External id of the worker's contract associated with the timesheet"},"reviewed_at":{"type":"string","format":"date-time","nullable":true,"description":"Timestamp when the timesheet was reviewed (if already reviewed)"},"review_status":{"enum":["PENDING_CREATION","PENDING_REVIEW","APPROVED","REJECTED"],"type":"string","description":"Current status of the timesheet review"},"submission_status":{"enum":["UPLOADING","UPLOAD_FAILED","PROCESSING","SUBMITTED","INVALID","FAILED"],"type":"string","description":"Current status of the timesheet submission"}},"description":"Current state of the timesheet that cannot be reviewed"}},"description":"Additional details about the error, including the current timesheet state"},"message":{"type":"string","example":"Only PENDING_REVIEW timesheets can be reviewed, please check timesheet's status","description":"Human-readable explanation of the error"}}}}}}}},"description":"Unprocessable entity. Timesheet cannot be reviewed in its current state."},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"timesheet_id","schema":{"type":"string","format":"uuid"},"example":"880e8400-e29b-41d4-a716-446655440003","required":true,"description":"ID of the timesheet to review"}],"security":[{"deelToken":[]},{"oauth2":["time-tracking:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["review_status"],"properties":{"review_reason":{"type":"string","example":"Client's reason for rejection","nullable":true,"maxLength":30000,"minLength":0,"description":"Reason for rejecting the timesheet. Required when review_status is REJECTED, optional when APPROVED."},"review_status":{"enum":["APPROVED","REJECTED"],"type":"string","example":"APPROVED","description":"The review status for the timesheet. Must be APPROVED or REJECTED."}}}}}}},"required":true,"description":"Review information for the timesheet. review_reason is required when review_status is REJECTED."}}},"/payouts/employees/methods/bank_transfers/requirements":{"post":{"tags":["Payouts"],"summary":"Dynamic Requirements","operationId":"dynamicRequirements","description":"Dynamic Requirements\n **Token scopes**: `worker:read`, `worker:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"steps":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","example":"CUSTOMIZE_ACCOUNT","description":"Step name"},"banner":{"example":null,"nullable":true,"description":"Banner information"},"header":{"type":"string","example":"Custom account name","description":"Step header"},"categories":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","example":"CUSTOMIZATION","description":"Category name"},"alert":{"type":"object","properties":{"type":{"type":"string","example":"INFO","description":"Alert type"},"title":{"type":"string","example":"Account Name","description":"Alert title"},"message":{"type":"string","example":"Add custom account name","description":"Alert message"}},"description":"Alert information"},"banner":{"example":null,"nullable":true,"description":"Banner information"},"fields":{"type":"array","items":{"type":"object","properties":{"id":{"type":"number","example":1678,"description":"Field ID"},"key":{"type":"string","example":"custom_name","description":"Field key"},"name":{"type":"string","example":"Account Custom Name","description":"Field name"},"type":{"type":"string","example":"text","description":"Field type"},"example":{"example":null,"nullable":true,"description":"Example value"},"tooltip":{"example":null,"nullable":true,"description":"Tooltip information"},"category":{"type":"string","example":"CUSTOMIZATION","description":"Field category"},"disabled":{"type":"boolean","example":false,"description":"Indicates if the field is disabled"},"required":{"type":"boolean","example":false,"description":"Indicates if the field is required"},"sensitive":{"type":"boolean","example":false,"description":"Indicates if the field is sensitive"},"max_length":{"type":"string","example":"30","description":"Maximum length of the field"},"min_length":{"type":"string","example":"0","description":"Minimum length of the field"},"values_allowed":{"example":null,"nullable":true,"description":"Allowed values for the field"},"validation_regexp":{"example":null,"nullable":true,"description":"Validation regex pattern"},"validation_regex_flags":{"example":null,"nullable":true,"description":"Validation regex flags"}}},"example":[{"id":1678,"key":"custom_name","name":"Account Custom Name","type":"text","example":null,"tooltip":null,"category":"CUSTOMIZATION","disabled":false,"required":false,"sensitive":false,"max_length":"30","min_length":"0","values_allowed":null,"validation_regexp":null,"validation_regex_flags":null}],"description":"Fields in the category"},"header":{"type":"string","example":"Account name","description":"Category header"},"priority":{"type":"number","example":1,"description":"Category priority"}}},"example":[{"name":"CUSTOMIZATION","alert":{"type":"INFO","title":"Account Name","message":"Add custom account name"},"banner":null,"fields":[{"id":1678,"key":"custom_name","name":"Account Custom Name","type":"text","example":null,"tooltip":null,"category":"CUSTOMIZATION","disabled":false,"required":false,"sensitive":false,"max_length":"30","min_length":"0","values_allowed":null,"validation_regexp":null,"validation_regex_flags":null}],"header":"Account name","priority":1}],"description":"Categories of the steps"},"right_side_placeholder":{"type":"string","example":"Customize account","description":"Right side placeholder"}}},"example":[{"name":"CUSTOMIZE_ACCOUNT","banner":null,"header":"Custom account name","categories":[{"name":"CUSTOMIZATION","alert":{"type":"INFO","title":"Account Name","message":"Add custom account name"},"banner":null,"fields":[{"id":1678,"key":"custom_name","name":"Account Custom Name","type":"text","example":null,"tooltip":null,"category":"CUSTOMIZATION","disabled":false,"required":false,"sensitive":false,"max_length":"30","min_length":"0","values_allowed":null,"validation_regexp":null,"validation_regex_flags":null}],"header":"Account name","priority":1}],"right_side_placeholder":"Customize account"},{"name":"BANK_DETAILS","banner":null,"header":"Bank account details","categories":[{"name":"ROUTING","alert":null,"banner":null,"fields":[{"id":1676,"key":"payment_type","name":"Payment type","type":"select","example":null,"tooltip":null,"category":"ROUTING","disabled":false,"required":false,"sensitive":false,"max_length":null,"min_length":null,"values_allowed":[{"key":"bank_transfer","name":"Bank transfer"},{"key":"paper_checks","name":"Paper checks"}],"validation_regexp":null,"validation_regex_flags":null},{"id":1677,"key":"currency_code","name":"Currency","type":"select","example":null,"tooltip":null,"category":"ROUTING","disabled":false,"required":true,"sensitive":false,"max_length":null,"min_length":null,"values_allowed":[{"key":"AED","name":"AED - United Arab Emirates Dirham"},{"key":"AFN","name":"AFN - Afghani"},{"key":"ALL","name":"ALL - Albanian Lek"}],"validation_regexp":null,"validation_regex_flags":null},{"id":1679,"key":"bank_country_code","name":"Bank Country Code","type":"select","example":null,"tooltip":null,"category":"ROUTING","disabled":false,"required":true,"sensitive":false,"max_length":null,"min_length":null,"values_allowed":[{"key":"AD","name":"Andorra"},{"key":"AT","name":"Austria"},{"key":"BE","name":"Belgium"}],"validation_regexp":null,"validation_regex_flags":null}],"header":"Payment details","priority":2},{"name":"BANK_DETAILS","alert":null,"banner":null,"fields":[{"id":109,"key":"swift_bic","name":"SWIFT BIC Code","type":"text","example":"BUKBGB22","tooltip":null,"category":"BANK_DETAILS","disabled":false,"required":true,"sensitive":false,"max_length":"11","min_length":"8","values_allowed":null,"validation_regexp":"^[A-Z]{6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3})?$","validation_regex_flags":""},{"id":321,"key":"iban","name":"IBAN","type":"text","example":"SE4550000000058398257466","tooltip":"International Bank Number","category":"BANK_DETAILS","disabled":false,"required":true,"sensitive":false,"extensions":["swift_bic","bank_name"],"max_length":null,"min_length":null,"values_allowed":null,"validation_regexp":"^[^\\s-]+$","validation_regex_flags":""}],"header":"Account details","priority":1,"sub_header":"Please make sure your account is in the <bold>same currency as your contract</bold> to avoid any delays"}],"right_side_placeholder":"Add bank account details"},{"name":"RECIPIENT_DETAILS","banner":null,"header":"Personal information","categories":[{"name":"PERSONAL","alert":null,"banner":null,"fields":[{"id":34,"key":"full_name","name":"Full Name","type":"text","example":null,"tooltip":"With no special characters and only Latin characters","category":"PERSONAL","disabled":false,"required":true,"sensitive":false,"max_length":"140","min_length":"1","values_allowed":null,"validation_regexp":"^[a-zA-ZàáâǎäãåāÀÁÂÄÃÅĀæÆçćčÇĆČèéêëēėęÈÉÊËĒĖĘîïíīįìÎÏÍĪĮÌłŁñńÑŃöòóøôōõÖÒÓØŌÕÔœŒßẞțśșšşŚŠŞûüùúūÛÜÙÚŪÿŸžźżŽŹŻ '-.]*$","validation_regex_flags":""}],"header":"Recipient details","priority":2},{"name":"ADDRESS","alert":null,"banner":null,"fields":[{"id":68,"key":"address_line1","name":"Address Line 1","type":"text","example":null,"tooltip":null,"category":"ADDRESS","disabled":false,"required":true,"sensitive":false,"max_length":"70","min_length":"1","values_allowed":null,"validation_regexp":null,"validation_regex_flags":null},{"id":69,"key":"address_line2","name":"Address Line 2","type":"text","example":null,"tooltip":null,"category":"ADDRESS","disabled":false,"required":false,"sensitive":false,"max_length":"70","min_length":"0","values_allowed":null,"validation_regexp":null,"validation_regex_flags":null},{"id":70,"key":"city","name":"City","type":"text","example":null,"tooltip":null,"category":"ADDRESS","disabled":false,"required":true,"sensitive":false,"max_length":"35","min_length":"1","values_allowed":null,"validation_regexp":null,"validation_regex_flags":null},{"id":107,"key":"country_code","name":"Country Code","type":"select","example":"US","tooltip":null,"category":"ADDRESS","disabled":false,"required":true,"sensitive":false,"max_length":null,"min_length":null,"values_allowed":[{"key":"AD","name":"Andorra"},{"key":"AE","name":"United Arab Emirates"},{"key":"AF","name":"Afghanistan"}],"validation_regexp":null,"validation_regex_flags":null},{"id":211,"key":"province_state","name":"State","type":"text","example":null,"tooltip":null,"category":"ADDRESS","disabled":false,"required":true,"sensitive":false,"max_length":"35","min_length":"1","values_allowed":null,"validation_regexp":null,"validation_regex_flags":null},{"id":287,"key":"postal","name":"Postal Code","type":"text","example":null,"tooltip":null,"category":"ADDRESS","disabled":false,"required":true,"sensitive":false,"max_length":null,"min_length":null,"values_allowed":null,"validation_regexp":null,"validation_regex_flags":null}],"header":"Address","priority":1}],"right_side_placeholder":"Add recipient details"}],"description":"Steps to fulfill the requirements"},"is_final":{"type":"boolean","example":true,"description":"Indicates if the requirements are final"},"requirements_id":{"type":"number","example":1250,"description":"ID of the requirements"}},"description":"Response data"}}},"examples":{"Dynamic Requirements":{"value":{"data":{"steps":[{"name":"CUSTOMIZE_ACCOUNT","banner":null,"header":"Custom account name","categories":[{"name":"CUSTOMIZATION","alert":{"type":"INFO","title":"Account Name","message":"Add custom account name"},"banner":null,"fields":[{"id":1678,"key":"custom_name","name":"Account Custom Name","type":"text","example":null,"tooltip":null,"category":"CUSTOMIZATION","disabled":false,"required":false,"sensitive":false,"max_length":"30","min_length":"0","values_allowed":null,"validation_regexp":null,"validation_regex_flags":null}],"header":"Account name","priority":1}],"right_side_placeholder":"Customize account"},{"name":"BANK_DETAILS","banner":null,"header":"Bank account details","categories":[{"name":"ROUTING","alert":null,"banner":null,"fields":[{"id":1676,"key":"payment_type","name":"Payment type","type":"select","example":null,"tooltip":null,"category":"ROUTING","disabled":false,"required":false,"sensitive":false,"max_length":null,"min_length":null,"values_allowed":[{"key":"bank_transfer","name":"Bank transfer"},{"key":"paper_checks","name":"Paper checks"}],"validation_regexp":null,"validation_regex_flags":null},{"id":1677,"key":"currency_code","name":"Currency","type":"select","example":null,"tooltip":null,"category":"ROUTING","disabled":false,"required":true,"sensitive":false,"max_length":null,"min_length":null,"values_allowed":[{"key":"AED","name":"AED - United Arab Emirates Dirham"},{"key":"AFN","name":"AFN - Afghani"},{"key":"ALL","name":"ALL - Albanian Lek"}],"validation_regexp":null,"validation_regex_flags":null},{"id":1679,"key":"bank_country_code","name":"Bank Country Code","type":"select","example":null,"tooltip":null,"category":"ROUTING","disabled":false,"required":true,"sensitive":false,"max_length":null,"min_length":null,"values_allowed":[{"key":"AD","name":"Andorra"},{"key":"AT","name":"Austria"},{"key":"BE","name":"Belgium"}],"validation_regexp":null,"validation_regex_flags":null}],"header":"Payment details","priority":2},{"name":"BANK_DETAILS","alert":null,"banner":null,"fields":[{"id":109,"key":"swift_bic","name":"SWIFT BIC Code","type":"text","example":"BUKBGB22","tooltip":null,"category":"BANK_DETAILS","disabled":false,"required":true,"sensitive":false,"max_length":"11","min_length":"8","values_allowed":null,"validation_regexp":"^[A-Z]{6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3})?$","validation_regex_flags":""},{"id":321,"key":"iban","name":"IBAN","type":"text","example":"SE4550000000058398257466","tooltip":"International Bank Number","category":"BANK_DETAILS","disabled":false,"required":true,"sensitive":false,"extensions":["swift_bic","bank_name"],"max_length":null,"min_length":null,"values_allowed":null,"validation_regexp":"^[^\\s-]+$","validation_regex_flags":""}],"header":"Account details","priority":1,"sub_header":"Please make sure your account is in the <bold>same currency as your contract</bold> to avoid any delays"}],"right_side_placeholder":"Add bank account details"},{"name":"RECIPIENT_DETAILS","banner":null,"header":"Personal information","categories":[{"name":"PERSONAL","alert":null,"banner":null,"fields":[{"id":34,"key":"full_name","name":"Full Name","type":"text","example":null,"tooltip":"With no special characters and only Latin characters","category":"PERSONAL","disabled":false,"required":true,"sensitive":false,"max_length":"140","min_length":"1","values_allowed":null,"validation_regexp":"^[a-zA-ZàáâǎäãåāÀÁÂÄÃÅĀæÆçćčÇĆČèéêëēėęÈÉÊËĒĖĘîïíīįìÎÏÍĪĮÌłŁñńÑŃöòóøôōõÖÒÓØŌÕÔœŒßẞțśșšşŚŠŞûüùúūÛÜÙÚŪÿŸžźżŽŹŻ '-.]*$","validation_regex_flags":""}],"header":"Recipient details","priority":2},{"name":"ADDRESS","alert":null,"banner":null,"fields":[{"id":68,"key":"address_line1","name":"Address Line 1","type":"text","example":null,"tooltip":null,"category":"ADDRESS","disabled":false,"required":true,"sensitive":false,"max_length":"70","min_length":"1","values_allowed":null,"validation_regexp":null,"validation_regex_flags":null},{"id":69,"key":"address_line2","name":"Address Line 2","type":"text","example":null,"tooltip":null,"category":"ADDRESS","disabled":false,"required":false,"sensitive":false,"max_length":"70","min_length":"0","values_allowed":null,"validation_regexp":null,"validation_regex_flags":null},{"id":70,"key":"city","name":"City","type":"text","example":null,"tooltip":null,"category":"ADDRESS","disabled":false,"required":true,"sensitive":false,"max_length":"35","min_length":"1","values_allowed":null,"validation_regexp":null,"validation_regex_flags":null},{"id":107,"key":"country_code","name":"Country Code","type":"select","example":"US","tooltip":null,"category":"ADDRESS","disabled":false,"required":true,"sensitive":false,"max_length":null,"min_length":null,"values_allowed":[{"key":"AD","name":"Andorra"},{"key":"AE","name":"United Arab Emirates"},{"key":"AF","name":"Afghanistan"}],"validation_regexp":null,"validation_regex_flags":null},{"id":211,"key":"province_state","name":"State","type":"text","example":null,"tooltip":null,"category":"ADDRESS","disabled":false,"required":true,"sensitive":false,"max_length":"35","min_length":"1","values_allowed":null,"validation_regexp":null,"validation_regex_flags":null},{"id":287,"key":"postal","name":"Postal Code","type":"text","example":null,"tooltip":null,"category":"ADDRESS","disabled":false,"required":true,"sensitive":false,"max_length":null,"min_length":null,"values_allowed":null,"validation_regexp":null,"validation_regex_flags":null}],"header":"Address","priority":1}],"right_side_placeholder":"Add recipient details"}],"is_final":true,"requirements_id":1250}}}}}},"description":"Dynamic Requirements"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"security":[{"deelToken":[]},{"oauth2":["worker:read","worker:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"current_state":{"type":"object","properties":{"payment_type":{"type":"string","example":"bank_transfer","description":"Type of payment"},"currency_code":{"type":"string","example":"EUR","description":"Currency code"},"bank_country_code":{"type":"string","example":"LT","description":"Country code of the bank"}},"description":"Current state of the bank details"}},"description":"Request data"}}},"examples":{"Dynamic Requirements":{"value":{"data":{"current_state":{"payment_type":"bank_transfer","currency_code":"EUR","bank_country_code":"LT"}}}}}}}}}},"/payouts/withdrawals":{"post":{"tags":["Payouts"],"summary":"Request to withdraw funds","operationId":"requestToWithdrawFunds","description":"Request to withdraw some or all of the available funds to a method\n **Token scopes**: `worker:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000","description":"ID of the created transaction"},"amount":{"type":"number","example":100,"description":"Amount of the transaction","x-sensitive-employment":true},"currency":{"type":"string","example":"USD","description":"Currency of the transaction","x-sensitive-employment":true},"created_at":{"type":"string","format":"date-time","example":"2021-01-01T00:00:00.000Z","description":"Timestamp of the transaction creation"},"updated_at":{"type":"string","format":"date-time","example":"2021-01-01T00:00:00.000Z","description":"Timestamp of the transaction update"}}}}}}},"description":"Withdrawal successfully initiated"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"message":{"type":"string","description":"Error message"}}}}}}}},"description":"Internal server error"}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["worker:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["withdrawal_method_id","amount","currency"],"properties":{"amount":{"type":"number","example":100,"description":"Amount to withdraw (must be positive)"},"currency":{"type":"string","example":"USD","description":"Currency code for the withdrawal amount"},"withdrawal_method_id":{"type":"string","format":"uuid","example":"123e4567-e89b-12d3-a456-426614174000","description":"Id of the withdrawal method to use"}}}}}}}}}},"/benefits/legal-entities/{legal_entity_id}/401k/plans/{plan_id}":{"put":{"tags":["Plans 401K"],"summary":"Update 401k plan","operationId":"update401KPlan-v2026-01-01","description":"Update 401k plan\n **Token scopes**: `benefits:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["name","start_date","contribution_type"],"properties":{"id":{"type":"string","example":"5faa596d-b915-46cb-88fc-96e9d4ad8ccb","description":"ID of the 401K plan."},"name":{"type":"string","example":"401K Plan","description":"Name of the 401K plan."},"details":{"type":"object","example":{},"description":"Object containing additional information about the 401K plan."},"end_date":{"type":"string","example":"2022-12-01T00:00:00.000Z","description":"End date of the plan."},"start_date":{"type":"string","example":"2024-12-01T00:00:00.000Z","description":"Start date of the plan."},"contribution_type":{"enum":["NEC_PERCENTAGE","NEC_FIXED_AMOUNT","PERCENTAGE","FIXED_AMOUNT","MATCH"],"type":"string","example":"PERCENTAGE","description":"Type of contribution for the 401K plan."},"contribution_limit":{"type":"number","example":10,"description":"Limit of the contribution."},"contribution_value":{"type":"number","example":10,"description":"Value of the contribution if type is percent or amount."},"contribution_value_for_match_rate":{"type":"array","items":{"type":"object","properties":{"rate":{"type":"number","example":10,"nullable":true,"description":"Rate of matching contribution."},"limit":{"type":"number","example":100,"nullable":true,"description":"Limit up to which the match rate is applicable."}},"description":"Contribution values for match rate type."},"example":[{"rate":10,"limit":100}],"description":"Array of objects containing limits and rates for match rate contribution type."}},"description":"Plan object for non PEO legal entity."}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","example":"Invalid request body. Missing required field: name","description":"Error message describing what went wrong with the request."}}}}},"description":"Bad Request - Invalid input parameters or validation error."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","example":"Plan for legal entity 9585241d-2387-4d80-abea-cea4dde4807d not found","description":"Error message indicating the requested resource was not found."}}}}},"description":"Not Found - The specified plan or legal entity was not found."},"500":{"content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","example":"Error dispatching provider plan update request","description":"Error message indicating an internal server error occurred."}}}}},"description":"Internal Server Error - An unexpected error occurred on the server."}},"parameters":[{"in":"path","name":"legal_entity_id","schema":{"type":"string"},"example":"9585241d-2387-4d80-abea-cea4dde4807d","required":true,"description":"Id from the legal entity to update a 401k plan"},{"in":"path","name":"plan_id","schema":{"type":"string"},"example":"9585241d-2387-4d80-abea-cea4dde4807d","required":true,"description":"401K plan id"}],"security":[{"deelToken":[]},{"oauth2":["benefits:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["name","start_date","contribution_type"],"properties":{"name":{"type":"string","example":"401K Plan","description":"Name of the 401K plan."},"details":{"type":"object","example":{},"description":"Object containing additional information about the 401K plan."},"end_date":{"type":"string","format":"date","example":"2022-01-01","description":"End date of the plan."},"start_date":{"type":"string","format":"date","example":"2022-01-01","description":"Start date of the plan."},"contribution_type":{"enum":["NEC_PERCENTAGE","NEC_FIXED_AMOUNT","PERCENTAGE","FIXED_AMOUNT","MATCH"],"type":"string","example":"PERCENTAGE","description":"Type of contribution for the 401K plan."},"contribution_value":{"type":"number","example":10,"description":"Value of the contribution if type is percent or amount."},"contribution_value_for_match_rate":{"type":"array","items":{"type":"object","required":["limit","rate"],"properties":{"rate":{"type":"number","example":10,"description":"Rate of matching contribution."},"limit":{"type":"number","example":100,"description":"Limit up to which the match rate is applicable."}},"description":"Contribution values for match rate type."},"example":[{"rate":10,"limit":100}],"description":"Array of objects containing limits and rates for match rate contribution type."}},"description":"Schema for the 401K Guideline Plan request body."}}}}},"required":true}}},"/time-tracking/timesheets/upload-url":{"post":{"tags":["Time Tracking Timesheets"],"summary":"Generate timesheet upload url","operationId":"generateTimesheetUploadUrl-v2026-01-01","description":"Receives timesheet file metadata and generates a link to upload timesheet file. Please note that this endpoint supports EOR contracts as of now\n **Token scopes**: `time-tracking:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["upload_url","upload_fields","id","created_at","updated_at"],"properties":{"id":{"type":"string","format":"uuid","example":"880e8400-e29b-41d4-a716-446655440003","description":"Unique identifier for the created timesheet"},"created_at":{"type":"string","format":"date-time","example":"2025-11-07T18:00:00.000Z","description":"Timestamp when the timesheet was created"},"updated_at":{"type":"string","format":"date-time","example":"2025-11-07T18:00:00.000Z","description":"Timestamp when the timesheet was last updated"},"upload_url":{"type":"string","format":"uri","example":"https://my-unique-upload-bucket.s3.amazonaws.com/uploads/document.pdf?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIOSFODNN7EXAMPLE%2F20251107%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20251107T180000Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=a1b2c3d4e5f67890a1b2c3d4e5f67890a1b2c3d4e5f67890a1b2c3d4e5f67890","description":"Pre-signed S3 URL for uploading the timesheet file"},"upload_fields":{"type":"object","example":{"key":"uploads/document.pdf","bucket":"my-unique-upload-bucket","Content-Type":"text/csv"},"description":"Form fields required for the multipart POST upload to S3. Include these fields alongside the file in the upload request.","additionalProperties":true}}}}}}},"description":"Timesheet created successfully. Returns upload URL, upload form fields, and timesheet ID."},"400":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message","code","field"],"properties":{"code":{"type":"string","example":"unsupported_contract_type","description":"Machine-readable error code"},"field":{"type":"string","example":"contract_id","description":"Name of the field causing the error (for validation issues)"},"message":{"type":"string","example":"Only EOR contracts are supported for timesheet uploads","description":"Human-readable explanation of the error"}}},"example":[{"code":"unsupported_contract_type","field":"contract_id","message":"Only EOR contracts are supported for timesheet uploads"}]}}}}},"description":"Bad request. Validation or business rule violation (e.g., non-EOR contract, invalid date range)."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message","code","field"],"properties":{"code":{"type":"string","example":"not_found","description":"Machine-readable error code"},"field":{"type":"string","example":"contract_id","description":"Name of the field causing the error (for validation issues)"},"message":{"type":"string","example":"The contract could not be found, please verify the provided contract id","description":"Human-readable explanation of the error"}}}}}}}},"description":"Resource not found."},"422":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message","code","field"],"properties":{"code":{"type":"string","example":"date_collision","description":"Machine-readable error code"},"field":{"type":"string","example":"start_date","description":"Name of the field causing the error (for validation issues)"},"message":{"type":"string","example":"A timesheet within the same dates was already submitted, please check the current timesheet status.","description":"Human-readable explanation of the error"}}},"example":[{"code":"date_collision","field":"start_date","message":"A timesheet within the same dates was already submitted, please check the current timesheet status."},{"code":"period_inconsistency","field":"start_date","message":"Timesheet's start date can't be later than end date, please verify the provided start and end dates"}]}}}}},"description":"Unprocessable entity. Business logic constraint violation."},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["time-tracking:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["contract_id","file_name","start_date","end_date"],"properties":{"end_date":{"type":"string","format":"date","example":"2025-06-30","description":"End date of the timesheet period. Must be equal to or later than start_date."},"file_name":{"type":"string","example":"june_timesheets.csv","pattern":"\\.csv$","maxLength":255,"minLength":1,"description":"Name of the timesheet file. Must end with .csv extension."},"start_date":{"type":"string","format":"date","example":"2025-06-01","description":"Start date of the timesheet period. Must be equal to or earlier than end_date."},"contract_id":{"type":"string","example":"JvUc0hPV","maxLength":50,"minLength":1,"description":"Id of the worker's contract associated with the timesheet"}}}}}}},"required":true,"description":"timesheet information needed for uploading timesheet file"}}},"/screenings/manual-verification":{"post":{"tags":["Screenings"],"summary":"Create manual verification screening","operationId":"createManualVerificationScreening","description":"Use this endpoint to create a manual identity verification submission (in case automated one has failed multiple times or document country is not supported by automated solution)\n **Token scopes**: `worker:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["request_id","created_at"],"properties":{"created_at":{"type":"string","format":"date-time","example":"2017-07-21T17:32:28Z","description":"Timestamp when screening was successfully received and processed (ISO 8601)"},"request_id":{"type":"string","example":"64rpWq2xQT225nGMQIaKg","description":"Unique request identifier"}}}}}}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"integer","example":400},"message":{"type":"string","example":"Validation failed","description":"Human-readable error message"}}}}},"description":"Bad Request - Validation error"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"409":{"content":{"application/json":{"schema":{"type":"object","required":["code","message"],"properties":{"code":{"type":"integer","example":409},"message":{"type":"string","example":"There is an existing name change screening pending"}}}}},"description":"Conflict - There is an existing name change screening pending"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["worker:write"]}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","required":["operation_type","document_type","translation_required","front","selfie_with_id"],"properties":{"back":{"type":"string","format":"binary","description":"The back side of the document"},"front":{"type":"string","format":"binary","description":"The front side of the document"},"additional":{"type":"string","format":"binary","description":"An additional document"},"document_type":{"enum":["PASSPORT","DRIVING_LICENSE","GOVERNMENT_ID","OTHER"],"type":"string","example":"PASSPORT","description":"The type of document to be verified"},"operation_type":{"enum":["IDENTITY_RESUBMISSION_KYC","IDENTITY_VERIFICATION_KYC","NAME_CHANGE_KYC"],"type":"string","example":"IDENTITY_RESUBMISSION_KYC","description":"The type of KYC operation to perform"},"selfie_with_id":{"type":"string","format":"binary","description":"A selfie of the user holding the ID document"},"document_country":{"type":"string","example":"US","maxLength":2,"minLength":2,"description":"The issuing country code of the document to be verified (ISO 3166-1 alpha-2)"},"proof_of_residence":{"type":"string","format":"binary","description":"A proof of residence document"},"translation_required":{"type":"boolean","example":true,"description":"Indicates whether the document requires translation"}}}}},"required":true}}},"/time_offs/global-payroll/sync":{"post":{"tags":["Time Off"],"summary":"External HR Time Off Synchronization","operationId":"externalHrTimeOffSynchronization","description":"Synchronize time off requests from an external HRIS to Deel. Only Global Payroll contracts are allowed for this operation. This endpoint can perform 2 different operations with the provided time off list: i) upsert - time off requests identified by an external ID will be either inserted or updated at Deel. ii) delete - existing time off requests identified by an external ID with the parameter 'deleted: true' will be deleted. Deel will identify the impacts of each operation on each payroll cycle.\n **Token scopes**: `time-off:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"deleted":{"type":"number","example":0,"description":"Number of time off requests that were deleted"},"updated":{"type":"number","example":2,"description":"Number of time off requests that were updated"},"inserted":{"type":"number","example":4,"description":"Number of time off requests that were inserted"}}}},"description":"List of time offs persisted at Deel"}}},"description":"Successful operation time offs returned"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"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"}}}},"request":{"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"}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["time-off:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","required":["time_offs"],"properties":{"time_offs":{"type":"array","items":{"oneOf":[{"type":"object","required":["external_id","contract_oid","start_date","end_date","policy_type"],"properties":{"amount":{"type":"number","format":"float","example":1.5,"description":"The amount in time units for this time off. When no amount is informed, it will be calculated using work schedules and public holidays defined at Deel."},"is_paid":{"type":"boolean","default":true,"example":true,"description":"Allows the consumer to specify whether the time off is considered as paid (at statutory) or unpaid based on the configuration of the policy in the external HRIS."},"end_date":{"type":"string","format":"date","example":"2022-01-01","description":"The end date of the time off."},"start_date":{"type":"string","format":"date","example":"2022-01-01","description":"The start date of the time off."},"approved_at":{"type":"string","format":"date","default":"time off start date","example":"2022-01-01","description":"The approval date of the time off. If no approval date is informed, the start date of this request will be used as the approval date. Note: use this field in order to support retrospective leaves so Deel can identify requests made after the payroll cycle."},"description":{"type":"string","example":"Family trip","nullable":true,"maxLength":500,"description":"The description of the time off."},"external_id":{"type":"string","example":"cb2fb91b-0fb4-4b9a-a745-e65e119ee1fb","maxLength":48,"description":"External ID to link a Deel time off object with an external time off object. It will be used to determine which operation should be done: INSERT, UPDATE or DELETE."},"policy_name":{"type":"string","example":"Annual leave","maxLength":256,"description":"The policy name the time off is being requested for. If not informed, a default name will be generated using the policy type and contract's country (eg: Vacation - US)."},"policy_type":{"enum":["Adoption leave","Advanced vacation","Bereavement leave","Blood donation leave","Breastfeeding leave","Childbirth leave","Childcare leave","Civic/public duty leave","Disability leave","Doctor's appointment leave","Family & domestic violence leave","Floating Holiday Allowance","Hajj leave","Marriage/wedding leave","Maternity leave","Military leave","Moving leave","Other leave","Paid leave","Parental leave","Paternity leave","Personal leave","Pregnancy leave","Regional holiday","RTT","Sick leave","Study leave","Supplementary Leave","Unpaid leave","Vacation","Volunteer leave","Work accident leave"],"type":"string","example":"Vacation","nullable":true,"maxLength":256,"description":"The Deel policy type of the policy the time off is being requested for."},"contract_oid":{"type":"string","example":"e3064eef-999a-471e-a04b-ed69348ac7e4","maxLength":24,"description":"The contract id that has requested the time off."},"requested_at":{"type":"string","format":"date","example":"2022-01-01","description":"The request date of the time off."},"entitlement_unit":{"enum":["HOUR","BUSINESS_DAY","CALENDAR_DAY","WEEK","MONTH","YEAR"],"type":"string","example":"BUSINESS_DAY","description":"The time unit for this time off. *Mandatory when amount parameter is informed*. If no amount and no entitlement_unit are informed, it will be calculated using Deel's internal country templates for compliant time off policies."}}},{"type":"object","required":["external_id","contract_oid","deleted"],"properties":{"deleted":{"enum":[true],"type":"boolean","example":true,"nullable":false,"description":"Indicates this time off request must be deleted"},"external_id":{"type":"string","example":"cb2fb91b-0fb4-4b9a-a745-e65e119ee1fb","maxLength":48,"description":"External ID to link a Deel time off object with an external time off object. It will be used to determine which operation should be done: INSERT, UPDATE or DELETE."},"contract_oid":{"type":"string","example":"e3064eef-999a-471e-a04b-ed69348ac7e4","maxLength":24,"description":"The contract id that has requested the time off."}}}]}}}}}}}}}}},"/time_offs/validate":{"post":{"tags":["Time Off"],"summary":"Validate time-off request","operationId":"validateTimeOffRequest-v2026-01-01","description":"Validate time-off requests and updates\n **Token scopes**: `time-off:read`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","example":{"data":{"dates":[{"date":"2025-05-13","type":"WORKING_DAY","hours":[4,8],"amount":8,"time_off_percentage":1},{"date":"2025-05-14","type":"WORKING_DAY","hours":[4,8],"amount":8,"time_off_percentage":1},{"date":"2025-05-15","type":"WORKING_DAY","hours":[4,8],"amount":8,"time_off_percentage":1}],"amount":24,"is_valid":true,"new_end_date":"2025-05-15","new_start_date":"2025-05-13","remaining_balance":-8.333333333333334,"require_attachment":false,"require_description":false,"country_specific_validation_results":[{"data":{"ranges":[{"end_day":3,"start_day":1},{"end_day":19,"start_day":15}],"max_requests":30},"is_valid":true,"description":"This policy doesn’t allow more than 3 requests to be submitted in a single period","validation_type":"BRAZIL_MAX_REQUESTS"}],"country_specific_validation_results_next_tracking_period":[{"data":{"ranges":[{"end_day":3,"start_day":1},{"end_day":19,"start_day":15}],"max_requests":30},"is_valid":true,"description":"This policy doesn’t allow more than 3 requests to be submitted in a single period","validation_type":"BRAZIL_MAX_REQUESTS"}]}},"required":["data"],"properties":{"data":{"type":"object","example":{"dates":[{"date":"2025-05-13","type":"WORKING_DAY","hours":[4,8],"amount":8,"time_off_percentage":1},{"date":"2025-05-14","type":"WORKING_DAY","hours":[4,8],"amount":8,"time_off_percentage":1},{"date":"2025-05-15","type":"WORKING_DAY","hours":[4,8],"amount":8,"time_off_percentage":1}],"amount":24,"is_valid":true,"new_end_date":"2025-05-15","new_start_date":"2025-05-13","remaining_balance":-8.333333333333334,"require_attachment":false,"require_description":false,"country_specific_validation_results":[{"data":{"ranges":[{"end_day":3,"start_day":1},{"end_day":19,"start_day":15}],"max_requests":30},"is_valid":true,"description":"This policy doesn’t allow more than 3 requests to be submitted in a single period","validation_type":"BRAZIL_MAX_REQUESTS"}],"country_specific_validation_results_next_tracking_period":[{"data":{"ranges":[{"end_day":3,"start_day":1},{"end_day":19,"start_day":15}],"max_requests":30},"is_valid":true,"description":"This policy doesn’t allow more than 3 requests to be submitted in a single period","validation_type":"BRAZIL_MAX_REQUESTS"}]},"required":["is_valid"],"properties":{"dates":{"type":"array","items":{"type":"object","required":["date","type"],"properties":{"date":{"type":"string","format":"date","example":"2025-05-13","description":"An specific date in the time-off request"},"type":{"enum":["WORKING_DAY","NON_WORKING_DAY","HOLIDAY","FORFAIT_HOUR_DAY"],"type":"string","example":"WORKING_DAY","description":"The type of day for the time off request. All dates must follow the same type."},"hours":{"type":"array","items":{"type":"number","format":"float"},"example":[4,8],"description":"The maximum allowed number of hours that can be take in this specific date. For example, if there is another leave taking 3 hours in the same date, the maximum allowed hours will be 5 (assuming a work schedule of 8 hours)."},"amount":{"type":"number","format":"float","example":1,"description":"The amount of time off requested for the date. It uses the same time unit as in the total amount for the time off request."},"day_types":{"type":"array","items":{"enum":["FULL_DAY","HALF_DAY","PERCENTAGE","HOURLY"],"type":"string","example":"FULL_DAY","description":"The type of leave for the day."},"example":["FULL_DAY","HALF_DAY"],"description":"The types of leave available for the date. Either FULL_DAY or HALF_DAY."},"holiday_name":{"type":"string","example":"Christmas","description":"The name of the holiday for the date. Only applicable for holidays. Only present when date type is HOLIDAY."},"time_off_percentage":{"type":"number","format":"float","example":1,"maximum":1,"minimum":0,"description":"The percentage of time off requested for the date. For example, if the request is for a full day, the percentage will be 1. If it's for half a day, the percentage will be 0.5."}}},"example":[{"date":"2025-05-13","type":"WORKING_DAY","hours":[4,8],"amount":8,"time_off_percentage":1},{"date":"2025-05-14","type":"WORKING_DAY","hours":[4,8],"amount":8,"time_off_percentage":1},{"date":"2025-05-15","type":"WORKING_DAY","hours":[4,8],"amount":8,"time_off_percentage":1}],"description":"The dates breakdown for the time off request."},"amount":{"type":"number","format":"float","example":1.5,"description":"The amount of time off requested."},"is_valid":{"type":"boolean","example":true,"description":"Indicates if the time off request is valid or not. When false, the response will contain an error message."},"new_end_date":{"type":"string","format":"date","example":"2025-05-15","description":"The new end date for the time off request. It could be different from the original end date depending on the policy configuration. For example, for forfait-jour policies"},"is_event_based":{"type":"boolean","example":false,"description":"Indicates if the time off request is event-based, such as parental leave"},"new_start_date":{"type":"string","format":"date","example":"2025-05-13","description":"The new start date for the time off request. It could be different from the original start date depending on the policy configuration. For example, for forfait-jour policies"},"remaining_balance":{"type":"number","format":"float","example":10,"description":"The remaining policy balance for the tracking period"},"require_attachment":{"type":"boolean","example":false,"description":"Indicates if an attachment is required for the time off request"},"require_description":{"type":"boolean","example":false,"description":"Indicates if a description is required for the time off request"},"event_details_fields":{"type":"object","example":{"birth_date":{"type":"date-only","required":true},"adoption_date":{"type":"date-only","required":false},"was_premature_birth":{"type":"boolean","required":true},"had_multiple_children":{"type":"boolean","required":true}},"properties":{"birth_date":{"type":"object","example":{"type":"date-only","required":true},"required":["type","required"],"properties":{"type":{"enum":["date-only"],"type":"string","example":"date-only","description":"The type of the field, indicating it is a date-only field"},"required":{"type":"boolean","example":true,"description":"Indicates if the field is required"}},"description":"The birth-date of the child. Required for parental leave requests."},"adoption_date":{"type":"object","example":{"type":"date-only","required":false},"required":["type","required"],"properties":{"type":{"enum":["date-only"],"type":"string","example":"date-only","description":"The type of the field, indicating it is a date-only field"},"required":{"type":"boolean","example":true,"description":"Indicates if the field is required"}},"description":"The adoption-date of the child. Might be required depending on the type if leave requests."},"was_premature_birth":{"type":"object","example":{"type":"boolean","required":true},"required":["type","required"],"properties":{"type":{"enum":["boolean"],"type":"string","example":"boolean","description":"The type of the field, indicating it is a boolean field"},"required":{"type":"boolean","example":true,"description":"Indicates if the field is required"}},"description":"Indicates if the child was born prematurely. Required for parental leave requests."},"had_multiple_children":{"type":"object","example":{"type":"boolean","required":true},"required":["type","required"],"properties":{"type":{"enum":["boolean"],"type":"string","example":"boolean","description":"The type of the field, indicating it is a boolean field"},"required":{"type":"boolean","example":true,"description":"Indicates if the field is required"}},"description":"Indicates if the request is for multiple children. Required for parental leave requests."}},"description":"Fields required for specific time off requests, such as parental leave."},"max_time_off_percentage":{"type":"number","format":"float","example":0.5,"description":"The maximum time off percentage allowed for the request"},"validation_error_message":{"type":"string","example":"Time off request is invalid. Please check the dates and time off type.","description":"Error message when the time off request is invalid"},"amount_next_tracking_period":{"type":"number","format":"float","example":1.5,"description":"The amount of time off requested to be applicable in the next tracking period."},"country_specific_validation_results":{"type":"array","items":{"type":"object","required":["validation_type"],"properties":{"data":{"type":"object","properties":{"ranges":{"type":"array","items":{"type":"object","required":["start_day"],"properties":{"end_day":{"type":"number","example":3,"description":"The end day in the range"},"start_day":{"type":"number","example":1,"description":"The start day in the range"}}},"description":"Date ranges that were validated"},"max_requests":{"type":"number","example":3,"description":"Maximum number of requests allowed by this validation rule"},"remaining_balance":{"type":"number","example":25,"description":"Remaining balance at the time of applying this rule"}}},"is_valid":{"type":"boolean","example":true,"description":"Indicates if this specific validation passed"},"description":{"type":"string","example":"Maximum consecutive days validation passed","description":"A human-readable description of the validation result"},"validation_type":{"type":"string","example":"BRAZIL_MAX_REQUESTS","description":"The type of validation rule being applied"}},"description":"Result of a specific country validation rule"},"example":[{"data":{"ranges":[{"end_day":3,"start_day":1}],"max_requests":3},"is_valid":true,"description":"This policy doesn’t allow more than 3 requests to be submitted in a single period","validation_type":"BRAZIL_MAX_REQUESTS"}],"description":"Results of country-specific validation rules"},"remaining_balance_next_tracking_period":{"type":"number","format":"float","example":10,"description":"The remaining policy balance for the next tracking period"},"country_specific_validation_results_next_tracking_period":{"type":"array","items":{"type":"object","required":["validation_type"],"properties":{"data":{"type":"object","properties":{"ranges":{"type":"array","items":{"type":"object","required":["start_day"],"properties":{"end_day":{"type":"number","example":3,"description":"The end day in the range"},"start_day":{"type":"number","example":1,"description":"The start day in the range"}}},"description":"Date ranges that were validated"},"max_requests":{"type":"number","example":3,"description":"Maximum number of requests allowed by this validation rule"},"remaining_balance":{"type":"number","example":25,"description":"Remaining balance at the time of applying this rule"}}},"is_valid":{"type":"boolean","example":true,"description":"Indicates if this specific validation passed"},"description":{"type":"string","example":"Maximum consecutive days validation passed","description":"A human-readable description of the validation result"},"validation_type":{"type":"string","example":"BRAZIL_MAX_REQUESTS","description":"The type of validation rule being applied"}},"description":"Result of a specific country validation rule"},"example":[{"data":{"ranges":[{"end_day":3,"start_day":1}],"max_requests":3},"is_valid":true,"description":"This policy doesn’t allow more than 3 requests to be submitted in a single period","validation_type":"BRAZIL_MAX_REQUESTS"}],"description":"Results of country-specific validation rules"}},"description":"Time off request validation result"}},"description":"Time off request validation result"}}},"description":"Time off request validation result"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"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"}}}},"request":{"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"}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["time-off:read"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","example":{"data":{"dates":[{"date":"2025-05-13","day_type":"FULL_DAY"},{"date":"2025-05-14","day_type":"HALF_DAY"},{"date":"2025-05-15","day_type":"HALF_DAY"}],"is_paid":true,"end_date":"2025-05-15","start_date":"2025-05-13","description":"No description","half_end_date":false,"half_start_date":false,"deduction_amount":null,"time_off_type_id":"a2c4a920-e186-4a17-8397-e5706eaf4ee4","recipient_profile_id":"ec3aeb49-0fed-41d0-87c6-86ec22b750b3"}},"properties":{"data":{"type":"object","example":{"dates":[{"date":"2025-05-13","day_type":"FULL_DAY"},{"date":"2025-05-14","day_type":"HALF_DAY"},{"date":"2025-05-15","day_type":"HALF_DAY"}],"is_paid":true,"end_date":"2025-05-15","start_date":"2025-05-13","description":"No description","half_end_date":false,"half_start_date":false,"deduction_amount":null,"time_off_type_id":"a2c4a920-e186-4a17-8397-e5706eaf4ee4","recipient_profile_id":"ec3aeb49-0fed-41d0-87c6-86ec22b750b3"},"required":["recipient_profile_id","start_date","end_date"],"properties":{"id":{"type":"string","example":"b1b9b1b9-1b9b-1b9b-1b9b-1b9b1b9b1b9b","description":"The time off id. Required when validating a time off update request"},"dates":{"type":"array","items":{"type":"object","example":{"date":"2025-05-13","type":"WORKING_DAY","amount":8,"day_types":["FULL_DAY","HALF_DAY"],"time_off_percentage":1},"required":["date"],"properties":{"date":{"type":"string","format":"date","example":"2025-05-13","description":"An specific date in the time-off request"},"hours":{"type":"number","format":"float","example":8,"description":"The amount taken in hours during this specific date. It can not exceed the maximum allowed hours for the date."},"amount":{"type":"number","format":"float","example":1,"description":"The amount of time off requested for the date. It must be in the same time unit as in the total amount for the time off request."},"day_type":{"enum":["HALF_DAY","FULL_DAY","PERCENTAGE","HOURLY"],"type":"string","example":"FULL_DAY","description":"The type of day for the time off request. All dates must follow the same type."}},"description":"The dates breakdown for the time off request."},"example":[{"date":"2025-05-13","type":"WORKING_DAY","amount":8,"time_off_percentage":1},{"date":"2025-05-14","type":"WORKING_DAY","amount":8,"time_off_percentage":1},{"date":"2025-05-15","type":"WORKING_DAY","amount":8,"time_off_percentage":1}],"description":"The dates breakdown for the time off request."},"is_paid":{"type":"boolean","example":true,"description":"Indicates if the time off request is paid or not. By default it follows the policy configuration."},"end_date":{"type":"string","format":"date","example":"2025-05-15","description":"The end date of the time off request."},"policy_id":{"type":"string","example":"b1b9b1b9-1b9b-1b9b-1b9b-1b9b1b9b1b9b","description":"The time off policy id. Can be used in place of time_off_type_id"},"start_date":{"type":"string","format":"date","example":"2025-05-13","description":"The start date of the time off request."},"description":{"type":"string","example":"Time off request for vacation","nullable":true,"maxLength":500,"description":"The description of the time off request"},"event_details":{"type":"object","example":{"birth_date":"2025-05-13","adoption_date":"2025-05-13","was_premature_birth":true,"had_multiple_children":true},"properties":{"birth_date":{"type":"string","format":"date","example":"2025-05-13","description":"The birth-date of the child. Required for parental leave requests."},"adoption_date":{"type":"string","format":"date","example":"2025-05-13","description":"The adoption-date of the child. Required depending on the type of the leave requests."},"was_premature_birth":{"type":"boolean","example":true,"description":"Indicates if the child was born prematurely. Required for parental leave requests."},"had_multiple_children":{"type":"boolean","example":true,"description":"Indicates if the request is for multiple children. Required for parental leave requests."}},"description":"Event details regarding the leave. Required for event based policies such as parental leave."},"deduction_amount":{"type":"number","format":"float","example":8,"description":"The amount to be deducted from the time off balance. Only valid for policies used by independent contractors"},"time_off_type_id":{"type":"string","example":"b1b9b1b9-1b9b-1b9b-1b9b-1b9b1b9b1b9b","description":"The time off type id. Required when policy_id is not provided"},"time_off_event_id":{"type":"string","example":"b1b9b1b9-1b9b-1b9b-1b9b-1b9b1b9b1b9b","description":"The time off event id that this request is associated with. Only present for event-based policies such as parental leave."},"time_off_percentage":{"type":"number","format":"float","example":1,"maximum":1,"minimum":0,"nullable":true,"description":"The percentage of time off requested. For example, if the request is for a full day, the percentage will be 1. If it's for half a day, the percentage will be 0.5."},"recipient_profile_id":{"type":"string","example":"b1b9b1b9-1b9b-1b9b-1b9b-1b9b1b9b1b9b","description":"The hris profile id of the recipient"}},"description":"Time off request data"}},"description":"Time off request data"}}},"required":true,"description":"Time off request data"}}},"/time_tracking/shifts/bulk-delete":{"post":{"tags":["Time Tracking Shifts"],"summary":"Delete multiple shifts by External ID","operationId":"deleteMultipleShiftsByExternalId","description":"This endpoint deletes shifts using external IDs. Once deleted, the shifts will no longer be retrievable or editable.\n **Token scopes**: `time-tracking:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Successfully deleted 3 shifts","description":"Success message indicating the number of shifts deleted"}}}}}}},"description":"Shifts deleted successfully"},"400":{"content":{"application/json":{"example":{"error":"Invalid external ID format or request is malformed."}}},"description":"Invalid external IDs provided or the request is malformed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"content":{"application/json":{"example":{"error":"One or more shifts not found."}}},"description":"One or more shifts with the given external IDs were not found."},"500":{"content":{"application/json":{"example":{"error":"An unexpected error occurred. Please try again later."}}},"description":"Internal server error while attempting to delete the shifts."}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["time-tracking:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["external_ids"],"properties":{"external_ids":{"type":"array","items":{"type":"string"},"example":["shift_123","shift_456","shift_789"],"description":"Array of shift external IDs to delete."}},"description":"Request data containing the external IDs of shifts to be deleted."}}}}},"description":"Request body to bulk delete shifts by their external IDs."}}},"/time_tracking/shifts/raw":{"post":{"tags":["Time Tracking Shifts"],"summary":"Create raw time tracking shifts","operationId":"createRawTimeTrackingShifts-v2026-01-01","description":"Create raw shifts for the specified contract ID. “Raw shifts” refers to uncategorized entries—simply submit the clock-in and clock-out times. The classification of those hours (e.g., regular or overtime) will be handled by the Deel platform.\n **Token scopes**: `time-tracking:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["external_id","contract_id","date_of_work","meta"],"properties":{"meta":{"type":"object","properties":{"end":{"type":"object","properties":{"date":{"type":"string","example":"2023-10-01","description":"End date"},"time":{"type":"string","example":"08:00","description":"End time"},"is_rest_day":{"type":"boolean","example":false,"description":"Is rest day"},"is_public_holiday":{"type":"boolean","example":false,"description":"Is public holiday"}},"description":"End time details of the shift."},"start":{"type":"object","properties":{"date":{"type":"string","example":"2023-10-01","description":"Start date"},"time":{"type":"string","example":"08:00","description":"Start time"},"is_rest_day":{"type":"boolean","example":false,"description":"Is rest day"},"is_public_holiday":{"type":"boolean","example":false,"description":"Is public holiday"}},"description":"Start time details of the shift."},"breaks":{"type":"array","items":{"type":"object","properties":{"end":{"type":"object","properties":{"date":{"type":"string","example":"2023-10-01","description":"Break end date"},"time":{"type":"string","example":"21:00","description":"Break end time"}},"description":"End time details of the break."},"start":{"type":"object","properties":{"date":{"type":"string","example":"2023-10-01","description":"Break start date"},"time":{"type":"string","example":"21:00","description":"Break start time"}},"description":"Start time details of the break."},"is_paid":{"type":"boolean","example":false,"description":"Is break paid"}}},"description":"List of break periods within the shift."},"approval_date":{"type":"string","example":"2023-10-02","description":"Approval date of the shift."}},"description":"Metadata containing detailed information about the shift timing, breaks, and approval status."},"created_at":{"type":"string","example":"2024-10-08T12:08:29.695Z","description":"Creation timestamp of the shift."},"updated_at":{"type":"string","example":"2024-10-08T12:08:29.695Z","description":"Last update timestamp of the shift."},"contract_id":{"type":"string","example":"1234","description":"Contract identifier."},"description":{"type":"string","example":"This is a sample shift description.","description":"Description of the shift."},"external_id":{"type":"string","example":"shift_123456r","description":"Unique identifier of the shift."},"date_of_work":{"type":"string","example":"2023-10-01","description":"Date of the shift."}}},"description":"List of created shift records."}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"example":{"errors":[{"code":"bad_request","path":"data.shifts.0.external_id","message":"Required"}]}}},"description":"Bad Request - Validation error in the request body."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["time-tracking:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["contract_id","shifts"],"properties":{"shifts":{"type":"array","items":{"type":"object","required":["external_id","date_of_work","meta"],"properties":{"meta":{"type":"object","properties":{"end":{"type":"object","properties":{"date":{"type":"string","example":"2023-10-01","description":"End date"},"time":{"type":"string","example":"20:00","description":"End time"},"is_rest_day":{"type":"boolean","example":false,"description":"Is rest day"},"is_public_holiday":{"type":"boolean","example":false,"description":"Is public holiday"}},"description":"End time details of the shift."},"start":{"type":"object","properties":{"date":{"type":"string","example":"2023-10-01","description":"Start date"},"time":{"type":"string","example":"20:00","description":"Start time"},"is_rest_day":{"type":"boolean","example":false,"description":"Is rest day"},"is_public_holiday":{"type":"boolean","example":false,"description":"Is public holiday"}},"description":"Start time details of the shift."},"breaks":{"type":"array","items":{"type":"object","properties":{"end":{"type":"object","properties":{"date":{"type":"string","example":"2023-10-01","description":"Break end date"},"time":{"type":"string","example":"20:00","description":"Break end time"}},"description":"End time details of the break."},"start":{"type":"object","properties":{"date":{"type":"string","example":"2023-10-01","description":"Break start date"},"time":{"type":"string","example":"20:00","description":"Break start time"}},"description":"Start time details of the break."},"is_paid":{"type":"boolean","example":false,"description":"Is break paid"}}},"description":"List of break periods within the shift."},"approval_date":{"type":"string","example":"2023-10-01","description":"Approval date"}},"description":"Metadata containing detailed information about the shift timing, breaks, and approval status."},"description":{"type":"string","example":"sample description","description":"Description of the shift."},"external_id":{"type":"string","example":"shift_123456","description":"Extrenal ID of the shift."},"date_of_work":{"type":"string","example":"2023-10-01","description":"Date of shift work"}}},"description":"Array of shift records to be created."},"contract_id":{"type":"string","example":"397w2dy","description":"Contract ID associated with the shifts."}},"description":"Request data containing contract ID and shifts to be created."}}}}},"description":"Request body to create time tracking raw shifts."}}},"/veriff/session":{"post":{"tags":["Screenings"],"summary":"Create Veriff session","operationId":"createVeriffSession","description":"Create Veriff session\n **Token scopes**: `screenings:write`, `worker:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["url"],"properties":{"url":{"type":"string","example":"https://magic.veriff.me/v/some.jwt.token","description":"The URL of the Veriff session"}}}}}}},"description":"Successful operation"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[],"security":[{"deelToken":[]},{"oauth2":["screenings:write","worker:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["operation_type"],"properties":{"user_input":{"type":"object","required":["first_name","last_name"],"properties":{"last_name":{"type":"string","example":"Doe","nullable":false,"description":"The desired last name of the user"},"first_name":{"type":"string","example":"John","nullable":false,"description":"The desired first name of the user"},"middle_name":{"type":"string","example":"Smith","nullable":true,"description":"The desired middle name of the user"}},"description":"Input data for the name change KYC operation"},"operation_type":{"enum":["IDENTITY_RESUBMISSION_KYC","IDENTITY_VERIFICATION_KYC","NAME_CHANGE_KYC","EMAIL_CHANGE_KYC"],"type":"string","example":"IDENTITY_RESUBMISSION_KYC","description":"The type of KYC operation to perform"}}}}}}},"required":true}}},"/workers/amendments/{amendment_id}/sign":{"post":{"tags":["Contracts"],"summary":"Sign amendment","operationId":"signAmendment","description":"Sign amendment as worker\n **Token scopes**: `worker:read`, `worker:write`, `benefits:read`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","is_signed"],"properties":{"id":{"type":"string","example":"550e8400-e29b-41d4-a716-446655440000","description":"The unique identifier of the signed amendment."},"is_signed":{"type":"boolean","example":true,"description":"Indicates whether the amendment was successfully signed."}}}}}}},"description":"Amendment successfully signed."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"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"}}}},"request":{"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"}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"amendment_id","schema":{"type":"string"},"example":"550e8400-e29b-41d4-a716-446655440000","required":true,"description":"The unique identifier of the amendment to sign"}],"security":[{"deelToken":[]},{"oauth2":["worker:read","worker:write","benefits:read"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","required":["contractor_signature"],"properties":{"contractor_signature":{"type":"string","example":"John Doe","minLength":2,"description":"The signature of the worker signing the amendment."}}}}}}},"required":true}}},"/workers/contracts/{contract_id}/reject":{"post":{"tags":["Contracts"],"summary":"Reject contract","operationId":"rejectContract","description":"Rejects a contract that is in the pending (unsigned) state by specifying its public ID in the contract_id parameter. Use this endpoint when you do not wish to proceed with the agreement. Only contracts that have not yet been signed or previously rejected are eligible for this action\n **Token scopes**: `worker:write`","responses":{"204":{"description":"No Content"},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_parameter","description":"Machine-readable error code"},"field":{"type":"string","example":"/data/example_field","description":"Name of the field causing the error (for validation issues)"},"message":{"type":"string","example":"Must have required property 'example_field'","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"service_unavailable","description":"Machine-readable error code"},"message":{"type":"string","example":"The service is currently experiencing issues","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"32yn4e6","required":true,"description":"The unique public identifier of the contract to reject. This is the contract's public ID that can be used to identify the specific contract in the system."}],"security":[{"deelToken":[]},{"oauth2":["worker:write"]}]}},"/workers/contracts/{contract_id}/signatures":{"post":{"tags":["Contracts"],"summary":"Sign worker contract","operationId":"signWorkerContract","description":"Sign contract as worker\n **Token scopes**: `worker:write`","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","is_signed","created_at","updated_at"],"properties":{"id":{"type":"string","example":"550e8400-e29b-41d4-a716-446655440000","description":"The unique identifier of the signed contract."},"is_signed":{"type":"boolean","example":true,"description":"Indicates whether the contract was successfully signed."},"created_at":{"type":"string","format":"date-time","example":"2021-01-01T00:00:00Z","description":"The timestamp when the contract was created."},"updated_at":{"type":"string","format":"date-time","example":"2021-01-01T00:00:00Z","description":"The timestamp when the contract was last updated."}}}}}}},"description":"Contract successfully signed."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"invalid_parameter","description":"Machine-readable error code"},"field":{"type":"string","example":"/data/example_field","description":"Name of the field causing the error (for validation issues)"},"message":{"type":"string","example":"Must have required property 'example_field'","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"service_unavailable","description":"Machine-readable error code"},"message":{"type":"string","example":"The service is currently experiencing issues","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"37nex2x","required":true,"description":"The unique identifier of the contract."}],"security":[{"deelToken":[]},{"oauth2":["worker:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["worker_signature"],"properties":{"worker_signature":{"type":"string","example":"John Doe - 2024-01-15T10:30:00Z","description":"Signature of the worker for the contract"}}}}}}},"required":true,"description":"worker signature object that needs to be submitted"}}},"/hris/worker_relations/profile/{hrisProfileOid}/parent":{"put":{"tags":["Worker Relations"],"summary":"Create a parent worker relation","operationId":"upsertParentWorkerRelations","description":"Create a parent worker relation.\n **Token scopes**: `profile:write`","responses":{"204":{"content":{"application/json":{}},"description":"Successful operation"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"hrisProfileOid","schema":{"type":"string","format":"uuid"},"example":"d290f1ee-6c54-4b01-90e6-d701748f0851","required":true,"description":"HrisProfile ID"}],"security":[{"deelToken":[]},{"oauth2":["profile:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","required":["id","hris_relationship_type_id"],"properties":{"id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"The ID of the parent profile"},"hris_relationship_type_id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"The ID of the relationship type"}}}}}}},"required":true}}},"/hris/worker_relations/profile/{hris_profile_oid}/child":{"put":{"tags":["Worker Relations"],"summary":"Create child worker relation","operationId":"createChildWorkerRelation-v2026-01-01","description":"Replaces all child relationships of a given type for the specified HRIS profile. Any existing child relationships of that type not included in the request will be removed.\n **Token scopes**: `profile:write`","responses":{"204":{"content":{"application/json":{}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"invalid_parameter"},"field":{"type":"string","example":"hris_relationship_type_id"},"message":{"type":"string","example":"\"hris_relationship_type_id\" is required"}}}}}}}},"description":"Bad request - The request body is invalid or missing required fields."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"not_found"},"field":{"type":"string","example":"hrisProfileOid"},"message":{"type":"string","example":"HRIS profile was not found."}}}}}}}},"description":"Not found - The HRIS profile or relationship type was not found."},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"hris_profile_oid","schema":{"type":"string","format":"uuid"},"example":"d290f1ee-6c54-4b01-90e6-d701748f0851","required":true,"description":"HrisProfile ID"}],"security":[{"deelToken":[]},{"oauth2":["profile:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","required":["ids","hris_relationship_type_id"],"properties":{"ids":{"type":"array","items":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"The ID of the child profile"},"description":"An array containing the IDs of the child profiles"},"hris_relationship_type_id":{"type":"string","format":"uuid","example":"d290f1ee-6c54-4b01-90e6-d701748f0851","description":"The ID of the relationship type"}}}}}}},"required":true}}},"/hris/worker_relations/profile/external/{profile_id}/parent":{"put":{"tags":["Worker Relations"],"summary":"Create a parent worker relation with external id","operationId":"createAParentWorkerRelationWithExternalId-v2026-01-01","description":"Sets or replaces the parent relationship for the specified HRIS profile, using external identifiers. Pass null as parent_profile_external_id to remove the existing parent relationship.\n **Token scopes**: `profile:write`","responses":{"204":{"content":{"application/json":{}},"description":"Successful operation"},"400":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"invalid_parameter"},"field":{"type":"string","example":"hris_relationship_type_external_id"},"message":{"type":"string","example":"\"hris_relationship_type_external_id\" is required"}}}}}}}},"description":"Bad request - The request body is invalid or missing required fields."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"not_found"},"field":{"type":"string","example":"profileId"},"message":{"type":"string","example":"HRIS profile with externalId 'emp-001' was not found."}}}}}}}},"description":"Not found - The HRIS profile, relationship type, or parent profile was not found."},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"profile_id","schema":{"type":"string","format":"uuid"},"example":"e3b6f8e8-1b6b-4e1b-8e0b-6f8e81b6b4e1","required":true,"description":"HrisProfile external ID"}],"security":[{"deelToken":[]},{"oauth2":["profile:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","required":["parent_profile_external_id","hris_relationship_type_external_id"],"properties":{"relation_external_id":{"type":"string","example":"rel-emp002-emp001","nullable":true,"maxLength":100,"description":"The external identifier for this specific relation record."},"parent_profile_external_id":{"type":"string","example":"emp-002","nullable":true,"maxLength":100,"description":"The external identifier of the parent HRIS Profile. Pass null to remove the existing parent relationship."},"hris_relationship_type_external_id":{"type":"string","example":"manager-direct-report","maxLength":100,"description":"The external identifier of the relationship type to apply."}},"description":"The request payload containing parent relationship details."}}}}},"required":true}}},"/hris/worker_relations/profile/external/{profileId}/child":{"put":{"tags":["Worker Relations"],"summary":"Create child worker relation with external Id","operationId":"upsertChildWorkerRelationsExternalId","description":"Create child worker relation with external Id.\n **Token scopes**: `profile:write`","responses":{"204":{"content":{"application/json":{}},"description":"Successful operation"},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"profileId","schema":{"type":"string"},"required":true,"description":"HrisProfile external ID"}],"security":[{"deelToken":[]},{"oauth2":["profile:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","required":["child_hris_profile_ids","hris_relationship_type_id"],"properties":{"child_hris_profile_ids":{"type":"array","items":{"type":"object","oneOf":[{"required":["external_hris_profile_id","relation_external_id"],"properties":{"relation_external_id":{"type":"string","maxLength":100},"external_hris_profile_id":{"type":"string","maxLength":100}}}]},"minItems":1},"hris_relationship_type_external_id":{"type":"string","format":"uuid"}}}}}}},"required":true}}},"/people/{id}/department":{"put":{"tags":["People"],"summary":"Update organization structure","operationId":"updateOrganizationStructure","description":"Update worker's department\n **Token scopes**: `people:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["updated"],"properties":{"updated":{"type":"boolean","example":true,"description":"Indicates if the resource was updated successfully."}}}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"query","name":"replace_other_positions","schema":{"type":"boolean"},"example":"true","required":false,"description":"Indicates if this department position should replace all other positions or only append to the existing ones."},{"in":"path","name":"id","schema":{"type":"string"},"example":"00000000-0000-0000-0000-000000000000","required":true,"description":"Hris profile ID"}],"security":[{"deelToken":[]},{"oauth2":["people:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["department_id"],"properties":{"department_id":{"type":"string","format":"uuid","example":"00000000-0000-0000-0000-000000000000","description":"Unique identifier of this resource."},"effective_date":{"type":"string","format":"date","example":"2024-01-15","description":"Effective date in YYYY-MM-DD format."}}}}}}},"required":true}}},"/people/{id}/working-location":{"put":{"tags":["People"],"summary":"Update working location","operationId":"updatePeopleWorkingLocation","description":"undefined\n **Token scopes**: `people:write`","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["updated"],"properties":{"updated":{"type":"boolean","example":true,"description":"Indicates if the resource was updated successfully."}}}}}}},"description":"Successful operation."},"400":{"$ref":"#/components/responses/ResponseBodyForApiError"},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"id","schema":{"type":"string"},"example":"d290f1ee-6c54-4b01-90e6-d701748f0851","required":true,"description":"Hris profile ID"}],"security":[{"deelToken":[]},{"oauth2":["people:write"]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["working_location_id"],"properties":{"working_location_id":{"type":"number","example":1,"description":"Unique identifier of this resource."}}}}}}},"required":true}}}},"components":{"responses":{"ResponseBodyForApiError":{"description":"Operation failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorContainer"}}}},"ResponseBodyForGenericResultDeleted":{"description":"Successful operation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenericResultDeleted"}}}}},"schemas":{"ApiErrorContainer":{"type":"object","properties":{"request":{"$ref":"#/components/schemas/ApiErrorRequest"},"errors":{"type":"array","items":{"$ref":"#/components/schemas/ApiError"}}}},"ApiErrorRequest":{"type":"object","properties":{"method":{"type":"string","description":"The HTTP method of the failed request","example":"POST"},"url":{"type":"string","description":"The relative URL of the failed request","example":"/rest/v2/example"},"status":{"type":"number","description":"The status code of the response","example":400},"api_req_id":{"type":"string","description":"The request ID of the failed request","example":"00000000-0000-0000-0000-000000000000"},"docs":{"type":"string","description":"A link to the official documentation for the requested endpoint resource","example":"https://developer.deel.com/reference/example"},"source":{"type":"string","description":"The source handler which produced the returned error","example":"AJV"},"code":{"type":"number","description":"The code of the source handler which produced the returned error","example":3}}},"ApiError":{"type":"object","properties":{"message":{"type":"string","description":"A description of the returned error","example":"Must have required property 'example_field'"},"path":{"type":"string","description":"The JSON path where input validation failed","example":"/data/"}}},"WebhookListResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/WebhookItem"}}},"required":["data"]},"WebhookItem":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier of this resource.","example":"00000000-0000-0000-0000-000000000000"},"name":{"type":"string","description":"Webhook subscription name.","nullable":true,"example":"My webhooks"},"description":{"type":"string","description":"Webhook subscription description.","nullable":true,"example":"My first webhook"},"status":{"type":"string","description":"Status of webhook.","enum":["enabled","disabled"],"example":"enabled"},"url":{"type":"string","description":"Endpoint to receive webhook.","example":"https://mywebhook.com/listening"},"signing_key":{"type":"string","description":"The webhook's signing key, used to generate webhook signatures.","nullable":true,"example":null},"api_version":{"type":"string","description":"Deel API version. Currently Deel accepts v1 or v2 version.","nullable":false,"example":"v2","default":"v2"},"events":{"description":"The list of events to enable for this subscription.","example":["contract.created"],"type":"array","items":{"type":"string"}},"created_at":{"type":"string","description":"Time at which the webhook was created."},"updated_at":{"type":"string","description":"Time at which the webhook was updated."},"hidden":{"type":"boolean","description":"Property to hide the webhook from frontend view. Commonly by Dell 3rd party apps","nullable":true,"example":false},"internal":{"type":"boolean"},"deleted_at":{"type":"string","description":"Time at which the webhook was deleted."}},"required":["name","description","status","url","signing_key","api_version","events","id","created_at","updated_at"]},"PatchWebhookRequest":{"type":"object","properties":{"name":{"type":"string","description":"Webhook subscription name.","nullable":true,"example":"Demo webhook"},"description":{"type":"string","description":"Webhook subscription description.","nullable":true,"example":"My first webhook"},"status":{"type":"string","description":"Status of webhook.","enum":["enabled","disabled"],"example":"enabled"},"url":{"type":"string","description":"Endpoint to receive webhook.","example":"https://mywebhook.com/listening"},"signing_key":{"type":"string","description":"The webhook's signing key, used to generate webhook signatures.","nullable":true,"example":null},"api_version":{"type":"string","description":"Deel API version. Currently Deel accepts v1 or v2 version.","nullable":false,"example":"v2","default":"v2"},"events":{"description":"The list of events to enable for this subscription.","example":["contract.created"],"type":"array","items":{"type":"string"}}},"required":["name","description","status","url","signing_key","events"]},"GenericResultDeleted":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["deleted"],"properties":{"deleted":{"type":"boolean","description":"Confirms the deletion.","nullable":false}}}}},"WebhookEventTypeListResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/WebhookEventTypeResponse"}}}},"WebhookEventTypeResponse":{"type":"object","properties":{"id":{"type":"number","description":"Event type unique identifier.","nullable":false},"module_name":{"type":"string","description":"Name of the rabbit queue.","nullable":false,"example":"contract"},"module_label":{"type":"string","description":"Display name of the rabbit queue in Deel UI.","nullable":false,"example":"Contracts"},"name":{"type":"string","description":"Name of the webhook event.","nullable":false,"example":"invoice-adjustment.reviewed"},"description":{"type":"string","description":"Describes the webhook event and other pertinent info.","example":"Triggered when a contract status changes."},"payload_example":{"type":"string","description":"JSON payload example of the specific event.","nullable":true,"example":null},"created_at":{"type":"string","description":"Time at which the event type was created."},"updated_at":{"type":"string","description":"Time at which the event type was updated."}},"required":["id","module_name","module_label","name","description"]},"WebhookItemResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/WebhookItem"}},"required":["data"]},"CreateWebhookRequest":{"type":"object","properties":{"name":{"type":"string","description":"Webhook subscription name.","nullable":true,"example":"My first webhook."},"description":{"type":"string","description":"Webhook subscription description.","nullable":true,"example":"I like it very much."},"status":{"type":"string","description":"Status of webhook.","enum":["enabled","disabled"],"example":"enabled"},"url":{"type":"string","description":"Endpoint to receive webhook.","example":"https://mywebhook.com"},"signing_key":{"type":"string","description":"The webhook's signing key, used to generate webhook signatures.","nullable":true,"minimum":32,"example":null},"api_version":{"type":"string","description":"Deel API version. Currently Deel accepts v1 or v2 version.","nullable":false,"default":"v2","example":"v2"},"events":{"description":"The list of events to enable for this subscription.","example":["contract.created"],"type":"array","items":{"type":"string"}}},"required":["name","description","status","url","signing_key","api_version","events"]}},"securitySchemes":{"deelToken":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"## Authentication\nThe Deel API uses bearer tokens to authenticate requests. All API calls must be made over HTTPS — calls over plain HTTP or without authentication will fail.\n\n```curl\ncurl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \\\n  -H 'Authorization: Bearer YOUR-TOKEN-HERE'\n```\n\n[Learn more about authentication](/api/authentication)\n"},"oauth2":{"type":"oauth2","description":"Standard OAuth2 security scheme based on https://swagger.io/docs/specification/authentication/","flows":{"authorizationCode":{"authorizationUrl":"https://auth.deel.com/authorize","tokenUrl":"https://auth.deel.com/tokens","scopes":{"accounting:read":"View payments and invoices in your organization.","accounting:write":"Create and edit payments and invoices.","candidates:read":"View candidates in your organization.","candidates:write":"Create, edit and delete candidates in your organization.","contracts:read":"View contracts in your organization.","contracts:write":"Create and amend contracts.","people:write":"Write worker’s information such as profile, time-off and expense.","people:read":"Read worker’s information such as profile, time-off and expenses.","profile:read":"Read Profile information such as name, email, phone","Users:read":"View information about people in Deel HR.","webhooks:read":"View webhooks in your organization.","webhooks:write":"Create and edit webhooks in your organization.","global-payroll:read":"View global payroll information about your employees.","global-payroll:write":"Write global payroll information about your employees.","adjustments:write":"Create / update adjustments of your employee.","adjustments:read":"View adjustments of your employee.","invoice-adjustments:read":"View invoices of your workforce.","invoice-adjustments:write":"Create, edit, review, and delete invoice adjustments.","milestones:read":"View milestones of your contractors.","milestones:write":"Create, edit, review, and delete milestones.","organizations:read":"View basic information about your organizations, teams, legal entities and agreements.","organizations:write":"Modify information in your organization. Create, edit, delete admin users or managers.","off-cycle-payments:read":"View your off-cycle payments.","off-cycle-payments:write":"Create, edit, review your off-cycle payments.","timesheets:read":"View work submitted for time-based contracts.","timesheets:write":"Create, edit, review, and delete timesheets.","tasks:read":"View your pay-as-you-go tasks.","tasks:write":"Create, edit, review and delete your pay-as-you-go tasks.","payslips:read":"View employee payslips.","payslips:write":"Create, edit, review and delete employee payslips.","public-token:write":"Create, edit, review and delete public tokens.","profile:write":"Write Profile information such as name, email, phone"}}}},"public":{"type":"oauth2","description":"public token","flows":{"authorizationCode":{"authorizationUrl":"","tokenUrl":"https://api.deel.com/rest/v1/public-tokens","scopes":{"contracts:read":"View contracts in your organization."}}}}}}}