{"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","description":"Production server"},{"url":"https://api-sandbox.demo.deel.com/rest","description":"Demo server"}],"tags":[{"name":"Organizations","description":"API endpoints related to Organizations.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Contracts","description":"API endpoints related to Contracts.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Webhooks","description":"API endpoints related to Webhooks.","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":"EOR","description":"API endpoints related to EOR.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Contractors","description":"API endpoints related to Contractors.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Projects","description":"API endpoints related to Projects.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Global Payroll","description":"API endpoints related to Global Payroll.","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":"Offboarding","description":"API endpoints related to Offboarding.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Lookups","description":"API endpoints related to Lookups.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Accounting","description":"API endpoints related to Accounting.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Time Tracking Rates","description":"API endpoints related to Time Tracking Rates.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Legal Entities","description":"API endpoints related to Legal Entities.","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":"IT assets","description":"API endpoints related to IT assets.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Custom Fields","description":"API endpoints related to Custom Fields.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"ATS","description":"API endpoints related to ATS.","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":"Positions","description":"API endpoints related to Positions.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Timesheets","description":"API endpoints related to Timesheets.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Time Off","description":"API endpoints related to Time Off.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Groups","description":"API endpoints related to Groups.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"IT policies","description":"API endpoints related to IT policies.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"People","description":"API endpoints related to People.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Milestones","description":"API endpoints related to Milestones.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Treasury","description":"API endpoints related to Treasury.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Workers","description":"API endpoints related to Workers.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Organization structure","description":"API endpoints related to Organization structure.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Managers","description":"API endpoints related to Managers.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Invoices","description":"API endpoints related to Invoices.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Off-cycle Payments","description":"API endpoints related to Off-cycle Payments.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Organization Structure","description":"API endpoints related to Organization Structure.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Organization Tasks","description":"API endpoints related to Organization Tasks.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Tasks","description":"API endpoints related to Tasks.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"IT orders","description":"API endpoints related to IT orders.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"On-Demand Payroll","description":"API endpoints related to On-Demand Payroll.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Adjustments","description":"API endpoints related to Adjustments.","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":"Time Tracking Timesheets","description":"API endpoints related to Time Tracking Timesheets.","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":"Consent","description":"API endpoints related to Consent.","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":"HRX Documents","description":"API endpoints related to HRX Documents.","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":"Employees","description":"API endpoints related to Employees.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Cost Centers","description":"API endpoints related to Cost Centers.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Payments","description":"API endpoints related to Payments.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Forms","description":"API endpoints related to Forms.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Time Tracking Shifts","description":"API endpoints related to Time Tracking Shifts.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Equity Tokens","description":"API endpoints related to Equity Tokens.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Knowledge Hub","description":"API endpoints related to Knowledge Hub.","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":"Terminations","description":"API endpoints related to Terminations.","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":"Refund Statements","description":"API endpoints related to Refund Statements.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Employee Information","description":"API endpoints related to Employee Information.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"IC invoicing taxes","description":"API endpoints related to IC invoicing taxes.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"List Cycles","description":"API endpoints related to List Cycles.","externalDocs":{"description":"See","url":"https://developer.deel.com"}},{"name":"Worker Session","description":"API endpoints related to Worker Session.","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":"@eng-platform-be","description":"API endpoints related to @eng-platform-be.","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":"Learning","description":"API endpoints related to Learning.","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":"Worker HR","description":"API endpoints related to Worker HR.","externalDocs":{"description":"See","url":"https://developer.deel.com"}}],"paths":{"/roles/{roleId}":{"patch":{"path":"/rest/roles/{roleId}","tags":["Organizations"],"method":"patch","summary":"Update organization custom role","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"}],"description":"Applies a partial update to the custom role, modifying only the fields supplied in the request body.\n\n **Token scopes**: `organizations:write`","operationId":"UpdateOrganizationRole-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["organizations:write"]}]}},"/contracts/termination-reasons":{"get":{"path":"/rest/contracts/termination-reasons","tags":["Contracts"],"method":"get","summary":"List contract termination reasons","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","frequency","created_at","updated_at"],"properties":{"id":{"type":"string","format":"uuid","example":"a1b2c3d4-e5f6-7890-abcd-ef1234567890","description":"Unique identifier for the termination reason"},"name":{"type":"string","example":"Project has ended","description":"The display text for the termination reason that can be shown to users"},"frequency":{"enum":["COMMON","MOST_COMMON","LESS_COMMON"],"type":"string","example":"MOST_COMMON","description":"How commonly this reason is used"},"created_at":{"type":"string","format":"date-time","example":"2024-01-15T10:30:00Z","description":"Timestamp when the termination reason was created"},"updated_at":{"type":"string","format":"date-time","example":"2024-01-15T10:30:00Z","description":"Timestamp when the termination reason was last updated"}},"additionalProperties":false}},"has_more":{"type":"boolean","example":true,"description":"Indicates whether there are more results available"},"next_cursor":{"type":"string","example":"eyJmcmVxdWVuY3kiOiJNT1NUX0NPTU1PTiIsImlkIjoyfQ==","nullable":true,"description":"Cursor to use for fetching the next page. Null if there are no more results."},"total_count":{"type":"integer","example":15,"description":"Total number of termination reasons available"}},"additionalProperties":false}}},"description":"Paginated list of termination reasons"},"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":20,"maximum":100,"minimum":1},"example":20,"description":"Number of items to return per page (default: 20, max: 100)"},{"in":"query","name":"cursor","schema":{"type":"string"},"example":"eyJmcmVxdWVuY3kiOiJNT1NUX0NPTU1PTiIsImlkIjoyfQ==","description":"Cursor for pagination. Use the value from `next_cursor` in the previous response to fetch the next page."},{"in":"query","name":"order_by","schema":{"enum":["frequency"],"type":"string","default":"frequency"},"example":"frequency","description":"Field to order results by"},{"in":"query","name":"order","schema":{"enum":["asc","desc"],"type":"string","default":"asc"},"example":"asc","description":"Sort direction for results"}],"description":"Retrieves the standardized list of termination reasons to present when initiating a contract termination\n\n **Token scopes**: `contracts:read`","operationId":"listContractTerminationReasons-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]}},"/webhooks":{"post":{"path":"/rest/webhooks","tags":["Webhooks"],"method":"post","summary":"Create a webhook","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["name","description","status","url","signing_key","api_version","events","id","created_at","updated_at"],"properties":{"id":{"type":"string","example":"00000000-0000-0000-0000-000000000000","description":"Unique identifier of this resource."},"url":{"type":"string","example":"https://mywebhook.com/listening","description":"Endpoint to receive webhook."},"name":{"type":"string","example":"My webhooks","nullable":true,"description":"Webhook subscription name."},"events":{"type":"array","items":{"type":"string"},"example":["contract.created"],"description":"The list of events to enable for this subscription."},"hidden":{"type":"boolean","example":false,"nullable":true,"description":"Property to hide the webhook from frontend view. Commonly by Deel 3rd party apps"},"status":{"enum":["enabled","disabled"],"type":"string","example":"enabled","description":"Status of webhook."},"internal":{"type":"boolean","example":false,"description":"Indicates whether the webhook is internal to Deel."},"created_at":{"type":"string","example":"2024-01-01T12:00:00Z","description":"Time at which the webhook was created."},"deleted_at":{"type":"string","example":null,"nullable":true,"description":"Time at which the webhook was deleted."},"updated_at":{"type":"string","example":"2024-01-02T12:00:00Z","description":"Time at which the webhook was updated."},"api_version":{"type":"string","default":"v2","example":"v2","nullable":false,"description":"Deel API version. Currently Deel accepts v1 or v2 version."},"description":{"type":"string","example":"My first webhook","nullable":true,"description":"Webhook subscription description."},"signing_key":{"type":"string","example":null,"nullable":true,"description":"The webhook's signing key, used to generate webhook signatures."}},"description":"The webhook subscription."}}}}},"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":"Internal validation error occurred","description":"Human-readable description of the error."},"error_code":{"type":"string","example":"VALIDATION_ERROR","description":"Machine-readable error code."}}},"description":"The list of errors that caused the request to fail."}}}}},"description":"Bad Request. The request could not be understood or was missing required parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Internal validation error occurred","description":"Human-readable description of the error."},"error_code":{"type":"string","example":"VALIDATION_ERROR","description":"Machine-readable error code."}}},"description":"The list of errors that caused the request to fail."}}}}},"description":"Unauthorized. Authentication credentials were missing 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":"Internal validation error occurred","description":"Human-readable description of the error."},"error_code":{"type":"string","example":"VALIDATION_ERROR","description":"Machine-readable error code."}}},"description":"The list of errors that caused the request to fail."}}}}},"description":"Forbidden. You do not have permission to access this resource."},"404":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Internal validation error occurred","description":"Human-readable description of the error."},"error_code":{"type":"string","example":"VALIDATION_ERROR","description":"Machine-readable error code."}}},"description":"The list of errors that caused the request to fail."}}}}},"description":"Not Found. The requested resource could not be found."},"405":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Internal validation error occurred","description":"Human-readable description of the error."},"error_code":{"type":"string","example":"VALIDATION_ERROR","description":"Machine-readable error code."}}},"description":"The list of errors that caused the request to fail."}}}}},"description":"Method Not Allowed. The HTTP method is not supported for this resource."},"429":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Internal validation error occurred","description":"Human-readable description of the error."},"error_code":{"type":"string","example":"VALIDATION_ERROR","description":"Machine-readable error code."}}},"description":"The list of errors that caused the request to fail."}}}}},"description":"Too Many Requests. The rate limit has been exceeded."},"500":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Internal validation error occurred","description":"Human-readable description of the error."},"error_code":{"type":"string","example":"VALIDATION_ERROR","description":"Machine-readable error code."}}},"description":"The list of errors that caused the request to fail."}}}}},"description":"Internal Server Error. An unexpected error occurred."}},"description":"Create a new webhooks subscription.\n\n **Token scopes**: `webhooks:write`","operationId":"createWebhook-v2026-01-01","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["name","description","status","url","api_version","events"],"properties":{"url":{"type":"string","example":"https://mywebhook.com","description":"Endpoint to receive webhook."},"name":{"type":"string","example":"My first webhook.","nullable":true,"description":"Webhook subscription name."},"events":{"type":"array","items":{"type":"string"},"example":["contract.created"],"description":"The list of events to enable for this subscription."},"status":{"enum":["enabled","disabled"],"type":"string","example":"enabled","description":"Status of webhook."},"api_version":{"type":"string","default":"v2","example":"v2","nullable":false,"description":"Deel API version. Only v2 is accepted."},"description":{"type":"string","example":"I like it very much.","nullable":true,"description":"Webhook subscription description."},"signing_key":{"type":"string","example":null,"nullable":true,"maxLength":128,"minLength":32,"description":"The webhook's signing key, used to generate webhook signatures. Auto-generated if omitted."}}}}},"required":true},"security":[{"deelToken":[]},{"oauth2":["webhooks:write"]}]},"get":{"path":"/rest/webhooks","tags":["Webhooks"],"method":"get","summary":"List of webhooks","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["name","description","status","url","signing_key","api_version","events","id","created_at","updated_at"],"properties":{"id":{"type":"string","example":"00000000-0000-0000-0000-000000000000","description":"Unique identifier of this resource."},"url":{"type":"string","example":"https://mywebhook.com/listening","description":"Endpoint to receive webhook."},"name":{"type":"string","example":"My webhooks","nullable":true,"description":"Webhook subscription name."},"events":{"type":"array","items":{"type":"string"},"example":["contract.created"],"description":"The list of events to enable for this subscription."},"hidden":{"type":"boolean","example":false,"nullable":true,"description":"Property to hide the webhook from frontend view. Commonly by Deel 3rd party apps"},"status":{"enum":["enabled","disabled"],"type":"string","example":"enabled","description":"Status of webhook."},"internal":{"type":"boolean","example":false,"description":"Indicates whether the webhook is internal to Deel."},"created_at":{"type":"string","example":"2024-01-01T12:00:00Z","description":"Time at which the webhook was created."},"deleted_at":{"type":"string","example":null,"nullable":true,"description":"Time at which the webhook was deleted."},"updated_at":{"type":"string","example":"2024-01-02T12:00:00Z","description":"Time at which the webhook was updated."},"api_version":{"type":"string","default":"v2","example":"v2","nullable":false,"description":"Deel API version. Currently Deel accepts v1 or v2 version."},"description":{"type":"string","example":"My first webhook","nullable":true,"description":"Webhook subscription description."},"signing_key":{"type":"string","example":null,"nullable":true,"description":"The webhook's signing key, used to generate webhook signatures."}}},"description":"The list of webhook subscriptions."}}}}},"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":"Internal validation error occurred","description":"Human-readable description of the error."},"error_code":{"type":"string","example":"VALIDATION_ERROR","description":"Machine-readable error code."}}},"description":"The list of errors that caused the request to fail."}}}}},"description":"Bad Request. The request could not be understood or was missing required parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Internal validation error occurred","description":"Human-readable description of the error."},"error_code":{"type":"string","example":"VALIDATION_ERROR","description":"Machine-readable error code."}}},"description":"The list of errors that caused the request to fail."}}}}},"description":"Unauthorized. Authentication credentials were missing 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":"Internal validation error occurred","description":"Human-readable description of the error."},"error_code":{"type":"string","example":"VALIDATION_ERROR","description":"Machine-readable error code."}}},"description":"The list of errors that caused the request to fail."}}}}},"description":"Forbidden. You do not have permission to access this resource."},"404":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Internal validation error occurred","description":"Human-readable description of the error."},"error_code":{"type":"string","example":"VALIDATION_ERROR","description":"Machine-readable error code."}}},"description":"The list of errors that caused the request to fail."}}}}},"description":"Not Found. The requested resource could not be found."},"405":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Internal validation error occurred","description":"Human-readable description of the error."},"error_code":{"type":"string","example":"VALIDATION_ERROR","description":"Machine-readable error code."}}},"description":"The list of errors that caused the request to fail."}}}}},"description":"Method Not Allowed. The HTTP method is not supported for this resource."},"429":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Internal validation error occurred","description":"Human-readable description of the error."},"error_code":{"type":"string","example":"VALIDATION_ERROR","description":"Machine-readable error code."}}},"description":"The list of errors that caused the request to fail."}}}}},"description":"Too Many Requests. The rate limit has been exceeded."},"500":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Internal validation error occurred","description":"Human-readable description of the error."},"error_code":{"type":"string","example":"VALIDATION_ERROR","description":"Machine-readable error code."}}},"description":"The list of errors that caused the request to fail."}}}}},"description":"Internal Server Error. An unexpected error occurred."}},"description":"Retrieve a list of webhook subscriptions.\n\n **Token scopes**: `webhooks:read`","operationId":"getAllWebhooks-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["webhooks:read"]}]}},"/payouts/contractors/settings/auto_withdraw":{"post":{"path":"/rest/payouts/contractors/settings/auto_withdraw","tags":["Payouts"],"method":"post","summary":"Update auto withdraw setting for contractor","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"}},"description":"Updates the auto-withdrawal configuration for the authenticated contractor.\n\n **Token scopes**: `worker:read`, `worker:write`","operationId":"updateAutoWithdrawSetting-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["worker:read","worker:write"]}]}},"/eor/contracts/{contract_id}/amendments/{amendment_id}":{"patch":{"path":"/rest/eor/contracts/{contract_id}/amendments/{amendment_id}","tags":["EOR"],"method":"patch","summary":"Update a specific EOR contract amendment","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."}],"description":"Applies a partial update to a specific EOR contract amendment. The amendment must be in DRAFT status; updates to amendments in any other state will be rejected. This operation overwrites existing draft data and cannot be undone.\n\n **Token scopes**: `contracts:write`","operationId":"updateASpecificEorContractAmendment-v2026-01-01","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."}}}}}}}},"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}]},"delete":{"path":"/rest/eor/contracts/{contract_id}/amendments/{amendment_id}","tags":["EOR"],"method":"delete","summary":"Cancel amendment","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."}],"description":"Cancels a pending EOR contract amendment, voiding the request and preventing it from being reviewed or applied to the contract.\n\n **Token scopes**: `contracts:write`","operationId":"cancelAmendment-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["contracts:write"]}]},"get":{"path":"/rest/eor/contracts/{contract_id}/amendments/{amendment_id}","tags":["EOR"],"method":"get","summary":"View information about amendment","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."}],"description":"Retrieves a specific amendment for an EOR contract.\n\n **Token scopes**: `contracts:read`","operationId":"viewInformationAboutAmendment-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]}},"/contracts/{contract_id}/preview":{"get":{"path":"/rest/contracts/{contract_id}/preview","tags":["Contractors"],"method":"get","summary":"Preview a contract agreement","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."}],"description":"Returns the rendered HTML content of an IC or EOR contract agreement for a given contract_id. If no templateId is provided, the default or currently assigned template is used. Global Payroll contract types are not supported.\n\n **Token scopes**: `contracts:read`, `worker:read`","operationId":"previewAContractAgreement-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["contracts:read","worker:read"]}]}},"/payouts/employees/methods":{"post":{"path":"/rest/payouts/employees/methods","tags":["Payouts"],"method":"post","summary":"Add/Edit Bank Details","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"}},"description":"Creates or updates an employee's bank payout method. If a method already exists, the existing record is superseded and the response includes a version identifier and activation status reflecting the updated state.\n\n **Token scopes**: `worker:read`, `worker:write`","operationId":"addEditBankDetails-v2026-01-01","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"}}}}}}}},"security":[{"deelToken":[]},{"oauth2":["worker:read","worker:write"]}]},"get":{"path":"/rest/payouts/employees/methods","tags":["Payouts"],"method":"get","summary":"Get Bank Details","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"}},"description":"Retrieves the configured bank payout methods for an employee.\n\n **Token scopes**: `worker:read`, `worker:write`","operationId":"getBankDetails-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["worker:read","worker:write"]}]}},"/timesheets/root-presets":{"get":{"path":"/rest/timesheets/root-presets","tags":["Projects"],"method":"get","summary":"Get Hourly Report Root Presets","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"}],"description":"Returns a cursor-paginated list of hourly report root presets, with optional filtering by work_statement_statuses and result ordering.\n\n **Token scopes**: `timesheets:read`","operationId":"getHourlyReportRootPresets-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["timesheets:read"]}]},"post":{"path":"/rest/timesheets/root-presets","tags":["Projects"],"method":"post","summary":"Create Hourly Report Root Preset","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":[],"description":"Creates a new hourly report root preset and initiates asynchronous processing; the response includes an async_task object that can be used to track completion.\n\n **Token scopes**: `timesheets:write`","operationId":"createHourlyReportRootPreset-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["timesheets:write"]}]}},"/payouts/contractors/methods":{"post":{"path":"/rest/payouts/contractors/methods","tags":["Payouts"],"method":"post","summary":"Create a bank transfer method","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":{"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":"Invalid input","description":"Human-readable explanation."}}}}}}}},"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":[],"description":"Registers a new bank transfer payout method; the request payload structure is dynamic and determined by the selected option, so callers should retrieve field requirements before submitting.\n\n **Token scopes**: `worker:read`, `worker:write`","operationId":"createABankTransferMethod-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["worker:read","worker:write"]}]},"get":{"path":"/rest/payouts/contractors/methods","tags":["Payouts"],"method":"get","summary":"Fetch all payout methods","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","description":"Type of payout method. Currently only bank_transfer is supported."},"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":{"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":"Invalid input","description":"Human-readable explanation."}}}}}}}},"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":"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."}],"description":"Returns all payout methods associated with the authenticated account, with optional filtering to return only the default method.\n\n **Token scopes**: `worker:read`, `worker:write`","operationId":"fetchAllPayoutMethods-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["worker:read","worker:write"]}]}},"/gp/workers/{worker_id}/banks/{bank_id}":{"patch":{"path":"/rest/gp/workers/{worker_id}/banks/{bank_id}","tags":["Global Payroll"],"method":"patch","summary":"Modify bank account","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."}],"description":"Partially updates the bank account for the worker; only fields provided in the request body are modified.\n\n **Token scopes**: `people:write`","operationId":"patchGpBankAccount-v2026-01-01","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."},"security":[{"deelToken":[]},{"oauth2":["people:write"]}]}},"/daas/payslips":{"get":{"path":"/rest/daas/payslips","tags":["Deel As a Service"],"method":"get","summary":"Get list of payslips for an EOR employee","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":[],"description":"Returns all payslips for an EOR employee.\n\n **Token scopes**: `worker:read`","operationId":"getEorEmployeePayslips-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["worker:read"]}]}},"/offboarding/tracker":{"get":{"path":"/rest/offboarding/tracker","tags":["Offboarding"],"method":"get","summary":"Retrieve offboarding list","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","nullable":true,"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,"description":"Hiring type (e.g., contractor, employee)"},{"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,"description":"Progress status of the contract"},{"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"}}},"example":{"contractId":"contract12345","effectiveDate":"2024-01-01T00:00:00Z","referenceDate":"2024-01-01T00:00:00Z","progressStatusWeight":1},"required":false,"description":"Cursor-style pagination payload for the next page (pass values returned from the previous response)."},{"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"}],"description":"Returns a list of contracts currently in the offboarding process. By default, results are scoped to a 45-day date range; set `ignore_date_range` to `true` to retrieve all terminations regardless of date.\n\n **Token scopes**: `contracts:read`, `people:read`","operationId":"retrieveOffboardingList-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["contracts:read","people:read"]}]}},"/lookups/seniorities":{"get":{"path":"/rest/lookups/seniorities","tags":["Lookups"],"method":"get","summary":"Retrieve Seniority Levels","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"}],"description":"Returns predefined seniority levels including their names, hierarchical positions, and identifiers. When `is_eor_contract` is `true`, C-level seniorities are excluded from the response.","operationId":"retrieveSeniorityLevels-v2026-01-01","security":[{"deelToken":[]},{"oauth2":[]}]}},"/invoices/{invoice_id}":{"get":{"path":"/rest/invoices/{invoice_id}","tags":["Accounting"],"method":"get","summary":"Get invoice by id","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."}],"description":"Retrieves the details of a single invoice by `invoice_id`.\n\n **Token scopes**: `accounting:read`","operationId":"getInvoiceById-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["accounting:read"]}]}},"/v2/time_tracking/shift_rates":{"post":{"path":"/rest/v2/time_tracking/shift_rates","tags":["Time Tracking Rates"],"method":"post","summary":"Create a New Shift Rate","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":[],"description":"Create a new shift rate with the specified attributes such as name, type, value, and a unique external identifier.\n\n **Token scopes**: `time-tracking:write`","operationId":"createANewShiftRate-v2026-01-01","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."},"security":[{"deelToken":[]},{"oauth2":["time-tracking:write"]}]},"get":{"path":"/rest/v2/time_tracking/shift_rates","tags":["Time Tracking Rates"],"method":"get","summary":"Retrieve a Paginated List of Shift Rates","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."}],"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\n **Token scopes**: `time-tracking:read`","operationId":"retrieveAPaginatedListOfShiftRates-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["time-tracking:read"]}]}},"/legal-entities/{id}":{"patch":{"path":"/rest/legal-entities/{id}","tags":["Legal Entities"],"method":"patch","summary":"Edit a legal entity","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.","x-sensitive-pii":true},"address":{"type":"object","properties":{"city":{"type":"string","example":"San Francisco","description":"The city.","x-sensitive-pii":true},"state":{"type":"string","example":"CA","description":"The state.","x-sensitive-pii":true},"street":{"type":"string","example":"123 Main St","description":"The street address.","x-sensitive-pii":true},"country":{"type":"string","example":"US","description":"The ISO 2-letter country code.","x-sensitive-pii":true}},"x-sensitive-pii":true},"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","required":true,"description":"The ID of the legal entity to update."}],"description":"Applies a partial update to an existing legal entity identified by id; only fields included in the request body are modified.\n\n **Token scopes**: `legal-entity:write`","operationId":"editALegalEntity-v2026-01-01","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"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","pattern":"^[A-Z]{2}$","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."},"deel_industry_subcategory_id":{"type":"string","example":"8174a182-16fb-41a2-8d07-c28d01f0d611","description":"Reference to the Deel Industry Code (NAICS)."}}}}}}},"required":false},"security":[{"deelToken":[]},{"oauth2":["legal-entity:write"]}]},"delete":{"path":"/rest/legal-entities/{id}","tags":["Legal Entities"],"method":"delete","summary":"Delete a legal entity","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."}],"description":"Archives the legal entity identified by id, marking it as inactive without permanently removing it; the response includes the archived_at timestamp.\n\n **Token scopes**: `legal-entity:read`, `legal-entity:write`","operationId":"deleteLegalEntity-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["legal-entity:read","legal-entity:write"]}]}},"/benefits/legal-entities/{legal_entity_id}/paystubs":{"get":{"path":"/rest/benefits/legal-entities/{legal_entity_id}/paystubs","tags":["Paystubs"],"method":"get","summary":"Get paystubs from legal entity integrated with external benefits vendor","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"}],"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\n **Token scopes**: `benefits:read`","operationId":"getPaystubsFromLegalEntityIntegratedWithExternalBenefitsVendor-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["benefits:read"]}]}},"/it/assets/{asset_id}":{"get":{"path":"/rest/it/assets/{asset_id}","tags":["IT assets"],"method":"get","summary":"Retrieve an IT asset","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"}],"description":"Retrieves the details of a specific IT asset by `asset_id`.\n\n **Token scopes**: `it-assets:read`","operationId":"retrieveAnItAsset-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["it-assets:read"]}]}},"/workers/contracts/{contract_id}/pdf":{"get":{"path":"/rest/workers/contracts/{contract_id}/pdf","tags":["Contracts"],"method":"get","summary":"Retrieve contract PDF download link","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."}],"description":"Returns a secure, time-limited URL for downloading the PDF version of the contract identified by contract_id. The URL is accessible only to the authenticated worker associated with that contract.\n\n **Token scopes**: `worker:read`","operationId":"retrieveContractPdfDownloadLink-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["worker:read"]}]}},"/timesheets/root-presets/{id}":{"get":{"path":"/rest/timesheets/root-presets/{id}","tags":["Projects"],"method":"get","summary":"Get Hourly Report Root Preset by ID","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"}],"description":"Retrieves a single hourly report root preset by its id, including its current status.\n\n **Token scopes**: `timesheets:read`","operationId":"getHourlyReportRootPresetById-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["timesheets:read"]}]}},"/contracts/custom_fields":{"get":{"path":"/rest/contracts/custom_fields","tags":["Custom Fields"],"method":"get","summary":"List all custom fields","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":[],"description":"Returns the list of custom field definitions configured for contracts within the organization. The response includes field metadata, not specific contract field values. It provides definitions with contract placement for supported types such as text, list, multiselect, number, percentage, currency, and date.\n\n **Token scopes**: `contracts:read`","operationId":"listAllCustomFields-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]}},"/ats/departments":{"get":{"path":"/rest/ats/departments","tags":["ATS"],"method":"get","summary":"Retrieve a list of ATS departments","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"}],"description":"Returns a paginated list of all departments configured in the ATS.\n\n **Token scopes**: `ats:read`","operationId":"retrieveAListOfAtsDepartments-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["ats:read"]}]}},"/hris/worker_relations/profile/external/{profile_id}":{"get":{"path":"/rest/hris/worker_relations/profile/external/{profile_id}","tags":["Worker Relations"],"method":"get","summary":"Fetch Worker Relations of a given HrisProfile by external id","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"}],"description":"Retrieves all worker relationships for a given HRIS profile identified by its external identifier, including parent and child relationships.\n\n **Token scopes**: `profile:read`","operationId":"fetchWorkerRelationsOfAGivenHrisProfileByExternalId-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["profile:read"]}]}},"/hris/positions/profile/{hris_profile_id}":{"get":{"path":"/rest/hris/positions/profile/{hris_profile_id}","tags":["Positions"],"method":"get","summary":"Fetch HrisPositions from a HrisProfile","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"}],"description":"Retrieves all positions assigned to a given HRIS profile, including the associated role, team, and organization structure for each position.\n\n **Token scopes**: `profile:read`","operationId":"fetchHrisPositionsFromAHrisProfile-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["profile:read"]}]}},"/payments/{payment_id}/breakdown":{"get":{"path":"/rest/payments/{payment_id}/breakdown","tags":["Accounting"],"method":"get","summary":"Retrieve a payment breakdown","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},"contract_id":{"type":"string","example":"37nex2x","nullable":true,"description":"Public identifier of the contract this line item belongs to. Null for service-fee and similar non-contract line items."},"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","deel_it_order_statement"],"type":"string","example":"ongoing_time_based","nullable":true,"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."},"contractor_pic_url":{"type":"string","example":"https://cdn.deel.com/avatars/user-123.jpg","nullable":true,"description":"URL to the worker's Deel avatar. Null if the worker has no avatar set or for non-worker line items.","x-sensitive-pii":true},"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":{"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":"path","name":"payment_id","schema":{"type":"string"},"example":"YJdYFAA586JYf8A324T57","required":true,"description":"Unique identifier for the payment to retrieve the breakdown."}],"description":"Returns a breakdown of a payment made to Deel, with individual invoices and the Deel fee included as discrete line items.\n\n **Token scopes**: `accounting:read`","operationId":"retrieveAPaymentBreakdown-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["accounting:read"]}]}},"/timesheets/{id}":{"patch":{"path":"/rest/timesheets/{id}","tags":["Timesheets"],"method":"patch","summary":"Update a timesheet entry","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."}],"description":"Partially updates an existing timesheet entry; only fields supplied in the request body are modified. Both clients and contractors may perform this operation.\n\n **Token scopes**: `timesheets:write`","operationId":"updateATimesheetEntry-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["timesheets:write"]}]},"get":{"path":"/rest/timesheets/{id}","tags":["Timesheets"],"method":"get","summary":"Retrieve a single timesheet entry","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"}],"description":"Returns a single timesheet entry.\n\n **Token scopes**: `timesheets:read`","operationId":"getTimesheetById-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["timesheets:read"]}]},"delete":{"path":"/rest/timesheets/{id}","tags":["Timesheets"],"method":"delete","summary":"Delete a timesheet entry","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"}],"description":"Permanently deletes a timesheet entry. An optional `reason` query parameter may be provided to record the rationale for deletion.\n\n **Token scopes**: `timesheets:write`","operationId":"deleteTimesheetById-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["timesheets:write"]}]}},"/ats/jobs":{"post":{"path":"/rest/ats/jobs","tags":["ATS"],"method":"post","summary":"Create ATS Job","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":[],"description":"Creates a new job in the ATS and returns the resulting job record, including its assigned `id`, initial status, and associated approval rule and request identifiers.\n\n **Token scopes**: `ats:write`","operationId":"createAtsJob-v2026-01-01","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"}}}}}}}},"security":[{"deelToken":[]},{"oauth2":["ats:write"]}]},"get":{"path":"/rest/ats/jobs","tags":["ATS"],"method":"get","summary":"Retrieve a list of ATS jobs","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)"}],"description":"Returns a paginated list of jobs in the ATS, filterable by text search, interview plan, locations, teams, employment types, departments, status values, and an ISO 8601 `updated_after` timestamp.\n\n **Token scopes**: `ats:read`","operationId":"retrieveAListOfAtsJobs-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["ats:read"]}]}},"/time_offs/profile/{hris_profile_id}/entitlements":{"get":{"path":"/rest/time_offs/profile/{hris_profile_id}/entitlements","tags":["Time Off"],"method":"get","summary":"Get Profile Entitlements","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",null],"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","NOT_SPECIFIED"],"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":{"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":"policy_type_name","schema":{"enum":["Adoption leave","Advanced vacation","Bereavement leave","Blood donation leave","Breastfeeding leave","Childbirth leave","Childcare leave","Civic/public duty leave","Compensatory leave","Disability leave","Doctor's appointment leave","Family & domestic violence leave","Family responsibility leave","Floating Holiday Allowance","Hajj leave","Hospitalization leave","Long Service Leave","Marriage/wedding leave","Maternity leave","Menstrual 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","Vacation - public holidays replacement","Volunteer leave","Work accident leave"],"type":"string","nullable":true,"maxLength":255},"example":"Moving leave","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"}],"description":"Returns time-off entitlements for the specified hris_profile_id, including available balances, used days, and remaining allocation per time-off type. Results can be scoped to a specific policy type or tracking period date.\n\n **Token scopes**: `time-off:read`","operationId":"getProfileEntitlements-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["time-off:read"]}]}},"/time_offs/{time_off_id}":{"patch":{"path":"/rest/time_offs/{time_off_id}","tags":["Time Off"],"method":"patch","summary":"Update time-off request","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","DELETED"],"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."},"deleted_at":{"type":"string","format":"date-time","example":"2022-01-01T00:00:00Z","nullable":true,"description":"Time off deletion date. Present only when the time-off is soft-deleted and include_deleted_time_offs was requested."},"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."},"canceled_at":{"type":"string","format":"date-time","example":"2022-01-01T00:00:00Z","nullable":true,"description":"Time off cancellation date"},"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":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"GENERIC_ERROR","description":"A machine-readable error code"},"field":{"type":"string","example":"start_date","nullable":true,"description":"The field associated with the error, if applicable"},"details":{"type":"object","nullable":true,"description":"Additional error details, if applicable"},"message":{"type":"string","example":"There is already a time-off for the dates 2026-03-05 and 2026-03-05","description":"A description of the returned error"}}},"description":"List of errors describing what went wrong"},"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":[{"code":"GENERIC_ERROR","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"}],"description":"Corrects details of an existing time-off request, such as its dates, amount, reason, or time-off type, without requiring the worker to cancel and resubmit it. Applies a partial update identified by time_off_id; only fields included in the request body are modified.\n\n **Token scopes**: `time-off:write`, `worker:write`","operationId":"updateTimeOffRequest-v2026-01-01","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":{"anyOf":[{"type":"string","format":"date"},{"type":"string","format":"date-time"}],"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":{"anyOf":[{"type":"string","format":"date"},{"type":"string","format":"date-time"}],"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":{"anyOf":[{"type":"string","format":"date"},{"type":"string","format":"date-time"}],"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":{"anyOf":[{"type":"string","format":"date"},{"type":"string","format":"date-time"}],"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":{"anyOf":[{"type":"string","format":"date"},{"type":"string","format":"date-time"}],"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":{"anyOf":[{"type":"string","format":"date"},{"type":"string","format":"date-time"}],"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"},"security":[{"deelToken":[]},{"oauth2":["time-off:write","worker:write"]}]},"delete":{"path":"/rest/time_offs/{time_off_id}","tags":["Time Off"],"method":"delete","summary":"Cancel time-off request","responses":{"204":{"description":"time off deleted"},"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":"Time off not found","description":"Error message"}}}}},"description":"Not Found"},"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"}],"description":"Cancels the time-off request identified by time_off_id. Use this when a previously submitted or approved time off needs to be withdrawn. This action immediately sets the request to CANCELED regardless of its current status and cannot be reversed.\n\n **Token scopes**: `time-off:write`, `worker:write`","operationId":"cancelTimeOffRequest-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["time-off:write","worker:write"]}]}},"/groups":{"post":{"path":"/rest/groups","tags":["Groups"],"method":"post","summary":"Create a group","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","example":{"data":{"id":"9e12eb6b-90ea-4543-8ff1-7789e7b8db7e","name":"Reload","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","example":"9e12eb6b-90ea-4543-8ff1-7789e7b8db7e","description":"The unique identifier of the created group."},"name":{"type":"string","example":"Reload","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","example":{"showInReport":"true"},"nullable":true,"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"}},"description":"Creates a new group within the organization and returns the created group record, including its assigned `id`.\n\n **Token scopes**: `groups:read`, `groups:write`","operationId":"createGroup-v2026-01-01","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"},"nullable":true,"description":"The extra information of the group to be created."}}}}}}},"required":true},"security":[{"deelToken":[]},{"oauth2":["groups:read","groups:write"]}]},"get":{"path":"/rest/groups","tags":["Groups"],"method":"get","summary":"Return list of groups","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"3fa85f64-5717-4562-b3fc-2c963f66afa6","description":"The unique identifier of the group."},"name":{"type":"string","example":"Engineering","description":"The name of the group."},"status":{"enum":["active","archived"],"type":"string","example":"active","description":"The current status of the group (active or archived)."},"managers":{"type":"number","example":3,"description":"The number of managers associated with the group."},"created_at":{"type":"string","format":"date-time","example":"2024-01-15T10:30:00Z","description":"The timestamp when the group was created."},"updated_at":{"type":"string","format":"date-time","example":"2024-06-01T08:00:00Z","description":"The timestamp when the group was last updated."},"archived_at":{"type":"string","format":"date-time","example":"2024-06-15T10:30:00Z","nullable":true,"description":"The timestamp when the group was archived (if applicable)."},"external_metadata":{"type":"object","example":{"source":"hr-system"},"nullable":true,"description":"Extra information about the group."}}}},"page":{"type":"object","properties":{"cursor":{"type":"string","example":"eyJpZCI6IjEyMyJ9","nullable":true,"description":"An opaque cursor to fetch the next set of results."},"total_rows":{"type":"integer","example":42,"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","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":"limit","schema":{"type":"integer","default":100,"maximum":100,"minimum":1},"example":50,"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"},"example":"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"},"example":"eyJpZCI6IjEyMyJ9","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},"example":true,"required":false,"description":"Include archived groups (soft deleted records). Defaults to `true`."},{"in":"query","name":"external_metadata","schema":{"type":"string"},"example":"{\"source\":\"hr-system\"}","required":false,"description":"Extra information about the group."}],"description":"Returns a paginated list of groups in the organization. Archived groups are included by default and can be excluded via the `include_archived_groups` parameter.\n\n **Token scopes**: `groups:read`","operationId":"getGroups-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["groups:read"]}]}},"/eor/contracts/{contract_id}/amendments/{amendment_id}/pdf":{"get":{"path":"/rest/eor/contracts/{contract_id}/amendments/{amendment_id}/pdf","tags":["EOR"],"method":"get","summary":"Get EOR Contract Amendment PDF Download Link for Client and Employee","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."}],"description":"Generates a secure, time-limited download URL for the PDF of a specific EOR contract amendment. The returned URL is valid for 15 minutes from the time of generation.\n\n **Token scopes**: `contracts:read`","operationId":"getEorContractAmendmentPdfDownloadLinkForClientAndEmployee-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]}},"/timesheets/{id}/reviews":{"post":{"path":"/rest/timesheets/{id}/reviews","tags":["Timesheets"],"method":"post","summary":"Review a single timesheet","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"}],"description":"Submits an approve or reject decision for a timesheet entry. Approved timesheets are queued for inclusion in the next payment cycle.\n\n **Token scopes**: `timesheets:write`","operationId":"createTimesheetReview-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["timesheets:write"]}]}},"/it/policies":{"get":{"path":"/rest/it/policies","tags":["IT policies"],"method":"get","summary":"List IT hardware policies","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":[],"description":"Returns all available IT hardware policies, which define the equipment eligible for ordering.\n\n **Token scopes**: `it-policies:read`","operationId":"listItHardwarePolicies-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["it-policies:read"]}]}},"/ats/job-postings":{"get":{"path":"/rest/ats/job-postings","tags":["ATS"],"method":"get","summary":"Retrieve ATS job postings","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)."}],"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\n **Token scopes**: `ats:read`","operationId":"retrieveAtsJobPostings-v2026-04-10","security":[{"deelToken":[]},{"oauth2":["ats:read"]}]}},"/people/external/{worker_id}/personal":{"get":{"path":"/rest/people/external/{worker_id}/personal","tags":["People"],"method":"get","summary":"Get worker profile by external ID","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."}],"description":"Retrieves a worker profile record using a system-wide external worker identifier.\n\n **Token scopes**: `people:read`","operationId":"getWorkerProfileSummaryByExternalId-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["people:read"]}]},"patch":{"path":"/rest/people/external/{worker_id}/personal","tags":["People"],"method":"patch","summary":"Update personal information by external id","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)."}],"description":"Partially updates a worker's personal information using an external identifier. Only fields included in the request body are modified.\n\n **Token scopes**: `people:write`","operationId":"updatePeoplePersonalInformationByExternalId-v2026-01-01","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."}}}}}}}},"security":[{"deelToken":[]},{"oauth2":["people:write"]}]}},"/payments":{"get":{"path":"/rest/payments","tags":["Accounting"],"method":"get","summary":"Retrieve payment receipts","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","stablecoin_transfer"],"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,4}$","maxLength":4,"minLength":3,"description":"Three or four-letter currency code for the payment, following ISO 4217 (e.g., USD, USDC)."},"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","pattern":"^[A-Z]{3,4}$","nullable":true,"maxLength":4,"minLength":3,"description":"Currency in which the general funds were held, following ISO 4217 (e.g., USD, USDC). 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":"25.00","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":"USD","pattern":"^[A-Z]{3,4}$","nullable":true,"maxLength":4,"minLength":3,"description":"Currency in which the Deel-granted credits were held, following ISO 4217 (e.g., USD, USDC). 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","pattern":"^[A-Z]{3,4}$","nullable":true,"maxLength":4,"minLength":3,"description":"Currency in which the prepaid billing credits were held, following ISO 4217 (e.g., USD, USDC). 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","pattern":"^[A-Z]{3,4}$","nullable":true,"maxLength":4,"minLength":3,"description":"Currency in which the EOR early invoicing funds were held, following ISO 4217 (e.g., USD, USDC). 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":{"type":"array","items":{"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":{"type":"array","items":{"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":{"type":"array","items":{"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."}],"description":"Returns a cursor-paginated list of payments to Deel, including worker details, payment status, and payment methods. Use the `next_cursor` value from the response to retrieve subsequent pages.\n\n **Token scopes**: `accounting:read`","operationId":"retrievePaymentReceipts-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["accounting:read"]}]}},"/ats/applications/{application_id}/notes":{"post":{"path":"/rest/ats/applications/{application_id}/notes","tags":["ATS"],"method":"post","summary":"Add note to an application","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"}],"description":"Adds a note to a specific application. The `author_id` must correspond to a valid HRIS user.\n\n **Token scopes**: `ats:write`, `ats.applications.notes:write`","operationId":"addNoteToAnApplication-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["ats:write","ats.applications.notes:write"]}]}},"/invoices/{id}/download":{"get":{"path":"/rest/invoices/{id}/download","tags":["Accounting"],"method":"get","summary":"Download invoice PDF","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."}],"description":"Returns a temporary download URL for an invoice PDF; the URL expires at the time indicated by `expires_at` in the response.\n\n **Token scopes**: `accounting:read`","operationId":"getBillingInvoiceDownloadLink-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["accounting:read"]}]}},"/eor/start-date":{"get":{"path":"/rest/eor/start-date","tags":["EOR"],"method":"get","summary":"Fetch Start Date for EOR Contracts","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)"}],"description":"Returns the earliest allowed start date for a new EOR contract quote based on the specified employment country, nationality, and visa requirements. The response also includes payroll timing parameters — `start_date_buffer`, `first_payroll_lock`, and `is_same_month_payment_country` — that govern when the contract can take effect.\n\n **Token scopes**: `contracts:read`","operationId":"fetchStartDateForEorContracts-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]}},"/payouts/withdrawals":{"post":{"path":"/rest/payouts/withdrawals","tags":["Payouts"],"method":"post","summary":"Request to withdraw funds","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":[],"description":"Initiates a withdrawal of available funds to the employee's configured payout method. The operation is asynchronous; the outcome is delivered via webhook rather than the synchronous response.\n\n **Token scopes**: `worker:write`","operationId":"requestToWithdrawFunds-v2026-01-01","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"}}}}}}}},"security":[{"deelToken":[]},{"oauth2":["worker:write"]}]}},"/contracts/{contract_id}/milestones":{"get":{"path":"/rest/contracts/{contract_id}/milestones","tags":["Milestones"],"method":"get","summary":"Retrieve Milestones by Contract","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."}],"description":"Retrieves all milestones associated with a specific contract, including each milestone's title, amount, status, relevant dates, and creator and reviewer information.\n\n **Token scopes**: `milestones:read`","operationId":"getMilestonesByContract-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["milestones:read"]}]},"post":{"path":"/rest/contracts/{contract_id}/milestones","tags":["Milestones"],"method":"post","summary":"Create a Milestone","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."}],"description":"Creates a new payment milestone on a milestone-based contract. After creation, the milestone enters a review workflow before payment is processed.\n\n **Token scopes**: `milestones:write`","operationId":"createMilestone-v2026-01-01","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."},"security":[{"deelToken":[]},{"oauth2":["milestones:write"]}]}},"/accounts-payable/vendor-bills/{vendor_bill_id}/attachments":{"post":{"path":"/rest/accounts-payable/vendor-bills/{vendor_bill_id}/attachments","tags":["Treasury"],"method":"post","summary":"Upload Vendor Bill Attachment","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"}],"description":"Attaches a PDF invoice file to an existing vendor bill, submitted as multipart/form-data. The target bill must already exist before this call is made.\n\n **Token scopes**: `treasury-vendorbill:write`","operationId":"uploadVendorBillAttachment-v2026-01-01","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)"}}}}}}}},"security":[{"deelToken":[]},{"oauth2":["treasury-vendorbill:write"]}]}},"/people/custom_fields/{id}":{"get":{"path":"/rest/people/custom_fields/{id}","tags":["Custom Fields"],"method":"get","summary":"Get custom field from people by id","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."}],"description":"\"Retrieves a single person custom field definition by its `id`.\n\n **Token scopes**: `people:read`","operationId":"getCustomFieldFromPeopleById-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["people:read"]}]}},"/workers/compliance-documents":{"get":{"path":"/rest/workers/compliance-documents","tags":["Workers"],"method":"get","summary":"List of worker compliance documents","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","nullable":true,"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":[],"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\n **Token scopes**: `worker:read`","operationId":"listOfWorkerComplianceDocuments-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["worker:read"]}]}},"/accounts-payable/vendor-bills":{"post":{"path":"/rest/accounts-payable/vendor-bills","tags":["Treasury"],"method":"post","summary":"Create Vendor Bill","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":[],"description":"Creates a new vendor bill in accounts payable, associating it with your organization. Attachments can be added to the bill via a subsequent call using the returned id.\n\n **Token scopes**: `treasury-vendorbill:write`","operationId":"createVendorBill-v2026-01-01","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,"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,"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,"description":"Total amount for this line item"},"quantity":{"type":"number","example":10,"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,"description":"Price per unit"},"vat_amount":{"type":"number","example":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"},"security":[{"deelToken":[]},{"oauth2":["treasury-vendorbill:write"]}]}},"/time_tracking/shift_rates/{external_id}":{"delete":{"path":"/rest/time_tracking/shift_rates/{external_id}","tags":["Time Tracking Rates"],"method":"delete","summary":"Delete a Shift Rate by external ID","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"}],"description":"Deletes a shift rate identified by its external_id, which is the custom identifier assigned at creation time. Deletion is blocked if the shift rate is currently associated with any active shift.\n\n **Token scopes**: `time-tracking:write`","operationId":"deleteAShiftRateByExternalId-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["time-tracking:write"]}]},"patch":{"path":"/rest/time_tracking/shift_rates/{external_id}","tags":["Time Tracking Rates"],"method":"patch","summary":"Update a shift rate","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."}],"description":"Applies a partial update to an existing shift rate, modifying only the fields provided in the request body.\n\n **Token scopes**: `time-tracking:write`","operationId":"updateAShiftRate-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["time-tracking:write"]}]},"get":{"path":"/rest/time_tracking/shift_rates/{external_id}","tags":["Time Tracking Rates"],"method":"get","summary":"Retrieve a Shift Rate by External ID","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."}],"description":"Retrieves a shift rate.\n\n **Token scopes**: `time-tracking:read`","operationId":"retrieveAShiftRateByExternalId-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["time-tracking:read"]}]}},"/hris/organization_structures":{"get":{"path":"/rest/hris/organization_structures","tags":["Organization structure"],"method":"get","summary":"Get Organization Structure","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."}],"description":"Returns the organization's hierarchical structure, including departments and teams, with offset-based pagination.\n\n **Token scopes**: `organizations:read`","operationId":"getAllOrgStructures-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["organizations:read"]}]},"post":{"path":"/rest/hris/organization_structures","tags":["Organization structure"],"method":"post","summary":"Create a new HRIS Organization Structure.","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"}},"description":"Creates a new organization structure within the HRIS, returning the created record including its assigned `id` and `organization_id`. The `is_multi_select` and `enable_roles` flags on the request body control whether the structure supports multiple team assignments and role management respectively.\n\n **Token scopes**: `organizations:write`","operationId":"createOrgStructure-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["organizations:write"]}]}},"/people/{worker_id}/custom_fields":{"get":{"path":"/rest/people/{worker_id}/custom_fields","tags":["Custom Fields"],"method":"get","summary":"Retrieve custom fields for a worker","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."}],"description":"Returns all custom field values currently set for the specified worker.\n\n **Token scopes**: `people:read`","operationId":"retrieveCustomFieldsForAWorker-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["people:read"]}]},"put":{"path":"/rest/people/{worker_id}/custom_fields","tags":["Custom Fields"],"method":"put","summary":"Update custom field value","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."}],"description":"Creates or updates a custom field value for a worker; if a value for the specified field already exists it is overwritten.\n\n **Token scopes**: `people:write`","operationId":"UpsertCustomFieldValueFromWorker-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["people:write"]}]}},"/eor/workers/{worker_id}/payslips/{payslip_id}/download":{"get":{"path":"/rest/eor/workers/{worker_id}/payslips/{payslip_id}/download","tags":["EOR"],"method":"get","summary":"Retrieve payslip PDF download link","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."}],"description":"Returns a URL for downloading the specified payslip as a PDF.\n\n **Token scopes**: `payslips:read`","operationId":"getEORWorkerPayslipDownloadUrl-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["payslips:read"]}]}},"/managers/magic-links":{"post":{"path":"/rest/managers/magic-links","tags":["Managers"],"method":"post","summary":"Generate magic link for manager login","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 managers can click to 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":[],"description":"Generates a single-use magic link that authenticates a manager into the platform without credentials. The target manager must belong to the requesting organization and cannot be an organization admin; this operation is restricted to White Label–enabled organizations, Partners, and Child organizations. The link expires 5 minutes after creation.\n\n **Token scopes**: `auth:write`","operationId":"generateMagicLinkForManagerLogin-v2026-01-01","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["manager_id"],"properties":{"manager_id":{"type":"string","format":"uuid","example":"882cc059-6126-4279-8adc-629d4c876597","maxLength":100,"description":"Manager id."},"redirect_path":{"type":"string","example":"/dashboard/team","maxLength":1000,"description":"Optional path to redirect the manager to after login. Must start with /."}}}}}}},"required":true,"description":"Details for magic link for managers generation."},"security":[{"deelToken":[]},{"oauth2":["auth:write"]}]}},"/invoice-adjustments":{"get":{"path":"/rest/invoice-adjustments","tags":["Invoices"],"method":"get","summary":"List invoice adjustments","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":"aabbccdd-eeff-0011-2233-445566778899","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":{"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"},"example":"milestones","description":"types of contracts to filter"},{"in":"query","name":"types","schema":{"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."}},"example":"milestone","description":"types of invoice adjustments to filter"},{"in":"query","name":"statuses","schema":{"type":"array","items":{"enum":["approved","declined","not_payable","paid","pending","processing",null],"type":"string","nullable":true,"description":"status of invoice adjustment"}},"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"}],"description":"Returns invoice adjustments, optionally filtered by contract, adjustment type, status, invoice, reporter, or submission date range.\n\n **Token scopes**: `invoice-adjustments:read`","operationId":"listInvoiceAdjustments-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["invoice-adjustments:read"]}]},"post":{"path":"/rest/invoice-adjustments","tags":["Invoices"],"method":"post","summary":"Create an invoice adjustment","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","example":{"id":"abcdef01-2345-6789-abcd-ef0123456789","status":"approved","created":true,"created_at":"2026-06-29T14:22:08.512Z"},"required":["created"],"properties":{"id":{"oneOf":[{"type":"string","example":"abcdef01-2345-6789-abcd-ef0123456789","description":"UUID identifier variant returned when the invoice adjustment is stored under a string-based primary key."},{"type":"integer","format":"int64","example":8472193,"description":"Numeric identifier variant returned when the invoice adjustment is stored under a legacy integer primary key."}],"example":"abcdef01-2345-6789-abcd-ef0123456789","description":"Unique identifier returned for the created invoice adjustment resource after persistence succeeds."},"status":{"enum":["approved","declined","not_payable","paid","pending","processing",null],"type":"string","example":"approved","nullable":true,"description":"Current processing status assigned to the invoice adjustment after the create workflow finishes executing."},"created":{"type":"boolean","example":true,"nullable":false,"description":"Indicates whether the invoice adjustment record was successfully created by this request."},"created_at":{"type":"string","format":"date-time","example":"2026-06-29T14:22:08.512Z","nullable":true,"description":"ISO-8601 timestamp recording the exact moment the invoice adjustment was created in the system."}},"description":"Container object with identifiers, status, and creation metadata for the newly created invoice adjustment."}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object","example":{"errors":[{"message":"\"data.contract_id\" is required"}]},"required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"code":{"type":"string","example":"VALIDATION_ERROR","description":"Optional machine-readable error code returned by the upstream service when available."},"message":{"type":"string","example":"\"data.contract_id\" is required","description":"Human-readable description of the validation or business rule violation."}}},"description":"Validation or business rule errors describing why the invoice adjustment could not be created."}}}}},"description":"Bad Request - The request payload failed validation or violated a business rule for invoice adjustments."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","example":{"errors":[{"code":"UPSTREAM_GENERIC_ERROR","message":"Something went wrong"}]},"required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"code":{"type":"string","example":"UPSTREAM_GENERIC_ERROR","description":"Stable machine-readable error code identifying the upstream or internal failure category."},"message":{"type":"string","example":"Something went wrong","description":"Human-readable error message describing the unexpected condition that prevented completing the request."}}},"description":"Generic upstream or internal errors emitted when the invoice adjustment cannot be processed."}}}}},"description":"Internal Server Error - The invoice adjustment could not be created due to an unexpected upstream or internal failure."}},"parameters":[{"in":"query","name":"recurring","schema":{"type":"string"},"example":"true","required":false,"description":"Add this invoice adjustment as recurring"}],"description":"Creates an invoice adjustment — such as a bonus, commission, VAT percentage, or deduction — against a contract. Pass the `recurring` query parameter to apply the adjustment automatically to future invoices.\n\n **Token scopes**: `invoice-adjustments:write`, `worker:write`","operationId":"createAnInvoiceAdjustment-v2026-01-01","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","example":{"type":"bonus","amount":1500,"group_key":"bonus-batch-2026-q2","contract_id":"37nex2x","description":"Q2 2026 performance bonus for exceeding sprint delivery targets.","date_submitted":"2026-06-29","paymentCycleId":"11223344-5566-4778-8899-aabbccddeeff","is_auto_approved":true,"hourly_report_preset_id":"aabbccdd-eeff-0011-2233-445566778899"},"required":["contract_id","date_submitted","type","description","amount"],"properties":{"type":{"enum":["bonus","commission","deduction","expense","other","overtime","time_off","vat"],"type":"string","example":"bonus","description":"Invoice adjustment category that determines business rules and downstream invoicing behavior."},"amount":{"type":"number","example":1500,"minimum":0,"nullable":false,"description":"Monetary amount to apply for this invoice adjustment, expressed in the contract currency as a positive number."},"group_key":{"type":"string","example":"bonus-batch-2026-q2","nullable":true,"maxLength":300,"description":"When provided, invoice adjustments sharing the same group_key within the same payment cycle are merged into a single aggregated line item on the invoice. Requires is_auto_approved to be true."},"contract_id":{"type":"string","example":"37nex2x","nullable":false,"description":"Unique Deel contract identifier (public id) that receives this invoice adjustment line item."},"description":{"type":"string","example":"Q2 2026 performance bonus for exceeding sprint delivery targets.","maxLength":30000,"description":"Detailed human-readable explanation that appears on invoices and audit records visible to both parties."},"date_submitted":{"type":"string","format":"date","example":"2026-06-29","description":"Submission date in ISO-8601 short-date format (YYYY-MM-DD) used for filtering, reporting, and approvals."},"paymentCycleId":{"type":"string","format":"uuid","example":"11223344-5566-4778-8899-aabbccddeeff","nullable":true,"description":"Public id (UUID) of the active payment cycle required when creating VAT-related invoice adjustment entries against a specific cycle."},"is_auto_approved":{"type":"boolean","example":true,"description":"When true, the created invoice adjustment skips manual approval and is approved immediately on creation."},"hourly_report_preset_id":{"type":"string","format":"uuid","example":"aabbccdd-eeff-0011-2233-445566778899","nullable":true,"description":"Identifier of an existing hourly report preset used to link standardized rate and scale metadata to this entry."}},"description":"Payload attributes required to create one invoice adjustment with optional approval, preset, and grouping metadata."}}}},"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","example":"expense","description":"Invoice adjustment category selected when submitting a multipart payload that includes a supporting receipt attachment."},"amount":{"type":"number","example":87.5,"minimum":0,"nullable":false,"description":"Monetary amount to apply for this multipart invoice adjustment submission, expressed in the contract currency."},"group_key":{"type":"string","example":"expense-batch-2026-q2","nullable":true,"maxLength":300,"description":"When provided, invoice adjustments sharing the same group_key within the same payment cycle are merged into a single aggregated line item on the invoice. Requires is_auto_approved to be true."},"contract_id":{"type":"string","example":"37nex2x","nullable":false,"description":"Unique Deel contract identifier (public id) that receives this multipart invoice adjustment entry."},"description":{"type":"string","example":"Client lunch reimbursement on 2026-06-25, receipt attached as PDF.","maxLength":30000,"description":"Detailed narrative describing why this multipart invoice adjustment is being requested and what evidence is attached."},"date_submitted":{"type":"string","format":"date","example":"2026-06-29","description":"Submission date in ISO-8601 short-date format (YYYY-MM-DD) for this multipart invoice adjustment."},"paymentCycleId":{"type":"string","format":"uuid","example":"11223344-5566-4778-8899-aabbccddeeff","nullable":true,"description":"Public id (UUID) of the active payment cycle required when the multipart payload creates a VAT invoice adjustment entry."},"is_auto_approved":{"type":"boolean","example":false,"description":"When true, this multipart invoice adjustment is approved automatically without requiring any reviewer action."}},"description":"Multipart payload fields used to create an invoice adjustment with optional grouping behavior and an attached supporting file."},{"type":"object","properties":{"file":{"type":"string","format":"binary","example":"client-lunch-receipt-2026-06-25.pdf","nullable":false,"description":"Binary file attachment (receipt, invoice, or supporting document) submitted alongside this invoice adjustment."}},"description":"Wrapper object holding the binary file uploaded together with the multipart invoice adjustment fields."}]}}},"required":true,"description":"InvoiceAdjustment object that needs to be created"},"security":[{"deelToken":[]},{"oauth2":["invoice-adjustments:write","worker:write"]}]}},"/gp/workers/{worker_id}/compensation":{"patch":{"path":"/rest/gp/workers/{worker_id}/compensation","tags":["Global Payroll"],"method":"patch","summary":"Update compensation","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."}],"description":"Updates the compensation for the GP employee and returns the complete compensation history including the applied change.\n\n **Token scopes**: `people:write`","operationId":"updateCompensation-v2026-01-01","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."},"security":[{"deelToken":[]},{"oauth2":["people:write"]}]}},"/ats/interviews":{"get":{"path":"/rest/ats/interviews","tags":["ATS"],"method":"get","summary":"List interviews","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data","next_cursor","has_more","total_count"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","status_enum","application_activity_id","application_activity","application","created_at","updated_at"],"properties":{"id":{"type":"string","format":"uuid","example":"f47ac10b-58cc-4372-a567-0e02b2c3d479","description":"Unique identifier of the interview."},"ends_at":{"type":"string","format":"date-time","example":"2026-06-01T11:00:00Z","nullable":true,"description":"ISO 8601 datetime when the interview ends."},"timezone":{"type":"string","example":"America/New_York","nullable":true,"description":"IANA timezone of the interview."},"starts_at":{"type":"string","format":"date-time","example":"2026-06-01T10:00:00Z","nullable":true,"description":"ISO 8601 datetime when the interview starts."},"created_at":{"type":"string","format":"date-time","example":"2026-01-15T08:00:00Z","description":"ISO 8601 datetime when the interview record was created."},"updated_at":{"type":"string","format":"date-time","example":"2026-01-20T14:30:00Z","description":"ISO 8601 datetime when the interview record was last updated."},"application":{"type":"object","required":["id","candidate","job"],"properties":{"id":{"type":"string","format":"uuid","example":"f47ac10b-58cc-4372-a567-0e02b2c3d479","description":"Unique identifier of the application."},"job":{"type":"object","required":["id","title"],"properties":{"id":{"type":"string","format":"uuid","example":"f47ac10b-58cc-4372-a567-0e02b2c3d479","description":"Unique identifier of the job."},"title":{"type":"string","example":"Frontend Engineer","description":"Title of the job position."}},"description":"Job linked to the application."},"candidate":{"type":"object","required":["id","first_name","last_name","email"],"properties":{"id":{"type":"string","format":"uuid","example":"f47ac10b-58cc-4372-a567-0e02b2c3d479","description":"Unique identifier of the candidate."},"email":{"type":"string","format":"email","example":"jane.smith@example.com","description":"Email address of the candidate.","x-sensitive-pii":true},"pic_url":{"type":"string","example":"https://avatars.githubusercontent.com/u/12345678","nullable":true,"description":"Profile picture URL of the candidate.","x-sensitive-pii":true},"last_name":{"type":"string","example":"Smith","description":"Last name of the candidate.","x-sensitive-pii":true},"first_name":{"type":"string","example":"Jane","description":"First name of the candidate.","x-sensitive-pii":true}},"description":"Candidate being interviewed."}},"description":"Application linked to this interview."},"meeting_url":{"type":"string","example":"https://meet.example.com/abc-123","nullable":true,"description":"Video conferencing URL for the interview."},"status_enum":{"enum":["SCHEDULE_NEEDED","LINK_SENT","SCHEDULED","RESCHEDULE_REQUESTED","CANCELLED"],"type":"string","example":"SCHEDULED","description":"Current status of the interview."},"application_activity":{"type":"object","properties":{"interview_title":{"type":"string","example":"Technical Round","nullable":true,"description":"Title of the interview stage."},"length_in_minutes":{"type":"integer","example":60,"nullable":true,"description":"Planned interview duration in minutes."},"application_activity_participations":{"type":"array","items":{"type":"object","required":["id","participant_hris_organization_user_id"],"properties":{"id":{"type":"string","format":"uuid","example":"f47ac10b-58cc-4372-a567-0e02b2c3d479","description":"Unique identifier of the participation record."},"application_activity_feedbacks":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"f47ac10b-58cc-4372-a567-0e02b2c3d479","description":"Unique identifier of the feedback record."}}},"description":"Feedback entries submitted by this participant for the interview."},"participant_hris_organization_user_id":{"type":"string","format":"uuid","example":"f47ac10b-58cc-4372-a567-0e02b2c3d479","description":"HRIS organization user ID of the interviewer."},"participant_hris_organization_user_profile":{"type":"object","nullable":true,"properties":{"type":{"enum":["CLIENT","WORKER"],"type":"string","example":"CLIENT","description":"Participant type within the organization."},"country":{"type":"string","example":"US","nullable":true,"description":"ISO 3166-1 alpha-2 country code.","x-sensitive-employment":true},"pic_url":{"type":"string","example":"https://avatars.githubusercontent.com/u/12345678","nullable":true,"description":"Profile picture URL.","x-sensitive-pii":true},"full_name":{"type":"string","example":"Jane Smith","description":"Full name.","x-sensitive-pii":true},"job_title":{"type":"string","example":"Engineering Manager","nullable":true,"description":"Job title.","x-sensitive-employment":true},"last_name":{"type":"string","example":"Smith","description":"Last name.","x-sensitive-pii":true},"first_name":{"type":"string","example":"Jane","description":"First name.","x-sensitive-pii":true},"work_email":{"type":"string","format":"email","example":"jane.smith@example.com","nullable":true,"description":"Work email.","x-sensitive-pii":true},"hris_organization_user_id":{"type":"string","format":"uuid","example":"f47ac10b-58cc-4372-a567-0e02b2c3d479","description":"HRIS organization user ID."}}}}},"description":"List of interviewers participating in this interview."}},"description":"Interview activity details including configuration and participants."},"application_activity_id":{"type":"string","format":"uuid","example":"f47ac10b-58cc-4372-a567-0e02b2c3d479","description":"ID of the application activity linked to this interview."}}},"description":"Page of interviews."},"has_more":{"type":"boolean","example":false,"description":"Whether more pages are available beyond the current page."},"next_cursor":{"type":"string","example":"eyJpZCI6IjEyMzQifQ==","nullable":true,"description":"Cursor to fetch the next page; null when there are no more pages."},"total_count":{"type":"integer","example":42,"description":"Total number of interviews matching the filters."}}}}},"description":"Paginated list of interviews"},"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":"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"}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"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":"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"}}}}},"description":"Forbidden. ATS is not enabled for this organization or insufficient permissions."},"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":"invalid_parameter","description":"Machine-readable 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"}}}}},"description":"Operation failed."}},"parameters":[{"in":"query","name":"interviewer_hou_ids","schema":{"type":"array","items":{"type":"string","format":"uuid"}},"example":["f47ac10b-58cc-4372-a567-0e02b2c3d479"],"required":false,"description":"Filter interviews by interviewer HRIS organization user IDs."},{"in":"query","name":"job_ids","schema":{"type":"array","items":{"type":"string","format":"uuid"}},"example":["f47ac10b-58cc-4372-a567-0e02b2c3d479"],"required":false,"description":"Filter interviews by job IDs."},{"in":"query","name":"status","schema":{"type":"array","items":{"enum":["SCHEDULE_NEEDED","LINK_SENT","SCHEDULED","RESCHEDULE_REQUESTED","CANCELLED"],"type":"string"}},"example":["SCHEDULED"],"required":false,"description":"Filter interviews by status."},{"in":"query","name":"candidate_ids","schema":{"type":"array","items":{"type":"string","format":"uuid"}},"example":["f47ac10b-58cc-4372-a567-0e02b2c3d479"],"required":false,"description":"Filter interviews by candidate IDs."},{"in":"query","name":"date_range_start","schema":{"type":"string","format":"date-time"},"example":"2026-01-01T00:00:00Z","required":false,"description":"Lower bound of interview start time (ISO 8601)."},{"in":"query","name":"date_range_end","schema":{"type":"string","format":"date-time"},"example":"2026-12-31T23:59:59Z","required":false,"description":"Upper bound of interview start time (ISO 8601)."},{"in":"query","name":"updated_after","schema":{"type":"string","format":"date-time"},"example":"2026-01-01T00:00:00Z","required":false,"description":"Return interviews updated strictly after this ISO 8601 datetime (incremental sync)."},{"in":"query","name":"sort_order","schema":{"enum":["SCHEDULED_FIRST","NEWEST_FIRST","OLDEST_FIRST"],"type":"string"},"example":"SCHEDULED_FIRST","required":false,"description":"Order interviews by upcoming-first, newest-first, or oldest-first."},{"in":"query","name":"cursor","schema":{"type":"string"},"example":"eyJpZCI6IjEyMzQifQ==","required":false,"description":"Pagination cursor returned by a previous response."},{"in":"query","name":"limit","schema":{"type":"integer","maximum":100,"minimum":1},"example":30,"required":false,"description":"Maximum number of interviews to return per page."}],"description":"Returns a paginated list of interviews for the organization.\n\n **Token scopes**: `ats:read`","operationId":"listInterviews-v2026-06-03","security":[{"deelToken":[]},{"oauth2":["ats:read"]}]}},"/hris/worker_relations/profile/external/{profile_id}/parent":{"put":{"path":"/rest/hris/worker_relations/profile/external/{profile_id}/parent","tags":["Worker Relations"],"method":"put","summary":"Create a parent worker relation with external id","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"}],"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\n **Token scopes**: `profile:write`","operationId":"createAParentWorkerRelationWithExternalId-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["profile:write"]}]}},"/gp/legal-entities/{legal_entity_id}/reports":{"get":{"path":"/rest/gp/legal-entities/{legal_entity_id}/reports","tags":["Global Payroll"],"method":"get","summary":"List payroll events by legal entity","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."}],"description":"Retrieves payroll events associated with the specified legal entity, suitable for preparing payroll reports or auditing pay cycles.\n\n **Token scopes**: `global-payroll:read`","operationId":"listPayrollEventsByLegalEntity-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["global-payroll:read"]}]}},"/contracts/{contract_id}/milestones/{milestone_id}":{"get":{"path":"/rest/contracts/{contract_id}/milestones/{milestone_id}","tags":["Milestones"],"method":"get","summary":"Retrieve a single milestone","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"}],"description":"Retrieves a single milestone identified by milestone_id within a specific contract.\n\n **Token scopes**: `milestones:read`","operationId":"getMilestonesByContractAndId-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["milestones:read"]}]},"delete":{"path":"/rest/contracts/{contract_id}/milestones/{milestone_id}","tags":["Milestones"],"method":"delete","summary":"Delete a Milestone","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."}],"description":"Permanently deletes a specific milestone from a contract. This operation is irreversible and removes all associated milestone data.\n\n **Token scopes**: `milestones:write`","operationId":"deleteMilestoneById-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["milestones:write"]}]}},"/working-locations":{"get":{"path":"/rest/working-locations","tags":["Organizations"],"method":"get","summary":"Retrieve working locations","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":[],"description":"Returns the list of available work location labels for the organization. Populate options when creating or editing people or contract records.\n\n **Token scopes**: `organizations:read`","operationId":"retrieveWorkingLocations-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["organizations:read"]}]}},"/eor/contracts/{contract_id}/offboarding/review-client-sign-offs":{"post":{"path":"/rest/eor/contracts/{contract_id}/offboarding/review-client-sign-offs","tags":["EOR"],"method":"post","summary":"Review, approve, or request changes to EOR offboarding documents","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."}],"description":"Submits a client sign-off decision—approval or change request—for the offboarding documents of a specific contract during the client sign-off step.\n\n **Token scopes**: `contracts:write`","operationId":"reviewApproveOrRequestChangesToEorOffboardingDocuments-v2026-01-01","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"}}}}}}}},"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}]}},"/eor/workers/compliance-documents/{document_id}":{"post":{"path":"/rest/eor/workers/compliance-documents/{document_id}","tags":["EOR"],"method":"post","summary":"Upload employee compliance document","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"success":{"type":"boolean","example":true,"description":"A flag denoting if the file upload was successful."}}}}}}},"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."}],"description":"Uploads a compliance document file against the specified `document_id` for an EOR employee.\n\n **Token scopes**: `worker:write`","operationId":"UploadEmployeeComplianceDocument-v2026-01-01","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary","example":"file","description":"The employee compliance document to upload."}},"description":"This is the file you will upload in a multi-part form."}}},"required":true,"description":"The employee compliance document data to upload"},"security":[{"deelToken":[]},{"oauth2":["worker:write"]}]}},"/forms/gp/worker-additional-fields/{country_code}":{"get":{"path":"/rest/forms/gp/worker-additional-fields/{country_code}","tags":["Global Payroll"],"method":"get","summary":"Retrieve additional information fields for GP workers by country","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."}],"description":"Retrieves the country-specific additional information fields required for GP workers to run payroll in compliance with local regulations.\n\n **Token scopes**: `forms:read`","operationId":"retrieveAdditionalInformationFieldsForGpWorkersByCountry-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["forms:read"]}]}},"/ic/workers/invoices/{invoice_id}/pdf":{"get":{"path":"/rest/ic/workers/invoices/{invoice_id}/pdf","tags":["Workers"],"method":"get","summary":"/ic/workers/invoices/:invoice_id/pdf","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."}],"description":"This endpoint provides embedded worker flows access to download a pdf of a specific invoice while using a worker:PAT token.\n\n **Token scopes**: `accounting:read`","operationId":"icWorkersInvoicesInvoiceIdPdf-v2026-04-20","security":[{"deelToken":[]},{"oauth2":["accounting:read"]}]}},"/payouts/contractors/methods/bank_transfers/requirements":{"get":{"path":"/rest/payouts/contractors/methods/bank_transfers/requirements","tags":["Payouts"],"method":"get","summary":"Get bank transfer requirements","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"}],"description":"Returns the field requirements for creating a bank transfer method for the specified country and currency combination, including fee information calculated against the provided amount or a default of 100.00.\n\n **Token scopes**: `worker:read`, `worker:write`","operationId":"getBankTransferRequirements-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["worker:read","worker:write"]}]}},"/contracts/{contract_id}/off-cycle-payments":{"get":{"path":"/rest/contracts/{contract_id}/off-cycle-payments","tags":["Off-cycle Payments"],"method":"get","summary":"List of off-cycle payments","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."}],"description":"Retrieves all off-cycle payments for a specified contract. Off-cycle payments represent payments made outside the regular payment schedule, such as exceptional or one-time expenses.\n\n **Token scopes**: `off-cycle-payments:read`","operationId":"getOffCyclePaymentsByContract-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["off-cycle-payments:read"]}]},"post":{"path":"/rest/contracts/{contract_id}/off-cycle-payments","tags":["Off-cycle Payments"],"method":"post","summary":"Add off-cycle payment","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."}],"description":"Creates a new invoice line item for an off-cycle payment against a specific contract, for use when a payment must be issued outside the regular payment schedule.\n\n **Token scopes**: `off-cycle-payments:write`","operationId":"addOffCyclePayment-v2026-01-01","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."},"security":[{"deelToken":[]},{"oauth2":["off-cycle-payments:write"]}]}},"/timesheets":{"post":{"path":"/rest/timesheets","tags":["Timesheets"],"method":"post","summary":"Create a timesheet entry","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","example":{"id":"12345678-abcd-fedc-dcba-987654321abc","status":"pending","created":true,"created_at":"2026-06-29T14:22:08.512Z"},"required":["created"],"properties":{"id":{"type":"string","format":"uuid","example":"12345678-abcd-fedc-dcba-987654321abc","description":"Unique identifier returned for the created timesheet entry resource after persistence succeeds."},"status":{"enum":["approved","declined","not_payable","paid","pending","processing",null],"type":"string","example":"pending","nullable":true,"description":"Current processing status assigned to the timesheet entry after the create workflow finishes executing."},"created":{"type":"boolean","example":true,"nullable":false,"description":"Flag indicating whether the timesheet entry record was successfully persisted by this request."},"created_at":{"type":"string","format":"date-time","example":"2026-06-29T14:22:08.512Z","nullable":true,"description":"ISO-8601 timestamp recording the exact moment the timesheet entry was created in the system."}},"description":"Container object with identifiers, status, and creation metadata for the newly created timesheet entry."}}}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"type":"object","example":{"errors":[{"message":"\"data.contract_id\" is required"}]},"required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"code":{"type":"string","example":"VALIDATION_ERROR","description":"Optional machine-readable error code returned by the upstream service when available."},"message":{"type":"string","example":"\"data.contract_id\" is required","description":"Human-readable description of the validation or business rule violation."}}},"description":"Validation or business rule errors describing why the timesheet entry could not be created."}}}}},"description":"Bad Request - The request payload failed validation or violated a business rule for timesheet entries."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"content":{"application/json":{"schema":{"type":"object","example":{"errors":[{"code":"UPSTREAM_GENERIC_ERROR","message":"Something went wrong"}]},"required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"code":{"type":"string","example":"UPSTREAM_GENERIC_ERROR","description":"Stable machine-readable error code identifying the upstream or internal failure category."},"message":{"type":"string","example":"Something went wrong","description":"Human-readable error message describing the unexpected condition that prevented completing the request."}}},"description":"Generic upstream or internal errors emitted when the timesheet entry cannot be processed."}}}}},"description":"Internal Server Error - The timesheet entry could not be created due to an unexpected upstream or internal failure."}},"parameters":[],"description":"Creates a timesheet entry for an hourly contractor, recording the contract, date, hours worked, and an optional description. The entry is immediately placed into a review workflow upon creation.\n\n **Token scopes**: `timesheets:write`","operationId":"createATimesheetEntry-v2026-01-01","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","example":{"quantity":7.5,"group_key":"weekly-hours-2026-w26","contract_id":"37nex2x","description":"Sprint 42 backend work: implemented payment retry logic and reviewed two PRs.","date_submitted":"2026-06-29","is_auto_approved":true,"hourly_report_preset_id":"aabbccdd-eeff-0011-2233-445566778899"},"required":["contract_id","quantity","date_submitted","description"],"properties":{"quantity":{"type":"number","example":7.5,"minimum":0.01,"nullable":false,"description":"Number of work units (typically hours) to record based on the scale defined in the associated contract work statement."},"group_key":{"type":"string","example":"weekly-hours-2026-w26","nullable":true,"maxLength":300,"description":"When provided, timesheets sharing the same group_key within the same payment cycle are merged into a single aggregated line item on the invoice. Requires is_auto_approved to be true."},"contract_id":{"type":"string","example":"37nex2x","nullable":false,"description":"Unique Deel contract identifier (public id) that receives this timesheet entry line item."},"description":{"type":"string","default":"","example":"Sprint 42 backend work: implemented payment retry logic and reviewed two PRs.","nullable":false,"description":"Detailed human-readable explanation of the work performed that appears on the invoice and audit records."},"date_submitted":{"type":"string","format":"date","example":"2026-06-29","description":"Date the work was performed in ISO-8601 short-date format (YYYY-MM-DD) used for filtering and approvals."},"is_auto_approved":{"type":"boolean","example":true,"description":"When true, the created timesheet entry skips manual approval and is approved immediately on creation."},"hourly_report_preset_id":{"type":"string","example":"aabbccdd-eeff-0011-2233-445566778899","nullable":true,"description":"Identifier of an existing timesheet preset used to link a standardized hourly rate and label to this entry."}},"description":"Payload attributes required to create one timesheet entry with optional approval, preset, and grouping metadata."}}}},"multipart/form-data":{"schema":{"allOf":[{"allOf":[{"type":"object","required":["contract_id","quantity","date_submitted","description"],"properties":{"quantity":{"type":"number","example":7.5,"minimum":0.01,"nullable":false,"description":"Number of work units (typically hours) to record based on the scale defined in the associated contract work statement."},"group_key":{"type":"string","example":"weekly-hours-2026-w26","nullable":true,"maxLength":300,"description":"When provided, timesheets sharing the same group_key within the same payment cycle are merged into a single aggregated line item on the invoice. Requires is_auto_approved to be true."},"contract_id":{"type":"string","example":"37nex2x","nullable":false,"description":"Unique Deel contract identifier (public id) that receives this multipart timesheet entry."},"description":{"type":"string","default":"","example":"Onsite client workshop on 2026-06-25, supporting agenda attached.","nullable":false,"description":"Detailed narrative describing the work performed and the supporting document submitted with this multipart request."},"date_submitted":{"type":"string","format":"date","example":"2026-06-29","description":"Date the work was performed in ISO-8601 short-date format (YYYY-MM-DD) for this multipart timesheet entry."},"is_auto_approved":{"type":"boolean","example":false,"description":"When true, this multipart timesheet entry is approved automatically without requiring any reviewer action."},"hourly_report_preset_id":{"type":"string","example":"aabbccdd-eeff-0011-2233-445566778899","nullable":true,"description":"Identifier of an existing timesheet preset used to link a standardized hourly rate and label to this entry."}},"description":"Multipart payload fields used to create a timesheet entry with optional grouping and approval behavior plus an attached file."},{"type":"object","properties":{"file":{"type":"string","format":"binary","example":"client-workshop-agenda-2026-06-25.pdf","nullable":false,"description":"Binary file attachment (worksheet, signed timesheet, or supporting document) submitted alongside this timesheet entry."}},"description":"Object containing the binary file uploaded alongside multipart timesheet entry fields."}]}]}}},"required":true,"description":"Timesheet object that needs to be created"},"security":[{"deelToken":[]},{"oauth2":["timesheets:write"]}]},"get":{"path":"/rest/timesheets","tags":["Timesheets"],"method":"get","summary":"List of timesheets","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,"description":"Predefined scale used to calculate the timesheet amount (e.g. hourly, daily, custom)."},"status":{"enum":["approved","declined","not_payable","paid","pending","processing",null],"type":"string","example":"approved","nullable":true,"description":"Current processing status of the timesheet."},"contract":{"type":"object","required":["id","title","type"],"properties":{"id":{"type":"string","example":"contract_abc123","nullable":false,"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":"ongoing_time_based","description":"Type of a contract"},"title":{"type":"string","example":"Senior Backend Engineer","nullable":false,"description":"Human-readable title of the contract."}}},"quantity":{"type":"number","example":8,"nullable":true,"description":"Quantity of work units (hours, days, etc.) used to calculate the total amount."},"worksheet":{"type":"object","nullable":true,"required":["weeks","days","hours","minutes"],"properties":{"days":{"type":"number","example":0,"minimum":0,"description":"Number of days reported."},"hours":{"type":"number","example":8,"minimum":0,"description":"Number of hours reported."},"weeks":{"type":"number","example":0,"minimum":0,"description":"Number of weeks reported."},"minutes":{"type":"number","example":0,"minimum":0,"description":"Number of minutes reported."}},"description":"Breakdown of time worked across different units."},"attachment":{"type":"object","nullable":true,"required":["filename","key"],"properties":{"key":{"type":"string","example":"attachments/timesheet_receipt.pdf","nullable":false,"description":"You can call attachments end-point, get key and URL to upload your file."},"filename":{"type":"string","example":"timesheet_receipt.pdf","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":"Timestamp when the timesheet was created (ISO-8601)."},"description":{"type":"string","example":"Backend development work for sprint 42","nullable":false,"description":"Human-readable description of the work performed."},"reported_by":{"type":"object","nullable":false,"required":["id"],"properties":{"id":{"type":"string","format":"uuid","example":"00000000-0000-0000-0000-000000000000","description":"Unique identifier of the reporting user."},"full_name":{"type":"string","example":"John Smith","nullable":false,"description":"Full name of the user who submitted the timesheet.","x-sensitive-pii":true}},"description":"User who submitted the timesheet."},"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 the reviewer."},"remarks":{"type":"string","example":"Approved after verification","nullable":false,"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","format":"date-time","example":"2022-05-04T03:45:27.899Z","description":"Timestamp when the review occurred (ISO-8601)."}},"description":"Reviewer information if the timesheet has been reviewed."},"custom_scale":{"type":"string","example":"night_shift","nullable":true,"description":"Custom scale label defined by the client for non-standard billing rates."},"total_amount":{"type":"string","example":"200.0000","nullable":false,"description":"Total monetary value equal to quantity times rate of active work statement plus any bonus."},"currency_code":{"type":"string","example":"GBP","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_date":{"type":"string","format":"date-time","example":"2022-05-24T03:45:27.899Z","nullable":false,"description":"End date of the payment cycle (ISO-8601)."},"start_date":{"type":"string","format":"date-time","example":"2022-05-04T03:45:27.899Z","nullable":false,"description":"Start date of the payment cycle (ISO-8601)."}},"description":"Payment cycle associated with this timesheet."},"date_submitted":{"type":"string","format":"date-time","example":"2022-05-24T03:45:27.899Z","nullable":false,"description":"Timestamp when the timesheet was submitted for review (ISO-8601)."},"hourly_report_preset":{"type":"object","nullable":true,"properties":{"id":{"type":"string","example":"a1b2c3d4-e5f6-7890-abcd-ef1234567890","nullable":true,"description":"Unique identifier of the related timesheet preset."},"rate":{"type":"number","example":50,"nullable":true,"description":"Hourly rate of the related timesheet preset."},"title":{"type":"string","example":"Standard Rate","nullable":true,"description":"Title of the related timesheet preset."},"description":{"type":"string","example":"Default hourly rate for backend engineers","nullable":true,"description":"Description of the related timesheet preset."}},"description":"Timesheet preset linked to this entry, if any."}}}},"page":{"type":"object","required":["total_rows"],"properties":{"total_rows":{"type":"number","example":100,"nullable":false,"description":"Total number of records available."}},"description":"Pagination metadata 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":"contract_id","schema":{"type":"string"},"example":"contract_abc123","description":"Filter results to timesheets belonging to this Deel contract ID."},{"in":"query","name":"contract_types","schema":{"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"},"example":"ongoing_time_based","description":"Filter results to timesheets associated with the specified contract types."},{"in":"query","name":"statuses","schema":{"type":"array","items":{"enum":["approved","declined","not_payable","paid","pending","processing",null],"type":"string","nullable":true,"description":"Current processing status of the timesheet."},"description":"List of statuses to filter by"},"example":"approved","description":"Filter results to timesheets with the specified statuses."},{"in":"query","name":"reporter_id","schema":{"type":"string","format":"uuid"},"example":"00000000-0000-0000-0000-000000000000","description":"Filter results to timesheets submitted by this user ID."},{"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":"Filter results to timesheets submitted on or after this 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":"Filter results to timesheets submitted before this date (exclusive). Short date in format ISO-8601 (YYYY-MM-DD). For example: 2022-12-31."},{"in":"query","name":"limit","schema":{"type":"string","pattern":"^[0-9]+$"},"example":"20","description":"Maximum number of records to return per page. NOTE: query parameters are passed as strings."},{"in":"query","name":"offset","schema":{"type":"string","pattern":"^[0-9]+$"},"example":"0","description":"Number of records to skip before starting to return results. NOTE: query parameters are passed as strings."}],"description":"Returns a paginated list of timesheets in the account, optionally filtered by contract_id, contract_types, statuses, reporter_id, or date range.\n\n **Token scopes**: `timesheets:read`","operationId":"listOfTimesheets-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["timesheets:read"]}]}},"/contracts/{contract_id}":{"patch":{"path":"/rest/contracts/{contract_id}","tags":["Contracts"],"method":"patch","summary":"Add external Id","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."}],"description":"Sets an external identifier. Link your internal reference IDs, such as employee numbers or ERP keys, to a Deel worker. The external ID must be unique and, once set, can be used as a filter when listing contracts to directly look up Deel records from an external system.\n\n **Token scopes**: `contracts:write`","operationId":"addExternalId-v2026-01-01","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"},"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}]},"get":{"path":"/rest/contracts/{contract_id}","tags":["Contracts"],"method":"get","summary":"Retrieve a single contract","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","example":"client@example.com","pattern":"^[^\\s@]+@[^\\s@]+\\.[^\\s@]+(_no_mail|_archived)?$","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","example":"client@example.com","pattern":"^[^\\s@]+@[^\\s@]+\\.[^\\s@]+(_no_mail|_archived)?$","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","effective_from","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"},"effective_from":{"type":"string","example":"2026-01-01T00:00:00.000","nullable":false,"description":"Date and time when the contract's work schedule became effective."},"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"},"fte_percentage":{"type":"number","example":1,"nullable":true,"description":"Full time percentage"},"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},"platform_payment_type":{"enum":["STANDARD","OFF_PLATFORM"],"type":"string","example":"STANDARD","description":"Whether the contract is paid through Deel (`STANDARD`) or outside Deel (`OFF_PLATFORM`). Applies to IC contracts only."}}}}}}},"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":{"type":"array","items":{"enum":["cost_centers","custom_fields"],"type":"string","description":"Additional fields to include in the response."}},"example":["cost_centers","custom_fields"],"description":"Include additional fields in the response. Multiple values can be passed as comma-separated list."},{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"37nex2x","required":true,"description":"Unique identifier of the contract."}],"description":"Retrieves the full record for a specific contract by `contract_id`, including status, compensation, worker details, and metadata. Pass `expand=cost_centers` or `expand=custom_fields` as a query parameter to include additional data in the response.\n\n **Token scopes**: `contracts:read`","operationId":"retrieveASingleContract-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]}},"/eor/workers/compliance-documents/{document_id}/download":{"get":{"path":"/rest/eor/workers/compliance-documents/{document_id}/download","tags":["EOR"],"method":"get","summary":"Download submitted compliance document","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."}],"description":"Returns a time-limited download URL for a submitted compliance document. The URL expires at the time indicated by `expires_at` in the response.\n\n **Token scopes**: `worker:read`","operationId":"downloadSubmittedComplianceDocument-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["worker:read"]}]}},"/invoices":{"get":{"path":"/rest/invoices","tags":["Accounting"],"method":"get","summary":"Retrieve invoices","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."}],"description":"Returns a paginated list of invoices; by default only paid invoices are returned, but passing `status=all` returns invoices in all statuses. Supports both offset- and cursor-based pagination.\n\n **Token scopes**: `accounting:read`","operationId":"retrieveInvoices-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["accounting:read"]}]}},"/hris/organization-structures/teams/{team_id}/custom-fields":{"get":{"path":"/rest/hris/organization-structures/teams/{team_id}/custom-fields","tags":["Organization Structure"],"method":"get","summary":"Retrieve custom fields for organization","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"}],"description":"Returns all custom field values configured for the specified team in the organizational hierarchy, including each field's inheritance status (whether the value is set directly on the team or inherited from a parent), and any pending change requests visible to the caller.\n\n **Token scopes**: `organizations:read`","operationId":"retrieveCustomFieldsForOrganization-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["organizations:read"]}]},"patch":{"path":"/rest/hris/organization-structures/teams/{team_id}/custom-fields","tags":["Organization Structure"],"method":"patch","summary":"Update organization structure team custom fields","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"}],"description":"Applies a partial update to custom field values on the specified team. Updates can be scheduled for a future effective date, and setting a field's value to `null` deletes that field value.\n\n **Token scopes**: `organizations:read`","operationId":"updateOrganizationStructureTeamCustomFields-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["organizations:read"]}]}},"/roles":{"get":{"path":"/rest/roles","tags":["Organizations"],"method":"get","summary":"Get the roles of the current organization.","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":[],"description":"Retrieves all roles defined within the current organization.\n\n **Token scopes**: `organizations:read`","operationId":"getTheRolesOfTheCurrentOrganization-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["organizations:read"]}]},"post":{"path":"/rest/roles","tags":["Organizations"],"method":"post","summary":"Create organization custom role.","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":[],"description":"Creates a new custom role within the current organization.\n\n **Token scopes**: `organizations:write`","operationId":"CreateOrganizationRole-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["organizations:write"]}]}},"/invoice-adjustments/{id}":{"get":{"path":"/rest/invoice-adjustments/{id}","tags":["Invoices"],"method":"get","summary":"Invoice line item by Id","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"}],"description":"Retrieves a single invoice line item by its `id`.\n\n **Token scopes**: `invoice-adjustments:read`, `worker:read`","operationId":"invoiceLineItemById-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["invoice-adjustments:read","worker:read"]}]},"delete":{"path":"/rest/invoice-adjustments/{id}","tags":["Invoices"],"method":"delete","summary":"Delete adjustment","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."}],"description":"Permanently removes an invoice adjustment by its `id`.\n\n **Token scopes**: `invoice-adjustments:write`","operationId":"deleteInvoiceAdjustment-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["invoice-adjustments:write"]}]},"patch":{"path":"/rest/invoice-adjustments/{id}","tags":["Invoices"],"method":"patch","summary":"Update an invoice adjustment","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."}],"description":"Applies a partial update to an existing invoice adjustment; only fields included in the request body are modified.\n\n **Token scopes**: `invoice-adjustments:write`, `worker:write`","operationId":"updateAnInvoiceAdjustment-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["invoice-adjustments:write","worker:write"]}]}},"/organizations/tasks":{"get":{"path":"/rest/organizations/tasks","tags":["Organization Tasks"],"method":"get","summary":"List organization tasks","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)."}],"description":"Returns a paginated list of all tasks for the current organization, not limited to those assigned to the caller; intended for callers with the `organization.manage` permission. Supports both offset/limit and cursor-based pagination, which are mutually exclusive — do not supply `cursor` together with an offset parameter.\n\n **Token scopes**: `tasks:read`","operationId":"listOrganizationTasks-v2026-03-03","security":[{"deelToken":[]},{"oauth2":["tasks:read"]}]}},"/time_offs/policy-validation-templates":{"get":{"path":"/rest/time_offs/policy-validation-templates","tags":["Time Off"],"method":"get","summary":"Retrieve policy validation templates","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","NOT_SPECIFIED"],"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","TIME_OFF_IN_LIEU","HOURLY","LUMPSUM","NO_AUTO_ACCRUAL"],"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."},"edit_approved_mode":{"enum":["RESTRICT_FULLY","RESTRICT_BEYOND_CYCLE","NO_RESTRICT"],"type":"string","example":"NO_RESTRICT","nullable":true,"description":"Controls edit/cancel permissions on approved time off requests. Supersedes allow_to_edit_past_time_offs."},"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",null],"type":"string","example":"IMMEDIATELY","nullable":true,"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."}],"description":"Returns policy validation templates and policy types for one or more countries, specified as ISO 3166-1 alpha-2 codes. Policy types in the response are unique across the result set.\n\n **Token scopes**: `time-off:read`","operationId":"retrievePolicyValidationTemplates-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["time-off:read"]}]}},"/contracts/{contract_id}/tasks/{task_id}":{"delete":{"path":"/rest/contracts/{contract_id}/tasks/{task_id}","tags":["Tasks"],"method":"delete","summary":"Delete task","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."}],"description":"Deletes a specific task from a contract. An optional `reason` can be supplied for audit or documentation purposes.\n\n **Token scopes**: `contracts:write`","operationId":"deleteContractTaskById-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["contracts:write"]}]}},"/timesheets/presets/{id}":{"get":{"path":"/rest/timesheets/presets/{id}","tags":["Projects"],"method":"get","summary":"Get Hourly Report Preset by ID","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"}],"description":"Retrieves a single hourly report preset by its id.\n\n **Token scopes**: `timesheets:read`","operationId":"getHourlyReportPresetById-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["timesheets:read"]}]},"delete":{"path":"/rest/timesheets/presets/{id}","tags":["Projects"],"method":"delete","summary":"Delete Hourly Report Preset","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"}],"description":"Permanently deletes an hourly report preset identified by id.\n\n **Token scopes**: `timesheets:write`","operationId":"deleteHourlyReportPreset-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["timesheets:write"]}]},"patch":{"path":"/rest/timesheets/presets/{id}","tags":["Projects"],"method":"patch","summary":"Update Hourly Report Preset","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"}],"description":"Applies a partial update to an existing hourly report preset identified by id. Only fields included in the request body are modified.\n\n **Token scopes**: `timesheets:write`","operationId":"updateHourlyReportPreset-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["timesheets:write"]}]}},"/it/orders":{"get":{"path":"/rest/it/orders","tags":["IT orders"],"method":"get","summary":"List IT orders","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"}],"description":"Returns a cursor-paginated list of all IT equipment orders for the organization, spanning both historical and current procurement requests.\n\n **Token scopes**: `it-orders:read`","operationId":"listItOrders-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["it-orders:read"]}]}},"/on-demand-payroll/{odp_id}/submit":{"post":{"path":"/rest/on-demand-payroll/{odp_id}/submit","tags":["On-Demand Payroll"],"method":"post","summary":"Submit On-Demand Payroll","responses":{"204":{"description":"On-Demand Payroll submitted successfully."},"400":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"ODP_NOT_FOUND","description":"Machine-readable error code."},"field":{"type":"string","example":"existing_entry_ids","description":"Field that caused the error, when applicable."},"message":{"type":"string","example":"No active On Demand Payroll for this contract","description":"Human-readable error message."}}},"description":"List of errors."}}}}},"description":"Invalid request."},"401":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"ODP_NOT_FOUND","description":"Machine-readable error code."},"field":{"type":"string","example":"existing_entry_ids","description":"Field that caused the error, when applicable."},"message":{"type":"string","example":"No active On Demand Payroll for this contract","description":"Human-readable error message."}}},"description":"List of errors."}}}}},"description":"Authentication is required or has failed."},"403":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"ODP_NOT_FOUND","description":"Machine-readable error code."},"field":{"type":"string","example":"existing_entry_ids","description":"Field that caused the error, when applicable."},"message":{"type":"string","example":"No active On Demand Payroll for this contract","description":"Human-readable error message."}}},"description":"List of errors."}}}}},"description":"The caller is not allowed to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"ODP_NOT_FOUND","description":"Machine-readable error code."},"field":{"type":"string","example":"existing_entry_ids","description":"Field that caused the error, when applicable."},"message":{"type":"string","example":"No active On Demand Payroll for this contract","description":"Human-readable error message."}}},"description":"List of errors."}}}}},"description":"On-Demand Payroll not found."},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"odp_id","schema":{"type":"string"},"example":"odp_abc123","required":true,"description":"Public ID of the On-Demand Payroll."}],"description":"Submits an On-Demand Payroll for Deel processing after the client has reviewed and approved all of its entries.\n\n **Token scopes**: `on-demand-payroll:write`","operationId":"submitOnDemandPayroll-v2026-07-17","security":[{"deelToken":[]},{"oauth2":["on-demand-payroll:write"]}]}},"/adjustments/{id}":{"get":{"path":"/rest/adjustments/{id}","tags":["Adjustments"],"method":"get","summary":"Retrieve an adjustment","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."}],"description":"Retrieves a specific adjustment by its id, including its amount, status, payment cycle dates, and associated contract_id.\n\n **Token scopes**: `adjustments:read`","operationId":"retrieveAnAdjustment-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["adjustments:read"]}]},"patch":{"path":"/rest/adjustments/{id}","tags":["Adjustments"],"method":"patch","summary":"Update an adjustment","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."}],"description":"Applies a partial update to an existing adjustment. Only fields included in the request body are modified; omitted fields retain their current values.\n\n **Token scopes**: `adjustments:write`","operationId":"updateAdjustment-v2026-01-01","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"},"security":[{"deelToken":[]},{"oauth2":["adjustments:write"]}]},"delete":{"path":"/rest/adjustments/{id}","tags":["Adjustments"],"method":"delete","summary":"Delete an adjustment","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."}],"description":"Permanently deletes an adjustment by its id.\n\n **Token scopes**: `adjustments:write`","operationId":"deleteAdjustment-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["adjustments:write"]}]}},"/benefits/legal-entities/{id}/year-to-date-pay":{"get":{"path":"/rest/benefits/legal-entities/{id}/year-to-date-pay","tags":["Payroll"],"method":"get","summary":"Get year to date payment for benefits 401k.","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"}],"description":"Returns aggregated year-to-date payroll figures for employees in the specified legal entity over a caller-specified date range. Both `date_start` and `date_end` are required.\n\n **Token scopes**: `organizations:read`","operationId":"getYearToDatePay-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["organizations:read"]}]}},"/time-tracking/timesheets/{timesheet_id}/review":{"post":{"path":"/rest/time-tracking/timesheets/{timesheet_id}/review","tags":["Time Tracking Timesheets"],"method":"post","summary":"Review a submitted timesheet","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"}],"description":"Approves or rejects a submitted timesheet; only timesheets in `PENDING_REVIEW` status are eligible, and all associated hours are approved or rejected as a single operation.\n\n **Token scopes**: `time-tracking:write`","operationId":"reviewASubmittedTimesheet-v2026-01-01","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."},"security":[{"deelToken":[]},{"oauth2":["time-tracking:write"]}]}},"/immigration/client/cases/{id}":{"get":{"path":"/rest/immigration/client/cases/{id}","tags":["Immigration"],"method":"get","summary":"Get immigration case details","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","ACTIVE","EXPIRED","EXPIRING","UNKNOWN"],"type":"string","example":"IN_REVIEW","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."}}},"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"}],"description":"Retrieves the details of an immigration case by its case ID.\n\n **Token scopes**: `immigration:read`","operationId":"getImmigrationCaseDetails-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["immigration:read"]}]}},"/eor/contracts/{contract_id}/amendments/validate":{"post":{"path":"/rest/eor/contracts/{contract_id}/amendments/validate","tags":["EOR"],"method":"post","summary":"Validate amendment data points","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."}],"description":"Validates amendment data points for a given contract against any external validation rules before an amendment is submitted. This call should be made prior to creating an amendment to confirm that the proposed data points are acceptable.\n\n **Token scopes**: `contracts:write`","operationId":"validateAmendmentDataPoints-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}]}},"/managers":{"get":{"path":"/rest/managers","tags":["Managers"],"method":"get","summary":"Retrieve List of Managers","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."}],"description":"Returns a paginated list of all managers in the organization.\n\n **Token scopes**: `organizations:read`","operationId":"getManagers-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["organizations:read"]}]},"post":{"path":"/rest/managers","tags":["Managers"],"method":"post","summary":"Create a Manager","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"}},"description":"Creates a new manager in the organization and returns the created manager's identity fields, including the assigned `id`.\n\n **Token scopes**: `organizations:write`","operationId":"createManager-v2026-01-01","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."},"security":[{"deelToken":[]},{"oauth2":["organizations:write"]}]}},"/eor/employment_cost":{"post":{"path":"/rest/eor/employment_cost","tags":["EOR"],"method":"post","summary":"Calculate Employee Costs Globally","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":[],"description":"Calculates the total employment cost for an EOR arrangement in a specified country, returning a breakdown that includes employer costs, benefits, platform fees, and severance accrual.","operationId":"calculateEmployeeCostsGlobally-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":[]}]}},"/eor/contracts/{contract_id}/offboarding/required-information":{"get":{"path":"/rest/eor/contracts/{contract_id}/offboarding/required-information","tags":["EOR"],"method":"get","summary":"Get additional information required to request employee termination","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."}],"description":"Returns country-specific mandatory and optional questions, and identifies required supporting documents, that must be provided when initiating the offboarding process for a contract.\n\n **Token scopes**: `contracts:read`","operationId":"getAdditionalInformationRequiredToRequestEmployeeTermination-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]}},"/time_offs/dailies":{"get":{"path":"/rest/time_offs/dailies","tags":["Time Off"],"method":"get","summary":"Get Work Schedule and Holidays","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"},"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":"Formatted 'YYYY-MM-DD' date of the holiday"},"name_variations":{"type":"array","items":{"type":"string"},"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"}}},"description":"List of holidays within the date range"},"work_schedule":{"type":"object","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","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":"List of days with holiday or work status"}}},"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"}],"description":"Returns holidays, work schedule entries, and time-off dailies for a given date range, scoped to one or more HRIS profile IDs or countries.\n\n **Token scopes**: `time-off:read`","operationId":"getWorkScheduleAndHolidays-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["time-off:read"]}]}},"/groups/{id}/clone":{"post":{"path":"/rest/groups/{id}/clone","tags":["Groups"],"method":"post","summary":"Clone a Group","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."}],"description":"Creates a new group by copying the structure and settings of an existing group. The cloned group is independent of the source after creation.\n\n **Token scopes**: `groups:write`","operationId":"cloneAGroup-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["groups:write"]}]}},"/payouts/balances":{"get":{"path":"/rest/payouts/balances","tags":["Payouts"],"method":"get","summary":"List Contractor Balances","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":[],"description":"Returns the total available balances for the authenticated contractor, broken down by currency and aggregated into a single cross-currency total.\n\n **Token scopes**: `worker:read`","operationId":"listContractorBalances-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["worker:read"]}]}},"/hris/organization_structures/external/{external_id}":{"get":{"path":"/rest/hris/organization_structures/external/{external_id}","tags":["Organization structure"],"method":"get","summary":"Fetch an Org Structure from the Organization","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"}],"description":"Fetches a single organization structure, returning associated roles and teams alongside structure metadata.\n\n **Token scopes**: `organizations:read`","operationId":"getOrgStructureByExternalId-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["organizations:read"]}]},"patch":{"path":"/rest/hris/organization_structures/external/{external_id}","tags":["Organization structure"],"method":"patch","summary":"Update an existing HRIS Org Structure by external ID","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"}],"description":"Applies a partial update to an existing organization structure. Only fields provided in the request body are modified; omitted fields retain their current values.\n\n **Token scopes**: `organizations:write`","operationId":"updateOrgStructureByExternalId-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["organizations:write"]}]},"delete":{"path":"/rest/hris/organization_structures/external/{external_id}","tags":["Organization structure"],"method":"delete","summary":"Delete an Org Structure from the Organization by external ID","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"}],"description":"Permanently removes an organization structure from the organization.\n\n **Token scopes**: `organizations:write`","operationId":"deleteOrgStructureByExternalId-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["organizations:write"]}]}},"/magic-link":{"post":{"path":"/rest/magic-link","tags":["EOR"],"method":"post","summary":"Create magic link","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":[],"description":"Generates a time-limited magic link for password-free worker authentication. The link and its expiry timestamp are returned in the response.\n\n **Token scopes**: `worker:read`","operationId":"createMagicLink-v2026-01-01","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."},"security":[{"deelToken":[]},{"oauth2":["worker:read"]}]}},"/people/{worker_id}/personal":{"patch":{"path":"/rest/people/{worker_id}/personal","tags":["People"],"method":"patch","summary":"Update personal information","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."}],"description":"Partially updates personal information for a worker by their worker ID; only fields included in the request body are modified.\n\n **Token scopes**: `people:write`","operationId":"updatePeoplePersonalInformationById-v2026-01-01","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."}}}}}}}},"security":[{"deelToken":[]},{"oauth2":["people:write"]}]},"get":{"path":"/rest/people/{worker_id}/personal","tags":["People"],"method":"get","summary":"Get personal information by id","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)."}],"description":"Returns personal information for a worker by their worker ID.\n\n **Token scopes**: `people:read`","operationId":"getPersonalInformationById-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["people:read"]}]}},"/time_offs":{"post":{"path":"/rest/time_offs","tags":["Time Off"],"method":"post","summary":"Create time-off request","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","DELETED"],"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."},"deleted_at":{"type":"string","format":"date-time","example":"2022-01-01T00:00:00Z","nullable":true,"description":"Time off deletion date. Present only when the time-off is soft-deleted and include_deleted_time_offs was requested."},"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."},"canceled_at":{"type":"string","format":"date-time","example":"2022-01-01T00:00:00Z","nullable":true,"description":"Time off cancellation date"},"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":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"GENERIC_ERROR","description":"A machine-readable error code"},"field":{"type":"string","example":"start_date","nullable":true,"description":"The field associated with the error, if applicable"},"details":{"type":"object","nullable":true,"description":"Additional error details, if applicable"},"message":{"type":"string","example":"There is already a time-off for the dates 2026-03-05 and 2026-03-05","description":"A description of the returned error"}}},"description":"List of errors describing what went wrong"},"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":[{"code":"GENERIC_ERROR","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":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"GENERIC_ERROR","description":"A machine-readable error code"},"message":{"type":"string","example":"You do not have permission to access this resource","description":"A description of the returned error"}}},"description":"List of errors describing what went wrong"},"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":[{"code":"GENERIC_ERROR","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":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"GENERIC_ERROR","description":"A machine-readable error code"},"message":{"type":"string","example":"HrisProfile not found","description":"A description of the returned error"}}},"description":"List of errors describing what went wrong"},"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":[{"code":"GENERIC_ERROR","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":[],"description":"Creates a new time-off request for a worker.\n\n **Token scopes**: `time-off:write`, `worker:write`","operationId":"createTimeOffRequest-v2026-01-01","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":{"anyOf":[{"type":"string","format":"date"},{"type":"string","format":"date-time"}],"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 POST /time_offs/review."},"is_paid":{"type":"boolean","example":false,"description":"Whether the time off is paid or unpaid. By default it follows the policy configuration."},"end_date":{"anyOf":[{"type":"string","format":"date"},{"type":"string","format":"date-time"}],"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":{"anyOf":[{"type":"string","format":"date"},{"type":"string","format":"date-time"}],"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."},"use_deel_approval_flow":{"type":"boolean","default":false,"example":true,"description":"Whether to use Deel's approval flow for this time off request. If set to true, the time off request will go through Deel's approval flow instead of being handled through the public-api review time-off endpoint."}},"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":{"anyOf":[{"type":"string","format":"date"},{"type":"string","format":"date-time"}],"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 POST /time_offs/review."},"is_paid":{"type":"boolean","example":false,"description":"Whether the time off is paid or unpaid. By default it follows the policy configuration."},"end_date":{"anyOf":[{"type":"string","format":"date"},{"type":"string","format":"date-time"}],"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":{"anyOf":[{"type":"string","format":"date"},{"type":"string","format":"date-time"}],"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."},"use_deel_approval_flow":{"type":"boolean","default":false,"example":true,"description":"Whether to use Deel's approval flow for this time off request. If set to true, the time off request will go through Deel's approval flow instead of being handled through the public-api review time-off endpoint."}},"description":"The time off request data"}},"description":"The time off request data"}}},"required":true,"description":"The time off request data"},"security":[{"deelToken":[]},{"oauth2":["time-off:write","worker:write"]}]},"get":{"path":"/rest/time_offs","tags":["Time Off"],"method":"get","summary":"List time-off requests for Organization","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","DELETED"],"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"},"deleted_at":{"type":"string","format":"date-time","example":"2022-01-01T00:00:00Z","nullable":true,"description":"Time off deletion date. Present only when the time-off is soft-deleted and include_deleted_time_offs was requested."},"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"},"canceled_at":{"type":"string","format":"date-time","example":"2022-01-01T00:00:00Z","nullable":true,"description":"Time off cancellation 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"},"time_off_origin":{"enum":["ADMIN","BULK_IMPORT","DEEL_APP","ENGAGE","INTEGRATION","PUBLIC_API","SLACK","TEAMS","UNKNOWN"],"type":"string","example":"PUBLIC_API","description":"Time off origin"},"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"},"count":{"type":"integer","example":100,"description":"Total count of items"},"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":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}}}}}}},"description":"Bad request (invalid query parameters or validation error)."},"401":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}}}}}}},"description":"Unauthorized (missing or invalid token)."},"403":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}}}}}}},"description":"Forbidden (insufficient permissions)."},"404":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"}}}}}}}},"description":"Not found (organization or HRIS profile 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"},"message":{"type":"string"}}}}}}}},"description":"Internal server error."}},"parameters":[{"in":"query","name":"status","style":"form","schema":{"type":"array","items":{"enum":["REQUESTED","APPROVED","REJECTED","USED","CANCELED","DELETED"],"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":"query","name":"include_deleted_time_offs","schema":{"type":"boolean","default":false},"example":"true","description":"When true, includes soft-deleted time-off records in the response. Deleted records will have a deleted_at timestamp and status DELETED."}],"description":"Returns time-off requests for the authenticated organization, with optional filtering by status, date ranges, policy types, and specific request IDs. Results are paginated using cursor-based navigation.\n\n **Token scopes**: `time-off:read`","operationId":"listTimeOffRequestsForOrganization-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["time-off:read"]}]}},"/gp/workers/{worker_id}/banks":{"get":{"path":"/rest/gp/workers/{worker_id}/banks","tags":["Global Payroll"],"method":"get","summary":"Retrieve bank accounts","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."}],"description":"Returns all bank accounts associated with the employee.\n\n **Token scopes**: `people:read`","operationId":"getGpBankAccounts-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["people:read"]}]},"post":{"path":"/rest/gp/workers/{worker_id}/banks","tags":["Global Payroll"],"method":"post","summary":"Add bank account","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."}],"description":"Adds a bank account for the GP worker; country-specific field requirements must be retrieved from `GET /gp/workers/{worker_id}/banks/guide` before submitting.\n\n **Token scopes**: `people:write`","operationId":"addGpBankAccount-v2026-01-01","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."},"security":[{"deelToken":[]},{"oauth2":["people:write"]}]}},"/consent_token":{"post":{"path":"/rest/consent_token","tags":["Consent"],"method":"post","summary":"Create a consent token","security":[{"deelToken":[]},{"oauth2":[]}],"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"}},"description":"Generates a time-bounded consent token used to authorize third-party service connections on behalf of an organization. The token expires at the time indicated by `expires_at` in the response.","operationId":"createConsentToken-v2026-01-01","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}}},"/departments":{"get":{"path":"/rest/departments","tags":["Organizations"],"method":"get","summary":"Retrieve Departments","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."}},"description":"Returns the list of departments within the authenticated user's organization, including each department's identifier, name, and parent department where applicable.\n\n **Token scopes**: `organizations:read`","operationId":"GetDepartments-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["organizations:read"]}]}},"/organizations":{"get":{"path":"/rest/organizations","tags":["Organizations"],"method":"get","summary":"Get Current Organization","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."}},"description":"Returns details of the organization associated with the authentication token; the organization is resolved automatically from the token and requires no additional identifier.\n\n **Token scopes**: `organizations:read`","operationId":"getOrganizations-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["organizations:read"]}]}},"/workers/amendments/{amendment_id}/sign":{"post":{"path":"/rest/workers/amendments/{amendment_id}/sign","tags":["Contracts"],"method":"post","summary":"Sign Amendment","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"}],"description":"Records the worker's signature on a pending amendment identified by amendment_id. Once signed, the amendment's status change is reflected in the associated contract.\n\n **Token scopes**: `worker:read`, `worker:write`, `benefits:read`","operationId":"signAmendment-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["worker:read","worker:write","benefits:read"]}]}},"/screenings/aml/{entity_type}/{entity_id}":{"get":{"path":"/rest/screenings/aml/{entity_type}/{entity_id}","tags":["Screenings"],"method":"get","summary":"AML API for Whitelabel - Data retrieval","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"}],"description":"Returns the most recent AML screening result for the specified entity. The `entity_type` must be one of `profile`, `hris_profile`, or `legal_entity`.\n\n **Token scopes**: `screenings:read`","operationId":"amlApiForWhitelabelDataRetrieval-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["screenings:read"]}]}},"/offboarding/tracker/hris_profile/{oid}":{"get":{"path":"/rest/offboarding/tracker/hris_profile/{oid}","tags":["Offboarding"],"method":"get","summary":"Retrieve termination details by HRIS profile identifier","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","nullable":true,"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","nullable":true,"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"}],"description":"Returns termination details for a contract identified by its HRIS profile `oid`.\n\n **Token scopes**: `contracts:read`, `people:read`","operationId":"retrieveTerminationDetailsByHrisProfileIdentifier-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["contracts:read","people:read"]}]}},"/hris/worker_relations/profile/{hris_profile_oid}/child":{"put":{"path":"/rest/hris/worker_relations/profile/{hris_profile_oid}/child","tags":["Worker Relations"],"method":"put","summary":"Create child worker relation","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"}],"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\n **Token scopes**: `profile:write`","operationId":"createChildWorkerRelation-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["profile:write"]}]}},"/hris/worker_relations/types/{type_id}":{"delete":{"path":"/rest/hris/worker_relations/types/{type_id}","tags":["Worker Relations"],"method":"delete","summary":"Delete a worker relation type","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"}],"description":"Deletes an existing worker relationship type.\n\n **Token scopes**: `organizations:write`","operationId":"deleteAWorkerRelationType-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["organizations:write"]}]}},"/immigration/documents/{id}":{"get":{"path":"/rest/immigration/documents/{id}","tags":["Immigration"],"method":"get","summary":"Immigration document","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"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":{"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"},"message":{"type":"string","example":"Document not found.","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":"dc7eb5dd-3161-4309-9b6a-7a87b7817d9e","required":true,"description":"Immigration case document id "}],"description":"Retrieves the details of an immigration case document by its document `id`.\n\n **Token scopes**: `immigration:read`","operationId":"immigrationDocument-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["immigration:read"]}]}},"/eor/contracts/{contract_id}/hrx-documents/{document_id}":{"get":{"path":"/rest/eor/contracts/{contract_id}/hrx-documents/{document_id}","tags":["HRX Documents"],"method":"get","summary":"Download HRX documents","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."}],"description":"Generates a pre-signed URL for downloading a specific HRX document as a PDF associated with an EOR contract. The URL expires 15 minutes after generation.\n\n **Token scopes**: `contracts:read`, `worker:read`","operationId":"downloadHrxDocuments-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["contracts:read","worker:read"]}]}},"/ats/applications":{"get":{"path":"/rest/ats/applications","tags":["ATS"],"method":"get","summary":"Retrieve a list of ATS applications","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":{"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"},"submitter_ip_address":{"type":"string","example":"203.0.113.42","nullable":true,"description":"IP address of the applicant who submitted the application","x-sensitive-pii":true},"submitter_user_agent":{"type":"string","example":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36","nullable":true,"description":"User agent of the applicant who submitted the application","x-sensitive-pii":true},"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"}},"submitter_ip_address":"203.0.113.42","submitter_user_agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36","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"}],"description":"Returns a cursor-paginated list of candidate applications across all open positions for the organization, with filtering by job, interview plan stage, candidate tags, source, stage type, and last-updated timestamp.\n\n **Token scopes**: `ats:read`","operationId":"retrieveAListOfAtsApplications-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["ats:read"]}]},"post":{"path":"/rest/ats/applications","tags":["ATS"],"method":"post","summary":"Create ATS Application","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":[],"description":"Creates a new ATS application linking an existing candidate to an existing job. Both the candidate and job must exist prior to this call; the returned id can be used for subsequent operations such as adding notes or associating interview stages.\n\n **Token scopes**: `ats:write`","operationId":"createAtsApplication-v2026-01-01","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"}}}}}}}},"security":[{"deelToken":[]},{"oauth2":["ats:write"]}]}},"/immigration/visa-requirement/business":{"get":{"path":"/rest/immigration/visa-requirement/business","tags":["Immigration"],"method":"get","summary":"Get business visa eligibility and requirements","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",null],"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)"}],"description":"Analyzes a traveller's nationality, residence country, destination, and trip dates to return the available business visa options along with their fees, estimated timelines, and qualification criteria. An optional `second_nationality` may be provided to expand eligibility assessment.\n\n **Token scopes**: `immigration:read`","operationId":"getBusinessVisaEligibilityAndRequirements-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["immigration:read"]}]}},"/equity/exercise/{public_id}":{"patch":{"path":"/rest/equity/exercise/{public_id}","tags":["Contracts"],"method":"patch","summary":"Approve an equity exercise","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."}],"description":"Updates the employer approval status for a pending equity exercise. This is a partial update — only `employer_approval` is accepted in the request body.\n\n **Token scopes**: `contracts:write`","operationId":"approveAnEquityExercise-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}]}},"/benefits/legal-entities/{id}/401k/plans/clean-up":{"post":{"path":"/rest/benefits/legal-entities/{id}/401k/plans/clean-up","tags":["Plans 401K"],"method":"post","summary":"Clean up plan for a given legal entity","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"}],"description":"Triggers a cleanup of 401k plan data for the specified legal entity.\n\n **Token scopes**: `benefits:write`","operationId":"cleanUpPlanForAGivenLegalEntity-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["benefits:write"]}]}},"/contracts/{contract_id}/off-cycle-payments/{id}":{"get":{"path":"/rest/contracts/{contract_id}/off-cycle-payments/{id}","tags":["Off-cycle Payments"],"method":"get","summary":"Retrieve a single off-cycle payment","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."}],"description":"Retrieves a single off-cycle payment identified by id within a specific contract.\n\n **Token scopes**: `off-cycle-payments:read`","operationId":"getOffCyclePaymentByContractAndId-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["off-cycle-payments:read"]}]}},"/ats/hiring-members":{"get":{"path":"/rest/ats/hiring-members","tags":["ATS"],"method":"get","summary":"Retrieve ATS hiring members","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"}],"description":"Returns a paginated list of hiring members configured in the ATS.\n\n **Token scopes**: `ats:read`","operationId":"retrieveAtsHiringMembers-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["ats:read"]}]}},"/benefits/legal-entities/{id}/employees/{employee_id}":{"get":{"path":"/rest/benefits/legal-entities/{id}/employees/{employee_id}","tags":["Employees"],"method":"get","summary":"Get employee from organization integrated with external benefits vendor","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"}],"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 **Token scopes**: `people:read`","operationId":"getEmployeeFromOrganizationIntegratedWithExternalBenefitsVendor-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["people:read"]}]}},"/gp/workers/contracts/{contract_id}/additional-information":{"patch":{"path":"/rest/gp/workers/contracts/{contract_id}/additional-information","tags":["Global Payroll"],"method":"patch","summary":"Update GP Workers Additional Information","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."}],"description":"Partially updates the additional information on the contract; only fields supplied under the `data` object are modified.\n\n **Token scopes**: `people:write`","operationId":"updateGpWorkersAdditionalInformation-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["people:write"]}]},"post":{"path":"/rest/gp/workers/contracts/{contract_id}/additional-information","tags":["Global Payroll"],"method":"post","summary":"Add GP Workers Additional Information","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."}],"description":"Adds supplementary fields to the contract, with the extra data supplied under the `data` object in the request body.\n\n **Token scopes**: `people:write`","operationId":"addGpWorkersAdditionalInformation-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["people:write"]}]}},"/invoice-adjustments/{id}/reviews":{"post":{"path":"/rest/invoice-adjustments/{id}/reviews","tags":["Invoices"],"method":"post","summary":"Review a single invoice adjustment","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."}],"description":"Submits an approve or decline review decision for a single invoice adjustment.\n\n **Token scopes**: `invoice-adjustments:write`","operationId":"updateInvoiceAdjustmentById-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["invoice-adjustments:write"]}]}},"/legal-entities/{legal_entity_id}/cost-centers":{"get":{"path":"/rest/legal-entities/{legal_entity_id}/cost-centers","tags":["Cost Centers"],"method":"get","summary":"Get cost centers by legal entity","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"}],"description":"Returns all cost centers associated with the specified legal_entity_id.\n\n **Token scopes**: `legal-entity:read`","operationId":"getCostCentersByLegalEntity-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["legal-entity:read"]}]}},"/payments/statements/{payment_statement_id}":{"get":{"path":"/rest/payments/statements/{payment_statement_id}","tags":["Payments"],"method":"get","summary":"Retrieve a payment statement","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","status","payment_currency","amount","amount_due","invoices"],"properties":{"id":{"type":"string","example":"34d7Y48Ymu44g66fghN9F","description":"Unique identifier of the payment statement."},"amount":{"type":"string","example":"1500.00","nullable":true,"description":"Total amount of the payment statement before any balance is applied. Null until the amount is set."},"status":{"enum":["PROCESSING","PAID","CANCELLED","FAILED"],"type":"string","example":"PROCESSING","description":"Normalized status of the payment statement. 'PROCESSING' covers any in-flight state (pending, preprocessing, awaiting payment); 'paid', 'cancelled' and 'failed' are terminal."},"paid_at":{"type":"string","format":"date-time","example":"2022-05-24T09:38:46.235Z","nullable":true,"description":"Date and time when the client paid, in ISO-8601 format. For bank transfers this can be set while the status is still processing. Null until payment is captured."},"invoices":{"type":"array","items":{"type":"object","required":["id","amount","currency"],"properties":{"id":{"type":"string","example":"34d7Y48Ymu44g66fghN9F","description":"Unique identifier of the invoice."},"label":{"type":"string","example":"INV-2024-3","description":"Descriptive label for the invoice."},"amount":{"type":"string","example":"500.00","description":"Amount of the invoice."},"currency":{"type":"string","example":"USD","pattern":"^[A-Z]{3}$","maxLength":3,"minLength":3,"description":"Three-letter currency code of the invoice, following ISO 4217."},"is_auto_added":{"type":"boolean","example":false,"description":"True when Deel automatically attached this invoice (e.g. an overdue or required fee invoice) beyond the requested set."}}},"description":"Authoritative superset of invoices settled by this payment statement. It always contains the requested invoices and may include additional overdue or required fee invoices that Deel attaches automatically."},"reference":{"type":"string","example":"DEEL-REF-0001","nullable":true,"description":"Reference to use when reconciling this payment statement against incoming wires."},"amount_due":{"type":"string","example":"1200.00","nullable":true,"description":"Amount still due after any applied balance and fee credits. Null until the amount is set."},"created_at":{"type":"string","format":"date-time","example":"2022-05-24T09:38:46.235Z","description":"Date and time when the payment statement was created, in ISO-8601 format."},"payment_method":{"type":"string","example":"bank_transfer","nullable":true,"description":"Method used to settle the payment statement. Null until a payment method is attached."},"balance_applied":{"type":"string","example":"300.00","description":"Amount of client balance applied to the payment statement."},"payment_currency":{"type":"string","example":"USD","pattern":"^[A-Z]{3}$","nullable":true,"maxLength":3,"minLength":3,"description":"Three-letter currency code of the payment statement, following ISO 4217. Null until a payment method is attached."},"beneficiary_details":{"type":"object","nullable":true,"properties":{"iban":{"type":"string","example":"GB29NWBK60161331926819","nullable":true,"description":"IBAN of the beneficiary account. Null on non-IBAN rails."},"swift":{"type":"string","example":"NWBKGB2L","nullable":true,"description":"SWIFT/BIC code of the beneficiary bank. Null when not applicable."},"country":{"type":"string","example":"GB","nullable":true,"description":"Two-letter country code of the beneficiary. Best-effort; null when not modeled."},"currency":{"type":"string","example":"USD","pattern":"^[A-Z]{3}$","nullable":true,"maxLength":3,"minLength":3,"description":"Three-letter currency code of the beneficiary account, following ISO 4217. Null when not modeled on the rail."},"bank_name":{"type":"string","example":"JPMorgan Chase","nullable":true,"description":"Name of the beneficiary bank."},"sort_code":{"type":"string","example":"04-00-04","nullable":true,"description":"Sort code of the beneficiary bank. Best-effort; null on most rails."},"account_holder":{"type":"string","example":"Deel Inc.","nullable":true,"description":"Name of the beneficiary account holder. Null when not modeled on the rail."},"account_number":{"type":"string","example":"1234567890","nullable":true,"description":"Beneficiary account number. Null on IBAN-only rails."}},"description":"Beneficiary bank details the payment is settled to. Null when not yet resolved."},"fee_credits_applied":{"type":"string","example":"50.00","description":"Amount of fee credits applied to the payment statement."}}}}}}},"description":"Successfully retrieved the payment statement."},"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":"unauthorized","description":"Machine-readable error code."},"message":{"type":"string","example":"missing or invalid authentication","description":"Human-readable explanation of the error."}}}}}}}},"description":"The authentication is missing or is 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":"forbidden","description":"Machine-readable error code."},"message":{"type":"string","example":"You don't have permission to access this resource.","description":"Human-readable explanation of the error."}}}}}}}},"description":"The organization is not permitted to use this endpoint."},"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","description":"Machine-readable error code."},"message":{"type":"string","example":"The requested payment statement was not found.","description":"Human-readable explanation of the error."}}}}}}}},"description":"The payment statement does not exist or is not accessible to the caller."},"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":"An unexpected error occurred while retrieving the payment statement."}},"parameters":[{"in":"path","name":"payment_statement_id","schema":{"type":"string"},"example":"34d7Y48Ymu44g66fghN9F","required":true,"description":"Unique identifier of the payment statement to retrieve."}],"description":"Retrieves a payment statement by its id, including its status, amounts, beneficiary details, and the authoritative list of settled invoices.\n\n **Token scopes**: `payment-statements:read`","operationId":"getPaymentStatement-v2026-07-23","security":[{"deelToken":[]},{"oauth2":["payment-statements:read"]}]}},"/forms/eor/create-contract/definitions":{"post":{"path":"/rest/forms/eor/create-contract/definitions","tags":["Forms"],"method":"post","summary":"Fetch multiple EOR Contract forms","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."}],"description":"Retrieves paginated, versioned form definitions for creating EOR contracts across one or more specified countries. Always use the latest effective version from the response and handle pagination; this endpoint is not intended for reading or updating existing contracts.\n\n **Token scopes**: `forms:read`","operationId":"fetchMultipleEorContractForms-v2026-01-01","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."},"security":[{"deelToken":[]},{"oauth2":["forms:read"]}]}},"/ats/locations":{"get":{"path":"/rest/ats/locations","tags":["ATS"],"method":"get","summary":"Retrieve a list of ATS locations","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"}],"description":"Returns a paginated list of all work locations associated with the organization, suitable for use when constructing job postings or filtering by location.\n\n **Token scopes**: `ats:read`","operationId":"retrieveAListOfAtsLocations-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["ats:read"]}]}},"/ats/tags":{"get":{"path":"/rest/ats/tags","tags":["ATS"],"method":"get","summary":"List tags","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)."}],"description":"Returns a paginated list of tags associated with the organization, filterable by label and `tag_group_slug`; when `include_counts` is true, each tag includes a count of associated candidates.\n\n **Token scopes**: `ats:read`","operationId":"listTags-v2026-02-27","security":[{"deelToken":[]},{"oauth2":["ats:read"]}]}},"/lookups/countries":{"get":{"path":"/rest/lookups/countries","tags":["Lookups"],"method":"get","summary":"Retrieve Country List","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":[],"description":"Returns all countries supported by the platform, including each country's visa support status, Employer of Record availability, sub-territories, and classification.","operationId":"retrieveCountryList-v2026-01-01","security":[{"deelToken":[]},{"oauth2":[]}]}},"/gp/workers/{worker_id}/address":{"patch":{"path":"/rest/gp/workers/{worker_id}/address","tags":["Global Payroll"],"method":"patch","summary":"Update address","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."}],"description":"Partially updates the address on record for the GP employee.\n\n **Token scopes**: `people:write`","operationId":"updateAddress-v2026-01-01","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"},"security":[{"deelToken":[]},{"oauth2":["people:write"]}]}},"/contracts/gp":{"post":{"path":"/rest/contracts/gp","tags":["Global Payroll"],"method":"post","summary":"Create a Global Payroll (GP) contract","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":[],"description":"Creates a new Global Payroll contract. Country-specific fields required in the request body vary by country and must be retrieved in advance from `GET /forms/gp/worker-additional-fields/{country_code}`. Returns the created contract including its unique `id`.\n\n **Token scopes**: `contracts:write`","operationId":"createAGlobalPayrollGpContract-v2026-01-01","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."},"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}]}},"/contracts/{contract_id}/cost-centers":{"post":{"path":"/rest/contracts/{contract_id}/cost-centers","tags":["Cost Centers"],"method":"post","summary":"Assign cost centers to an employment contract","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"}],"description":"Assign cost centers to employment by contract id\n\n **Token scopes**: `contracts:write`","operationId":"assignCostCentersToAnEmploymentContract-v2026-01-01","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"},"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}]}},"/time_tracking/shifts/{external_id}":{"delete":{"path":"/rest/time_tracking/shifts/{external_id}","tags":["Time Tracking Shifts"],"method":"delete","summary":"Delete a Shift by External ID","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."}],"description":"Permanently deletes a shift identified by its external_id. Once deleted, the shift cannot be retrieved or modified.\n\n **Token scopes**: `time-tracking:write`","operationId":"deleteShiftExternalId-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["time-tracking:write"]}]},"patch":{"path":"/rest/time_tracking/shifts/{external_id}","tags":["Time Tracking Shifts"],"method":"patch","summary":"Update a shift","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."}],"description":"Applies a partial update to an existing shift, modifying only the fields supplied in the request body. Fields omitted from the request are left unchanged.\n\n **Token scopes**: `time-tracking:write`","operationId":"updateAShift-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["time-tracking:write"]}]},"get":{"path":"/rest/time_tracking/shifts/{external_id}","tags":["Time Tracking Shifts"],"method":"get","summary":"Get shift details","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."}],"description":"Retrieves the details of a specific shift.\n\n **Token scopes**: `time-tracking:read`","operationId":"getShiftDetails-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["time-tracking:read"]}]}},"/webhooks/{id}":{"delete":{"path":"/rest/webhooks/{id}","tags":["Webhooks"],"method":"delete","summary":"Delete a webhook","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":"The result of the delete operation."}}}}},"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":"Internal validation error occurred","description":"Human-readable description of the error."},"error_code":{"type":"string","example":"VALIDATION_ERROR","description":"Machine-readable error code."}}},"description":"The list of errors that caused the request to fail."}}}}},"description":"Bad Request. The request could not be understood or was missing required parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Internal validation error occurred","description":"Human-readable description of the error."},"error_code":{"type":"string","example":"VALIDATION_ERROR","description":"Machine-readable error code."}}},"description":"The list of errors that caused the request to fail."}}}}},"description":"Unauthorized. Authentication credentials were missing 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":"Internal validation error occurred","description":"Human-readable description of the error."},"error_code":{"type":"string","example":"VALIDATION_ERROR","description":"Machine-readable error code."}}},"description":"The list of errors that caused the request to fail."}}}}},"description":"Forbidden. You do not have permission to access this resource."},"404":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Internal validation error occurred","description":"Human-readable description of the error."},"error_code":{"type":"string","example":"VALIDATION_ERROR","description":"Machine-readable error code."}}},"description":"The list of errors that caused the request to fail."}}}}},"description":"Not Found. The requested resource could not be found."},"405":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Internal validation error occurred","description":"Human-readable description of the error."},"error_code":{"type":"string","example":"VALIDATION_ERROR","description":"Machine-readable error code."}}},"description":"The list of errors that caused the request to fail."}}}}},"description":"Method Not Allowed. The HTTP method is not supported for this resource."},"429":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Internal validation error occurred","description":"Human-readable description of the error."},"error_code":{"type":"string","example":"VALIDATION_ERROR","description":"Machine-readable error code."}}},"description":"The list of errors that caused the request to fail."}}}}},"description":"Too Many Requests. The rate limit has been exceeded."},"500":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Internal validation error occurred","description":"Human-readable description of the error."},"error_code":{"type":"string","example":"VALIDATION_ERROR","description":"Machine-readable error code."}}},"description":"The list of errors that caused the request to fail."}}}}},"description":"Internal Server Error. An unexpected error occurred."}},"parameters":[{"in":"path","name":"id","schema":{"type":"string"},"example":"00000000-0000-0000-0000-000000000000","required":true,"description":"Unique identifier of the webhook subscription."}],"description":"Delete a webhook subscription.\n\n **Token scopes**: `webhooks:write`","operationId":"deleteWebhookById-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["webhooks:write"]}]},"get":{"path":"/rest/webhooks/{id}","tags":["Webhooks"],"method":"get","summary":"Retrieve a single webhook","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["name","description","status","url","signing_key","api_version","events","id","created_at","updated_at"],"properties":{"id":{"type":"string","example":"00000000-0000-0000-0000-000000000000","description":"Unique identifier of this resource."},"url":{"type":"string","example":"https://mywebhook.com/listening","description":"Endpoint to receive webhook."},"name":{"type":"string","example":"My webhooks","nullable":true,"description":"Webhook subscription name."},"events":{"type":"array","items":{"type":"string"},"example":["contract.created"],"description":"The list of events to enable for this subscription."},"hidden":{"type":"boolean","example":false,"nullable":true,"description":"Property to hide the webhook from frontend view. Commonly by Deel 3rd party apps"},"status":{"enum":["enabled","disabled"],"type":"string","example":"enabled","description":"Status of webhook."},"internal":{"type":"boolean","example":false,"description":"Indicates whether the webhook is internal to Deel."},"created_at":{"type":"string","example":"2024-01-01T12:00:00Z","description":"Time at which the webhook was created."},"deleted_at":{"type":"string","example":null,"nullable":true,"description":"Time at which the webhook was deleted."},"updated_at":{"type":"string","example":"2024-01-02T12:00:00Z","description":"Time at which the webhook was updated."},"api_version":{"type":"string","default":"v2","example":"v2","nullable":false,"description":"Deel API version. Currently Deel accepts v1 or v2 version."},"description":{"type":"string","example":"My first webhook","nullable":true,"description":"Webhook subscription description."},"signing_key":{"type":"string","example":null,"nullable":true,"description":"The webhook's signing key, used to generate webhook signatures."}},"description":"The webhook subscription."}}}}},"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":"Internal validation error occurred","description":"Human-readable description of the error."},"error_code":{"type":"string","example":"VALIDATION_ERROR","description":"Machine-readable error code."}}},"description":"The list of errors that caused the request to fail."}}}}},"description":"Bad Request. The request could not be understood or was missing required parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Internal validation error occurred","description":"Human-readable description of the error."},"error_code":{"type":"string","example":"VALIDATION_ERROR","description":"Machine-readable error code."}}},"description":"The list of errors that caused the request to fail."}}}}},"description":"Unauthorized. Authentication credentials were missing 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":"Internal validation error occurred","description":"Human-readable description of the error."},"error_code":{"type":"string","example":"VALIDATION_ERROR","description":"Machine-readable error code."}}},"description":"The list of errors that caused the request to fail."}}}}},"description":"Forbidden. You do not have permission to access this resource."},"404":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Internal validation error occurred","description":"Human-readable description of the error."},"error_code":{"type":"string","example":"VALIDATION_ERROR","description":"Machine-readable error code."}}},"description":"The list of errors that caused the request to fail."}}}}},"description":"Not Found. The requested resource could not be found."},"405":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Internal validation error occurred","description":"Human-readable description of the error."},"error_code":{"type":"string","example":"VALIDATION_ERROR","description":"Machine-readable error code."}}},"description":"The list of errors that caused the request to fail."}}}}},"description":"Method Not Allowed. The HTTP method is not supported for this resource."},"429":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Internal validation error occurred","description":"Human-readable description of the error."},"error_code":{"type":"string","example":"VALIDATION_ERROR","description":"Machine-readable error code."}}},"description":"The list of errors that caused the request to fail."}}}}},"description":"Too Many Requests. The rate limit has been exceeded."},"500":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Internal validation error occurred","description":"Human-readable description of the error."},"error_code":{"type":"string","example":"VALIDATION_ERROR","description":"Machine-readable error code."}}},"description":"The list of errors that caused the request to fail."}}}}},"description":"Internal Server Error. An unexpected error occurred."}},"parameters":[{"in":"path","name":"id","schema":{"type":"string"},"example":"00000000-0000-0000-0000-000000000000","required":true,"description":"Unique identifier of the webhook subscription."}],"description":"Retrieve a single webhook subscription.\n\n **Token scopes**: `webhooks:read`","operationId":"getWebhookById-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["webhooks:read"]}]},"patch":{"path":"/rest/webhooks/{id}","tags":["Webhooks"],"method":"patch","summary":"Update webhook status","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["name","description","status","url","signing_key","api_version","events","id","created_at","updated_at"],"properties":{"id":{"type":"string","example":"00000000-0000-0000-0000-000000000000","description":"Unique identifier of this resource."},"url":{"type":"string","example":"https://mywebhook.com/listening","description":"Endpoint to receive webhook."},"name":{"type":"string","example":"My webhooks","nullable":true,"description":"Webhook subscription name."},"events":{"type":"array","items":{"type":"string"},"example":["contract.created"],"description":"The list of events to enable for this subscription."},"hidden":{"type":"boolean","example":false,"nullable":true,"description":"Property to hide the webhook from frontend view. Commonly by Deel 3rd party apps"},"status":{"enum":["enabled","disabled"],"type":"string","example":"enabled","description":"Status of webhook."},"internal":{"type":"boolean","example":false,"description":"Indicates whether the webhook is internal to Deel."},"created_at":{"type":"string","example":"2024-01-01T12:00:00Z","description":"Time at which the webhook was created."},"deleted_at":{"type":"string","example":null,"nullable":true,"description":"Time at which the webhook was deleted."},"updated_at":{"type":"string","example":"2024-01-02T12:00:00Z","description":"Time at which the webhook was updated."},"api_version":{"type":"string","default":"v2","example":"v2","nullable":false,"description":"Deel API version. Currently Deel accepts v1 or v2 version."},"description":{"type":"string","example":"My first webhook","nullable":true,"description":"Webhook subscription description."},"signing_key":{"type":"string","example":null,"nullable":true,"description":"The webhook's signing key, used to generate webhook signatures."}},"description":"The webhook subscription."}}}}},"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":"Internal validation error occurred","description":"Human-readable description of the error."},"error_code":{"type":"string","example":"VALIDATION_ERROR","description":"Machine-readable error code."}}},"description":"The list of errors that caused the request to fail."}}}}},"description":"Bad Request. The request could not be understood or was missing required parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Internal validation error occurred","description":"Human-readable description of the error."},"error_code":{"type":"string","example":"VALIDATION_ERROR","description":"Machine-readable error code."}}},"description":"The list of errors that caused the request to fail."}}}}},"description":"Unauthorized. Authentication credentials were missing 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":"Internal validation error occurred","description":"Human-readable description of the error."},"error_code":{"type":"string","example":"VALIDATION_ERROR","description":"Machine-readable error code."}}},"description":"The list of errors that caused the request to fail."}}}}},"description":"Forbidden. You do not have permission to access this resource."},"404":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Internal validation error occurred","description":"Human-readable description of the error."},"error_code":{"type":"string","example":"VALIDATION_ERROR","description":"Machine-readable error code."}}},"description":"The list of errors that caused the request to fail."}}}}},"description":"Not Found. The requested resource could not be found."},"405":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Internal validation error occurred","description":"Human-readable description of the error."},"error_code":{"type":"string","example":"VALIDATION_ERROR","description":"Machine-readable error code."}}},"description":"The list of errors that caused the request to fail."}}}}},"description":"Method Not Allowed. The HTTP method is not supported for this resource."},"429":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Internal validation error occurred","description":"Human-readable description of the error."},"error_code":{"type":"string","example":"VALIDATION_ERROR","description":"Machine-readable error code."}}},"description":"The list of errors that caused the request to fail."}}}}},"description":"Too Many Requests. The rate limit has been exceeded."},"500":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Internal validation error occurred","description":"Human-readable description of the error."},"error_code":{"type":"string","example":"VALIDATION_ERROR","description":"Machine-readable error code."}}},"description":"The list of errors that caused the request to fail."}}}}},"description":"Internal Server Error. An unexpected error occurred."}},"parameters":[{"in":"path","name":"id","schema":{"type":"string"},"example":"00000000-0000-0000-0000-000000000000","required":true,"description":"Unique identifier of the webhook subscription."}],"description":"Update the status of a webhook subscription.\n\n **Token scopes**: `webhooks:write`","operationId":"updateWebhookById-v2026-01-01","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["status"],"properties":{"status":{"enum":["enabled","disabled"],"type":"string","example":"enabled","description":"Status of webhook."}}}}},"required":true},"security":[{"deelToken":[]},{"oauth2":["webhooks:write"]}]}},"/people/{hris_profile_id}":{"get":{"path":"/rest/people/{hris_profile_id}","tags":["People"],"method":"get","summary":"Retrieve a single person","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."},"additional_details":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","example":"socialSecurity","description":"Field name (the JSONB key from hris_employment_eligibility.eligibility_data, e.g. socialSecurity, idNumber, taxIdentificationNumber)."},"value":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}],"example":"123-12-1234","description":"Raw value associated with the field. May be a string, number, boolean, or null."},"country":{"type":"string","example":"US","pattern":"^[A-Z]{2}$","maxLength":2,"minLength":2,"description":"ISO-2 country code that scopes this entry."}}},"nullable":true,"description":"Country-scoped additional employment data points (national IDs, tax IDs, etc.) sourced from hris_employment_eligibility.eligibility_data. Returned only when the caller's organization has the feature flag enabled and the request is not redacting PII.","x-sensitive-pii":true},"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."}],"description":"Returns detailed information about a single person in the organization by their public ID. Returns personal details, employment information, organizational structure, person status, direct manager, custom fields, and related data.\n\n **Token scopes**: `people:read`","operationId":"retrieveASinglePerson-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["people:read"]}]}},"/equities-tokens/tax-events":{"post":{"path":"/rest/equities-tokens/tax-events","tags":["Equity Tokens"],"method":"post","summary":"Create equity or token tax event","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":[],"description":"Submits an equity or token tax event for an EOR worker enrolled in Equity & Token Services.\n\n **Token scopes**: `equities:write`","operationId":"createEquityOrTokenTaxEvent-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["equities:write"]}]}},"/knowledge-hub/country-guide/{country_code}":{"get":{"path":"/rest/knowledge-hub/country-guide/{country_code}","tags":["Knowledge Hub"],"method":"get","summary":"Get Knowledge Hub Country Guides by Country Code","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"}],"description":"Returns country guides segmented by audience and contract type for the specified `country_code`.\n\n **Token scopes**: `knowledge-hub:read`","operationId":"getKnowledgeHubCountryGuidesByCountryCode-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["knowledge-hub:read"]}]}},"/payments/statements":{"post":{"path":"/rest/payments/statements","tags":["Payments"],"method":"post","summary":"Create and pay a payment statement","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","status","payment_currency","amount","amount_due","invoices"],"properties":{"id":{"type":"string","example":"34d7Y48Ymu44g66fghN9F","description":"Unique identifier of the payment statement."},"amount":{"type":"string","example":"1500.00","nullable":true,"description":"Total amount of the payment statement before any balance is applied. Null until the amount is set."},"status":{"enum":["PROCESSING","PAID","CANCELLED","FAILED"],"type":"string","example":"PROCESSING","description":"Normalized status of the payment statement. 'PROCESSING' covers any in-flight state (pending, preprocessing, awaiting payment); 'paid', 'cancelled' and 'failed' are terminal."},"paid_at":{"type":"string","format":"date-time","example":"2022-05-24T09:38:46.235Z","nullable":true,"description":"Date and time when the client paid, in ISO-8601 format. For bank transfers this can be set while the status is still processing. Null until payment is captured."},"invoices":{"type":"array","items":{"type":"object","required":["id","amount","currency"],"properties":{"id":{"type":"string","example":"34d7Y48Ymu44g66fghN9F","description":"Unique identifier of the invoice."},"label":{"type":"string","example":"INV-2024-3","description":"Descriptive label for the invoice."},"amount":{"type":"string","example":"500.00","description":"Amount of the invoice."},"currency":{"type":"string","example":"USD","pattern":"^[A-Z]{3}$","maxLength":3,"minLength":3,"description":"Three-letter currency code of the invoice, following ISO 4217."},"is_auto_added":{"type":"boolean","example":false,"description":"True when Deel automatically attached this invoice (e.g. an overdue or required fee invoice) beyond the requested set."}}},"description":"Authoritative superset of invoices settled by this payment statement. It always contains the requested invoices and may include additional overdue or required fee invoices that Deel attaches automatically."},"reference":{"type":"string","example":"DEEL-REF-0001","nullable":true,"description":"Reference to use when reconciling this payment statement against incoming wires."},"amount_due":{"type":"string","example":"1200.00","nullable":true,"description":"Amount still due after any applied balance and fee credits. Null until the amount is set."},"created_at":{"type":"string","format":"date-time","example":"2022-05-24T09:38:46.235Z","description":"Date and time when the payment statement was created, in ISO-8601 format."},"payment_method":{"type":"string","example":"bank_transfer","nullable":true,"description":"Method used to settle the payment statement. Null until a payment method is attached."},"balance_applied":{"type":"string","example":"300.00","description":"Amount of client balance applied to the payment statement."},"payment_currency":{"type":"string","example":"USD","pattern":"^[A-Z]{3}$","nullable":true,"maxLength":3,"minLength":3,"description":"Three-letter currency code of the payment statement, following ISO 4217. Null until a payment method is attached."},"beneficiary_details":{"type":"object","nullable":true,"properties":{"iban":{"type":"string","example":"GB29NWBK60161331926819","nullable":true,"description":"IBAN of the beneficiary account. Null on non-IBAN rails."},"swift":{"type":"string","example":"NWBKGB2L","nullable":true,"description":"SWIFT/BIC code of the beneficiary bank. Null when not applicable."},"country":{"type":"string","example":"GB","nullable":true,"description":"Two-letter country code of the beneficiary. Best-effort; null when not modeled."},"currency":{"type":"string","example":"USD","pattern":"^[A-Z]{3}$","nullable":true,"maxLength":3,"minLength":3,"description":"Three-letter currency code of the beneficiary account, following ISO 4217. Null when not modeled on the rail."},"bank_name":{"type":"string","example":"JPMorgan Chase","nullable":true,"description":"Name of the beneficiary bank."},"sort_code":{"type":"string","example":"04-00-04","nullable":true,"description":"Sort code of the beneficiary bank. Best-effort; null on most rails."},"account_holder":{"type":"string","example":"Deel Inc.","nullable":true,"description":"Name of the beneficiary account holder. Null when not modeled on the rail."},"account_number":{"type":"string","example":"1234567890","nullable":true,"description":"Beneficiary account number. Null on IBAN-only rails."}},"description":"Beneficiary bank details the payment is settled to. Null when not yet resolved."},"fee_credits_applied":{"type":"string","example":"50.00","description":"Amount of fee credits applied to the payment statement."}}}}}}},"description":"Successfully created and initiated payment of the statement."},"400":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"currency_not_supported","description":"Machine-readable error code."},"message":{"type":"string","example":"the country (US) does not support the currency (EUR)","description":"Human-readable explanation of the error."}}}}}}}},"description":"Bad request. Codes: too_many_invoices (invoice_ids exceeds the maximum of 100), currency_not_supported (the requested country does not support the requested currency for bank transfer), invalid_parameter (request validation failed), INVALID_IDEMPOTENCY_KEY (the Idempotency-Key header is missing, empty, or longer than 64 characters)."},"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","description":"Machine-readable error code."},"message":{"type":"string","example":"missing or invalid authentication","description":"Human-readable explanation of the error."}}}}}}}},"description":"The authentication is missing or is 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":"forbidden","description":"Machine-readable error code."},"message":{"type":"string","example":"You don't have permission to access this resource.","description":"Human-readable explanation of the error."}}}}}}}},"description":"The organization is not permitted to use this endpoint."},"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","description":"Machine-readable error code."},"message":{"type":"string","example":"The requested resource was not found.","description":"Human-readable explanation of the error."}}}}}}}},"description":"One or more referenced resources could not be found."},"409":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"invoices_not_payable","description":"Machine-readable error code."},"message":{"type":"string","example":"Some of the requested invoices are not payable.","description":"Human-readable explanation of the error."}}}}}}}},"description":"Conflict. Codes: invoices_not_payable (some invoices are already in a statement or not pending), invoices_locked (invoices are in an active payment process), no_payable_invoices (none of the invoices are payable), cor_preparation_failed (shielded/contract-of-record preparation failed), idempotency_conflict (the Idempotency-Key was reused with a different request body), multiple_statements (the invoices resolve to more than one statement — submit each group separately), payment_failed (the statement was created but the synchronous payment could not be completed)."},"429":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"too_many_requests","description":"Machine-readable error code."},"message":{"type":"string","example":"A request is already in progress for this idempotency key.","description":"Human-readable explanation of the error."}}}}}}}},"description":"Too many requests. Another request with the same Idempotency-Key is currently in progress."},"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":"An unexpected error occurred while creating and paying the payment statement."}},"parameters":[{"in":"header","name":"Idempotency-Key","schema":{"type":"string","maxLength":64},"example":"a1b2c3d4-e5f6-7890-abcd-ef1234567890","required":true,"description":"Unique key that makes the request idempotent. Replaying the same key returns the original response without creating a duplicate statement. Reusing a key with a different body returns 409 idempotency_conflict."}],"description":"Creates a payment statement for the given invoices, attaches a bank transfer method for the requested country and currency, optionally applies available balance, and pays it in a single call. Returns the composed statement once payment has been initiated.\n\n **Token scopes**: `payment-statements:write`","operationId":"createPaymentStatement-v2026-07-23","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["invoice_ids","payment"],"properties":{"payment":{"type":"object","required":["country","currency"],"properties":{"country":{"type":"string","example":"GB","pattern":"^[A-Z]{2}$","maxLength":2,"minLength":2,"description":"Two-letter country code for the bank transfer method, following ISO 3166-1 alpha-2."},"currency":{"type":"string","example":"GBP","pattern":"^[A-Z]{3}$","maxLength":3,"minLength":3,"description":"Three-letter currency code of the payment statement, following ISO 4217. Must match the currency of the created statement."}},"description":"Settlement details for the payment.","additionalProperties":false},"invoice_ids":{"type":"array","items":{"type":"string","example":"34d7Y48Ymu44g66fghN9F"},"example":["34d7Y48Ymu44g66fghN9F","BHF2gkMEMT8D9UQDmty66"],"maxItems":100,"minItems":1,"description":"Identifiers of the invoices to include in the payment statement. A maximum of 100 invoices can be paid in one request."}},"additionalProperties":false}}}}},"required":true,"description":"Invoices and settlement options for the payment statement."},"security":[{"deelToken":[]},{"oauth2":["payment-statements:write"]}]}},"/gp/workers/{id}/payslips":{"get":{"path":"/rest/gp/workers/{id}/payslips","tags":["Global Payroll"],"method":"get","summary":"Retrieve employee payslips","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."}],"description":"Returns the payslip history for a GP employee, including each payslip's date range and status. Restricted to GP contract types. Each payslip in the response includes an `id` required by the payslip download endpoint.\n\n **Token scopes**: `payslips:read`","operationId":"retrieveEmployeePayslips-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["payslips:read"]}]}},"/eor/contract/{oid}/cancel":{"post":{"path":"/rest/eor/contract/{oid}/cancel","tags":["EOR"],"method":"post","summary":"Cancel EOR Contract","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"}],"description":"Cancels the EOR contract identified by oid. The contract must be in an active or pending state to be eligible for cancellation.\n\n **Token scopes**: `contracts:write`","operationId":"cancelEorContract-v2026-01-01","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"},"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}]}},"/eor/contracts/{contract_id}/amendments":{"get":{"path":"/rest/eor/contracts/{contract_id}/amendments","tags":["EOR"],"method":"get","summary":"List all amendments for an EOR contract","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."}],"description":"Retrieves all amendments associated with a given EOR contract, including each amendment's type, effective date, and current status, providing a full history of changes applied to the contract.\n\n **Token scopes**: `contracts:read`","operationId":"listAllAmendmentsForAnEorContract-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]},"post":{"path":"/rest/eor/contracts/{contract_id}/amendments","tags":["EOR"],"method":"post","summary":"Create an EOR contract amendment","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":{"type":"string","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"}],"description":"Creates a new amendment for an existing EOR contract, supporting changes to terms such as salary, currency, effective date, and other contract conditions. All requests are validated against applicable business and regulatory rules before the amendment is accepted.\n\n **Token scopes**: `contracts:write`","operationId":"createAnEorContractAmendment-v2026-01-01","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."}}}}}}}},"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}]}},"/eor/additional-costs/{country}":{"get":{"path":"/rest/eor/additional-costs/{country}","tags":["EOR"],"method":"get","summary":"Get EOR Additional Costs","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."}],"description":"Returns the allowances and non-statutory additional costs available for inclusion in an EOR contract quote for the specified country.\n\n **Token scopes**: `contracts:read`","operationId":"getEorAdditionalCosts-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]}},"/contracts/{contract_id}/invite":{"get":{"path":"/rest/contracts/{contract_id}/invite","tags":["Contracts"],"method":"get","summary":"Get worker invite link","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."}],"description":"Retrieves the signing invitation link generated for the worker on a contract, with optional localization via the `locale` parameter.\n\n **Token scopes**: `contracts:read`","operationId":"getWorkerInviteLink-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]}},"/contracts/{contract_id}/custom_fields":{"get":{"path":"/rest/contracts/{contract_id}/custom_fields","tags":["Custom Fields"],"method":"get","summary":"Retrieve custom fields for a contract","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"}],"description":"Returns all custom fields associated with the specified contract.\n\n **Token scopes**: `contracts:read`","operationId":"retrieveCustomFieldsForAContract-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]},"put":{"path":"/rest/contracts/{contract_id}/custom_fields","tags":["Custom Fields"],"method":"put","summary":"Update custom field value","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."}],"description":"Creates or updates custom field values on the specified contract. This is a full replacement operation — any custom field values not included in the request body will be removed.\n\n **Token scopes**: `contracts:write`","operationId":"UpsertCustomFieldValueFromContracts-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}]}},"/benefits/legal-entities/{legal_entity_id}/contracts/{contract_id}/plans/{plan_id}":{"get":{"path":"/rest/benefits/legal-entities/{legal_entity_id}/contracts/{contract_id}/plans/{plan_id}","tags":["Enrollments"],"method":"get","summary":"Get enrollment settings from an employee in a 401k plan","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"}],"description":"Returns the current enrollment settings for an employee, within a specific 401k plan.\n\n **Token scopes**: `benefits:read`","operationId":"getEnrollmentSettingsFromAnEmployeeInA401KPlan-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["benefits:read"]}]}},"/eor/workers/contracts/{contract_id}/additional-information":{"post":{"path":"/rest/eor/workers/contracts/{contract_id}/additional-information","tags":["EOR"],"method":"post","summary":"Add additional information","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."}],"description":"Adds supplemental information fields to an EOR employee's contract record.\n\n **Token scopes**: `worker:write`","operationId":"addAdditionalInformation-v2026-01-01","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."},"security":[{"deelToken":[]},{"oauth2":["worker:write"]}]},"patch":{"path":"/rest/eor/workers/contracts/{contract_id}/additional-information","tags":["EOR"],"method":"patch","summary":"Update additional information","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."}],"description":"Partially updates the additional information on an EOR employee agreement. This operation is only permitted when the contract status is `new`, `under_review`, or `waiting_for_employee_contract`; invoking it with any other status will result in an error.\n\n **Token scopes**: `worker:write`","operationId":"updateAdditionalInformation-v2026-01-01","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."},"security":[{"deelToken":[]},{"oauth2":["worker:write"]}]}},"/groups/{id}":{"patch":{"path":"/rest/groups/{id}","tags":["Groups"],"method":"patch","summary":"Edit a group","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","example":"9e12eb6b-90ea-4543-8ff1-7789e7b8db7e","description":"The unique identifier of the updated group."},"name":{"type":"string","example":"Walmart","description":"The updated name of the 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","example":{"showInReport":"true"},"nullable":true,"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,"description":"Unique identifier of the group to be edited."}],"description":"Applies a partial update to an existing group's details. Only fields included in the request body are modified; omitted fields retain their current values.\n\n **Token scopes**: `groups:read`, `groups:write`","operationId":"editGroup-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["groups:read","groups:write"]}]},"delete":{"path":"/rest/groups/{id}","tags":["Groups"],"method":"delete","summary":"Delete a group","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","example":"2024-03-07T11:42:22.342Z","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,"description":"Unique identifier of the group to be archived."}],"description":"Soft-deletes a group by archiving it. The group is not permanently removed and the response includes the `archived_at` timestamp reflecting when the archive occurred.\n\n **Token scopes**: `groups:write`","operationId":"deleteGroup-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["groups:write"]}]}},"/eor/workers/contracts/{contract_id}/project-assignment/acknowledge":{"post":{"path":"/rest/eor/workers/contracts/{contract_id}/project-assignment/acknowledge","tags":["EOR"],"method":"post","summary":"Acknowledge assignment agreement","responses":{"204":{"description":"Acknowledged successfully."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","example":"invalid_parameter","description":"Machine-readable error code"},"message":{"type":"string","example":"HrisProfile not found for the given contract.","description":"A description of the returned error"}}}}},"description":"Invalid input or HrisProfile not found."},"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":"Contract not found.","description":"A description of the returned error"}}}}},"description":"Contract not found."},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string","format":"uuid"},"example":"oz5eyKzb","required":true,"description":"The unique identifier of the EOR contract."}],"description":"Employee acknowledges their assignment agreement as part of project initiation. Ensure all terms in the agreement are reviewed before acknowledgment.\n\n **Token scopes**: `worker:write`","operationId":"acknowledgeAssignmentAgreement-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["worker:write"]}]}},"/eor/job-scopes":{"get":{"path":"/rest/eor/job-scopes","tags":["EOR"],"method":"get","summary":"List of job scope templates for EOR contracts","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"}],"description":"Returns predefined and custom job scope templates available for EOR contracts, optionally filtered to templates belonging to a specific team.\n\n **Token scopes**: `organizations:read`","operationId":"listOfJobScopeTemplatesForEorContracts-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["organizations:read"]}]}},"/contracts/{contract_id}/terminations":{"delete":{"path":"/rest/contracts/{contract_id}/terminations","tags":["Terminations"],"method":"delete","summary":"Delete Contract Termination Request","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"}],"description":"Cancels a pending termination request for the specified contract, reverting the contract to its pre-termination state. Only termination requests that have not yet reached their effective date can be cancelled.\n\n **Token scopes**: `contracts:write`","operationId":"deleteContractTerminationRequest-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["contracts:write"]}]},"post":{"path":"/rest/contracts/{contract_id}/terminations","tags":["Terminations"],"method":"post","summary":"Terminate contract","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":{"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/completion_date","description":"Name of the field causing the error (for validation issues)"},"message":{"type":"string","example":"completion_date is required when terminate_now is false or not provided","description":"Human-readable explanation of the error"}}}}}}}},"description":"Validation or business-rule failure. Possible codes: invalid_parameter (Joi schema violation, e.g. missing completion_date when terminate_now is false); contract_not_active (contract is not in an active state and cannot be terminated); invalid_completion_date (completion_date is in the past or otherwise invalid); invalid_termination_reason (termination_reason_id does not exist or is not applicable)."},"401":{"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":"Authentication required","description":"Human-readable explanation of the error"}}}}}}}},"description":"Missing or invalid bearer token."},"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":"Permission denied: contracts.terminate required","description":"Human-readable explanation of the error"}}}}}}}},"description":"Caller lacks permission to terminate this contract. Either the caller does not have the contracts.terminate permission, is not a CLIENT profile, or does not have access to the specified contract."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"contract_not_found","description":"Machine-readable error code"},"message":{"type":"string","example":"Contract not found","description":"Human-readable explanation of the error"}}}}}}}},"description":"No active contract was found for the provided contract_id, or the caller does not have access to it."},"409":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"termination_already_requested","description":"Machine-readable error code"},"field":{"type":"string","example":"/data/contract_id","description":"Name of the field causing the conflict"},"message":{"type":"string","example":"A termination request already exists for this contract","description":"Human-readable explanation of the error"}}}}}}}},"description":"A termination request already exists for this contract and cannot be duplicated."},"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":"Unhandled server error or downstream service failure during contract termination. The transaction is rolled back and no termination is persisted."}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"eq2ykjw","required":true,"description":"The unique identifier of the contractor contract"}],"description":"Initiates termination of an active contract, recording the termination reason, effective date, and any final payment details. Can only be called on contracts that are currently active.\n\n **Token scopes**: `contracts:write`","operationId":"terminateContract-v2026-01-01","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 /contracts/termination-reasons to retrieve the list of available reasons."},"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},"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}]}},"/on-demand-payroll/contract/{contract_id}/entries":{"get":{"path":"/rest/on-demand-payroll/contract/{contract_id}/entries","tags":["On-Demand Payroll"],"method":"get","summary":"List On-Demand Payroll entries","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["contract_id","currency","is_odp_enabled","has_pending_items","entries"],"properties":{"team":{"type":"object","nullable":true,"properties":{"id":{"type":"string","example":"team_abc123","description":"Public ID of the team."},"name":{"type":"string","example":"Engineering","description":"Name of the team."}},"description":"Team the contract belongs to."},"entries":{"type":"array","items":{"type":"object","required":["amount","currency","title","type","uom","metadata"],"properties":{"uom":{"enum":["CURRENCY"],"type":"string","example":"CURRENCY","description":"Unit of measure of the entry amount. Always CURRENCY."},"type":{"type":"string","example":"BONUS","description":"The adjustment type of the entry."},"title":{"type":"string","example":"Q1 performance bonus","description":"Short human-readable title of the entry."},"amount":{"type":"number","example":150.5,"description":"The entry amount in the contract currency.","x-sensitive-employment":true},"currency":{"type":"string","example":"USD","description":"ISO 4217 currency code of the entry amount."},"metadata":{"type":"object","properties":{"type":{"type":"string","example":"BONUS","description":"The adjustment type of the entry."},"public_id":{"type":"string","example":"adj_abc123","description":"Public ID of the underlying adjustment."},"reviewed_at":{"type":"string","format":"date-time","example":"2026-01-06T10:00:00Z","nullable":true,"description":"Timestamp of the last review of the entry."},"vendor_name":{"type":"string","example":"Acme Inc.","nullable":true,"description":"Vendor associated with the entry, when applicable.","x-sensitive-pii":true},"category_label":{"type":"string","example":"Bonus","nullable":true,"description":"Label of the adjustment category."},"submission_date":{"type":"string","format":"date-time","example":"2026-01-04T09:00:00Z","nullable":true,"description":"Timestamp when the entry was submitted."},"category_group_label":{"type":"string","example":"Compensation","nullable":true,"description":"Label of the adjustment category group."}},"description":"Additional, non-contractual metadata about the entry."},"submitter":{"type":"object","nullable":true,"properties":{"id":{"type":"string","example":"p_abc123","nullable":true,"description":"Public ID of the submitter, when available."},"name":{"type":"string","example":"John Doe","description":"Full name of the submitter.","x-sensitive-pii":true}},"description":"The person who submitted the entry."},"description":{"type":"string","example":"Bonus awarded for Q1 results","nullable":true,"description":"Free-text description of the entry."},"date_of_entry":{"type":"string","format":"date","example":"2026-01-05","nullable":true,"description":"Date the entry applies to (YYYY-MM-DD). Null when not available for the entry."}},"description":"An On-Demand Payroll entry (an adjustment attached to the ODP)."},"description":"Eligible entries for the contract."},"currency":{"type":"string","example":"EUR","description":"ISO 4217 currency code of the contract."},"job_title":{"type":"string","example":"Software Engineer","nullable":true,"description":"Job title of the employee."},"odp_limit":{"type":"number","example":5000,"description":"Maximum total ODP amount allowed, in the contract currency."},"contract_id":{"type":"string","example":"con_abc123","description":"Public ID (oid) of the contract."},"ongoing_odp":{"type":"object","nullable":true,"properties":{"status":{"enum":["AWAITING_CLIENT_APPROVAL","AWAITING_CLIENT_SUBMISSION","AWAITING_ADJUSTMENTS_TO_BE_READY","AWAITING_DEEL_PROCESSING","DEEL_PROCESSING","REJECTED","CANCELLED","PARTIALLY_APPROVED","APPROVED"],"type":"string","example":"DEEL_PROCESSING","description":"Status of the ongoing ODP."}},"description":"The ongoing ODP for the contract, if one exists."},"employee_name":{"type":"string","example":"Bob Smith","description":"Full name of the employee.","x-sensitive-pii":true},"is_odp_enabled":{"type":"boolean","example":true,"description":"Whether On-Demand Payroll is enabled for the contract."},"has_pending_items":{"type":"boolean","example":false,"description":"Whether the contract has entries in a pending state."},"odp_warning_limit":{"type":"number","example":3000,"description":"Amount above which the client is warned (3x the salary per cycle).","x-sensitive-employment":true},"salary_advance_limit":{"type":"number","example":2500,"description":"Maximum salary advance allowed, in the contract currency.","x-sensitive-employment":true}},"description":"A contract and its entries eligible for On-Demand Payroll."},"description":"List of contracts with their eligible entries."}}}}},"description":"Eligible entries grouped by contract."},"400":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"ODP_NOT_FOUND","description":"Machine-readable error code."},"field":{"type":"string","example":"existing_entry_ids","description":"Field that caused the error, when applicable."},"message":{"type":"string","example":"No active On Demand Payroll for this contract","description":"Human-readable error message."}}},"description":"List of errors."}}}}},"description":"Invalid request."},"401":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"ODP_NOT_FOUND","description":"Machine-readable error code."},"field":{"type":"string","example":"existing_entry_ids","description":"Field that caused the error, when applicable."},"message":{"type":"string","example":"No active On Demand Payroll for this contract","description":"Human-readable error message."}}},"description":"List of errors."}}}}},"description":"Authentication is required or has failed."},"403":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"ODP_NOT_FOUND","description":"Machine-readable error code."},"field":{"type":"string","example":"existing_entry_ids","description":"Field that caused the error, when applicable."},"message":{"type":"string","example":"No active On Demand Payroll for this contract","description":"Human-readable error message."}}},"description":"List of errors."}}}}},"description":"The caller is not allowed to perform this action."},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"con_abc123","required":true,"description":"Public ID (oid) of the contract."}],"description":"Lists the adjustments eligible for On-Demand Payroll for the given contract, with the contract eligibility details and limits.\n\n **Token scopes**: `on-demand-payroll:read`","operationId":"listOnDemandPayrollEntries-v2026-07-16","security":[{"deelToken":[]},{"oauth2":["on-demand-payroll:read"]}]}},"/eor/{oid}/terminations/regular":{"post":{"path":"/rest/eor/{oid}/terminations/regular","tags":["EOR"],"method":"post","summary":"Termination Request","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"}],"description":"Submits a termination request for an EOR contract on behalf of a team member. Callers must hold group admin or people manager permissions.\n\n **Token scopes**: `contracts:read`, `contracts:write`","operationId":"eorTerminationRequest-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["contracts:read","contracts:write"]}]}},"/onboarding/tracker":{"get":{"path":"/rest/onboarding/tracker","tags":["Onboarding"],"method":"get","summary":"List onboarding employees","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","nullable":true,"description":"The unique identifier for the contract. Null for a person without a contract"},"effective_date":{"type":"string","format":"date","example":"2021-07-14","nullable":true,"description":"The effective date of the contract. Null for a person without a 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","nullable":true,"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","nullable":true,"description":"Date and time in ISO 8601 format (e.g., 2021-07-14T22:00:00+00:00)"},{"type":"string","example":"","nullable":true,"maxLength":0,"description":"Empty string (or null) when no reference date is available"}],"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","nullable":true,"description":"Type of the reference date (e.g., EFFECTIVE_DATE)"},"reference_date_timezone":{"type":"string","example":"Europe/Brussels","nullable":true,"description":"Timezone of the reference date"},"is_action_required_from_client":{"type":"boolean","example":false,"nullable":true,"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"}],"description":"Returns a list of workers currently going through onboarding, including contract details, HRIS profile information, current onboarding status, and onboarding due dates. Supports cursor-based pagination.\n\n **Token scopes**: `contracts:read`, `people:read`","operationId":"listOnboardingEmployees-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["contracts:read","people:read"]}]}},"/lookups/time-off-types":{"get":{"path":"/rest/lookups/time-off-types","tags":["Lookups"],"method":"get","summary":"Retrieve Time-Off Types","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":[],"description":"Returns the predefined time-off types available for registration on the platform.","operationId":"retrieveTimeOffTypes-v2026-01-01","security":[{"deelToken":[]},{"oauth2":[]}]}},"/contracts/{contract_id}/timesheets/presets":{"get":{"path":"/rest/contracts/{contract_id}/timesheets/presets","tags":["Projects"],"method":"get","summary":"Get Hourly Report Presets","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"}],"description":"Returns saved hourly report presets for the specified contract, optionally scoped to a work statement. Results support cursor-based pagination and can be ordered by title or creation date.\n\n **Token scopes**: `timesheets:read`","operationId":"getHourlyReportPresets-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["timesheets:read"]}]}},"/refund-statements/{refund_statement_id}/breakdown":{"get":{"path":"/rest/refund-statements/{refund_statement_id}/breakdown","tags":["Refund Statements"],"method":"get","summary":"Retrieve refund statement credit-note breakdown","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data","nextCursor","hasMore"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","label","amount","currency"],"properties":{"id":{"type":"string","example":"inv_cn_01jq_example_zx81","description":"Public id of the credit note (or credit statement line) invoice."},"label":{"type":"string","example":"CN-2026-00042","description":"Display label (sequencing label or description fallback)."},"amount":{"type":"string","example":"-150.00","description":"Credit amount; typically negative for credits."},"currency":{"type":"string","example":"USD","description":"ISO 4217 currency code."},"contract_id":{"type":"string","example":"cntr_01jq_example_ab12","nullable":true,"description":"Contract `oid` when the credit note is tied to a contract; otherwise null.","x-sensitive-employment":true},"original_invoice_id":{"type":"string","example":"inv_01jq_example_orig","nullable":true,"description":"Public id of the invoice being credited when applicable; `null` when not linked."}},"additionalProperties":false},"description":"Credit note / credit statement lines linked to this refund statement."},"hasMore":{"type":"boolean","example":false,"description":"Reserved for pagination; currently always false (full breakdown returned in `data`)."},"nextCursor":{"type":"string","example":null,"nullable":true,"description":"Reserved for cursor pagination; currently always null for this endpoint."}},"additionalProperties":false},"examples":{"empty":{"value":{"data":[],"hasMore":false,"nextCursor":null},"summary":"No child credit notes"},"withRows":{"value":{"data":[{"id":"inv_cn_01jq_example_zx81","label":"CN-2026-00042","amount":"-150.00","currency":"USD","contract_id":"cntr_01jq_example_ab12","original_invoice_id":"inv_01jq_example_orig"},{"id":"inv_cn_01jq_example_noc","label":"Standalone credit","amount":"-25.50","currency":"USD","original_invoice_id":null}],"hasMore":false,"nextCursor":null},"summary":"Credit notes with and without contract"}}}},"description":"Breakdown succeeded. `data` contains zero or more rows (empty array when there are no child credit notes)."},"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."},"message":{"type":"string","example":"Organization is required","description":"Human-readable error message."}},"additionalProperties":false},"minItems":1}}},"examples":{"validation":{"value":{"errors":[{"code":"VALIDATION_ERROR","field":"refund_statement_id","details":{"path":["refund_statement_id"],"type":"any.required"},"message":"\"refund_statement_id\" must be a valid identifier"}]},"summary":"Invalid path or query"},"organizationRequired":{"value":{"errors":[{"code":"ORGANIZATION_REQUIRED","message":"Organization is required"}]},"summary":"Organization missing in context"}}}},"description":"Bad request: missing organization context, or request validation failed (e.g. invalid path id format, invalid query types)."},"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","description":"Machine-readable error code."},"message":{"type":"string","example":"Authentication required","description":"Human-readable error message."}},"additionalProperties":false},"minItems":1}}},"examples":{"invalidToken":{"value":{"errors":[{"code":"UNAUTHORIZED","message":"Invalid or expired access token"}]},"summary":"Invalid or expired credentials"},"notAuthenticated":{"value":{"errors":[{"code":"UNAUTHORIZED","message":"Authentication required"}]},"summary":"Not authenticated"}}}},"description":"Unauthorized: caller is not authenticated (e.g. missing or invalid session or bearer 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","description":"Machine-readable error code for a forbidden request."},"message":{"type":"string","example":"Access denied","description":"The reason the operation is not allowed for this caller or organization."}},"additionalProperties":false},"minItems":1}}},"examples":{"accessDenied":{"value":{"errors":[{"code":"FORBIDDEN","message":"Access denied"}]},"summary":"Access denied"},"featureDisabled":{"value":{"errors":[{"code":"FEATURE_DISABLED","message":"Refund statements breakdown API is not enabled for this organization"}]},"summary":"Feature disabled"}}}},"description":"Forbidden (role or feature flag)."},"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","description":"Machine-readable not-found error code."},"message":{"type":"string","example":"Refund statement not found or not accessible","description":"Why the refund statement could not be returned."}},"additionalProperties":false},"minItems":1}}},"examples":{"notRefundStatement":{"value":{"errors":[{"code":"NOT_FOUND","field":"refund_statement_id","message":"Refund statement not found or not accessible"}]},"summary":"Not a refund statement"},"notFoundOrNoPermission":{"value":{"errors":[{"code":"NOT_FOUND","message":"Item does not exist, or you do not have permissions to view it"}]},"summary":"Not found or no permission"}}}},"description":"Statement not found or not accessible."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"INTERNAL_ERROR","description":"Machine-readable code when present."},"message":{"type":"string","example":"Something went wrong - our team is aware and working on it!","description":"Human-readable message when present."}},"additionalProperties":true},"description":"Structured errors when the runtime could serialize them; may be absent or empty."}},"description":"No guaranteed error shape for unhandled failures; body may omit structured errors or differ by gateway.","additionalProperties":true},"example":{"errors":[{"code":"INTERNAL_ERROR","message":"Something went wrong - our team is aware and working on it!"}]}}},"description":"Unexpected server failure."}},"parameters":[{"in":"path","name":"refund_statement_id","schema":{"type":"string","minLength":1},"example":"inv_refund_stmt_01jq_example_a9fd","required":true,"description":"Public id (`invoice_id`) of the refund statement root invoice."}],"description":"Use this endpoint to retrieve a detailed breakdown of credit notes associated with a specific refund statement. It provides comprehensive details for financial tracking and reconciliation.\n\n **Token scopes**: `accounting:read`","operationId":"retrieveRefundStatementCreditNoteBreakdown-v2026-05-11","security":[{"deelToken":[]},{"oauth2":["accounting:read"]}]}},"/eor/contracts/{contract_id}/documents/{type}":{"get":{"path":"/rest/eor/contracts/{contract_id}/documents/{type}","tags":["EOR"],"method":"get","summary":"Fetch EOR contract document","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."}],"description":"Returns a specific document as a PDF for a given EOR contract. Currently only the `FRAMEWORK_AGREEMENT` document type is supported.\n\n **Token scopes**: `contracts:read`","operationId":"fetchEorContractDocument-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]}},"/eor/contracts/{contract_id}/offboarding/review-employee-sign-offs":{"post":{"path":"/rest/eor/contracts/{contract_id}/offboarding/review-employee-sign-offs","tags":["EOR"],"method":"post","summary":"Submit employee sign-off review for offboarding documents","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."}],"description":"Records an employee's sign-off decision—approval or change request with feedback—for the offboarding document set of a contract.\n\n **Token scopes**: `worker:write`","operationId":"submitEmployeeSignOffReviewForOffboardingDocuments-v2026-01-01","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"},"security":[{"deelToken":[]},{"oauth2":["worker:write"]}]}},"/eor/contracts/{contract_id}/offboarding/termination":{"post":{"path":"/rest/eor/contracts/{contract_id}/offboarding/termination","tags":["EOR"],"method":"post","summary":"Initiate EOR contract termination request","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."}],"description":"Initiates a termination request for an EOR contract, beginning the offboarding process for the employee associated with the specified contract_id. The response captures the desired and confirmed end dates along with any termination documents generated at the time of the request.\n\n **Token scopes**: `contracts:write`","operationId":"initiateEorContractTerminationRequest-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}]}},"/v2/time_tracking/shifts":{"post":{"path":"/rest/v2/time_tracking/shifts","tags":["Time Tracking Shifts"],"method":"post","summary":"Create shifts","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":[],"description":"Creates multiple time tracking shifts for a contract, supporting both regular shift submissions and corrections that adjust hours for previously processed shifts.\n\n **Token scopes**: `time-tracking:write`","operationId":"createShifts-v2026-01-01","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."},"security":[{"deelToken":[]},{"oauth2":["time-tracking:write"]}]},"get":{"path":"/rest/v2/time_tracking/shifts","tags":["Time Tracking Shifts"],"method":"get","summary":"List of shifts","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."}],"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\n **Token scopes**: `time-tracking:read`","operationId":"listOfShifts-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["time-tracking:read"]}]}},"/gp/reports/{id}/gross_to_net/csv":{"get":{"path":"/rest/gp/reports/{id}/gross_to_net/csv","tags":["Global Payroll"],"method":"get","summary":"Download gross to net report","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."}],"description":"Downloads the gross-to-net calculation report for the specified payroll report as a CSV file, with optional currency conversion applied.\n\n **Token scopes**: `global-payroll:read`","operationId":"downloadGrossToNetReport-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["global-payroll:read"]}]}},"/lookups/job-titles":{"get":{"path":"/rest/lookups/job-titles","tags":["Lookups"],"method":"get","summary":"Job titles list","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."}],"description":"Returns the platform's catalogue of predefined job titles. Results are paginated using cursor-based navigation via `after_cursor`.","operationId":"jobTitlesList-v2026-01-01","security":[{"deelToken":[]},{"oauth2":[]}]}},"/eor/{contract_id}/benefits":{"get":{"path":"/rest/eor/{contract_id}/benefits","tags":["EOR"],"method":"get","summary":"Retrieve Benefits for EOR Contract","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."}],"description":"Returns benefits associated with the specified EOR contract.\n\n **Token scopes**: `contracts:read`","operationId":"getEORContractBenefits-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]}},"/lookups/currencies":{"get":{"path":"/rest/lookups/currencies","tags":["Lookups"],"method":"get","summary":"Retrieve Supported Currency List","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":[],"description":"Returns all currencies supported by the platform, including their ISO codes and names.","operationId":"retrieveSupportedCurrencyList-v2026-01-01","security":[{"deelToken":[]},{"oauth2":[]}]}},"/time-tracking/timesheets/upload-url":{"post":{"path":"/rest/time-tracking/timesheets/upload-url","tags":["Time Tracking Timesheets"],"method":"post","summary":"Generate timesheet upload url","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":[],"description":"Accepts timesheet file metadata and returns a pre-signed `upload_url` together with a new timesheet record `id`. Currently limited to EOR contracts.\n\n **Token scopes**: `time-tracking:write`","operationId":"generateTimesheetUploadUrl-v2026-01-01","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"},"security":[{"deelToken":[]},{"oauth2":["time-tracking:write"]}]}},"/hris/organization_structures/{hris_org_structure_id}":{"get":{"path":"/rest/hris/organization_structures/{hris_org_structure_id}","tags":["Organization structure"],"method":"get","summary":"Fetch an Org Structure from the Organization","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"}],"description":"Retrieves detailed information about a specific organizational structure including its teams and roles.\n\n **Token scopes**: `organizations:read`","operationId":"fetchAnOrgStructureFromTheOrganization-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["organizations:read"]}]},"patch":{"path":"/rest/hris/organization_structures/{hris_org_structure_id}","tags":["Organization structure"],"method":"patch","summary":"Update an existing HRIS Org Structure","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"}],"description":"Update an existing HRIS Org Structure including its name, settings, and teams hierarchy.\n\n **Token scopes**: `organizations:write`","operationId":"updateAnExistingHrisOrgStructure-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["organizations:write"]}]},"delete":{"path":"/rest/hris/organization_structures/{hris_org_structure_id}","tags":["Organization structure"],"method":"delete","summary":"Delete an Org Structure from the Organization","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"}],"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\n **Token scopes**: `organizations:write`","operationId":"deleteAnOrgStructureFromTheOrganization-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["organizations:write"]}]}},"/eor/contract/{oid}/delay-onboarding":{"patch":{"path":"/rest/eor/contract/{oid}/delay-onboarding","tags":["EOR"],"method":"patch","summary":"Delay EOR employee onboarding","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"}],"description":"Defers the scheduled onboarding start date for the EOR employee on the specified contract.\n\n **Token scopes**: `contracts:write`","operationId":"delayEorEmployeeOnboarding-v2026-01-01","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"},"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}]}},"/ats/reasons":{"get":{"path":"/rest/ats/reasons","tags":["ATS"],"method":"get","summary":"Retrieve paginated list of ATS Rejection/Archivation reasons","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"}],"description":"Returns a paginated list of rejection and archivation reasons, filterable by `reason_group_slug` and `subgroup_slug`; when `include_counts` is true, each reason includes a usage count.\n\n **Token scopes**: `ats:read`","operationId":"retrievePaginatedListOfAtsRejectionArchivationReasons-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["ats:read"]}]}},"/time_offs/profile/{hris_profile_id}":{"get":{"path":"/rest/time_offs/profile/{hris_profile_id}","tags":["Time Off"],"method":"get","summary":"List time-off requests","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"},"count":{"type":"integer","example":100,"description":"Total count of items"},"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":{"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":"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"}],"description":"Returns a paginated list of time-off requests for the specified hris_profile_id, with optional filters for status, policy type, date ranges covering the time-off period, approval date, and last-updated date.\n\n **Token scopes**: `time-off:read`","operationId":"listTimeOffRequests-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["time-off:read"]}]}},"/time_offs/validate":{"post":{"path":"/rest/time_offs/validate","tags":["Time Off"],"method":"post","summary":"Validate time-off request","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","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":[],"description":"Validates a time-off request against policy compliance, available balance, blackout dates, and other rules before the request is created. The response includes an is_valid flag, any validation error message, adjusted start and end dates if applicable, balance projections, and country-specific validation results.\n\n **Token scopes**: `time-off:read`","operationId":"validateTimeOffRequest-v2026-01-01","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","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","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."},"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","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"}}}},"security":[{"deelToken":[]},{"oauth2":["time-off:read"]}]}},"/ats/offers":{"get":{"path":"/rest/ats/offers","tags":["ATS"],"method":"get","summary":"Retrieve a list of ATS offers","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":"datetime","example":"2024-02-01T12:00:00Z","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_FIXED","CONTRACTOR_PAY_AS_YOU_GO","CONTRACTOR_MILESTONE","DIRECT_EMPLOYEE","EOR_EMPLOYEE","GLOBAL_PAYROLL_EMPLOYEE","PEO_EMPLOYEE","UNKNOWN"],"type":"string","example":"CONTRACTOR_FIXED","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":[{"in":"query","name":"application_id","schema":{"type":"string","format":"uuid"},"example":"f6281620-93be-45fb-ab91-dd1d8cd89395","required":false,"description":"Filter offers by a specific application ID"}],"description":"Returns all offers associated with the organization, including worker type and offer status, to support pre-onboarding and contract creation workflows.\n\n **Token scopes**: `ats:read`","operationId":"retrieveAListOfAtsOffers-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["ats:read"]}]}},"/eor/contracts/{contract_id}/project-assignment/accept":{"post":{"path":"/rest/eor/contracts/{contract_id}/project-assignment/accept","tags":["EOR"],"method":"post","summary":"Accept EOR project assignment as client","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."}],"description":"Records client approval of a project assignment for an EOR contract, confirming that the terms have been reviewed and accepted.\n\n **Token scopes**: `contracts:write`","operationId":"acceptEorProjectAssignmentAsClient-v2026-01-01","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."}}}}}}}},"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}]}},"/adjustments":{"post":{"path":"/rest/adjustments","tags":["Adjustments"],"method":"post","summary":"Create a new adjustment","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":[],"description":"Creates a new payroll adjustment for a contract, modifying the payment amount on the next payment cycle. The `adjustment_category_id` must reference a valid category retrieved from `GET /adjustments/categories`.\n\n **Token scopes**: `adjustments:write`","operationId":"createANewAdjustment-v2026-01-01","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"},"security":[{"deelToken":[]},{"oauth2":["adjustments:write"]}]}},"/time_offs/review":{"post":{"path":"/rest/time_offs/review","tags":["Time Off"],"method":"post","summary":"Approve or reject time-off requests","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":[],"description":"Approves or rejects a batch of time-off requests in a single call. The desired status must be either APPROVED or REJECTED for each entry. Only time-offs currently in REQUESTED status can be reviewed; entries in any other status are returned as not reviewed. Rejecting a time-off request is irreversible: once rejected, its status cannot be changed through this API. The response distinguishes successfully processed requests from those that encountered errors.\n\n **Token scopes**: `time-off:write`","operationId":"approveRejectTimeOffRequests-v2026-01-01","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"}}}}}},"security":[{"deelToken":[]},{"oauth2":["time-off:write"]}]}},"/hris/worker_relations/profile/external/{profileId}/child":{"put":{"path":"/rest/hris/worker_relations/profile/external/{profileId}/child","tags":["Worker Relations"],"method":"put","summary":"Create child worker relation with external Id","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"}],"description":"Creates or replaces the child worker relation for the HrisProfile identified by the given external ID. If a child relation already exists for this profile, it is overwritten with the supplied data.\n\n **Token scopes**: `profile:write`","operationId":"upsertChildWorkerRelationsExternalId-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["profile:write"]}]}},"/contracts/{contract_id}/payment_cycles":{"get":{"path":"/rest/contracts/{contract_id}/payment_cycles","tags":["Contracts"],"method":"get","summary":"Retrieve contractor payment dates","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."}],"description":"Fetches the scheduled payment dates and current status of each payment cycle for a specific contract.\n\n **Token scopes**: `contracts:read`","operationId":"retrieveContractorPaymentDates-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]}},"/eor/contracts/{contract_id}/amendments/{amendment_id}/confirm":{"post":{"path":"/rest/eor/contracts/{contract_id}/amendments/{amendment_id}/confirm","tags":["EOR"],"method":"post","summary":"Confirm an existing contract amendment","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."}],"description":"Confirms a draft amendment on an EOR contract and initiates the review process, routing it to Deel and the employee for acknowledgment and approval. The amendment must exist in a confirmable state prior to calling this endpoint.\n\n **Token scopes**: `contracts:write`","operationId":"confirmAnExistingContractAmendment-v2026-01-01","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."},"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}]}},"/employee-info/contract-types/{type}/countries/{country}":{"get":{"path":"/rest/employee-info/contract-types/{type}/countries/{country}","tags":["Employee Information"],"method":"get","summary":"Employee additional info template","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."}],"description":"Returns the additional information template for a given contract type and employment country, specifying the fields required to complete employee information for that combination.\n\n **Token scopes**: `contracts:read`","operationId":"employeeAdditionalInfoTemplate-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]}},"/eor/workers/contracts/{contract_id}/offer-letter":{"get":{"path":"/rest/eor/workers/contracts/{contract_id}/offer-letter","tags":["EOR"],"method":"get","summary":"Preview job offer letter","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."}],"description":"Returns the job offer letter for an EOR contract in HTML format. IC and Global Payroll contract types are not supported and will not return a result.\n\n **Token scopes**: `worker:read`","operationId":"previewJobOfferLetter-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["worker:read"]}]}},"/eor":{"post":{"path":"/rest/eor","tags":["EOR"],"method":"post","summary":"Create an EOR contract","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":[],"description":"Submits details for an Employee of Record (EOR) contract and returns a quote. Deel processes the submitted information and returns pricing, compensation, and health plan details before the contract is activated.\n\n **Token scopes**: `contracts:write`","operationId":"createAnEorContract-v2026-01-01","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","required":["id"],"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",null],"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."},"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}]}},"/eor/workers/banks":{"post":{"path":"/rest/eor/workers/banks","tags":["EOR"],"method":"post","summary":"Add bank account","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":[],"description":"Registers a bank account for an EOR employee. Returns the `id` of the newly created bank account record.\n\n **Token scopes**: `worker:write`","operationId":"addBankAccount-v2026-01-01","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"}}}}}},"security":[{"deelToken":[]},{"oauth2":["worker:write"]}]}},"/eor/contracts/{contract_id}/offboarding/attachments/{attachment_id}":{"get":{"path":"/rest/eor/contracts/{contract_id}/offboarding/attachments/{attachment_id}","tags":["EOR"],"method":"get","summary":"Retrieve offboarding attachment","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."}],"description":"Downloads the content of a specific attachment associated with the termination for a given contract.\n\n **Token scopes**: `contracts:read`","operationId":"retrieveOffboardingAttachment-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]}},"/eor/workers/resignations":{"get":{"path":"/rest/eor/workers/resignations","tags":["EOR"],"method":"get","summary":"Retrieve worker resignations","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"}],"description":"Returns resignations submitted by EOR workers, optionally filtered by resignation letter status.\n\n **Token scopes**: `worker:read`","operationId":"retrieveWorkerResignations-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["worker:read"]}]}},"/ic/workers/transactions":{"get":{"path":"/rest/ic/workers/transactions","tags":["Workers"],"method":"get","summary":"Retrieve worker transaction history","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."}],"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\n **Token scopes**: `worker:read`","operationId":"retrieveWorkerTransactionHistory-v2026-04-30","security":[{"deelToken":[]},{"oauth2":["worker:read"]}]}},"/hris/worker_relations/profile/{hrisProfileOid}":{"get":{"path":"/rest/hris/worker_relations/profile/{hrisProfileOid}","tags":["Worker Relations"],"method":"get","summary":"List of worker relations","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"}],"description":"Returns all worker relations associated with the HrisProfile, including both parent and child relationships.\n\n **Token scopes**: `profile:read`","operationId":"getAllProfileWorkerRelations-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["profile:read"]}]},"delete":{"path":"/rest/hris/worker_relations/profile/{hrisProfileOid}","tags":["Worker Relations"],"method":"delete","summary":"Delete a worker relation","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"}],"description":"Removes the worker relation. This operation removes all hierarchical associations (parent and child) linked to that profile.\n\n **Token scopes**: `profile:write`","operationId":"deleteWorkerRelation-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["profile:write"]}]}},"/immigration/workers/{worker_id}/onboarding-case":{"get":{"path":"/rest/immigration/workers/{worker_id}/onboarding-case","tags":["Immigration"],"method":"get","summary":"Retrieve onboarding right-to-work case for a worker","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."}],"description":"Returns the right-to-work onboarding case for a worker, including any associated documents; returns an empty response if no open case exists. When a worker is associated with multiple contracts, supply `contract_id` to target a specific contract.\n\n **Token scopes**: `worker:read`","operationId":"retrieveOnboardingRightToWorkCaseForAWorker-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["worker:read"]}]}},"/payouts/auto-withdrawal-setting":{"patch":{"path":"/rest/payouts/auto-withdrawal-setting","tags":["Payouts"],"method":"patch","summary":"Change the auto-withdrawal setting","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":[],"description":"Partially updates the auto-withdrawal configuration, allowing callers to enable or disable auto-withdrawal and change the target withdrawal method.\n\n **Token scopes**: `worker:write`","operationId":"changeTheAutoWithdrawalSetting-v2026-01-01","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"},"security":[{"deelToken":[]},{"oauth2":["worker:write"]}]},"get":{"path":"/rest/payouts/auto-withdrawal-setting","tags":["Payouts"],"method":"get","summary":"Get the auto-withdrawal setting","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":[],"description":"Returns the current auto-withdrawal configuration for the authenticated worker, including whether auto-withdrawal is enabled and the identifier of the selected withdrawal method.\n\n **Token scopes**: `worker:read`","operationId":"getTheAutoWithdrawalSetting-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["worker:read"]}]}},"/eor/contracts/{contract_id}/employee-agreement-draft-preview":{"get":{"path":"/rest/eor/contracts/{contract_id}/employee-agreement-draft-preview","tags":["EOR"],"method":"get","summary":"Get employee agreement draft preview","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"url":{"type":"string","example":"https://s3.amazonaws.com/bucket/draft.pdf?X-Amz-Signature=abc","description":"Signed URL to download the draft PDF. Valid for 15 minutes. Present only when is_processing is false."},"task_id":{"type":"string","example":"84alrNyEwr","description":"Async task ID. Use this in subsequent requests to poll."},"is_processing":{"type":"boolean","example":true,"description":"True while generation is in progress; false when the url is ready."}}}}}}},"description":"Draft preview initiated or ready."},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","example":"invalid_parameter","description":"Machine-readable error code"},"message":{"type":"string","example":"Invalid template or contract.","description":"A description of the returned error"}}}}},"description":"Generation failed."},"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":"Contract or template not found.","description":"A description of the returned error"}}}}},"description":"Contract or template not found."},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string","pattern":"^(([a-z0-9]{6,})|([a-z0-9-_]{20,})|(-2[0-9]{2}))$"},"example":"38j84xg","required":true,"description":"The unique identifier of the EOR contract."},{"in":"query","name":"task_id","schema":{"type":"string"},"example":"84alrNyEwr","required":false,"description":"Task ID from a previous response. Omit on first call. Provide on subsequent calls to poll for completion."}],"description":"Initiates or polls for async generation of an employee agreement template PDF draft. On first call (no task_id), kicks off generation and returns a task_id with is_processing: true. Poll with ?task_id=<value> until is_processing is false, at which point url contains a signed download link valid for 15 minutes.\n\n **Token scopes**: `contracts:read`","operationId":"getEmployeeAgreementDraftPreview-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]}},"/eor/contracts/{contract_id}/details":{"get":{"path":"/rest/eor/contracts/{contract_id}/details","tags":["EOR"],"method":"get","summary":"Retrieve EOR Contract Details","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."},"holidays":{"type":"integer","example":25,"nullable":true,"description":"Number of holidays for the contract."},"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"},"hourly_rate":{"type":"string","example":"50.00","nullable":true,"description":"Hourly rate as a string to preserve decimal precision.","x-sensitive-employment":true},"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."},"hris_profile_id":{"type":"string","format":"uuid","example":"a1b2c3d4-e5f6-7890-abcd-ef1234567890","nullable":true,"description":"The HRIS profile ID linked to this contract."},"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."},"compensation_type":{"enum":["HOURLY","ANNUAL",null],"type":"string","example":"HOURLY","nullable":true,"description":"Compensation type for the contract."},"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."},"calculated_holidays":{"type":"string","example":"20","nullable":true,"description":"Calculated number of holidays as a string."},"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."},"signing_bonus_payout_type":{"enum":["FIRST_CYCLE","AFTER_PROBATION","AFTER_FIRST_CONTRACT_ANNIVERSARY",null],"type":"string","example":"FIRST_CYCLE","nullable":true,"description":"Defines when the signing bonus is paid. Set only when signing_bonus is present.","x-sensitive-employment":true},"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"}],"description":"Returns basic contract information and associated employment costs for a specific EOR contract.\n\n **Token scopes**: `contracts:read`","operationId":"retrieveEorContractDetails-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]}},"/eor/contracts/{contract_id}/offboarding/resignations/review-pto":{"post":{"path":"/rest/eor/contracts/{contract_id}/offboarding/resignations/review-pto","tags":["EOR"],"method":"post","summary":"Submit employee resignation PTO review","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."}],"description":"Submits PTO details for a resignation request, triggers related notifications, and finalizes the PTO review step. Only callable when the resignation status is `AWAITING_PTO`.\n\n **Token scopes**: `contracts:write`","operationId":"submitEmployeeResignationPtoReview-v2026-01-01","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"}}}}}}}},"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}]}},"/eor/contracts/{contract_id}/project-assignment":{"get":{"path":"/rest/eor/contracts/{contract_id}/project-assignment","tags":["EOR"],"method":"get","summary":"Fetch EOR project assignment PDF","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."}],"description":"Returns the project assignment PDF for an EOR contract pending client approval. The optional version parameter allows callers to confirm the retrieved document matches an expected version before proceeding with acceptance.\n\n **Token scopes**: `contracts:read`","operationId":"fetchEorProjectAssignmentPdf-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]}},"/contracts":{"post":{"path":"/rest/contracts","tags":["Contractors"],"method":"post","summary":"Create a new contract","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."},"platform_payment_type":{"enum":["STANDARD","OFF_PLATFORM"],"type":"string","example":"STANDARD","description":"Whether the contract is paid through Deel (`STANDARD`) or outside Deel (`OFF_PLATFORM`). Applies to IC contracts only."}}}}}}},"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":[],"description":"Creates a new contractor contract and returns it with its assigned `id`. After creation, invite the contractor to sign via `POST /contracts/{contract_id}/invitations`.\n\n **Token scopes**: `contracts:write`","operationId":"createANewContract-v2026-01-01","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","anyOf":[{"allOf":[{"type":"object","required":["type","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."},"platform_payment_type":{"enum":["STANDARD","OFF_PLATFORM"],"type":"string","example":"STANDARD","description":"Whether the contract is paid through Deel (`STANDARD`) or outside Deel (`OFF_PLATFORM`). Applies to IC contracts only."}},"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","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","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","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","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":"A pre-signed PDF to attach. When provided, both parties acknowledge the document — Deel never modifies the uploaded file."}},"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","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":"A pre-signed PDF to attach. When provided, both parties acknowledge the document — Deel never modifies the uploaded file."}},"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","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":"A pre-signed PDF to attach. When provided, both parties acknowledge the document — Deel never modifies the uploaded file."}},"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","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":"A pre-signed PDF to attach. When provided, both parties acknowledge the document — Deel never modifies the uploaded file."}},"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},"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}]},"get":{"path":"/rest/contracts","tags":["Contracts"],"method":"get","summary":"List of contracts","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."},"custom_fields":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","example":"9d77f284-82bd-41c4-85ba-bde64332993c","description":"Public identifier of the custom field."},"name":{"type":"string","example":"Health Insurance Plan","description":"Name of the custom field."},"value":{"type":"string","example":"Plan A","nullable":true,"description":"Value of the custom field for this contract."}},"description":"Contract custom field object."},"nullable":true,"description":"Contract-level custom fields. Only returned when `expand=custom_fields` is provided."},"notice_period":{"type":"number","default":0,"example":30,"minimum":0,"description":"Number of days required to give notice before terminating the contract."},"fte_percentage":{"type":"number","example":1,"nullable":true,"description":"Full time percentage"},"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,"fte_percentage":1,"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":{"type":"array","items":{"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":{"type":"array","items":{"enum":["cost_centers","custom_fields"],"type":"string","description":"Additional fields to include in the response."}},"example":["cost_centers","custom_fields"],"description":"Include additional fields in the response. Multiple values can be passed as comma-separated list."}],"description":"Returns a paginated list of contract summaries for the organization, with optional filtering by status, type, team, country, currency, external ID, or a name search term. Use `GET /contracts/{contract_id}` to retrieve full details for a specific contract.\n\n **Token scopes**: `contracts:read`","operationId":"listOfContracts-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]}},"/gp/reports/{id}/gross_to_net":{"get":{"path":"/rest/gp/reports/{id}/gross_to_net","tags":["Global Payroll"],"method":"get","summary":"List gross-to-net report.","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."}],"description":"Returns paginated gross-to-net calculation records for the specified payroll report, with optional currency conversion applied to the results.\n\n **Token scopes**: `global-payroll:read`","operationId":"listGrossToNetReport-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["global-payroll:read"]}]}},"/ats/upsertions/bulk-tags":{"post":{"path":"/rest/ats/upsertions/bulk-tags","tags":["ATS"],"method":"post","summary":"Upsert tags in bulk","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"job_tags":{"type":"array","items":{"type":"object","required":["tag_id","tag_name"],"properties":{"tag_id":{"type":"string","format":"uuid","example":"f47ac10b-58cc-4372-a567-0e02b2c3d479","description":"Unique identifier of the resolved tag."},"tag_name":{"type":"string","example":"Top Talent","description":"The tag label."}}}},"opening_tags":{"type":"array","items":{"type":"object","required":["tag_id","tag_name"],"properties":{"tag_id":{"type":"string","format":"uuid","example":"f47ac10b-58cc-4372-a567-0e02b2c3d479","description":"Unique identifier of the resolved tag."},"tag_name":{"type":"string","example":"Top Talent","description":"The tag label."}}}},"candidate_tags":{"type":"array","items":{"type":"object","required":["tag_id","tag_name"],"properties":{"tag_id":{"type":"string","format":"uuid","example":"f47ac10b-58cc-4372-a567-0e02b2c3d479","description":"Unique identifier of the resolved tag."},"tag_name":{"type":"string","example":"Top Talent","description":"The tag label."}}}}},"description":"Resolved tags grouped by tag group."}}}}},"description":"Tags upserted 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":"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"}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"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":"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"}}}}},"description":"Forbidden. ATS is not enabled for this organization or insufficient permissions."},"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":"invalid_parameter","description":"Machine-readable 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"}}}}},"description":"Operation failed."}},"description":"Use this endpoint to create or update tags for candidate, job, or opening groups in bulk. Provide both tag_id and tag_name to update an existing tag label. Omit tag_id to create a new tag or match an existing one case-insensitively.\n\n **Token scopes**: `ats:write`","operationId":"bulkTagUpsertions-v2026-06-12","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","anyOf":[{"required":["candidate_tags"],"properties":{"candidate_tags":{"minItems":1}}},{"required":["job_tags"],"properties":{"job_tags":{"minItems":1}}},{"required":["opening_tags"],"properties":{"opening_tags":{"minItems":1}}}],"properties":{"job_tags":{"type":"array","items":{"type":"object","required":["tag_name"],"properties":{"tag_id":{"type":"string","format":"uuid","example":"f47ac10b-58cc-4372-a567-0e02b2c3d479","description":"Tag ID to update. Omit to create a new tag."},"tag_name":{"type":"string","example":"Senior","maxLength":100,"minLength":1,"description":"Tag label."}}},"example":[{"tag_name":"Engineering"}],"maxItems":500,"description":"Tags to upsert for this group. Include tag_id to update an existing tag, or omit it to create/match."},"opening_tags":{"type":"array","items":{"type":"object","required":["tag_name"],"properties":{"tag_id":{"type":"string","format":"uuid","example":"f47ac10b-58cc-4372-a567-0e02b2c3d479","description":"Tag ID to update. Omit to create a new tag."},"tag_name":{"type":"string","example":"Senior","maxLength":100,"minLength":1,"description":"Tag label."}}},"example":[{"tag_name":"Remote"},{"tag_name":"Urgent"}],"maxItems":500,"description":"Tags to upsert for this group. Include tag_id to update an existing tag, or omit it to create/match."},"candidate_tags":{"type":"array","items":{"type":"object","required":["tag_name"],"properties":{"tag_id":{"type":"string","format":"uuid","example":"f47ac10b-58cc-4372-a567-0e02b2c3d479","description":"Tag ID to update. Omit to create a new tag."},"tag_name":{"type":"string","example":"Senior","maxLength":100,"minLength":1,"description":"Tag label."}}},"example":[{"tag_name":"Senior"},{"tag_id":"f47ac10b-58cc-4372-a567-0e02b2c3d479","tag_name":"Top Talent"}],"maxItems":500,"description":"Tags to upsert for this group. Include tag_id to update an existing tag, or omit it to create/match."}},"description":"At least one tag group must be provided. Include tag_id to update an existing tag label, or omit it to create or match case-insensitively."}}}}},"required":true},"security":[{"deelToken":[]},{"oauth2":["ats:write"]}]}},"/eor/contracts/{contract_id}/amendments/validation/settings":{"get":{"path":"/rest/eor/contracts/{contract_id}/amendments/validation/settings","tags":["EOR"],"method":"get","summary":" Get amendment validation settings for an EOR contract","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."}],"description":"Returns the validation settings for all available amendment data points on an EOR contract, optionally scoped to a specific employment state. Use these settings to determine which fields are editable and what constraints apply before constructing an amendment request.\n\n **Token scopes**: `contracts:read`","operationId":"getAmendmentValidationSettingsForAnEorContract-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]}},"/eor/workers/contracts/{contract_id}/offboarding/resignation-letter":{"get":{"path":"/rest/eor/workers/contracts/{contract_id}/offboarding/resignation-letter","tags":["EOR"],"method":"get","summary":"Preview Resignation Letter","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."}],"description":"Returns a preview of the resignation letter for the EOR contract before the worker submits their signature.\n\n **Token scopes**: `worker:read`","operationId":"previewResignationLetter-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["worker:read"]}]}},"/immigration/workers/cases":{"get":{"path":"/rest/immigration/workers/cases","tags":["Immigration"],"method":"get","summary":"List of immigration cases for workers","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"}],"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\n **Token scopes**: `worker:read`","operationId":"listOfImmigrationCasesForWorkers-v2026-04-02","security":[{"deelToken":[]},{"oauth2":["worker:read"]}]}},"/ats/job-boards/{job_board_id}/job-postings":{"get":{"path":"/rest/ats/job-boards/{job_board_id}/job-postings","tags":["ATS"],"method":"get","summary":"Retrieve a list of ATS job postings","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":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"key":{"type":"string","example":"job_board_id","description":"Path of the invalid field"},"type":{"type":"string","example":"string.guid","description":"Joi validation error type"},"message":{"type":"string","example":"\"job_board_id\" must be a valid GUID","description":"A description of the validation 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"}],"description":"Returns a paginated list of job postings belonging to the specified job board. Results can be filtered using available query parameters.\n\n **Token scopes**: `ats:read`","operationId":"retrieveAListOfAtsJobPostings-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["ats:read"]}]}},"/hris/worker_relations/types/external/{externalId}":{"patch":{"path":"/rest/hris/worker_relations/types/external/{externalId}","tags":["Worker Relations"],"method":"patch","summary":"Update a worker relation type by external id","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"}],"description":"Applies a partial update to a worker relation type. Only fields included in the request body are modified; omitted fields retain their current values.\n\n **Token scopes**: `organizations:write`","operationId":"updateWorkerRelationTypeExternalId-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["organizations:write"]}]},"delete":{"path":"/rest/hris/worker_relations/types/external/{externalId}","tags":["Worker Relations"],"method":"delete","summary":"Delete a worker relation type by external id","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"}],"description":"Permanently deletes the worker relation type.\n\n **Token scopes**: `organizations:write`","operationId":"deleteWorkerRelationTypeExternalId-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["organizations:write"]}]}},"/pwac":{"post":{"path":"/rest/pwac","tags":["People"],"method":"post","summary":"Create a person without a contract","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":[],"description":"Adds a person record in Deel's HRIS without an associated employment contract. It creates a people-only record, allowing you to track individuals in your organization's directory before or without formalizing an employment or agreement. Suitable for pre-boarding, contingent workers, or other scenarios where a contract is not yet applicable.\n\n **Token scopes**: `people:write`","operationId":"createAPersonWithoutAContract-v2026-01-01","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":1,"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":1,"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":1,"description":"The preferred last name of the person being hired"},"preferred_first_name":{"type":"string","example":"John","maxLength":100,"minLength":1,"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},"security":[{"deelToken":[]},{"oauth2":["people:write"]}]}},"/gp/workers/{worker_id}/banks/guide":{"get":{"path":"/rest/gp/workers/{worker_id}/banks/guide","tags":["Global Payroll"],"method":"get","summary":"Retrieve bank guide","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."}],"description":"Returns the country-specific field requirements for a worker's bank account form, which determines the fields required when adding a bank account.\n\n **Token scopes**: `people:read`","operationId":"getGpBankGuide-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["people:read"]}]}},"/eor/contracts/{contract_id}/offboarding/resignation":{"post":{"path":"/rest/eor/contracts/{contract_id}/offboarding/resignation","tags":["EOR"],"method":"post","summary":"Request contract resignation","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."}],"description":"Initiates a resignation request for an EOR contract.\n\n **Token scopes**: `contracts:write`","operationId":"requestContractResignation-v2026-01-01","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"}}}}}}}},"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}]}},"/eor/workers/banks-guide/country/{country}/currency/{currency}":{"get":{"path":"/rest/eor/workers/banks-guide/country/{country}/currency/{currency}","tags":["EOR"],"method":"get","summary":"Retrieve bank account guide","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"}],"description":"Returns the bank account form guide for the specified `country` and `currency` combination, providing the field structure required to add a new bank account for an EOR employee.\n\n **Token scopes**: `worker:read`","operationId":"retrieveBankAccountGuide-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["worker:read"]}]}},"/payouts/employees/methods/{id}":{"delete":{"path":"/rest/payouts/employees/methods/{id}","tags":["Payouts"],"method":"delete","summary":"Delete Bank Details","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"}],"description":"Permanently removes the bank payout method identified by the given method `id`.\n\n **Token scopes**: `worker:read`, `worker:write`","operationId":"deleteBankDetails-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["worker:read","worker:write"]}]}},"/contracts/{contract_id}/tasks":{"get":{"path":"/rest/contracts/{contract_id}/tasks","tags":["Tasks"],"method":"get","summary":"List of tasks","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."}],"description":"Retrieves all tasks associated with a specific contract, including each task's ID, amount, submission date, status, and description.\n\n **Token scopes**: `contracts:read`","operationId":"listOfTasks-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]},"post":{"path":"/rest/contracts/{contract_id}/tasks","tags":["Tasks"],"method":"post","summary":"Create a new task","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."}],"description":"Creates a new task for the contractor associated with the specified contract. A task can include an amount, description, and submission date.\n\n **Token scopes**: `contracts:write`","operationId":"createANewTask-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}]}},"/contracts/{contract_id}/platform-payment":{"patch":{"path":"/rest/contracts/{contract_id}/platform-payment","tags":["Contracts"],"method":"patch","summary":"Update contract payment type","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"id":{"type":"string","example":"37nex2x","description":"Unique identifier for the contract."},"platform_payment_type":{"enum":["STANDARD","OFF_PLATFORM"],"type":"string","example":"STANDARD","description":"Whether the contract is paid through Deel (`STANDARD`) or outside Deel (`OFF_PLATFORM`)."}},"description":"The updated contract. See `GET /contracts/{contract_id}` for the full response shape."}}}}},"description":"Successful operation. Returns the updated contract."},"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/platform_payment_type","description":"Name of the field causing the error (for validation issues)"},"message":{"type":"string","example":"platform_payment_type must be one of STANDARD, OFF_PLATFORM","description":"Human-readable explanation of the error"}}}}}}}},"description":"Bad Request - Validation error or invalid parameters"},"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":"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":"Not Found","description":"Human-readable explanation of the error"}}}}}}}},"description":"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":"37nex2x","required":true,"description":"Unique identifier of the contract."}],"description":"Sets the payment type for an IC contract. Use `platform_payment_type_application_type` to control when the change takes effect on a signed contract.\n\n **Token scopes**: `contracts:write`","operationId":"updateContractPlatformPaymentType-v2026-06-24","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["platform_payment_type"],"properties":{"platform_payment_type":{"enum":["STANDARD","OFF_PLATFORM"],"type":"string","example":"STANDARD","description":"Whether the contract is paid through Deel (`STANDARD`) or outside Deel (`OFF_PLATFORM`). Applies to IC contracts only."},"platform_payment_type_application_type":{"enum":["IMMEDIATELY","NEXT_PAYMENT_CYCLE"],"type":"string","example":"NEXT_PAYMENT_CYCLE","description":"When to apply the change. Required when changing `platform_payment_type` on a signed contract."}}}}}}},"required":true},"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}]}},"/contracts/{contract_id}/tasks/{task_id}/reviews":{"post":{"path":"/rest/contracts/{contract_id}/tasks/{task_id}/reviews","tags":["Tasks"],"method":"post","summary":"Review a single task","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."}],"description":"Submits an approval or rejection review for a task associated with a contract. If the review status is declined, an optional reason may be included in the request body.\n\n **Token scopes**: `contracts:write`","operationId":"reviewASingleTask-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}]}},"/ats/candidates/{candidate_id}/tags":{"post":{"path":"/rest/ats/candidates/{candidate_id}/tags","tags":["ATS"],"method":"post","summary":"Create candidate tags","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."}],"description":"Replaces all existing tags on a candidate with the provided set of `tag_ids`. This is a full replacement — any tags not included in the request body will be removed.\n\n **Token scopes**: `ats:write`","operationId":"createCandidateTags-v2026-02-27","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},"security":[{"deelToken":[]},{"oauth2":["ats:write"]}]}},"/people":{"get":{"path":"/rest/people","tags":["People"],"method":"get","summary":"List of People","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."},"additional_details":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","example":"socialSecurity","description":"Field name (the JSONB key from hris_employment_eligibility.eligibility_data, e.g. socialSecurity, idNumber, taxIdentificationNumber).","x-sensitive-pii":true},"value":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object"}],"example":"123-12-1234","description":"Raw value associated with the field. May be a string, number, boolean, or null."},"country":{"type":"string","example":"US","pattern":"^[A-Z]{2}$","maxLength":2,"minLength":2,"description":"ISO-2 country code that scopes this entry.","x-sensitive-pii":true}}},"nullable":true,"description":"Country-scoped additional employment data points (national IDs, tax IDs, etc.) sourced from hris_employment_eligibility.eligibility_data. Returned only when the caller's organization has the feature flag enable and the request is not redacting PII.","x-sensitive-pii":true},"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."}],"description":"Returns a paginated list of people records in the organization. Supports filtering by search term, teams, custom fields, and other query parameters. Build people directories, sync HR data, or power search interfaces across your workforce records.\n\n **Token scopes**: `people:read`","operationId":"listOfPeople-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["people:read"]}]},"post":{"path":"/rest/people","tags":["People"],"method":"post","summary":"Create a direct employee","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":[],"description":"Creates a direct employee record in Deel's HRIS, hired under the organization's own legal entity. Provisions both a person and an associated employment contract. Applicable when onboarding employees managed through your own payroll providers. It can support downstream integrations, such as IT equipment orders.\n\n **Token scopes**: `people:write`","operationId":"createADirectEmployee-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["people:write"]}]}},"/contracts/{contract_id}/invoice-adjustments":{"get":{"path":"/rest/contracts/{contract_id}/invoice-adjustments","tags":["Invoices"],"method":"get","summary":"Invoice line items by contract","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","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_abc123","nullable":false,"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":"ongoing_time_based","description":"Type of a contract"},"title":{"type":"string","example":"Senior Backend Engineer","nullable":false,"description":"Human-readable title of the contract."}},"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,"minimum":0,"description":"Number of days reported."},"hours":{"type":"number","example":40,"minimum":0,"description":"Number of hours reported."},"weeks":{"type":"number","example":1,"minimum":0,"description":"Number of weeks reported."},"minutes":{"type":"number","example":0,"minimum":0,"description":"Number of minutes reported."}},"description":"Breakdown of time worked across different units."},"attachment":{"type":"object","nullable":true,"required":["filename","key"],"properties":{"key":{"type":"string","example":"attachments/receipt_123.pdf","nullable":false,"description":"You can call attachments end-point, get key and URL to upload your file."},"filename":{"type":"string","example":"receipt.pdf","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":"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":false,"description":"Human-readable explanation of the invoice adjustment."},"reported_by":{"type":"object","nullable":false,"required":["id"],"properties":{"id":{"oneOf":[{"type":"string","description":"Unique string identifier of the reporting user."},{"type":"integer","format":"int64","description":"Unique integer identifier of the reporting user."}],"example":"user_456","description":"Unique identifier of the reporting user (string or integer)."},"full_name":{"type":"string","example":"John Doe","nullable":false,"description":"Full name of the user who reported the adjustment.","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","description":"Unique string identifier of the reviewer."},{"type":"integer","format":"int64","description":"Unique integer identifier of the reviewer."}],"example":"admin_789","description":"Unique identifier of the reviewer (string or integer)."},"remarks":{"type":"string","example":"Approved after verification","nullable":false,"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","description":"Timestamp when the review occurred (ISO-8601)."}},"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,"required":["start_date","end_date"],"properties":{"end_date":{"type":"string","format":"date-time","example":"2025-12-31T23:59:59Z","nullable":true,"description":"End date of the payment cycle (ISO-8601)."},"start_date":{"type":"string","format":"date-time","example":"2025-12-01T00:00:00Z","nullable":true,"description":"Start date of the payment cycle (ISO-8601)."}},"description":"Payment cycle associated with this adjustment."},"date_submitted":{"type":"string","format":"date-time","example":"2025-12-18T09:15:00Z","nullable":false,"description":"Timestamp when the adjustment was submitted for review (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":"Pagination metadata 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":"contract_types","schema":{"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"},"example":"ongoing_time_based","description":"types of contracts to filter"},{"in":"query","name":"types","schema":{"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."}},"example":"bonus","description":"types of invoice adjustments to filter"},{"in":"query","name":"statuses","schema":{"type":"array","items":{"enum":["approved","declined","not_payable","paid","pending","processing",null],"type":"string","nullable":true,"description":"status of invoice adjustment"}},"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."}],"description":"Retrieves invoice line items (adjustments) associated with a given contract_id, with support for filtering by contract type, adjustment type, status, invoice, reporter, and submission date range.\n\n **Token scopes**: `invoice-adjustments:read`","operationId":"invoiceLineItemsByContract-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["invoice-adjustments:read"]}]}},"/on-demand-payroll/contract/{contract_id}":{"post":{"path":"/rest/on-demand-payroll/contract/{contract_id}","tags":["On-Demand Payroll"],"method":"post","summary":"Create On-Demand Payroll","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","status","sla","entries"],"properties":{"id":{"type":"string","example":"odp_abc123","description":"Public ID of the On-Demand Payroll."},"sla":{"type":"object","properties":{"payment_buffer":{"type":"integer","example":1,"nullable":true,"description":"Payment buffer in days."},"payment_processing":{"type":"integer","example":2,"nullable":true,"description":"Payment processing SLA in days."},"payment_settlement":{"type":"integer","example":3,"nullable":true,"description":"Payment settlement SLA in days."},"payroll_processing":{"type":"integer","example":1,"nullable":true,"description":"Payroll processing SLA in days."},"post_termination_buffer":{"type":"integer","example":30,"nullable":true,"description":"Post-termination buffer in days during which an ODP is still allowed."}},"description":"Processing SLAs (in days) configured for the contract EOR entity."},"status":{"enum":["AWAITING_CLIENT_APPROVAL","AWAITING_CLIENT_SUBMISSION","AWAITING_ADJUSTMENTS_TO_BE_READY","AWAITING_DEEL_PROCESSING","DEEL_PROCESSING","REJECTED","CANCELLED","PARTIALLY_APPROVED","APPROVED"],"type":"string","example":"AWAITING_CLIENT_APPROVAL","description":"Lifecycle status of the ODP."},"entries":{"type":"array","items":{"type":"object","required":["amount","currency","title","type","uom","metadata"],"properties":{"uom":{"enum":["CURRENCY"],"type":"string","example":"CURRENCY","description":"Unit of measure of the entry amount. Always CURRENCY."},"type":{"type":"string","example":"BONUS","description":"The adjustment type of the entry."},"title":{"type":"string","example":"Q1 performance bonus","description":"Short human-readable title of the entry."},"amount":{"type":"number","example":150.5,"description":"The entry amount in the contract currency.","x-sensitive-employment":true},"currency":{"type":"string","example":"USD","description":"ISO 4217 currency code of the entry amount."},"metadata":{"type":"object","properties":{"type":{"type":"string","example":"BONUS","description":"The adjustment type of the entry."},"public_id":{"type":"string","example":"adj_abc123","description":"Public ID of the underlying adjustment."},"reviewed_at":{"type":"string","format":"date-time","example":"2026-01-06T10:00:00Z","nullable":true,"description":"Timestamp of the last review of the entry."},"vendor_name":{"type":"string","example":"Acme Inc.","nullable":true,"description":"Vendor associated with the entry, when applicable.","x-sensitive-pii":true},"category_label":{"type":"string","example":"Bonus","nullable":true,"description":"Label of the adjustment category."},"submission_date":{"type":"string","format":"date-time","example":"2026-01-04T09:00:00Z","nullable":true,"description":"Timestamp when the entry was submitted."},"category_group_label":{"type":"string","example":"Compensation","nullable":true,"description":"Label of the adjustment category group."}},"description":"Additional, non-contractual metadata about the entry."},"submitter":{"type":"object","nullable":true,"properties":{"id":{"type":"string","example":"p_abc123","nullable":true,"description":"Public ID of the submitter, when available."},"name":{"type":"string","example":"John Doe","description":"Full name of the submitter.","x-sensitive-pii":true}},"description":"The person who submitted the entry."},"description":{"type":"string","example":"Bonus awarded for Q1 results","nullable":true,"description":"Free-text description of the entry."},"date_of_entry":{"type":"string","format":"date","example":"2026-01-05","nullable":true,"description":"Date the entry applies to (YYYY-MM-DD). Null when not available for the entry."}},"description":"An On-Demand Payroll entry (an adjustment attached to the ODP)."},"description":"Entries currently attached to the ODP."},"invoice_id":{"type":"string","example":"inv_abc123","nullable":true,"description":"Public ID of the invoice associated with the ODP, when one has been generated. Use the Invoices API to fetch its details."},"submitted_at":{"type":"string","format":"date-time","example":"2026-01-01T00:00:00Z","nullable":true,"description":"Timestamp when the ODP was submitted, when submitted."},"submitted_by":{"type":"string","example":"Jane Doe","nullable":true,"description":"Name of the person who submitted the ODP, when submitted.","x-sensitive-pii":true},"deel_reviewed_at":{"type":"string","format":"date-time","example":"2026-01-08T12:00:00Z","nullable":true,"description":"Timestamp when Deel reviewed the ODP, when reviewed."},"estimated_payday":{"type":"string","format":"date","example":"2026-01-10","nullable":true,"description":"Estimated payday for the ODP (YYYY-MM-DD)."},"next_available_payment_date":{"type":"string","format":"date","example":"2026-01-12","nullable":true,"description":"Next available payment date for the EOR contract (YYYY-MM-DD), when applicable."}},"description":"An On-Demand Payroll for a contract."}}}}},"description":"The created On-Demand Payroll."},"400":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"ODP_NOT_FOUND","description":"Machine-readable error code."},"field":{"type":"string","example":"existing_entry_ids","description":"Field that caused the error, when applicable."},"message":{"type":"string","example":"No active On Demand Payroll for this contract","description":"Human-readable error message."}}},"description":"List of errors."}}}}},"description":"Invalid request."},"401":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"ODP_NOT_FOUND","description":"Machine-readable error code."},"field":{"type":"string","example":"existing_entry_ids","description":"Field that caused the error, when applicable."},"message":{"type":"string","example":"No active On Demand Payroll for this contract","description":"Human-readable error message."}}},"description":"List of errors."}}}}},"description":"Authentication is required or has failed."},"403":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"ODP_NOT_FOUND","description":"Machine-readable error code."},"field":{"type":"string","example":"existing_entry_ids","description":"Field that caused the error, when applicable."},"message":{"type":"string","example":"No active On Demand Payroll for this contract","description":"Human-readable error message."}}},"description":"List of errors."}}}}},"description":"The caller is not allowed to perform this action."},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"con_abc123","required":true,"description":"Public ID (oid) of the contract."}],"description":"Creates an On-Demand Payroll for the given contract from existing eligible entries and/or a salary advance amount.\n\n **Token scopes**: `on-demand-payroll:write`","operationId":"createOnDemandPayroll-v2026-07-28","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"salary_advance":{"type":"number","example":1000,"description":"Salary advance amount to include in the ODP, in the contract currency.","x-sensitive-employment":true},"existing_entry_ids":{"type":"array","items":{"type":"string","example":"adj_abc123","description":"Public ID of an existing adjustment (entry)."},"example":["adj_abc123","adj_def456"],"description":"Public IDs of existing entries (adjustments) to attach to the ODP."}}}}}}},"required":true,"description":"Entries and/or salary advance to include in the new On-Demand Payroll."},"security":[{"deelToken":[]},{"oauth2":["on-demand-payroll:write"]}]}},"/equity/exercise":{"post":{"path":"/rest/equity/exercise","tags":["Contracts"],"method":"post","summary":"Create a request to exercise equity.","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":[],"description":"Submits a new equity exercise request, associating the specified option grant and stakeholder details with a worker. The request is created in a pending state; employer approval is handled as a separate operation.\n\n **Token scopes**: `contracts:write`","operationId":"createARequestToExerciseEquity-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}]}},"/it/orders/{order_id}":{"get":{"path":"/rest/it/orders/{order_id}","tags":["IT orders"],"method":"get","summary":"Retrieve an IT order","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"}],"description":"Returns the status, shipping details, and associated product for a single IT equipment order identified by order_id.\n\n **Token scopes**: `it-orders:read`","operationId":"retrieveAnItOrder-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["it-orders:read"]}]}},"/time-tracking/timesheets/{timesheet_id}":{"get":{"path":"/rest/time-tracking/timesheets/{timesheet_id}","tags":["Time Tracking Timesheets"],"method":"get","summary":"Retrieve a timesheet","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"}],"description":"Retrieves a timesheet by `timesheet_id`, including its submission, review, and processing status. Pass `expand=file_data` to include file name and download URL in the response.\n\n **Token scopes**: `time-tracking:read`","operationId":"retrieveATimesheet-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["time-tracking:read"]}]}},"/workers/contracts/{contract_id}/signatures":{"post":{"path":"/rest/workers/contracts/{contract_id}/signatures","tags":["Contracts"],"method":"post","summary":"Sign worker contract","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."}],"description":"Records the worker's signature on the contract identified by contract_id. Only contracts in an unsigned, pending state can be signed.\n\n **Token scopes**: `worker:write`","operationId":"signWorkerContract-v2026-01-01","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"},"security":[{"deelToken":[]},{"oauth2":["worker:write"]}]}},"/benefits/legal-entities/{id}":{"get":{"path":"/rest/benefits/legal-entities/{id}","tags":["Legal Entities"],"method":"get","summary":"Get legal entity data from organization integrated with external benefits vendor","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"}],"description":"Returns legal entity data for an organization integrated with an external benefits vendor.\n\n **Token scopes**: `organizations:read`","operationId":"getLegalEntityDataFromOrganizationIntegratedWithExternalBenefitsVendor-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["organizations:read"]}]}},"/eor/contracts/{contract_id}/amendments/{amendment_id}/sign":{"post":{"path":"/rest/eor/contracts/{contract_id}/amendments/{amendment_id}/sign","tags":["EOR"],"method":"post","summary":"Sign a contract amendment (employee)","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."}],"description":"Records the employee's signature on a specific contract amendment, confirming acceptance of the amendment terms. Returns the updated amendment record upon successful signing.\n\n **Token scopes**: `worker:write`","operationId":"signAContractAmendmentEmployee-v2026-01-01","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."},"security":[{"deelToken":[]},{"oauth2":["worker:write"]}]}},"/eor/contract/{contract_id}":{"patch":{"path":"/rest/eor/contract/{contract_id}","tags":["EOR"],"method":"patch","summary":"Update EOR Contract","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":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"bad_request","description":"Error code identifier"},"field":{"type":"string","nullable":true,"description":"The field that caused the error, if applicable"},"message":{"type":"string","example":"Cannot resubmit an archived contract","description":"Error message details"}}}}}},"examples":{"invalid_schedule":{"value":{"errors":[{"code":"bad_request","field":null,"message":"Cannot update work schedule for contracts with in-progress amendments"}]}},"archived_contract":{"value":{"errors":[{"code":"bad_request","field":null,"message":"Cannot resubmit an archived contract"}]}},"invalid_start_date":{"value":{"errors":[{"code":"bad_request","field":null,"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":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"insufficient_permissions","description":"Error code identifier"},"field":{"type":"string","nullable":true,"description":"The field that caused the error, if applicable"},"message":{"type":"string","example":"Organization cannot use EOR schedules","description":"Error message details"}}}}}}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"resource_not_found","description":"Error code identifier"},"field":{"type":"string","nullable":true,"description":"The field that caused the error, if applicable"},"message":{"type":"string","example":"Contract not found","description":"Error message details"}}}}}}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"internal_server_error","description":"Error code identifier"},"field":{"type":"string","nullable":true,"description":"The field that caused the error, if applicable"},"message":{"type":"string","example":"An unexpected error occurred while processing your request. Please try again later.","description":"Error message details"}}}}}},"examples":{"internal_error":{"value":{"errors":[{"code":"internal_server_error","field":null,"message":"An unexpected error occurred while processing your request. Please try again later."}]}}}}},"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."}],"description":"Applies partial updates to mutable fields of an EOR contract, such as salary, job title, or benefits. Only fields included in the request body are modified; fields required for validation must still be present.\n\n **Token scopes**: `contracts:write`","operationId":"updateEorContract-v2026-01-01","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"],"properties":{"scope":{"oneOf":[{"type":"string","example":"Scope of work description.","maxLength":10000,"minLength":100,"description":"Scope of work description."},{"type":"object","example":{"scope_template_id":"00000000-0000-0000-0000-000000000000"},"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."}},"description":"Reference to a scope template or validation."}],"example":"Scope of work description.","description":"Scope of work description, either as a plain string or as a reference to a scope template."},"salary":{"type":"number","format":"float","example":100000,"maximum":9999999999999,"minimum":0,"description":"Annual salary amount. Optional; must not be sent when is_hourly is true."},"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 when is_hourly is true. Must not be sent when is_hourly is false or omitted."},"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",null],"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"},"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}]}},"/organizations/children/{child_organization_id}/session":{"post":{"path":"/rest/organizations/children/{child_organization_id}/session","tags":["Organizations"],"method":"post","summary":"Create a session token for a child organisation","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["token","expires_at"],"properties":{"token":{"type":"string","example":"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...","description":"The short-lived session token for the child organisation."},"expires_at":{"type":"string","format":"date-time","example":"2024-01-02T12:00:00.000Z","description":"ISO 8601 timestamp when the session token expires (6 hours from issuance)."}},"description":"The issued session token."}}}}},"description":"Session token issued successfully."},"400":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"code":{"type":"string","example":"NOT_FOUND","description":"Machine-readable error code."},"message":{"type":"string","example":"Child organization could not be found","description":"Human-readable description of the error."}}},"description":"The list of errors that caused the request to fail."}}}}},"description":"Bad Request. The request was malformed or failed validation."},"401":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"code":{"type":"string","example":"NOT_FOUND","description":"Machine-readable error code."},"message":{"type":"string","example":"Child organization could not be found","description":"Human-readable description of the error."}}},"description":"The list of errors that caused the request to fail."}}}}},"description":"Unauthorized. Authentication credentials were missing or invalid."},"403":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"code":{"type":"string","example":"NOT_FOUND","description":"Machine-readable error code."},"message":{"type":"string","example":"Child organization could not be found","description":"Human-readable description of the error."}}},"description":"The list of errors that caused the request to fail."}}}}},"description":"Forbidden. The caller does not have the required scope or permission to access this resource."},"404":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"code":{"type":"string","example":"NOT_FOUND","description":"Machine-readable error code."},"message":{"type":"string","example":"Child organization could not be found","description":"Human-readable description of the error."}}},"description":"The list of errors that caused the request to fail."}}}}},"description":"Not Found. The child organisation does not exist or is missing a service account."},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"child_organization_id","schema":{"type":"string","format":"uuid"},"example":"00000000-0000-0000-0000-000000000000","required":true,"description":"The public UUID of the child organisation for which to issue a session token."}],"description":"Issues a short-lived session token (valid 6 hours) for a child organisation. If an active session token with more than one hour of remaining validity already exists, that token is returned. Otherwise the prior session token is invalidated and a new 6-hour token is issued. Session tokens do not affect the child organisation’s original permanent token.\n\n **Token scopes**: `organizations:write`","operationId":"createChildOrgSessionToken-v2026-07-14","security":[{"deelToken":[]},{"oauth2":["organizations:write"]}]}},"/ic/workers/invoices/{invoice_id}":{"get":{"path":"/rest/ic/workers/invoices/{invoice_id}","tags":["Workers"],"method":"get","summary":"Get invoice details by ID","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."}],"description":"This endpoint retrieves invoice information by ID. Use it to access detailed invoice data for reference or verification.\n\n **Token scopes**: `worker:read`","operationId":"getInvoiceDetailsById-v2026-04-27","security":[{"deelToken":[]},{"oauth2":["worker:read"]}]}},"/contracts/{contract_id}/ic-invoicing-taxes/{tax_type}":{"delete":{"path":"/rest/contracts/{contract_id}/ic-invoicing-taxes/{tax_type}","tags":["IC invoicing taxes"],"method":"delete","summary":"Delete IC invoicing tax","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"}],"description":"Permanently removes the specified `tax_type` from the contract's invoicing tax configuration; this action is irreversible and takes effect on future invoices.\n\n **Token scopes**: `invoice-adjustments:write`","operationId":"deleteIcInvoicingTax-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["invoice-adjustments:write"]}]}},"/time_offs/global-payroll/sync":{"post":{"path":"/rest/time_offs/global-payroll/sync","tags":["Time Off"],"method":"post","summary":"Process time-off requests from an external HRIS","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":[],"description":"Synchronizes time-off requests from an external HRIS into Deel for Global Payroll contracts only. Each record is upserted or deleted based on its external ID — records carrying `deleted: true` are removed while all others are inserted or updated — and Deel calculates the payroll cycle impact of each operation.\n\n **Token scopes**: `time-off:write`","operationId":"externalHrTimeOffSynchronization-v2026-01-01","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","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","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","Compensatory leave","Disability leave","Doctor's appointment leave","Family & domestic violence leave","Family responsibility leave","Floating Holiday Allowance","Hajj leave","Hospitalization leave","Long Service Leave","Marriage/wedding leave","Maternity leave","Menstrual 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","Vacation - public holidays replacement","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."}}}]}}}}}}}}},"security":[{"deelToken":[]},{"oauth2":["time-off:write"]}]}},"/eor/workers/tax-documents":{"get":{"path":"/rest/eor/workers/tax-documents","tags":["EOR"],"method":"get","summary":"List of tax documents for an employee","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":[],"description":"Returns tax documents for the authenticated worker.\n\n **Token scopes**: `worker:read`","operationId":"listOfTaxDocumentsForAnEmployee-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["worker:read"]}]}},"/organizations/children":{"post":{"path":"/rest/organizations/children","tags":["Organizations"],"method":"post","summary":"Create child organization","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"},"409":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"integer","example":409,"description":"The HTTP status code of the error"},"message":{"type":"string","example":"An organization with name ACME INC. is currently being created","description":"Human-readable explanation of the error"}}}}}}}},"description":"Conflict - an organization with this name is currently being created."},"429":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"integer","example":429,"description":"The HTTP status code of the error"},"message":{"type":"string","example":"Too many attempts to create organization ACME INC. Please try again later.","description":"Human-readable explanation of the error"}}}}}}}},"description":"Too Many Requests - retry limit exceeded for creating this organization."},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[],"description":"Creates a child organization linked to the authenticated (parent) organization, provisioning a scoped API token, a default group, the parent–child hierarchy, and an initial user assignment in a single operation. The `token` in the response is the only time the child organization's API token is returned and must be stored by the caller.\n\n **Token scopes**: `organizations:write`","operationId":"createChildOrganization-v2026-01-01","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.","maxLength":255,"description":"The organization's name."},"department":{"type":"string","default":"Founder","example":"Finance","maxLength":255,"description":"The department's name where the manager will be added. Defaults to \"Founder\" when omitted."},"is_api_enabled":{"type":"boolean","default":false,"example":true,"description":"The flag that enables the public API for the child organization. Defaults to false when omitted."},"workforce_size":{"type":"integer","example":1000,"maximum":1000000,"minimum":1,"description":"The workforce size of the child organization."},"headquarters_country":{"type":"string","example":"BR","maxLength":2,"minLength":2,"description":"The organization's headquarters country as an ISO 3166-1 alpha-2 code. Validated against Deel's country whitelist; unknown codes are rejected."}},"description":"The object that contains all the information related to the child organization that will be created."},"parent_organization":{"type":"object","required":["admin_email"],"properties":{"admin_email":{"type":"string","format":"email","example":"admin@example.com","description":"The email of one of the managers of the parent organization that will be used to create a user for the child organization. It must belong to an existing admin/manager of the parent organization, otherwise creation fails."}},"description":"The object that contains the information related to the parent_organization."}},"description":"The request payload."}}}}},"required":true},"security":[{"deelToken":[]},{"oauth2":["organizations:write"]}]}},"/legal-entities/{legal_entity_id}/payroll-events":{"get":{"path":"/rest/legal-entities/{legal_entity_id}/payroll-events","tags":["List Cycles"],"method":"get","summary":"List payroll cycles","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."},"has_g2n_report":{"type":"boolean","example":true,"description":"Indicates whether a Gross-to-Net report is available for this payroll cycle. True only when the cycle is in a published state and a report without blocking errors exists."},"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."}],"description":"Returns a paginated list of payroll events for the specified legal entity, optionally filtered by a date range; date_start must not be earlier than 5 years ago and date_end must not exceed 5 years in the future.\n\n **Token scopes**: `legal-entity:read`","operationId":"listPayrollCycles-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["legal-entity:read"]}]}},"/workers/{worker_id}/session":{"delete":{"path":"/rest/workers/{worker_id}/session","tags":["Worker Session"],"method":"delete","summary":"Delete worker access token","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."}],"description":"Immediately revokes the active access token for the worker identified by worker_id, terminating all API access granted by that token.\n\n **Token scopes**: `admin:worker`","operationId":"deleteWorkerAccessToken-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["admin:worker"]}]}},"/eor/workers/contracts/{contract_id}/offboarding":{"post":{"path":"/rest/eor/workers/contracts/{contract_id}/offboarding","tags":["EOR"],"method":"post","summary":"Submit EOR Worker Resignation","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."}],"description":"Formally initiates the resignation process for the EOR contract by submitting a resignation request on behalf of the worker.\n\n **Token scopes**: `worker:write`","operationId":"submitEorWorkerResignation-v2026-01-01","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."}}}}}}}},"security":[{"deelToken":[]},{"oauth2":["worker:write"]}]}},"/ats/email-templates":{"get":{"path":"/rest/ats/email-templates","tags":["ATS"],"method":"get","summary":"Retrieve a list of published ATS email templates","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)"}],"description":"Returns a paginated list of published email templates for the organization, supporting cursor-based pagination and filtering by `updated_after` timestamp.\n\n **Token scopes**: `ats:read`","operationId":"retrieveAListOfPublishedAtsEmailTemplates-v2026-02-11","security":[{"deelToken":[]},{"oauth2":["ats:read"]}]}},"/eor/contracts/{contract_id}/offboarding/restricted-dates":{"get":{"path":"/rest/eor/contracts/{contract_id}/offboarding/restricted-dates","tags":["EOR"],"method":"get","summary":"Retrieve restricted offboarding dates","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."}],"description":"Returns country-specific dates unavailable for offboarding end-date selection—including weekends and public holidays—along with the earliest available end date; optionally filtered by termination type.\n\n **Token scopes**: `contracts:read`","operationId":"retrieveRestrictedOffboardingDates-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]}},"/eor/contracts/{contract_id}/documents":{"get":{"path":"/rest/eor/contracts/{contract_id}/documents","tags":["EOR"],"method":"get","summary":"Fetch EOR contract documents","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"}],"description":"Returns all documents associated with a specific EOR contract.\n\n **Token scopes**: `contracts:read`","operationId":"fetchEorContractDocuments-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]}},"/reports/payroll/cycles/{cycle_id}/gross-to-net":{"get":{"path":"/rest/reports/payroll/cycles/{cycle_id}/gross-to-net","tags":["Reports"],"method":"get","summary":"Gets G2N report data for a given payroll cycle by it's ID.","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."}],"description":"Returns categorized gross-to-net data — including category group, category, sub-category, and label — for each contract within the payroll cycle identified by `cycle_id`.\n\n **Token scopes**: `payslips:read`","operationId":"getsG2NReportDataForAGivenPayrollCycleByItsId-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["payslips:read"]}]}},"/screenings/kyc/external":{"post":{"path":"/rest/screenings/kyc/external","tags":["Screenings"],"method":"post","summary":"Submit external KYC","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":[],"description":"Submits an external KYC record that combines automated Live ID verification (IDV) with a manual review workflow to satisfy identity verification and compliance requirements.\n\n **Token scopes**: `worker:write`","operationId":"submitExternalKyc-v2026-01-01","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"}}}}}}}},"security":[{"deelToken":[]},{"oauth2":["worker:write"]}]}},"/eor/workers/contracts/{contract_id}/offboarding/resignation-letter/sign":{"post":{"path":"/rest/eor/workers/contracts/{contract_id}/offboarding/resignation-letter/sign","tags":["EOR"],"method":"post","summary":"Sign Resignation Letter","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."}],"description":"Records the worker's signature on the resignation letter for the contract, which is required to finalize the resignation process; upon successful submission, the signed letter is queued for PDF generation and further processing.\n\n **Token scopes**: `worker:write`","operationId":"signResignationLetter-v2026-01-01","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","properties":{"signature":{"type":"string","example":"John Doe","description":"Employee signature"}}}}}}}},"security":[{"deelToken":[]},{"oauth2":["worker:write"]}]}},"/profiles":{"patch":{"path":"/rest/profiles","tags":["@eng-platform-be"],"method":"patch","summary":"Profiles","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":[],"description":"Applies a partial update to the authenticated user's profile, modifying only the fields supplied in the request body.\n\n **Token scopes**: `profile:write`, `profile:read`","operationId":"profiles-v2026-01-01","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"},"security":[{"deelToken":[]},{"oauth2":["profile:write","profile:read"]}]}},"/eor/workers/compliance-documents/{document_id}/acknowledgement":{"post":{"path":"/rest/eor/workers/compliance-documents/{document_id}/acknowledgement","tags":["EOR"],"method":"post","summary":"Acknowledge a compliance document","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."}],"description":"Submits the worker's consent acknowledgement for a compliance document that requires it. This operation is required before documents marked as needing acknowledgement are considered complete.\n\n **Token scopes**: `worker:write`","operationId":"acknowledgeAComplianceDocument-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["worker:write"]}]}},"/contracts/{contract_id}/signatures":{"post":{"path":"/rest/contracts/{contract_id}/signatures","tags":["Contracts"],"method":"post","summary":"Sign a contract","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."}],"description":"Signs a contract on behalf of the client (employer), advancing the contract through the hiring workflow. When the contract is awaiting the client signature, it transitions to a pending-contractor-signature state. Can also be used to sign a pending amendment on an already active contract.\n\n **Token scopes**: `contracts:write`","operationId":"signContract-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}]}},"/eor/contracts/amendments/data-points/configuration":{"get":{"path":"/rest/eor/contracts/amendments/data-points/configuration","tags":["EOR"],"method":"get","summary":"Get amendment data points configuration by country","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data","total_count","has_more","next_cursor"],"properties":{"data":{"type":"object","required":["settings"],"properties":{"settings":{"type":"array","items":{"type":"object","required":["id","created_at","updated_at","country","data_points"],"properties":{"id":{"type":"string","format":"uuid","example":"fe883976-e331-40c9-b710-4af84109ae97","nullable":true,"description":"Database record ID for this country's settings. null when no settings row exists and defaults are returned."},"country":{"type":"string","example":"AE","description":"ISO 3166-1 alpha-2 country code"},"created_at":{"type":"string","format":"date-time","example":"2024-01-04T05:33:29.947Z","nullable":true,"description":"Timestamp when the country settings row was created. null when no DB row exists."},"updated_at":{"type":"string","format":"date-time","example":"2026-04-30T12:04:07.558Z","nullable":true,"description":"Timestamp when the country settings row was last updated. null when no DB row exists."},"data_points":{"type":"array","items":{"type":"object","required":["item","is_enabled","types"],"properties":{"item":{"enum":["SALARY","START_DATE","HOLIDAYS","SCOPE","JOB_TITLE","VARIABLE_COMPENSATIONS","CUSTOM"],"type":"string","example":"SALARY","description":"Data point identifier"},"types":{"type":"array","items":{"type":"object","required":["amendment_item","type"],"properties":{"type":{"enum":["AUTOMATED","INSTANT","LEGAL","NO_AUTOMATION","DISABLED_AMENDMENTS"],"type":"string","example":"LEGAL","description":"Processing type. AUTOMATED means no explicit configuration — processed automatically."},"amendment_item":{"type":"string","example":"SALARY_INCREASE","description":"Amendment item identifier"}}},"description":"Processing type configuration per amendment item within this data point"},"metadata":{"type":"object","example":{"possible_options":["START_DATE","SALARY","JOB_TITLE","OTHER"]},"properties":{"possible_options":{"type":"array","items":{"enum":["START_DATE","END_DATE","BENEFITS","PROBATION_PERIOD","VARIABLE_COMPENSATIONS","INCENTIVE_PLAN","SALARY","FIXED_ALLOWANCES","JOB_TITLE","SENIORITY_ID","SENIORITY_DATE","JOB_CODE","JOB_CATEGORY","JOB_SCOPE","EMPLOYMENT_TYPE","PERSONAL_DATA","OTHER"],"type":"string"},"description":"Allowed subject values for a custom amendment item"}},"description":"Additional configuration for the data point. Present only for CUSTOM."},"is_enabled":{"type":"boolean","example":true,"description":"Whether at least one amendment item within this data point is enabled"}}},"description":"Amendment data points configured for this country"}}},"description":"List of countries with their amendment data points configuration"}}},"has_more":{"type":"boolean","example":true,"description":"Whether more pages are available"},"next_cursor":{"type":"string","example":"eyJsYXN0Q291bnRyeSI6IkFFIiwidG90YWxDb3VudCI6MiwibGltaXQiOjF9","nullable":true,"description":"Opaque cursor to pass as the cursor query param to fetch the next page. null when on the last page."},"total_count":{"type":"integer","example":2,"description":"Total number of countries with amendment settings in the database"}}}}},"description":"Data points configuration per country"},"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"},"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"}}}}}}}},"description":"Internal server error."}},"parameters":[{"in":"query","name":"countries","schema":{"type":"array","items":{"type":"string","maxLength":2,"minLength":2}},"example":["DE","FR"],"required":false,"description":"Optional list of ISO 3166-1 alpha-2 country codes to filter results. Returns all countries if omitted."},{"in":"query","name":"enabled","schema":{"type":"boolean"},"example":true,"required":false,"description":"When true, returns only enabled data points. A data point is enabled if at least one of its items is not DISABLED_AMENDMENTS."},{"in":"query","name":"limit","schema":{"type":"integer","default":20,"maximum":100,"minimum":1},"example":20,"required":false,"description":"Maximum number of results to return per page."},{"in":"query","name":"cursor","schema":{"type":"string"},"example":"eyJsYXN0Q291bnRyeSI6IkRFIn0","required":false,"description":"Cursor from a previous response to fetch the next page of results."}],"description":"Returns amendment data points configuration per country. If no countries filter is provided, returns configuration for all available countries. If no configuration exists for a country, all data points are treated as enabled.\n\n **Token scopes**: `contracts:read`","operationId":"getAmendmentDataPointsConfigurationByCountry-v2026-05-06","security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]}},"/eor/workers/contracts/{contract_id}/employee-agreement/download":{"get":{"path":"/rest/eor/workers/contracts/{contract_id}/employee-agreement/download","tags":["EOR"],"method":"get","summary":"Download employee agreement PDF","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."}],"description":"Returns a time-limited download URL for the employee agreement PDF associated with the given `contract_id`. When the optional `version` parameter is supplied and a version mismatch is detected, behaviour diverges from the default resolution path.\n\n **Token scopes**: `worker:read`","operationId":"downloadEmployeeAgreementPdf-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["worker:read"]}]}},"/eor/benefits":{"get":{"path":"/rest/eor/benefits","tags":["EOR"],"method":"get","summary":"Retrieve Benefits by Country","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."}],"description":"Returns benefits available in a specific country, scoped by work visa requirement, weekly work hours, employment type, team, and legal entity.\n\n **Token scopes**: `benefits:read`","operationId":"retrieveBenefitsByCountry-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["benefits:read"]}]}},"/v2/time_tracking/shifts/raw":{"post":{"path":"/rest/v2/time_tracking/shifts/raw","tags":["Time Tracking Shifts"],"method":"post","summary":"Create raw time tracking shifts","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":[],"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\n **Token scopes**: `time-tracking:write`","operationId":"createRawTimeTrackingShifts-v2026-01-01","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."},"security":[{"deelToken":[]},{"oauth2":["time-tracking:write"]}]}},"/timesheets/presets":{"post":{"path":"/rest/timesheets/presets","tags":["Projects"],"method":"post","summary":"Create Hourly Report Preset","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":[],"description":"Creates a new hourly report preset, returning the assigned id upon success.\n\n **Token scopes**: `timesheets:write`","operationId":"createHourlyReportPreset-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["timesheets:write"]}]}},"/industries":{"get":{"path":"/rest/industries","tags":["Legal Entities"],"method":"get","summary":"List all industry subcategories","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."}],"description":"Lists industry subcategories with their parent category details and NAICS codes, supporting cursor-based pagination and sorting by category or subcategory name.\n\n **Token scopes**: `legal-entity:read`","operationId":"listAllIndustrySubcategories-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["legal-entity:read"]}]}},"/lookups":{"get":{"path":"/rest/lookups","tags":["Lookups"],"method":"get","summary":"Retrieve lookup information for currencies, countries, entity types, etc","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`."}],"description":"Returns reference data of the type specified by the `documents` query parameter; supported values are `currencies`, `countries`, `entity_types`, and `sic`.\n\n **Token scopes**: `legal-entity:read`","operationId":"getLookups-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["legal-entity:read"]}]}},"/eor/workers/{worker_id}/payslips":{"get":{"path":"/rest/eor/workers/{worker_id}/payslips","tags":["EOR"],"method":"get","summary":"Retrieve employee payslip records","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."}],"description":"Returns a list of payslip records for the specified worker.\n\n **Token scopes**: `payslips:read`","operationId":"retrieveEmployeePayslipRecords-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["payslips:read"]}]}},"/hris/worker_relations/profile":{"post":{"path":"/rest/hris/worker_relations/profile","tags":["Worker Relations"],"method":"post","summary":"Create a worker relation","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":[],"description":"Establishes a hierarchical relationship between a worker and one or more subordinates. The request body must identify both the parent worker and the subordinate profiles to be linked.\n\n **Token scopes**: `profile:write`","operationId":"createAWorkerRelation-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["profile:write"]}]}},"/hris/positions/apply_changes":{"post":{"path":"/rest/hris/positions/apply_changes","tags":["Positions"],"method":"post","summary":"Apply changes to positions.","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":[],"description":"Applies a batch of add, edit, and delete operations to positions within a single request. Multiple operation types may be submitted together; callers should ensure each operation in the batch targets a valid, existing position where applicable.\n\n **Token scopes**: `profile:write`","operationId":"applyChangesToPositions-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["profile:write"]}]}},"/contracts/{contract_id}/amendments":{"get":{"path":"/rest/contracts/{contract_id}/amendments","tags":["Contracts"],"method":"get","summary":"List contract amendments","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"}],"description":"Retrieves the paginated list of amendments associated with a given contract, with optional filtering by amendment status and sign status.\n\n **Token scopes**: `contracts:read`, `contracts:write`","operationId":"listContractAmendments-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["contracts:read","contracts:write"]}]},"post":{"path":"/rest/contracts/{contract_id}/amendments","tags":["Contractors"],"method":"post","summary":"Amend contract","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["created","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":true,"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":{"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":"The Contractor Amendments API only supports IC (Contractor) contracts.","description":"Human-readable explanation of the error"}}}}}}}},"description":"Invalid request parameters."},"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":"An unexpected error occurred while processing the request.","description":"Human-readable explanation of the error"}}}}}}}},"description":"Internal server error."}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"37nex2x","required":true,"description":"The unique identifier of the employee contract."}],"description":"Submits an amendment to modify the details of an existing contract. If the contract is already signed or active, the amendment must be approved and re-signed before the changes take effect.\n\n **Token scopes**: `contracts:write`","operationId":"amendContract-v2026-01-01","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"},"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}]}},"/ats/application-sources":{"get":{"path":"/rest/ats/application-sources","tags":["ATS"],"method":"get","summary":"Retrieve a list of ATS application sources","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":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Bad request","description":"Error message"}}}}},"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":"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"}],"description":"Returns the available application sources in the Applicant Tracking System.\n\n **Token scopes**: `ats:read`","operationId":"retrieveAListOfAtsApplicationSources-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["ats:read"]}]}},"/eor/contracts/{contract_id}/hrx-documents":{"get":{"path":"/rest/eor/contracts/{contract_id}/hrx-documents","tags":["HRX Documents"],"method":"get","summary":"Retrieve HRX documents","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."}],"description":"Returns a paginated list of HRX documents shared with an employee under a specific EOR contract.\n\n **Token scopes**: `worker:read`, `contracts:read`","operationId":"retrieveHrxDocuments-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["worker:read","contracts:read"]}]}},"/gp/workers/{worker_id}/pto-policy":{"patch":{"path":"/rest/gp/workers/{worker_id}/pto-policy","tags":["Global Payroll"],"method":"patch","summary":"Update PTO policy","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."}],"description":"Applies a partial update to the PTO policy assigned to a Global Payroll worker. Only fields included in the request body are modified; omitted fields retain their current values.\n\n **Token scopes**: `people:write`","operationId":"updateGPEmployeePto-v2026-01-01","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."},"security":[{"deelToken":[]},{"oauth2":["people:write"]}]}},"/eor/validations/{country_code}":{"get":{"path":"/rest/eor/validations/{country_code}","tags":["EOR"],"method":"get","summary":"Retrieve detailed hiring guide for a country","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."}],"description":"Returns country-specific hiring guide data — including salary requirements, holidays, probation terms, health insurance, and currency — for use in creating and validating EOR contract quotes.\n\n **Token scopes**: `contracts:read`","operationId":"getEorCountryValidations-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]}},"/it/assets":{"get":{"path":"/rest/it/assets","tags":["IT assets"],"method":"get","summary":"List IT assets","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"}],"description":"Returns a cursor-paginated list of all IT assets historically or currently managed by the organization.\n\n **Token scopes**: `it-assets:read`","operationId":"listItAssets-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["it-assets:read"]}]}},"/offboarding/tracker/{id}":{"get":{"path":"/rest/offboarding/tracker/{id}","tags":["Offboarding"],"method":"get","summary":"Retrieve termination details","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","nullable":true,"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","nullable":true,"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","nullable":true,"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"}],"description":"Returns termination details for a contract identified by its offboarding tracker `id`.\n\n **Token scopes**: `contracts:read`, `people:read`","operationId":"retrieveTerminationDetails-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["contracts:read","people:read"]}]}},"/eor/worker/benefits":{"get":{"path":"/rest/eor/worker/benefits","tags":["EOR"],"method":"get","summary":"Retrieve Benefits for Employee","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":"Unique identifier (UUID) for this benefit instance. Use this when referencing the benefit in subsequent API calls."},"name":{"type":"string","example":"Healthcare","nullable":false,"description":"Human-readable display name of the benefit (e.g. 'Healthcare', 'Dental', '401(k)'). Suitable for display in UI."},"type":{"type":"string","example":"HEALTHCARE","nullable":true,"description":"High-level category of the benefit (e.g. HEALTHCARE, DENTAL, VISION). May be null if uncategorized. Use benefit_type_code for a more specific, jurisdiction-aware value."},"status":{"type":"string","example":"ENROLLED","nullable":false,"description":"Enrollment lifecycle state for this benefit. Populated with the same value as `enrollment_status` (both fields are returned for backward compatibility). ENROLLED = active, claimable coverage. OPTED_OUT = employee stopped or waived the coverage. TERMINATED = cancelled mid-contract. EXPIRED = coverage period ended. PENDING, AWAITING_ENROLLMENT, AWAITING_CARRIER_CONFIRMATION, and AWAITING_CONTRACT_ACTIVATION indicate transitional or pre-active states; see `enrollment_status` for the same enumeration and definitions."},"end_date":{"type":"string","example":"2025-12-31","description":"Date on which this benefit's coverage ends (ISO 8601, `YYYY-MM-DD`). Benefit record's effective end, termination, or offer end where applicable. Null or absent when no definitive end date is set on this record (coverage may still change if the contract or offering is updated)."},"plan_url":{"type":"string","example":"https://plan.example","description":"URL to this specific plan's portal or documentation — for example, a plan summary PDF, carrier-hosted plan detail page, or plan materials. Distinct from `provider_website_url` (the provider organization as a whole) and `home_page_url` (employee portal for claims and ID cards)."},"description":{"type":"string","example":"Ensure the employee is covered by a healthcare option.","nullable":false,"description":"Plain-text explanation of what this benefit covers and why it matters to the employee. Suitable for display in a benefits overview UI or summary card."},"contract_type":{"type":"string","example":"EOR","description":"Workforce product for the contract this benefit belongs to. EOR — Employer of Record; Deel is the legal employer. GP — Global Payroll; the client is the legal employer and Deel runs payroll. PEO — Professional Employer Organization (US co-employment). EMBEDDED — payroll or HR through an embedded partner integration."},"provider_name":{"type":"string","example":"ManuLife","description":"Display name of the insurance carrier or benefit provider administering this plan (for example Allianz, Cigna, ManuLife)."},"coverage_group":{"type":"string","example":"EMPLOYEE","description":"Who is covered under this benefit, derived from enrolled dependents on the contract benefit. EMPLOYEE = employee only. EMPLOYEE_AND_SPOUSE = employee plus legal spouse. EMPLOYEE_AND_DOMESTIC_PARTNER = employee plus registered domestic partner where applicable. EMPLOYEE_AND_CHILD = employee plus dependent child coverage structured as a single-child tier. EMPLOYEE_AND_CHILDREN = employee plus all enrolled children. EMPLOYEE_AND_FAMILY = employee plus spouse or partner and children (full family tier) per plan rules."},"effective_date":{"type":"string","example":"2025-02-01","description":"Date from which this benefit offering is in effect for this employee in this response (ISO 8601, `YYYY-MM-DD`). The benefit offering's offered-at date when present — not the same as contract coverage start or plan-specific coverage start dates inside enrollment."},"benefit_type_code":{"type":"string","example":"HEALTHCARE","description":"Jurisdiction-aware classification code for this benefit. Use this (not only `type`) when product logic must differ by country — for example retirement: `401_K` in the US versus `OCCUPATIONAL_PENSION` in the UK and Ireland. Other common values include HEALTHCARE, DENTAL, VISION, LIFE_INSURANCE, ACCIDENT_INSURANCE, and CRITICAL_ILLNESS; the full set may expand as new benefit types are added."},"enrollment_status":{"type":"string","example":"AWAITING_ENROLLMENT","description":"Enrollment lifecycle state for this benefit. Always matches `status` in this API version; both are returned so integrations can use the explicit `enrollment_status` name. PENDING = benefit exists but no enrollment action yet. AWAITING_ENROLLMENT = employee must complete enrollment while an enrollment window applies. AWAITING_CARRIER_CONFIRMATION = submission received; awaiting carrier or administrator confirmation. AWAITING_CONTRACT_ACTIVATION = enrollment cannot complete until the underlying employment contract is active. ENROLLED = active coverage. OPTED_OUT = employee stopped or waived the coverage. TERMINATED = stopped before natural expiry. EXPIRED = coverage window has ended."},"enrollment_window":{"type":"object","required":["starts_at","ends_at","trigger"],"properties":{"ends_at":{"type":"string","example":"2025-01-31","description":"Last date the enrollment window is open (ISO 8601, `YYYY-MM-DD`). After this date, enrollment is locked until a new window is triggered."},"trigger":{"type":"string","example":"open_enrollment","description":"Business reason this window was opened. new_hire = initial enrollment after onboarding completes. open_enrollment = scheduled annual election period. qualifying_life_event = permitted mid-year change after a life event (for example marriage, birth, divorce) per plan rules. termination = window tied to offboarding, often for continuation or COBRA-style elections in applicable jurisdictions."},"starts_at":{"type":"string","example":"2025-01-01","description":"First date the enrollment window is open (ISO 8601, `YYYY-MM-DD`). Enrollment actions are accepted on or after this date only."}},"description":"Calendar window during which the employee may enroll in, change, or opt out of this benefit. Omitted when no window is returned (enrollment changes are then not accepted until a new window opens, for example open enrollment, a qualifying life event, or a new-hire cycle per employer configuration)."},"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 identifier for this benefit plan. Use when referencing the plan in enrollment or amendment API calls."},"name":{"type":"string","example":"Gold","description":"Display name of the plan tier (e.g. 'Gold', 'Silver', 'Bronze'). Shown to employees during enrollment selection and in benefits summaries."},"attachments":{"type":"array","items":{"type":"object","required":["id","label","url"],"properties":{"id":{"type":"string","example":"ce022a6d-c24b-48c5-a1a7-ac91e85035f2","description":"Unique identifier for this attachment document."},"url":{"type":"string","example":"[https://www.provider-a.com/attachments/Canada_Benefits.pdf](https://www.provider-a.com/attachments/Canada_Benefits.pdf)","description":"Direct URL to download or view the attachment. Typically a PDF. Use as the href for a download link."},"label":{"type":"string","example":"Canada_Benefits.pdf","description":"Human-readable filename or label for the attachment (e.g. 'Canada_Benefits.pdf'). Use as the visible text for download links."}}},"description":"Downloadable documents associated with this plan (e.g. Summary of Benefits and Coverage, Certificate of Coverage, plan brochure). Render each item as a labeled download link."}},"description":"The specific benefit plan the employee is enrolled in (e.g. 'Gold', 'Silver', 'Bronze'). Contains the plan's ID, display name, and downloadable plan documents."},"selected_provider":{"type":"object","required":["id","name","home_page_url","attachments"],"properties":{"id":{"type":"string","example":"a8cbeb12-32e3-44e3-3e1d-2a41c014d0b4","description":"Unique identifier for this provider."},"name":{"type":"string","example":"ManuLife","description":"Display name of the insurance carrier or benefit provider (e.g. 'ManuLife', 'Aetna'). Use for labeling in UI."},"is_unisure":{"type":"boolean","example":true,"nullable":false,"description":"True if this benefit is administered through Unisure, a global group insurance platform Deel uses to deliver international EOR benefits. Relevant for understanding the benefit's administration model and claims process."},"attachments":{"type":"array","items":{"type":"object","required":["id","label","url"],"properties":{"id":{"type":"string","example":"ce022a6d-c24b-48c5-a1a7-ac91e85035f2","description":"Unique identifier for this attachment document."},"url":{"type":"string","example":"[https://www.provider-a.com/attachments/Canada_Benefits.pdf](https://www.provider-a.com/attachments/Canada_Benefits.pdf)","description":"Direct URL to download or view the attachment. Use as the href for a download link."},"label":{"type":"string","example":"Canada_Benefits.pdf","description":"Human-readable filename or label for the attachment. Use as the visible text for download links."}}},"description":"Provider-level documents such as general coverage guides, network directories, or enrollment guides. Render each as a labeled download link."},"home_page_url":{"type":"string","example":"[https://wwwec7.manulife.com/signin/#benefits](https://wwwec7.manulife.com/signin/#benefits)","description":"URL to the employee-facing provider portal where the employee can view claims, access ID cards, find in-network providers, and manage coverage details."}},"description":"The insurance carrier or benefit administrator managing the employee's currently enrolled plan. Includes portal access URL and provider-level documents."},"current_cycle_plan_cost":{"type":"number","example":100,"description":"Total cost of the selected plan for the current billing cycle, in the contract's currency. This is the gross plan cost before employer contributions are applied. Subtract current_cycle_employer_contribution to get the employee's net out-of-pocket cost."},"current_cycle_employer_contribution":{"type":"number","example":50,"description":"Amount the employer contributes toward the plan cost for the current billing cycle, in the contract's currency. This is the portion the company pays on the employee's behalf. The employee's actual cost is current_cycle_plan_cost minus this value."}},"description":"Details about the specific plan and provider the employee is currently enrolled in, along with the cost breakdown for the current billing cycle. Reflects the employee's actual enrollment, which may differ from organization_selection if the employee made their own plan choice."},"provider_website_url":{"type":"string","example":"https://provider.example","description":"Public marketing or corporate website for the carrier or administrator. For the employee-facing portal (claims, ID cards, provider search), use `home_page_url` when enrolled."},"employee_contribution":{"type":"object","required":["amount","type","value","currency","frequency"],"properties":{"type":{"type":"string","example":"FIXED_AMOUNT","description":"How the employee contribution is derived. FIXED_AMOUNT = flat currency per `frequency`. PERCENTAGE = percent of an earnings or cost basis defined by the plan. Additional values (for example employer match shapes on retirement benefits) can appear for specialized products."},"value":{"oneOf":[{"type":"number"},{"type":"string"}],"example":"1.23","description":"Raw contribution input from configuration or upstream systems; may be a number or string (for example `\"1.23\"`). Use `amount` for display and arithmetic — it is the normalized numeric value in `currency` per `frequency`."},"amount":{"type":"number","example":100,"description":"Resolved employee contribution in `currency` for each `frequency` period (for example `100` with `USD` and `MONTHLY` means one hundred US dollars per month)."},"currency":{"type":"string","example":"USD","description":"ISO 4217 currency code for `amount` (for example USD, CAD, GBP). Matches the parent contract's `currency` for this benefits payload."},"frequency":{"type":"string","example":"MONTHLY","description":"Payroll or billing cadence for this contribution. Typical values include MONTHLY, SEMI_MONTHLY (twice per month), BIWEEKLY, WEEKLY, and ANNUALLY; exact strings follow Deel payroll configuration."}},"description":"Recurring portion of plan cost collected from the employee's pay for this benefit. Expressed with calculation metadata (`type`, `value`), resolved `amount`, `currency`, and `frequency`. For a given period, `employee_contribution.amount` plus `employer_contribution.amount` reflects the split of premium or plan cost represented here; use `enrollment_details` cycle fields when you need billed totals for the current cycle."},"employer_contribution":{"type":"object","required":["amount","type","value","currency","frequency"],"properties":{"type":{"type":"string","example":"FIXED_AMOUNT","description":"How the employer contribution is derived. FIXED_AMOUNT = flat currency per `frequency`. PERCENTAGE = percent of an earnings or cost basis. Additional values may appear for specialized products."},"value":{"oneOf":[{"type":"number"},{"type":"string"}],"example":50,"description":"Raw employer contribution input; may be number or string depending on source. Prefer `amount` for calculations and UI."},"amount":{"type":"number","example":50,"description":"Resolved employer contribution in `currency` per `frequency` period."},"currency":{"type":"string","example":"USD","description":"ISO 4217 currency code for `amount`. Matches the parent contract's `currency`."},"frequency":{"type":"string","example":"MONTHLY","description":"Cadence at which the employer contribution is applied. Same vocabulary as `employee_contribution.frequency`."}},"description":"Recurring employer-paid portion for this benefit, same shape as `employee_contribution`. Together with `employee_contribution.amount`, describes how premium or plan cost is split for the modeled period; billed totals for the active cycle may also appear under `enrollment_details`."},"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 identifier for the organization's selected plan."},"name":{"type":"string","example":"Gold","description":"Display name of the plan tier the organization has selected (e.g. 'Gold', 'Silver'). Shown to employees as the employer-offered default."},"attachments":{"type":"array","items":{"type":"object","required":["id","label","url"],"properties":{"id":{"type":"string","example":"ce022a6d-c24b-48c5-a1a7-ac91e85035f2","description":"Unique identifier for this attachment document."},"url":{"type":"string","example":"[https://www.provider-a.com/attachments/Canada_Benefits.pdf](https://www.provider-a.com/attachments/Canada_Benefits.pdf)","description":"Direct URL to download or view the attachment."},"label":{"type":"string","example":"Canada_Benefits.pdf","description":"Human-readable filename or label for the attachment."}}},"description":"Downloadable plan documents for the organization's selected plan."}},"description":"The plan tier the organization has chosen to offer employees by default for this benefit."},"selected_provider":{"type":"object","required":["id","name","home_page_url","attachments"],"properties":{"id":{"type":"string","example":"f8cbeb32-14e3-44e3-3e1d-2a41c014d0b4","description":"Unique identifier for the organization's selected provider."},"name":{"type":"string","example":"ManuLife","description":"Display name of the provider the organization has selected (e.g. 'ManuLife', 'Aetna')."},"is_unisure":{"type":"boolean","example":true,"nullable":false,"description":"True if this provider is Unisure, a global group insurance platform used by Deel for international EOR benefits."},"attachments":{"type":"array","items":{"type":"object","required":["id","label","url"],"properties":{"id":{"type":"string","example":"ce022a6d-c24b-48c5-a1a7-ac91e85035f2","description":"Unique identifier for this attachment document."},"url":{"type":"string","example":"[https://www.provider-a.com/attachments/Canada_Benefits.pdf](https://www.provider-a.com/attachments/Canada_Benefits.pdf)","description":"Direct URL to download or view the attachment."},"label":{"type":"string","example":"Canada_Benefits.pdf","description":"Human-readable filename or label for the attachment."}}},"description":"Provider-level documents associated with the organization's selected provider."},"home_page_url":{"type":"string","example":"[https://wwwec7.manulife.com/signin/#benefits](https://wwwec7.manulife.com/signin/#benefits)","description":"URL to the employee-facing portal for the organization's selected provider."}},"description":"The insurance carrier or benefit provider the organization has contracted with to administer this benefit."}},"description":"The plan and provider the client organization has configured as the default offering for this benefit type. This reflects the employer's choice, which may differ from enrollment_details if the employee hasn't enrolled yet or selected a different option during open enrollment."}}},"description":"All benefits associated with this contract, regardless of enrollment status. Includes benefits the employee is enrolled in, has opted out of, or is pending enrollment for."},"currency":{"type":"string","example":"USD","nullable":false,"description":"ISO 4217 currency code for all monetary amounts within this contract's benefits (e.g. 'USD', 'CAD', 'GBP'). Applies to all cost and contribution fields in this contract grouping."},"contract_id":{"type":"string","example":"m7yg6zp","nullable":false,"description":"Unique identifier for the employment contract these benefits are associated with. Use to correlate benefits with a specific contract when the employee has multiple active engagements."}}},"description":"List of contracts with their associated benefits. An employee may have benefits across multiple contracts if they have more than one active engagement."}}}}},"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":[],"description":"Returns the benefits for the authenticated employee. The employee identity is inferred from the auth token, so this endpoint must be called with an employee-scoped token rather than a client token.\n\n **Token scopes**: `benefits:read`","operationId":"retrieveBenefitsForEmployee-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["benefits:read"]}]}},"/immigration/visa-types/{country_code}":{"get":{"path":"/rest/immigration/visa-types/{country_code}","tags":["Immigration"],"method":"get","summary":"Immigration visa types","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"}],"description":"Returns the visa types supported for immigration processing in a country, identified by its Alpha-2 country code.\n\n **Token scopes**: `immigration:read`","operationId":"immigrationVisaTypes-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["immigration:read"]}]}},"/eor/workers/compliance-documents/{document_id}/templates/download":{"get":{"path":"/rest/eor/workers/compliance-documents/{document_id}/templates/download","tags":["EOR"],"method":"get","summary":"Download employee compliance document template","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."}],"description":"Returns a time-limited download URL for the compliance document template associated with the given `document_id`, only if a template exists for that document.\n\n **Token scopes**: `worker:read`","operationId":"downloadEmployeeComplianceDocumentTemplate-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["worker:read"]}]}},"/candidates":{"post":{"path":"/rest/candidates","tags":["Candidates"],"method":"post","summary":"Add Candidate","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":[],"description":"Creates a candidate record for contractor onboarding outside of an ATS flow. The returned record can be used in subsequent contract creation calls.\n\n **Token scopes**: `candidates:write`","operationId":"addCandidate-v2026-01-01","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"},"security":[{"deelToken":[]},{"oauth2":["candidates:write"]}]}},"/forms/eor/create-contract/{country_code}":{"get":{"path":"/rest/forms/eor/create-contract/{country_code}","tags":["Forms"],"method":"get","summary":"Fetch EOR Contract form","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":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":{"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":{"rules":{"type":"array","items":{"type":"object","description":"A rule that modifies another question based on this option being selected."},"nullable":true,"description":"Conditional rules that apply when this option is selected."},"title":{"type":"string","example":"Yes","description":"Display text for the option."},"value":{"type":"string","example":"true","nullable":true,"description":"Value associated with the option."},"is_disabled":{"type":"boolean","example":false,"nullable":true,"description":"Whether this specific option is disabled for the selected country."}}},"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."},"questions":{"type":"array","items":{"type":"object","description":"A single child question within a Nested parent."},"nullable":true,"description":"For Nested questions: the child questions within this group."},"time_unit":{"type":"string","example":"days","nullable":true,"description":"Time unit associated with numeric duration questions."},"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."},"variant_id":{"type":"string","example":"employment.start_date.default","nullable":true,"description":"Variant identifier used to distinguish different renderings of the same key."},"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."},"additional_info":{"type":"object","oneOf":[{"type":"object","title":"StartDateAdditionalInfo","required":["payroll_lock","min_value_buffer_in_days","is_same_month_payment_country"],"properties":{"payroll_lock":{"type":"integer","example":20,"description":"Day of the month after which the start date can no longer be set in the current month (payroll lock day)."},"min_value_buffer_in_days":{"type":"integer","example":0,"description":"Minimum number of days from today before a start date can be selected. A value of 0 means the earliest available date is today (or the first upcoming payroll-eligible date)."},"is_same_month_payment_country":{"type":"boolean","example":false,"description":"Whether this country processes payroll in the same month as the employment start date (true) or the following month (false)."}},"description":"Additional info for the `employment.start_date` question."},{"type":"object","title":"EndDateAdditionalInfo","required":["type"],"properties":{"type":{"enum":["NOT_ALLOWED","ALLOWED_WITHOUT_LIMITATION","ALLOWED_WITH_MAXIMUM_LIMITATION"],"type":"string","example":"ALLOWED_WITHOUT_LIMITATION","description":"Definite-contract policy for this country. Possible values: NOT_ALLOWED (no fixed-term contracts), ALLOWED_WITHOUT_LIMITATION (fixed-term allowed without duration limit), ALLOWED_WITH_MAXIMUM_LIMITATION (fixed-term allowed up to a maximum duration)."},"min_value_buffer_in_days":{"type":"integer","example":90,"nullable":true,"description":"Minimum fixed-term contract duration in days. Null when definite contracts are not allowed (type is NOT_ALLOWED). Represents the minimum gap between start_date and end_date."},"maximum_limitation_in_months":{"type":"integer","example":24,"nullable":true,"description":"Maximum fixed-term contract duration in months. Null when there is no maximum limitation."}},"description":"Additional info for the `employment.end_date` question."},{"type":"object","title":"SalaryAdditionalInfo","required":["min_salary","max_salary","additional_payments"],"properties":{"max_salary":{"type":"number","example":800000,"description":"Maximum allowable gross annual salary for this country."},"min_salary":{"type":"number","example":11088,"description":"Minimum allowable gross annual salary for this country."},"additional_payments":{"type":"array","items":{"type":"object","properties":{"amount":{"type":"number","example":0,"nullable":true,"description":"Fixed amount of the payment (0 when it is percentage-based)."},"payment_name":{"type":"string","example":"13th salary","description":"Display name of the additional payment."},"invoicing_type":{"type":"string","example":"Multiple Months","nullable":true,"description":"How the payment is invoiced (e.g. Single Month, Multiple Months)."},"invoicing_months":{"type":"array","items":{"type":"string"},"example":["November","December"],"nullable":true,"description":"Months in which the payment is invoiced."},"how_its_calculated":{"type":"string","example":"Calculated as 1/12 of annual earnings.","nullable":true,"description":"Human-readable explanation of the calculation method."},"payment_local_name":{"type":"string","example":"Décimo Terceiro Salário","nullable":true,"description":"Local-language name of the additional payment."}}},"description":"Country-mandated irregular payments (e.g. 13th salary, profit sharing) that are included in the total employment cost."},"part_time_holiday_type":{"type":"string","example":"PRORATED","description":"How holiday pay is calculated for part-time employees (e.g. PRORATED, STANDARD)."},"standard_hours_per_week":{"type":"number","example":40,"description":"Standard working hours per week used as the full-time reference."}},"description":"Additional info for the `compensation_details.salary` question."},{"type":"object","title":"HolidaysAdditionalInfo","required":["min_holidays","standard_hours_per_week"],"properties":{"max_holidays":{"type":"number","example":null,"nullable":true,"description":"Maximum paid vacation days allowed. Null when there is no upper limit."},"min_holidays":{"type":"number","example":20,"description":"Minimum statutory paid vacation days for this country."},"part_time_holiday_type":{"type":"string","example":"STANDARD","description":"How holiday entitlement is calculated for part-time employees (e.g. PRORATED, STANDARD)."},"standard_hours_per_week":{"type":"number","example":40,"description":"Standard working hours per week used as the full-time reference."}},"description":"Additional info for the `employment.holidays` question."},{"type":"object","title":"ProbationAdditionalInfo","required":["probation_type_for_definite"],"properties":{"specific_calculation_rules":{"type":"object","nullable":true,"properties":{"time_unit":{"enum":["DAY","WEEK","MONTH"],"type":"string","example":"DAY","description":"Time unit for all probation durations in this object (DAY, WEEK, or MONTH)."},"max_probation_for_definite":{"type":"number","example":90,"description":"Maximum probation duration (in the unit specified by time_unit)."},"min_probation_for_definite":{"type":"number","example":30,"description":"Minimum probation duration (in the unit specified by time_unit)."},"max_probation_type_for_definite":{"type":"string","example":"ONE_THIRD_OF_CONTRACT_DURATION","description":"The formula used to derive the maximum probation period for a definite contract."}},"description":"Calculation rules when probation_type_for_definite is SPECIFIC_CALCULATION. Null for other types."},"probation_type_for_definite":{"enum":["STANDARD","SPECIFIC_CALCULATION","SPECIFIC_TO_DURATION_OF_CONTRACT"],"type":"string","example":"SPECIFIC_CALCULATION","description":"How the probation period is determined for definite (fixed-term) contracts. Possible values: STANDARD (fixed statutory period), SPECIFIC_CALCULATION (calculated from a rule), SPECIFIC_TO_DURATION_OF_CONTRACT (derived from contract length)."},"specific_to_duration_of_contract_rules":{"type":"array","items":{"type":"object","properties":{"time_unit":{"enum":["DAY","WEEK","MONTH"],"type":"string","description":"Time unit for probation_period and min_probation_period (DAY, WEEK, or MONTH)."},"probation_period":{"type":"number","description":"Probation duration for contracts in this range."},"min_probation_period":{"type":"number","description":"Minimum probation duration for contracts in this range."},"max_employment_duration":{"type":"number","nullable":true,"description":"Upper bound of the contract duration range. Null when unbounded."},"min_employment_duration":{"type":"number","description":"Lower bound of the contract duration range."},"employment_duration_type":{"enum":["DAY","WEEK","MONTH"],"type":"string","description":"Time unit for the employment duration bounds (DAY, WEEK, or MONTH)."}}},"nullable":true,"description":"Rules mapping contract duration ranges to probation periods when probation_type_for_definite is SPECIFIC_TO_DURATION_OF_CONTRACT. Null for other types."}},"description":"Additional info for the `employment.probation_period` question."},{"type":"object","title":"NoticePeriodAdditionalInfo","required":["notice_period_rule_type","notice_period_time_unit","notice_period_settings"],"properties":{"notice_period_settings":{"type":"array","items":{"type":"object","properties":{"tenure_rules":{"type":"array","items":{"type":"object","properties":{"time_unit":{"enum":["DAY","WEEK","MONTH"],"type":"string","example":"DAY","description":"Time unit for notice_value."},"notice_value":{"type":"integer","example":15,"description":"Notice period value for contracts in this tenure range."},"max_employment_duration":{"type":"integer","example":12,"nullable":true,"description":"Upper bound of the employment-duration range. Null when unbounded."},"min_employment_duration":{"type":"integer","example":0,"description":"Lower bound of the employment-duration range."},"employment_duration_type":{"enum":["DAY","WEEK","MONTH"],"type":"string","example":"MONTH","description":"Time unit for the employment-duration bounds."}}},"description":"Tenure-based notice period rules, used when the notice type is TENURE_BASED."},"employment_term":{"enum":["DEFINITE","INDEFINITE"],"type":"string","example":"INDEFINITE","description":"Employment term this rule applies to."},"employment_type":{"enum":["FULL_TIME","PART_TIME"],"type":"string","example":"FULL_TIME","description":"Employment type this rule applies to."},"type_for_after_probation":{"type":"string","example":"SPECIFIC","description":"How the notice period is determined after probation (e.g. NO_NOTICE_PERIOD, MIN_MAX_LIMITED, SPECIFIC, TENURE_BASED)."},"type_for_during_probation":{"type":"string","example":"MIN_MAX_LIMITED","description":"How the notice period is determined during probation (e.g. NO_NOTICE_PERIOD, MIN_MAX_LIMITED, SPECIFIC, TENURE_BASED)."},"notice_period_after_probation":{"type":"object","properties":{"max_value":{"type":"integer","example":4,"nullable":true,"description":"Maximum notice period value. Null when not applicable."},"min_value":{"type":"integer","example":1,"nullable":true,"description":"Minimum notice period value. Null when not applicable."},"time_unit":{"enum":["DAY","WEEK","MONTH"],"type":"string","example":"WEEK","description":"Time unit for the notice period values."},"default_value":{"type":"integer","example":7,"nullable":true,"description":"Default notice period value. Null when there is no default."}},"description":"Notice period minimum/maximum bounds and default for this segment."},"notice_period_during_probation":{"type":"object","properties":{"max_value":{"type":"integer","example":90,"nullable":true,"description":"Maximum notice period value. Null when not applicable."},"min_value":{"type":"integer","example":30,"nullable":true,"description":"Minimum notice period value. Null when not applicable."},"time_unit":{"enum":["DAY","WEEK","MONTH"],"type":"string","example":"DAY","description":"Time unit for the notice period values."},"default_value":{"type":"integer","example":null,"nullable":true,"description":"Default notice period value. Null when there is no default."}},"description":"Notice period minimum/maximum bounds and default for this segment."}}},"description":"Notice-period configuration, one entry per employment type and term combination."},"notice_period_rule_type":{"type":"string","example":"LIMITED_AGREEMENT","description":"Notice-period rule type for the country (e.g. LIMITED_AGREEMENT, FIXED_AGREEMENT)."},"notice_period_time_unit":{"type":"string","example":"WEEK","description":"Primary display time unit for the notice period (DAY, WEEK, or MONTH)."}},"description":"Additional info for the `employment.notice_period_type` question."}],"example":{"payroll_lock":20,"min_value_buffer_in_days":0,"is_same_month_payment_country":false},"nullable":true,"description":"Country-specific metadata for the question. The shape depends on the question key: `employment.start_date` → payroll scheduling info; `employment.end_date` → definite-contract configuration; `compensation_details.salary` → salary bounds; `employment.holidays` → PTO bounds; `employment.probation_period` → probation rules; `employment.notice_period_type` → notice period rules matrix."},"date_limitation":{"enum":["BLOCK_PAST","BLOCK_FUTURE"],"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."},"is_disabled":{"type":"boolean","example":false,"nullable":true,"description":"Whether the entire section is disabled."}}},"description":"Sections within the page."},"is_disabled":{"type":"boolean","example":false,"nullable":true,"description":"Whether the entire page is disabled for the selected country."}}},"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":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"integer","example":404,"description":"HTTP status code."},"message":{"type":"string","example":"Country not found.","description":"Human-readable error message."}}}}}}},"description":"Country not found or EOR not available in the requested country."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"integer","example":500,"description":"HTTP status code."},"message":{"type":"string","example":"An unexpected error occurred.","description":"Human-readable error message."}}}}}}},"description":"Internal server error."}},"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","format":"date"},"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","maximum":168,"minimum":1},"example":40,"required":false,"description":"The selected number of work hours per week."},{"in":"query","name":"contract_duration_in_days","schema":{"type":"integer","minimum":1},"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"}],"description":"Retrieves the versioned form definition for creating an EOR contract in the specified country, including fields, validation rules, and conditional logic. The `state` parameter is only required for countries that mandate it.\n\n **Token scopes**: `forms:read`","operationId":"fetchEorContractForm-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["forms:read"]}]}},"/eor/{oid}/terminations/{terminationId}":{"get":{"path":"/rest/eor/{oid}/terminations/{terminationId}","tags":["EOR"],"method":"get","summary":"Get termination","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"}],"description":"Returns termination data for the specified contract and termination record. Requires viewer permissions.\n\n **Token scopes**: `contracts:read`","operationId":"getEorTermination-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]}},"/veriff/session":{"post":{"path":"/rest/veriff/session","tags":["Screenings"],"method":"post","summary":"Create Veriff session","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":[],"description":"Initiates an identity verification session via Veriff, returning a URL to which the worker must be redirected to complete the verification flow.\n\n **Token scopes**: `screenings:write`, `worker:write`","operationId":"createVeriffSession-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["screenings:write","worker:write"]}]}},"/workers/contracts/{contract_id}/reject":{"post":{"path":"/rest/workers/contracts/{contract_id}/reject","tags":["Contracts"],"method":"post","summary":"Reject contract","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."}],"description":"Rejects a contract identified by contract_id, provided it is currently in a pending, unsigned state. Contracts that have already been signed or previously rejected are not eligible for this operation.\n\n **Token scopes**: `worker:write`","operationId":"rejectContract-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["worker:write"]}]}},"/payouts/employees/methods/bank_transfers/requirements":{"post":{"path":"/rest/payouts/employees/methods/bank_transfers/requirements","tags":["Payouts"],"method":"post","summary":"Dynamic Requirements","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"}},"description":"Returns the progressive field requirements needed to configure a bank transfer payout method, based on the data provided in the request. The `is_final` flag in the response indicates whether all requirements have been satisfied; callers should continue submitting updated data until `is_final` is `true` before calling `POST /payouts/employees/methods`.\n\n **Token scopes**: `worker:read`, `worker:write`","operationId":"dynamicRequirements-v2026-01-01","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"}}}}}}}},"security":[{"deelToken":[]},{"oauth2":["worker:read","worker:write"]}]}},"/eor/workers/compliance-documents":{"get":{"path":"/rest/eor/workers/compliance-documents","tags":["EOR"],"method":"get","summary":"List of employee compliance documents","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":[],"description":"Returns the list of compliance documents associated with an EOR employee.\n\n **Token scopes**: `worker:read`","operationId":"listOfEmployeeComplianceDocuments-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["worker:read"]}]}},"/payouts/contractors/methods/bank_transfers/supported_routes":{"get":{"path":"/rest/payouts/contractors/methods/bank_transfers/supported_routes","tags":["Payouts"],"method":"get","summary":"Get bank transfer supported routes for contractor","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"}},"description":"Returns all bank transfer routes available to the authenticated contractor.\n\n **Token scopes**: `worker:read`, `worker:write`","operationId":"getBankTransferSupportedRoutes-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["worker:read","worker:write"]}]}},"/gp/workers/{id}/payslips/{payslip_id}/download":{"get":{"path":"/rest/gp/workers/{id}/payslips/{payslip_id}/download","tags":["Global Payroll"],"method":"get","summary":"Download a GP worker payslip","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."}],"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\n **Token scopes**: `payslips:read`","operationId":"downloadAGpWorkerPayslip-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["payslips:read"]}]}},"/ats/job-postings/{job_posting_id}":{"get":{"path":"/rest/ats/job-postings/{job_posting_id}","tags":["ATS"],"method":"get","summary":"Retrieve ATS job posting","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"}],"description":"Returns a single job posting by `job_posting_id`, including its associated job object, publication status, application form configuration, compensation visibility flag, and rich-text description.\n\n **Token scopes**: `ats:read`","operationId":"retrieveAtsJobPosting-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["ats:read"]}]}},"/worker":{"post":{"path":"/rest/worker","tags":["Workers"],"method":"post","summary":"Create a new worker","security":[{"deelToken":[]},{"oauth2":[]}],"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"}},"description":"Creates a new worker record and returns the associated user_id, profile_id, and contract_id for the created worker.","operationId":"createWorker-v2026-01-01","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}}},"/immigration/client/cases":{"post":{"path":"/rest/immigration/client/cases","tags":["Immigration"],"method":"post","summary":"Create an immigration case","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":[],"description":"Creates a new immigration case for a worker. The appropriate visa type must be determined before calling this endpoint.\n\n **Token scopes**: `immigration:write`","operationId":"createAnImmigrationCase-v2026-01-01","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, team_id is required and employee_details must include first_name, last_name, and email."},"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},"security":[{"deelToken":[]},{"oauth2":["immigration:write"]}]},"get":{"path":"/rest/immigration/client/cases","tags":["Immigration"],"method":"get","summary":"List of immigration cases","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"}],"description":"Returns a paginated list of immigration cases, optionally filtered by applicant name or code, case type, status, and country (ISO 3166-1 alpha-2). Use the `cursor` value from each response to retrieve the next page of results.\n\n **Token scopes**: `immigration:read`","operationId":"listOfImmigrationCases-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["immigration:read"]}]}},"/ats/candidates":{"post":{"path":"/rest/ats/candidates","tags":["ATS"],"method":"post","summary":"Create ATS Candidate","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":[],"description":"Creates a new candidate record in the ATS and returns the candidate with their unique identifier, which can then be used to link the candidate to job applications.\n\n **Token scopes**: `ats:write`","operationId":"createAtsCandidate-v2026-01-01","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"}}}}}}}},"security":[{"deelToken":[]},{"oauth2":["ats:write"]}]},"get":{"path":"/rest/ats/candidates","tags":["ATS"],"method":"get","summary":"Retrieve paginated list of ATS Candidates","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)"}],"description":"Returns a paginated list of candidates, optionally filtered by job IDs, department IDs, tag IDs, current stage category or default type slugs, or a timestamp to return only records updated after a given point.\n\n **Token scopes**: `ats:read`","operationId":"retrievePaginatedListOfAtsCandidates-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["ats:read"]}]}},"/contracts/{contract_id}/invitations":{"delete":{"path":"/rest/contracts/{contract_id}/invitations","tags":["Contracts"],"method":"delete","summary":"Remove invite","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."}],"description":"Removes the active signing invitation from a contract to allow a new invitation to be issued to the worker.\n\n **Token scopes**: `contracts:write`","operationId":"uninviteToSignContract-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["contracts:write"]}]},"post":{"path":"/rest/contracts/{contract_id}/invitations","tags":["Contracts"],"method":"post","summary":"Send contract to worker","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."}],"description":"Sends a signing invitation email to a worker for the specified contract, setting their email as the expected signer. If the contract was previously rejected, resets its status back to a signing-eligible state. Can only be called if the worker has not already signed the contract.\n\n **Token scopes**: `contracts:write`","operationId":"inviteToSignContract-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}]}},"/hris/worker_relations/profile/external":{"post":{"path":"/rest/hris/worker_relations/profile/external","tags":["Worker Relations"],"method":"post","summary":"Create worker relation with external Ids","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"}},"description":"Creates a hierarchical worker relation between a worker and their subordinates, using external IDs to identify all parties. The request body must supply the external IDs of both the parent and child workers along with the relation type.\n\n **Token scopes**: `profile:write`","operationId":"createWorkerRelationExternalId-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["profile:write"]}]}},"/screenings/verification-method":{"get":{"path":"/rest/screenings/verification-method","tags":["Screenings"],"method":"get","summary":"Get verification method","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"}],"description":"Returns the KYC verification method supported for a given combination of issuing country and document type.\n\n **Token scopes**: `screenings:read`, `worker:read`","operationId":"getVerificationMethod-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["screenings:read","worker:read"]}]}},"/engage/learning/actionable-journeys":{"get":{"path":"/rest/engage/learning/actionable-journeys","tags":["Learning"],"method":"get","summary":"Retrieve worker's actionable journeys","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_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","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.","nullable":true,"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"},"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","nullable":true,"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":"2025-02-13T13:25:01.371Z","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","nullable":true,"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":"2025-02-13T13:25:01.371Z","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","nullable":true,"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":"2025-02-13T13:25:01.371Z","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","nullable":true,"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":"2025-02-13T13:25:01.371Z","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",null],"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."}],"description":"Returns cursor-paginated ActionableJourneys assigned to the authenticated worker. ActionableJourneys correspond to what the user interface labels as Courses. Learn more about [Learning Management](https://www.deel.com/hr/engage/learning-management-software/)\n\n **Token scopes**: `worker:read`","operationId":"retrieveWorkersActionableJourneys-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["worker:read"]}]}},"/workers/session":{"post":{"path":"/rest/workers/session","tags":["Worker Session"],"method":"post","summary":"Create worker access token","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"}},"description":"Issues a scoped access token granting a worker access to worker-side API endpoints. The response includes the token value and its expiry timestamp.\n\n **Token scopes**: `admin:worker`","operationId":"createWorkerAccessToken-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["admin:worker"]}]}},"/time_offs/time-off-events":{"get":{"path":"/rest/time_offs/time-off-events","tags":["Time Off"],"method":"get","summary":"Get Time Off Events for Profile","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"}],"description":"Returns time-off events for a worker profile identified by hris_profile_id, with optional filtering by time_off_type_id or policy_id.\n\n **Token scopes**: `time-off:read`","operationId":"getTimeOffEventsForProfile-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["time-off:read"]}]}},"/screenings/kyc/details":{"get":{"path":"/rest/screenings/kyc/details","tags":["Screenings"],"method":"get","summary":"Get worker's KYC details","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":{"oneOf":[{"enum":["DRIVING_LICENSE","PASSPORT","GOVERNMENT_ID","SELFIE_WITH_ID","PROOF_OF_RESIDENCY","OTHER"],"type":"string"},{"type":"null"}],"example":"DRIVING_LICENSE","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":{"oneOf":[{"type":"string","example":"\"value\" contains a conflict between exclusive peers [workerProfileId, profileId]","description":"Raw error string returned by middleware in some failure paths"},{"type":"object","description":"Error object returned by wrapper middleware"},{"type":"array","items":{"oneOf":[{"type":"string","example":"\"value\" contains a conflict between exclusive peers [workerProfileId, profileId]"},{"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":{"oneOf":[{"type":"string","example":"You do not have permissions to view this profile","description":"Raw error string returned by middleware in some failure paths"},{"type":"object","description":"Error object returned by wrapper middleware"},{"type":"array","items":{"oneOf":[{"type":"string","example":"You do not have permissions to view this profile"},{"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":{"oneOf":[{"type":"string","example":"We found multiple profiles for the provided worker ID. Please provide the contract id to resolve KYC details","description":"Raw error string returned by middleware in some failure paths"},{"type":"object","description":"Error object returned by wrapper middleware"},{"type":"array","items":{"oneOf":[{"type":"string","example":"We found multiple profiles for the provided worker ID. Please provide the contract id to resolve KYC details"},{"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"},"412":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"oneOf":[{"type":"string","example":"We could not extract contractor ID from the contract","description":"Raw error string returned by middleware in some failure paths"},{"type":"object","description":"Error object returned by wrapper middleware"},{"type":"array","items":{"oneOf":[{"type":"string","example":"We could not extract contractor ID from the contract"},{"type":"object","properties":{"code":{"type":"string","example":"precondition_failed","description":"Machine-readable error code"},"message":{"type":"string","example":"We could not extract contractor ID from the contract","description":"Human-readable explanation of the error"}}}]}}]}}}}},"description":"Precondition Failed - Could not extract contractor ID from the contract"},"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":100},"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 "}],"description":"Retrieves KYC verification details for a worker identified by `worker_profile_id` or `profile_id`; these two parameters are mutually exclusive. `contract_id` is required when multiple profiles are associated with the worker.\n\n **Token scopes**: `screenings:read`","operationId":"getWorkersKycDetails-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["screenings:read"]}]}},"/eor/contracts/{contract_id}/offboarding/time-offs":{"get":{"path":"/rest/eor/contracts/{contract_id}/offboarding/time-offs","tags":["EOR"],"method":"get","summary":"Retrieve Employee Time Off Data for Offboarding","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."}],"description":"Returns time off entitlements, balances, and upcoming time offs for the employee on the specified contract, optionally scoped to a target end_date. The response includes policy settings and tracking configuration required to support completion of an offboarding request.\n\n **Token scopes**: `contracts:read`","operationId":"retrieveEmployeeTimeOffDataForOffboarding-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]}},"/legal-entities/{legal_entity_id}/cost-centers/synchronize":{"post":{"path":"/rest/legal-entities/{legal_entity_id}/cost-centers/synchronize","tags":["Cost Centers"],"method":"post","summary":"Sync cost centers for legal entity","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"}],"description":"Update legal entity cost center's data to replicate the data provided on the request\n\n **Token scopes**: `legal-entity:write`","operationId":"syncCostCentersForLegalEntity-v2026-01-01","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"},"security":[{"deelToken":[]},{"oauth2":["legal-entity:write"]}]}},"/tasks/{task_id}":{"patch":{"path":"/rest/tasks/{task_id}","tags":["Tasks"],"method":"patch","summary":"Update Task By ID","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"}],"description":"Applies a partial update to the specified task and returns whether the update was successful.\n\n **Token scopes**: `tasks:write`","operationId":"updateTaskById-v2026-01-01","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."},"security":[{"deelToken":[]},{"oauth2":["tasks:write"]}]}},"/eor/contracts/{contract_id}/amendments/{amendment_id}/accept":{"post":{"path":"/rest/eor/contracts/{contract_id}/amendments/{amendment_id}/accept","tags":["EOR"],"method":"post","summary":"Accept a contract amendment on behalf of the client.","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."}],"description":"Accepts a pending amendment on an EOR worker contract, formally approving the proposed modifications on the client's behalf. The amendment must already exist and be in a pending state before this operation can be called.\n\n **Token scopes**: `contracts:write`","operationId":"acceptAContractAmendmentOnBehalfOfTheClient-v2026-01-01","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."},"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}]}},"/eor/contracts/{contract_id}/offboarding":{"get":{"path":"/rest/eor/contracts/{contract_id}/offboarding","tags":["EOR"],"method":"get","summary":"Retrieve Offboarding Request","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."}],"description":"Retrieves the offboarding request associated with a specific EOR contract, including termination details, document review status, offboarding request data, and pending employee notification state.\n\n **Token scopes**: `contracts:read`, `worker:read`","operationId":"retrieveOffboardingRequest-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["contracts:read","worker:read"]}]}},"/eor/workers/contracts/{contract_id}/hr-documents":{"get":{"path":"/rest/eor/workers/contracts/{contract_id}/hr-documents","tags":["EOR"],"method":"get","summary":"List HR verification letters and documents","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":"Deel contract id."}],"description":"Returns all HR verification letters and documents associated with the employee contract.\n\n **Token scopes**: `worker:read`","operationId":"listHrVerificationLettersAndDocuments-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["worker:read"]}]}},"/forms/eor/worker-additional-fields/{country_code}":{"get":{"path":"/rest/forms/eor/worker-additional-fields/{country_code}","tags":["Forms"],"method":"get","summary":"Get worker additional fields for (EOR)","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"}],"description":"Retrieves the additional form fields required when onboarding EOR workers in the specified country.\n\n **Token scopes**: `forms:read`","operationId":"getWorkerAdditionalFieldsForEor-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["forms:read"]}]}},"/eor/contracts/{contract_id}/documents/{type}/sign":{"post":{"path":"/rest/eor/contracts/{contract_id}/documents/{type}/sign","tags":["EOR"],"method":"post","summary":"Sign EOR contract document","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."}],"description":"Applies a signature and job title to a specified EOR contract document. Currently only the `FRAMEWORK_AGREEMENT` document type is supported.\n\n **Token scopes**: `contracts:write`","operationId":"signEorContractDocument-v2026-01-01","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."}}}}}}}},"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}]}},"/contracts/{contract_id}/adjustments":{"get":{"path":"/rest/contracts/{contract_id}/adjustments","tags":["Adjustments"],"method":"get","summary":"Retrieve adjustments","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."}],"description":"Retrieves all adjustments associated with a specific contract, optionally scoped to a date range.\n\n **Token scopes**: `adjustments:read`","operationId":"retrieveAdjustments-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["adjustments:read"]}]}},"/on-demand-payroll/contract/{contract_id}/current":{"get":{"path":"/rest/on-demand-payroll/contract/{contract_id}/current","tags":["On-Demand Payroll"],"method":"get","summary":"Retrieve current On-Demand Payroll","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","status","sla","entries"],"properties":{"id":{"type":"string","example":"odp_abc123","description":"Public ID of the On-Demand Payroll."},"sla":{"type":"object","properties":{"payment_buffer":{"type":"integer","example":1,"nullable":true,"description":"Payment buffer in days."},"payment_processing":{"type":"integer","example":2,"nullable":true,"description":"Payment processing SLA in days."},"payment_settlement":{"type":"integer","example":3,"nullable":true,"description":"Payment settlement SLA in days."},"payroll_processing":{"type":"integer","example":1,"nullable":true,"description":"Payroll processing SLA in days."},"post_termination_buffer":{"type":"integer","example":30,"nullable":true,"description":"Post-termination buffer in days during which an ODP is still allowed."}},"description":"Processing SLAs (in days) configured for the contract EOR entity."},"status":{"enum":["AWAITING_CLIENT_APPROVAL","AWAITING_CLIENT_SUBMISSION","AWAITING_ADJUSTMENTS_TO_BE_READY","AWAITING_DEEL_PROCESSING","DEEL_PROCESSING","REJECTED","CANCELLED","PARTIALLY_APPROVED","APPROVED"],"type":"string","example":"AWAITING_CLIENT_APPROVAL","description":"Lifecycle status of the ODP."},"entries":{"type":"array","items":{"type":"object","required":["amount","currency","title","type","uom","metadata"],"properties":{"uom":{"enum":["CURRENCY"],"type":"string","example":"CURRENCY","description":"Unit of measure of the entry amount. Always CURRENCY."},"type":{"type":"string","example":"BONUS","description":"The adjustment type of the entry."},"title":{"type":"string","example":"Q1 performance bonus","description":"Short human-readable title of the entry."},"amount":{"type":"number","example":150.5,"description":"The entry amount in the contract currency.","x-sensitive-employment":true},"currency":{"type":"string","example":"USD","description":"ISO 4217 currency code of the entry amount."},"metadata":{"type":"object","properties":{"type":{"type":"string","example":"BONUS","description":"The adjustment type of the entry."},"public_id":{"type":"string","example":"adj_abc123","description":"Public ID of the underlying adjustment."},"reviewed_at":{"type":"string","format":"date-time","example":"2026-01-06T10:00:00Z","nullable":true,"description":"Timestamp of the last review of the entry."},"vendor_name":{"type":"string","example":"Acme Inc.","nullable":true,"description":"Vendor associated with the entry, when applicable.","x-sensitive-pii":true},"category_label":{"type":"string","example":"Bonus","nullable":true,"description":"Label of the adjustment category."},"submission_date":{"type":"string","format":"date-time","example":"2026-01-04T09:00:00Z","nullable":true,"description":"Timestamp when the entry was submitted."},"category_group_label":{"type":"string","example":"Compensation","nullable":true,"description":"Label of the adjustment category group."}},"description":"Additional, non-contractual metadata about the entry."},"submitter":{"type":"object","nullable":true,"properties":{"id":{"type":"string","example":"p_abc123","nullable":true,"description":"Public ID of the submitter, when available."},"name":{"type":"string","example":"John Doe","description":"Full name of the submitter.","x-sensitive-pii":true}},"description":"The person who submitted the entry."},"description":{"type":"string","example":"Bonus awarded for Q1 results","nullable":true,"description":"Free-text description of the entry."},"date_of_entry":{"type":"string","format":"date","example":"2026-01-05","nullable":true,"description":"Date the entry applies to (YYYY-MM-DD). Null when not available for the entry."}},"description":"An On-Demand Payroll entry (an adjustment attached to the ODP)."},"description":"Entries currently attached to the ODP."},"invoice_id":{"type":"string","example":"inv_abc123","nullable":true,"description":"Public ID of the invoice associated with the ODP, when one has been generated. Use the Invoices API to fetch its details."},"submitted_at":{"type":"string","format":"date-time","example":"2026-01-01T00:00:00Z","nullable":true,"description":"Timestamp when the ODP was submitted, when submitted."},"submitted_by":{"type":"string","example":"Jane Doe","nullable":true,"description":"Name of the person who submitted the ODP, when submitted.","x-sensitive-pii":true},"deel_reviewed_at":{"type":"string","format":"date-time","example":"2026-01-08T12:00:00Z","nullable":true,"description":"Timestamp when Deel reviewed the ODP, when reviewed."},"estimated_payday":{"type":"string","format":"date","example":"2026-01-10","nullable":true,"description":"Estimated payday for the ODP (YYYY-MM-DD)."},"next_available_payment_date":{"type":"string","format":"date","example":"2026-01-12","nullable":true,"description":"Next available payment date for the EOR contract (YYYY-MM-DD), when applicable."}},"description":"An On-Demand Payroll for a contract."}}}}},"description":"The active On-Demand Payroll for the contract."},"400":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"ODP_NOT_FOUND","description":"Machine-readable error code."},"field":{"type":"string","example":"existing_entry_ids","description":"Field that caused the error, when applicable."},"message":{"type":"string","example":"No active On Demand Payroll for this contract","description":"Human-readable error message."}}},"description":"List of errors."}}}}},"description":"Invalid request."},"401":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"ODP_NOT_FOUND","description":"Machine-readable error code."},"field":{"type":"string","example":"existing_entry_ids","description":"Field that caused the error, when applicable."},"message":{"type":"string","example":"No active On Demand Payroll for this contract","description":"Human-readable error message."}}},"description":"List of errors."}}}}},"description":"Authentication is required or has failed."},"403":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"ODP_NOT_FOUND","description":"Machine-readable error code."},"field":{"type":"string","example":"existing_entry_ids","description":"Field that caused the error, when applicable."},"message":{"type":"string","example":"No active On Demand Payroll for this contract","description":"Human-readable error message."}}},"description":"List of errors."}}}}},"description":"The caller is not allowed to perform this action."},"404":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","example":"ODP_NOT_FOUND","description":"Machine-readable error code."},"field":{"type":"string","example":"existing_entry_ids","description":"Field that caused the error, when applicable."},"message":{"type":"string","example":"No active On Demand Payroll for this contract","description":"Human-readable error message."}}},"description":"List of errors."}}}}},"description":"No active On-Demand Payroll for the contract."},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[{"in":"path","name":"contract_id","schema":{"type":"string"},"example":"con_abc123","required":true,"description":"Public ID (oid) of the contract."}],"description":"Retrieves the active On-Demand Payroll for the given contract, including its status, SLAs, invoice and attached entries.\n\n **Token scopes**: `on-demand-payroll:read`","operationId":"retrieveCurrentOnDemandPayroll-v2026-07-16","security":[{"deelToken":[]},{"oauth2":["on-demand-payroll:read"]}]}},"/gp/workers/{worker_id}/terminations":{"post":{"path":"/rest/gp/workers/{worker_id}/terminations","tags":["Global Payroll"],"method":"post","summary":"Request termination","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."}],"description":"Initiates the termination process for a Global Payroll worker. A successful response confirms the request was accepted and the process has begun, but does not indicate that termination is complete.\n\n **Token scopes**: `global-payroll:write`","operationId":"requestTermination-v2026-01-01","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."},"security":[{"deelToken":[]},{"oauth2":["global-payroll:write"]}]}},"/refund-statements":{"get":{"path":"/rest/refund-statements","tags":["Accounting"],"method":"get","summary":"Retrieve refund statements","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["rows","has_more","next_cursor","total_count"],"properties":{"rows":{"type":"array","items":{"type":"object","required":["id","label","amount","status","currency","payment_method","created_at"],"properties":{"id":{"type":"string","example":"34d7Y48Ymu44g66fghN9F","description":"Unique identifier of the refund statement.","x-sensitive-pii":true},"label":{"type":"string","example":"REC-2024-3","description":"A descriptive label for the refund statement.","x-sensitive-pii":true},"amount":{"type":"string","example":"1500.00","description":"Amount of the payment.","x-sensitive-pii":true},"status":{"enum":["paid","processing","cancelled","failed"],"type":"string","example":"paid","description":"Status of the refund statement. Either 'paid', 'processing', 'cancelled' or 'failed'.","x-sensitive-pii":true},"paid_at":{"type":"string","format":"date-time","example":"2022-05-24T09:38:46.235Z","nullable":true,"description":"Date and time when the refund statement was completed, in ISO-8601 format."},"currency":{"type":"string","example":"USD","pattern":"^[A-Z]{3}$","maxLength":3,"minLength":3,"description":"Three-letter currency code for the payment, following ISO 4217.","x-sensitive-pii":true},"created_at":{"type":"string","format":"date-time","example":"2022-05-23T14:45:30.123Z","description":"Date and time when the refund statement was created, in ISO-8601 format."},"payment_method":{"enum":["bank_transfer","client_balance"],"type":"string","example":"bank_transfer","description":"Method of payment used for the refund statement.","x-sensitive-pii":true}}},"description":"Array of refund statements matching the query criteria."},"has_more":{"type":"boolean","example":true,"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":"integer","example":150,"description":"The total number of refund statements matching the query."}}}}}}},"description":"Successfully retrieved refund statements."},"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":"/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":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","example":"forbidden","description":"Machine-readable error code"},"message":{"type":"string","example":"You don't have permission to access this resource","description":"Human-readable explanation of the error"}}}}}}}},"description":"Operation failed."},"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":"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":"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":{"type":"array","items":{"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":{"type":"array","items":{"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."}],"description":"Use this endpoint to retrieve a list of refund statements. This allows review of past transactions and reconciliation of accounts.\n\n **Token scopes**: `accounting:read`","operationId":"retrieveRefundStatements-v2026-04-30","security":[{"deelToken":[]},{"oauth2":["accounting:read"]}]}},"/contracts/{contract_id}/ic-invoicing-taxes":{"patch":{"path":"/rest/contracts/{contract_id}/ic-invoicing-taxes","tags":["IC invoicing taxes"],"method":"patch","summary":"Update IC invoicing tax","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"}],"description":"Applies a partial update to the invoicing tax for an independent contractor contract; accepts `tax_type` (WITHHOLDING_TAX or VAT) and `percentage` to modify how taxes are calculated on future invoices.\n\n **Token scopes**: `invoice-adjustments:write`","operationId":"updateIcInvoicingTax-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["invoice-adjustments:write"]}]},"get":{"path":"/rest/contracts/{contract_id}/ic-invoicing-taxes","tags":["IC invoicing taxes"],"method":"get","summary":"Get IC invoicing taxes","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"}],"description":"Retrieves the VAT and withholding tax settings configured for an independent contractor contract.\n\n **Token scopes**: `invoice-adjustments:read`","operationId":"getIcInvoicingTaxes-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["invoice-adjustments:read"]}]},"post":{"path":"/rest/contracts/{contract_id}/ic-invoicing-taxes","tags":["IC invoicing taxes"],"method":"post","summary":"Create IC invoicing tax","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"}],"description":"Creates an invoicing tax entry for an independent contractor contract.\n\n **Token scopes**: `invoice-adjustments:write`","operationId":"createIcInvoicingTax-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["invoice-adjustments:write"]}]}},"/eor/worker":{"post":{"path":"/rest/eor/worker","tags":["EOR"],"method":"post","summary":"Create EOR Worker","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":[],"description":"Creates an EOR worker record and returns the associated `user_id`, `profile_id`, and `hris_profile_id`.\n\n **Token scopes**: `people:write`","operationId":"createEorWorker-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["people:write"]}]}},"/benefits/legal-entities/{id}/benefits/401k/activate":{"post":{"path":"/rest/benefits/legal-entities/{id}/benefits/401k/activate","tags":["Plans 401K"],"method":"post","summary":"Activate the 401k integration for the legal entity","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"}],"description":"Activates the 401k benefits integration for the specified legal entity. Must be called before 401k plans can be created or employees enrolled.\n\n **Token scopes**: `benefits:write`","operationId":"activateThe401KIntegrationForTheLegalEntity-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["benefits:write"]}]}},"/ats/applications/{application_id}/interview-plan-stages":{"post":{"path":"/rest/ats/applications/{application_id}/interview-plan-stages","tags":["ATS"],"method":"post","summary":"Associate application with an interview plan stage","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"}],"description":"Associates an application with a specific interview plan stage. Set `is_current_stage` to `true` to advance the application's active stage, or `false` to record a historical stage entry without changing the current stage. Pass `applicable_job_activities` to selectively trigger activities, omit it to trigger all, or pass an empty array to trigger none; if archiving the candidate, include `candidate_archivation_reason_id` and optionally `candidate_archivation_email_template_id` to send a rejection email.\n\n **Token scopes**: `ats:write`","operationId":"associateApplicationWithAnInterviewPlanStage-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["ats:write"]}]}},"/workers/tax-forms":{"post":{"path":"/rest/workers/tax-forms","tags":["Workers"],"method":"post","summary":"Create a tax form for the authenticated worker","responses":{"201":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["id","created_at"],"properties":{"id":{"type":"string","format":"uuid","example":"00000000-0000-0000-0000-000000000000","description":"The public ID (UUID) of the created tax form."},"created_at":{"type":"string","format":"date-time","example":"2026-01-15T12:00:00.000Z","description":"Timestamp of when the tax form was created."}},"x-sensitive-pii":true,"x-sensitive-employment":true}}}}},"description":"Tax form 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":"Validation failed — for example a request body field is missing or malformed, the client_legal_entity_id does not exist, or the form_type does not match the contractor's tax residency (e.g. a W-8BEN submitted for a US contractor)."},"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":"No active contract found for the given contractor and legal entity","description":"Human-readable explanation of the error"}}}}}}}},"description":"No live contract exists between the contractor and the specified client legal entity. A tax form can only be submitted for a contractor who has a non-terminated contract with that legal entity."},"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":"Resource not found","description":"Human-readable explanation of the error"}}}}}}}},"description":"The authenticated worker was not found in the calling organization, or has no contractor 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":"Tax form already exists for this contractor and entity pair","description":"Human-readable explanation of the error"}}}}}}}},"description":"A tax form already exists for this contractor and client legal entity. Only one tax form can exist per contractor/legal-entity pair."},"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."}},"description":"Submit a new US tax form for the authenticated worker against a specific client legal entity, typically during onboarding or when a fresh form must be recorded for a worker/legal-entity pair. The worker is resolved from the access token; the target legal entity is set via client_legal_entity_id. Select the form type based on the worker's US tax status: W-9 for US individuals or entities, W-8BEN for non-US individuals, W-8BEN-E for non-US entities. The worker must have an active (non-terminated) contract with the legal entity, and only one tax form may exist per worker/legal-entity pair.\n\n **Token scopes**: `worker:write`","operationId":"createATaxFormForAWorker-v2026-01-01","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"object","oneOf":[{"type":"object","title":"W9_INDIVIDUAL","required":["form_type","client_legal_entity_id","first_name","last_name","address","country","city","zip_code","tax_number","contractor_signature"],"properties":{"city":{"type":"string","example":"New York","maxLength":40,"minLength":1,"description":"City name."},"state":{"type":"string","example":"NY","nullable":true,"maxLength":10,"description":"US state code."},"address":{"type":"string","example":"123 Main Street","maxLength":40,"description":"Street address. Maximum 40 characters for 1099 reporting compliance."},"country":{"type":"string","example":"US","pattern":"^[A-Z]{2}$","maxLength":2,"minLength":2,"description":"ISO 3166-1 alpha-2 country code."},"zip_code":{"type":"string","example":"10001","description":"ZIP/postal code. Must be a valid US ZIP code for US addresses."},"form_type":{"enum":["W9_INDIVIDUAL"],"type":"string","example":"W9_INDIVIDUAL","description":"Tax form type for US individuals."},"last_name":{"type":"string","example":"Doe","maxLength":40,"description":"Legal last name."},"first_name":{"type":"string","example":"John","maxLength":40,"description":"Legal first name."},"tax_number":{"type":"object","required":["type","value"],"properties":{"type":{"enum":["SSN","ITIN","EIN"],"type":"string","example":"SSN","description":"Tax ID type. SSN/ITIN for individuals; EIN also allowed for disregarded entities."},"value":{"type":"string","example":"219-09-9999","description":"Tax ID value."}},"description":"Taxpayer identification number."},"middle_name":{"type":"string","example":"Michael","maxLength":100,"description":"Legal middle name."},"business_name":{"type":"string","example":"John Doe LLC","nullable":true,"maxLength":40,"description":"Business name. Only applicable when is_disregarded_entity is true."},"contractor_signature":{"type":"string","example":"John Doe","maxLength":100,"minLength":1,"description":"Contractor's digital signature."},"is_disregarded_entity":{"type":"boolean","default":false,"example":true,"description":"Whether this is a disregarded entity."},"client_legal_entity_id":{"type":"string","format":"uuid","example":"00000000-0000-0000-0000-000000000000","description":"Public ID of the client's legal entity."},"is_subject_backup_withholding":{"type":"boolean","default":false,"example":false,"description":"Whether the contractor is subject to backup withholding."}}},{"type":"object","title":"W9_COMPANY","required":["form_type","client_legal_entity_id","business_name","address","federal_tax_classification","country","city","zip_code","tax_number","contractor_signature"],"properties":{"city":{"type":"string","example":"New York","maxLength":40,"minLength":1,"description":"City name."},"state":{"type":"string","example":"NY","nullable":true,"maxLength":10,"description":"US state code."},"address":{"type":"string","example":"456 Corporate Blvd","maxLength":40,"description":"Street address."},"country":{"type":"string","example":"US","pattern":"^[A-Z]{2}$","maxLength":2,"minLength":2,"description":"ISO 3166-1 alpha-2 country code."},"zip_code":{"type":"string","example":"10001","description":"ZIP/postal code."},"form_type":{"enum":["W9_COMPANY"],"type":"string","example":"W9_COMPANY","description":"Tax form type for US entities/companies."},"tax_number":{"type":"object","required":["type","value"],"properties":{"type":{"enum":["SSN","ITIN","EIN"],"type":"string","example":"EIN","description":"Tax ID type. EIN for most entities; SSN/ITIN/EIN for LLC."},"value":{"type":"string","example":"12-3456780","description":"Tax ID value."}},"description":"Taxpayer identification number."},"business_name":{"type":"string","example":"Acme Corp","maxLength":40,"minLength":1,"description":"Business name."},"doing_business_as":{"type":"string","example":"Acme","nullable":true,"maxLength":50,"description":"DBA name."},"contractor_signature":{"type":"string","example":"Jane Smith","maxLength":100,"minLength":1,"description":"Authorized signer's digital signature."},"client_legal_entity_id":{"type":"string","format":"uuid","example":"00000000-0000-0000-0000-000000000000","description":"Public ID of the client's legal entity."},"federal_tax_classification":{"type":"object","required":["type"],"properties":{"type":{"enum":["C_CORPORATION","S_CORPORATION","OTHER","PARTNERSHIP","LLC","TRUST_ESTATE"],"type":"string","example":"LLC","description":"Federal tax classification type."},"llc_classification":{"enum":["P","S","C"],"type":"string","example":"C","description":"LLC sub-classification. Required when type is 'LLC'."},"other_additional_information":{"type":"string","example":"Nonprofit organization exempt under section 501(c)","maxLength":100,"description":"Additional information. Required when type is 'OTHER'."}},"description":"Federal tax classification."},"is_subject_backup_withholding":{"type":"boolean","default":false,"example":false,"description":"Whether the contractor is subject to backup withholding."}}},{"type":"object","title":"W8_BEN","required":["form_type","client_legal_entity_id","first_name","last_name","country_of_citizenship","country","zip_code","address","contractor_signature"],"properties":{"city":{"type":"string","example":"Madrid","nullable":true,"maxLength":50,"minLength":1,"description":"City name."},"state":{"type":"string","example":"Madrid","nullable":true,"maxLength":10,"description":"State or province code."},"address":{"type":"string","example":"Calle Mayor 1","maxLength":100,"description":"Street address."},"country":{"type":"string","example":"ES","pattern":"^[A-Z]{2}$","maxLength":2,"minLength":2,"description":"ISO 3166-1 alpha-2 country code of permanent residence."},"zip_code":{"type":"string","example":"28001","description":"ZIP/postal code."},"form_type":{"enum":["W8_BEN"],"type":"string","example":"W8_BEN","description":"Tax form type for non-US individuals."},"last_name":{"type":"string","example":"Garcia","maxLength":100,"description":"Legal last name."},"first_name":{"type":"string","example":"Maria","maxLength":100,"description":"Legal first name."},"tax_number":{"type":"object","required":["type","value"],"properties":{"type":{"enum":["FTIN"],"type":"string","example":"FTIN","description":"Foreign tax ID type."},"value":{"type":"string","example":"X1234567L","maxLength":20,"description":"Foreign tax identifying number."}},"description":"Foreign tax identifying number. At least one of us_tax_number or tax_number is required unless is_ftin_not_legally_required is true."},"middle_name":{"type":"string","example":"Isabel","nullable":true,"maxLength":100,"description":"Legal middle name."},"address_line2":{"type":"string","example":"Apt 4B","nullable":true,"maxLength":100,"description":"Street address line 2."},"date_of_birth":{"type":"string","format":"date-time","example":"1990-01-15T00:00:00.000Z","nullable":true,"description":"Date of birth. Must be at least 18 years ago and no more than 100 years ago."},"us_tax_number":{"type":"object","required":["type","value"],"properties":{"type":{"enum":["SSN","ITIN"],"type":"string","example":"ITIN","description":"US tax ID type."},"value":{"type":"string","example":"900-70-1234","description":"US tax ID value."}},"description":"US Taxpayer Identification Number."},"mailing_address":{"type":"object","nullable":true,"required":["address","country","zip_code"],"properties":{"city":{"type":"string","example":"Madrid","nullable":true,"maxLength":50,"minLength":1,"description":"Mailing address city."},"state":{"type":"string","example":"Madrid","nullable":true,"maxLength":10,"description":"Mailing address state."},"address":{"type":"string","example":"Gran Via 45","maxLength":100,"description":"Mailing address."},"country":{"type":"string","example":"ES","pattern":"^[A-Z]{2}$","maxLength":2,"minLength":2,"description":"ISO 3166-1 alpha-2 country code."},"zip_code":{"type":"string","example":"28013","description":"Mailing address ZIP/postal code."},"address_line2":{"type":"string","example":"Floor 2","nullable":true,"maxLength":100,"description":"Mailing address line 2."}},"description":"Mailing address if different from permanent residence."},"contractor_signature":{"type":"string","example":"Maria Garcia","maxLength":100,"minLength":1,"description":"Contractor's digital signature."},"print_name_of_signer":{"type":"string","example":"Maria Garcia","nullable":true,"maxLength":100,"description":"Printed name of the signer."},"is_disregarded_entity":{"type":"boolean","default":false,"example":false,"description":"Whether this is a disregarded entity."},"is_tax_treaty_enabled":{"type":"boolean","default":false,"example":true,"nullable":true,"description":"Whether the contractor claims tax treaty benefits."},"client_legal_entity_id":{"type":"string","format":"uuid","example":"00000000-0000-0000-0000-000000000000","description":"Public ID of the client's legal entity."},"country_of_citizenship":{"type":"string","example":"ES","pattern":"^[A-Z]{2}$","maxLength":2,"minLength":2,"description":"ISO 3166-1 alpha-2 country code of citizenship."},"is_certified_and_agreed":{"type":"boolean","default":false,"example":true,"nullable":true,"description":"Certification that the signer has read and agrees with the certification information."},"referencing_information":{"type":"string","example":"Contract 12345","nullable":true,"maxLength":100,"description":"Reference number for the form."},"tax_treaty_benefits_form":{"type":"object","nullable":true,"properties":{"details":{"type":"string","example":"Income is not attributable to a permanent establishment in the United States.","maxLength":400,"description":"Additional details about the treaty claim."},"type_of_income":{"type":"string","example":"Independent personal services","maxLength":100,"description":"Type of income covered by the treaty."},"withholding_rate":{"type":"number","example":0,"maximum":100,"minimum":0,"description":"Withholding rate under the treaty (percentage)."},"article_and_paragraph":{"type":"string","example":"Article 7, Paragraph 1","maxLength":100,"description":"Article and paragraph of the applicable tax treaty."},"owner_resident_country":{"type":"string","example":"ES","pattern":"^[A-Z]{2}$","maxLength":2,"minLength":2,"description":"Country of residence of the beneficial owner. Must be a US income tax treaty country."}},"description":"Tax treaty benefits details. Applicable when is_tax_treaty_enabled is true."},"is_ftin_not_legally_required":{"type":"boolean","default":false,"example":false,"description":"Check if FTIN is not legally required in your country of residence."}}},{"type":"object","title":"W8_BEN_E","required":["form_type","client_legal_entity_id","name_of_organization","country_of_citizenship","entity_country","entity_type","fatca_status","country","city","zip_code","address","contractor_signature"],"properties":{"city":{"type":"string","example":"Lisbon","maxLength":50,"minLength":1,"description":"City of residence."},"giin":{"type":"string","example":"98Q96B.00000.LE.250","nullable":true,"maxLength":19,"minLength":19,"description":"Global Intermediary Identification Number (19 characters)."},"state":{"type":"string","example":"Lisboa","nullable":true,"maxLength":10,"description":"State or province code."},"address":{"type":"string","example":"Rua Augusta 100","maxLength":100,"description":"Street address."},"country":{"type":"string","example":"PT","pattern":"^[A-Z]{2}$","maxLength":2,"minLength":2,"description":"ISO 3166-1 alpha-2 country code of permanent residence."},"zip_code":{"type":"string","example":"1000","description":"ZIP/postal code."},"form_type":{"enum":["W8_BEN_E"],"type":"string","example":"W8_BEN_E","description":"Tax form type for non-US entities."},"tax_number":{"type":"object","required":["type","value"],"properties":{"type":{"enum":["FTIN"],"type":"string","example":"FTIN","description":"Foreign tax ID type."},"value":{"type":"string","example":"501234567","maxLength":20,"description":"Foreign tax identifying number."}},"description":"Foreign tax identifying number. At least one of us_tax_number, tax_number, or giin is required unless is_ftin_not_legally_required is true."},"entity_type":{"enum":["CORPORATION","DISREGARDED_ENTITY","PARTNERSHIP","SIMPLE_TRUST","GRANTOR_TRUST","COMPLEX_TRUST","ESTATE","GOVERNMENT","CENTRAL_BANK_OF_ISSUE","TAX_EXEMPT","PRIVATE_FOUNDATION","INTERNATIONAL","FOREIGN_GOVERNMENT_CONTROLLED","FOREIGN_GOVERNMENT_INTEGRAL"],"type":"string","example":"CORPORATION","description":"Chapter 3 entity type."},"fatca_status":{"enum":["ACTIVE_NFFE","PASSIVE_NFFE"],"type":"string","example":"ACTIVE_NFFE","description":"FATCA (Foreign Account Tax Compliance Act) status."},"address_line2":{"type":"string","example":"Apt 4B","nullable":true,"maxLength":100,"description":"Street address line 2."},"date_of_birth":{"type":"string","format":"date-time","example":"1985-06-15T00:00:00.000Z","nullable":true,"description":"Date of birth of the beneficial owner."},"us_tax_number":{"type":"object","required":["type","value"],"properties":{"type":{"enum":["SSN","ITIN"],"type":"string","example":"ITIN","description":"US tax ID type."},"value":{"type":"string","example":"900-70-1234","description":"US tax ID value."}},"description":"US Taxpayer Identification Number."},"entity_country":{"type":"string","example":"PT","pattern":"^[A-Z]{2}$","nullable":true,"maxLength":2,"minLength":2,"description":"ISO 3166-1 alpha-2 country code of the entity."},"mailing_address":{"type":"object","nullable":true,"required":["address","country","zip_code"],"properties":{"city":{"type":"string","example":"Lisbon","nullable":true,"maxLength":50,"minLength":1,"description":"Mailing address city."},"state":{"type":"string","example":"Lisboa","nullable":true,"maxLength":10,"description":"Mailing address state."},"address":{"type":"string","example":"Avenida da Liberdade 200","maxLength":100,"description":"Mailing address."},"country":{"type":"string","example":"PT","pattern":"^[A-Z]{2}$","maxLength":2,"minLength":2,"description":"ISO 3166-1 alpha-2 country code."},"zip_code":{"type":"string","example":"1250","description":"Mailing address ZIP/postal code."},"address_line2":{"type":"string","example":"Floor 2","nullable":true,"maxLength":100,"description":"Mailing address line 2."}},"description":"Mailing address if different from permanent residence."},"contractor_signature":{"type":"string","example":"Continental Ltd.","maxLength":100,"minLength":1,"description":"Authorized signer's digital signature."},"name_of_organization":{"type":"string","example":"Continental Ltd.","maxLength":100,"description":"Name of the organization."},"print_name_of_signer":{"type":"string","example":"Joao Silva","nullable":true,"maxLength":100,"description":"Printed name of the authorized signer."},"is_tax_treaty_enabled":{"type":"boolean","default":false,"example":true,"nullable":true,"description":"Whether the entity claims tax treaty benefits."},"client_legal_entity_id":{"type":"string","format":"uuid","example":"00000000-0000-0000-0000-000000000000","description":"Public ID of the client's legal entity."},"country_of_citizenship":{"type":"string","example":"PT","pattern":"^[A-Z]{2}$","maxLength":2,"minLength":2,"description":"ISO 3166-1 alpha-2 country code of incorporation/organization."},"referencing_information":{"type":"string","example":"Contract 12345","nullable":true,"maxLength":100,"description":"Reference number for the form."},"has_substantial_us_owner":{"type":"boolean","default":false,"example":false,"description":"Whether the entity has a substantial US owner. Required when fatca_status is 'PASSIVE_NFFE'."},"tax_treaty_benefits_form":{"type":"object","nullable":true,"properties":{"details":{"type":"string","example":"Income is not attributable to a permanent establishment in the United States.","maxLength":400,"description":"Additional details about the treaty claim."},"type_of_income":{"type":"string","example":"Business profits","maxLength":25,"description":"Type of income covered by the treaty."},"limitation_type":{"enum":["GOVERNMENT","PENSION_TRUST","TAX_EXEMPT","PUBLICLY_TRADED_CORPORATION","SUBSIDIARY","OWNERSHIP_TEST","DERIVATIVE_TEST","ACTIVE_TRADE_TEST","FAVORABLE","NO_ARTICLE","OTHER"],"type":"string","example":"OTHER","nullable":true,"description":"Limitation on benefits (LOB) type."},"withholding_rate":{"type":"number","example":0,"maximum":100,"minimum":0,"description":"Withholding rate under the treaty (percentage)."},"article_and_paragraph":{"type":"string","example":"Article 7, Paragraph 1","maxLength":100,"description":"Article and paragraph of the applicable tax treaty."},"owner_resident_country":{"type":"string","example":"PT","pattern":"^[A-Z]{2}$","maxLength":2,"minLength":2,"description":"Country of residence of the beneficial owner."},"is_tax_residency_certified":{"type":"boolean","default":false,"example":true,"nullable":true,"description":"Whether tax residency is certified."},"other_article_and_paragraph":{"type":"string","example":"Article 24, Paragraph 3","nullable":true,"maxLength":50,"description":"Other article and paragraph. Required when limitation_type is 'OTHER'."}},"description":"Tax treaty benefits details."},"name_of_disregarded_entity":{"type":"string","example":"Continental Branch Ltd.","nullable":true,"maxLength":100,"description":"Name of the disregarded entity, if applicable."},"is_ftin_not_legally_required":{"type":"boolean","default":false,"example":false,"description":"Check if FTIN is not legally required in your country."},"is_entity_certification_confirmed":{"type":"boolean","default":false,"example":true,"nullable":true,"description":"Certification that the entity is the beneficial owner of all income."}}}],"required":["form_type"],"discriminator":{"propertyName":"form_type"}}}}}},"required":true},"security":[{"deelToken":[]},{"oauth2":["worker:write"]}]}},"/eor/mailboxes/change-password":{"post":{"path":"/rest/eor/mailboxes/change-password","tags":["EOR"],"method":"post","summary":"Change EOR Mailbox Password","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":[],"description":"Changes the mailbox password for an EOR worker.\n\n **Token scopes**: `worker:write`","operationId":"changeEorMailboxPassword-v2026-01-01","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"},"security":[{"deelToken":[]},{"oauth2":["worker:write"]}]}},"/integrations/consent":{"get":{"path":"/rest/integrations/consent","tags":["Integrations"],"method":"get","summary":"Get integration consent","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":[],"description":"Retrieves the OAuth consent record for the authenticated user or organization, including its current status, granted scope, and expiry.","operationId":"getIntegrationConsent-v2026-01-01","security":[{"deelToken":[]},{"oauth2":[]}]}},"/people/{worker_id}/custom_fields/{id}":{"delete":{"path":"/rest/people/{worker_id}/custom_fields/{id}","tags":["Custom Fields"],"method":"delete","summary":"Delete the custom field value from Worker by Id","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."}],"description":"Removes a specific custom field value from a worker record by the custom field's ID.\n\n **Token scopes**: `people:write`","operationId":"DeleteCustomFieldValueFromWorker-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["people:write"]}]}},"/hris/worker_relations/profile/{hrisProfileOid}/parent":{"put":{"path":"/rest/hris/worker_relations/profile/{hrisProfileOid}/parent","tags":["Worker Relations"],"method":"put","summary":"Create a parent worker relation","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"}],"description":"Creates or replaces the parent worker relation for the HrisProfile. If a parent relation already exists for this profile, it is overwritten with the supplied data.\n\n **Token scopes**: `profile:write`","operationId":"upsertParentWorkerRelations-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["profile:write"]}]}},"/payouts/contractors/methods/{id}":{"put":{"path":"/rest/payouts/contractors/methods/{id}","tags":["Payouts"],"method":"put","summary":"Update a bank transfer method","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"}],"description":"Fully replaces the bank transfer method; all method fields must be provided as this is a complete replacement, not a partial update.\n\n **Token scopes**: `worker:read`, `worker:write`","operationId":"updateBankTransferMethod-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["worker:read","worker:write"]}]}},"/contracts/custom_fields/{id}":{"get":{"path":"/rest/contracts/custom_fields/{id}","tags":["Custom Fields"],"method":"get","summary":"Get custom fields from contracts","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."}],"description":"Retrieves a single custom field definition from a contract by its `id`, returning the field's name, type, settings, placement, and description.\n\n **Token scopes**: `contracts:read`","operationId":"getCustomFieldsFromContracts-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]}},"/hris/worker_relations/types/{typeId}":{"patch":{"path":"/rest/hris/worker_relations/types/{typeId}","tags":["Worker Relations"],"method":"patch","summary":"Update a worker relation type","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"}],"description":"Applies a partial update to an existing worker relation type. Only fields provided in the request body are modified; omitted fields retain their current values.\n\n **Token scopes**: `organizations:write`","operationId":"updateWorkerRelationType-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["organizations:write"]}]}},"/time_offs/profile/{hris_profile_id}/policies":{"get":{"path":"/rest/time_offs/profile/{hris_profile_id}/policies","tags":["Time Off"],"method":"get","summary":"List policies","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","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","NOT_SPECIFIED"],"type":"string","example":"FIXED_DAY","description":"Cadence for tracking policy periods"},"policy_allowances":{"type":"array","items":{"type":"object","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":["TIMEFRAME","EVENT","TIME_OFF_IN_LIEU","HOURLY","LUMPSUM","NO_AUTO_ACCRUAL"],"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","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":["Adoption leave","Advanced vacation","Bereavement leave","Blood donation leave","Breastfeeding leave","Childbirth leave","Childcare leave","Civic/public duty leave","Compensatory leave","Disability leave","Doctor's appointment leave","Family & domestic violence leave","Family responsibility leave","Floating Holiday Allowance","Hajj leave","Hospitalization leave","Long Service Leave","Marriage/wedding leave","Maternity leave","Menstrual 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","Vacation - public holidays replacement","Volunteer leave","Work accident leave"],"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."}],"description":"Returns the time-off policies assigned to the specified hris_profile_id, including policy details such as allowed types, accrual rules, and balances. Results can be filtered by policy type name or policy type ID.\n\n **Token scopes**: `time-off:read`","operationId":"listPolicies-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["time-off:read"]}]}},"/contracts/{contract_id}/tasks/many/reviews":{"post":{"path":"/rest/contracts/{contract_id}/tasks/many/reviews","tags":["Tasks"],"method":"post","summary":"Review multiple tasks","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."}],"description":"Approves or declines multiple submitted tasks associated with a contract in a single request. Each task review must include a status of approved or declined, with an optional reason required when declining.\n\n **Token scopes**: `contracts:write`","operationId":"reviewMultipleTasks-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}]}},"/immigration/workers/{worker_id}/cases/{case_id}/required-document/{document_request_id}":{"post":{"path":"/rest/immigration/workers/{worker_id}/cases/{case_id}/required-document/{document_request_id}","tags":["Immigration"],"method":"post","summary":"Upload a required immigration document","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"}],"description":"Uploads a document against a specific case document requirement and submits it for review.\n\n **Token scopes**: `worker:write`","operationId":"uploadARequiredImmigrationDocument-v2026-01-01","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"},"security":[{"deelToken":[]},{"oauth2":["worker:write"]}]}},"/ats/openings":{"get":{"path":"/rest/ats/openings","tags":["ATS"],"method":"get","summary":"List job openings","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data","next_cursor","has_more","total_count"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","opening_numeric_id","opening_prefix","opening_type_slug","title","status","created_at","updated_at"],"properties":{"id":{"type":"string","format":"uuid","example":"f47ac10b-58cc-4372-a567-0e02b2c3d479","description":"Unique identifier of the opening."},"team":{"type":"object","nullable":true,"properties":{"id":{"type":"string","format":"uuid","example":"f47ac10b-58cc-4372-a567-0e02b2c3d479","description":"Unique identifier of the team."},"name":{"type":"string","example":"Backend Engineering","description":"Name of the team."}},"description":"Team details."},"title":{"type":"string","example":"Senior Software Engineer","description":"Title of the job opening."},"status":{"enum":["DRAFT","OPEN","FILLED","CLOSED","WAITING_FOR_APPROVAL","APPROVED","NOT_APPROVED","ARCHIVED"],"type":"string","example":"OPEN","description":"Current lifecycle status of the opening."},"job_ids":{"type":"array","items":{"type":"string","format":"uuid"},"example":["f47ac10b-58cc-4372-a567-0e02b2c3d479"],"description":"IDs of jobs linked to this opening."},"team_id":{"type":"string","format":"uuid","example":"f47ac10b-58cc-4372-a567-0e02b2c3d479","nullable":true,"description":"ID of the team this opening belongs to."},"location":{"type":"object","nullable":true,"properties":{"id":{"type":"string","format":"uuid","example":"f47ac10b-58cc-4372-a567-0e02b2c3d479","description":"Unique identifier of the location."},"name":{"type":"string","example":"New York","description":"Name of the location."},"country":{"type":"string","example":"US","nullable":true,"description":"ISO 3166-1 alpha-2 country code of the location."}},"description":"Location details."},"created_at":{"type":"string","format":"date-time","example":"2026-01-15T08:00:00Z","description":"ISO 8601 datetime when the opening was created."},"updated_at":{"type":"string","format":"date-time","example":"2026-01-20T14:30:00Z","description":"ISO 8601 datetime when the opening was last updated."},"location_id":{"type":"string","format":"uuid","example":"f47ac10b-58cc-4372-a567-0e02b2c3d479","nullable":true,"description":"ID of the location associated with the opening."},"opening_prefix":{"type":"string","example":"ENG","description":"Prefix of the opening identifier (e.g. ENG in ENG-42)."},"employment_type":{"type":"object","nullable":true,"properties":{"id":{"type":"string","format":"uuid","example":"f47ac10b-58cc-4372-a567-0e02b2c3d479","description":"Unique identifier of the employment type."},"name":{"type":"string","example":"Full-time","description":"Name of the employment type."}},"description":"Employment type details."},"filled_by_offer":{"type":"object","nullable":true,"properties":{"start_date":{"type":"string","format":"date-time","example":"2026-09-01T00:00:00Z","description":"Start date from the accepted offer (ISO 8601)."},"offer_status_enum":{"enum":["ACCEPTED"],"type":"string","example":"ACCEPTED","description":"Status of the filling offer. This object is only present for the accepted offer that filled the opening, so the value is always ACCEPTED."}},"description":"The accepted offer that filled this opening (latest ACCEPTED offer by update time). Null unless the opening is filled with an accepted offer. Contains no compensation data."},"is_confidential":{"type":"boolean","example":false,"description":"Whether this opening is marked confidential."},"target_hire_date":{"type":"string","format":"date-time","example":"2026-09-01T00:00:00Z","nullable":true,"description":"Target date by which the opening should be filled (ISO 8601)."},"opening_type_slug":{"enum":["NEW_HIRE","BACKFILL"],"type":"string","example":"NEW_HIRE","description":"Whether this opening is for a new hire or a backfill."},"target_start_date":{"type":"string","format":"date-time","example":"2026-10-01T00:00:00Z","nullable":true,"description":"Target start date for the new hire (ISO 8601)."},"employment_type_id":{"type":"string","format":"uuid","example":"f47ac10b-58cc-4372-a567-0e02b2c3d479","nullable":true,"description":"ID of the employment type associated with the opening."},"opening_numeric_id":{"type":"integer","example":42,"description":"Numeric part of the opening identifier (e.g. 42 in ENG-42)."},"compensation_period":{"type":"string","example":"yearly","nullable":true,"description":"Compensation period (e.g. yearly, monthly)."},"filled_by_application":{"type":"object","nullable":true,"properties":{"id":{"type":"string","format":"uuid","example":"f47ac10b-58cc-4372-a567-0e02b2c3d479","description":"ID of the application that filled this opening."},"candidate":{"type":"object","nullable":true,"properties":{"last_name":{"type":"string","example":"Doe","description":"Last name of the hired candidate."},"first_name":{"type":"string","example":"Jane","description":"First name of the hired candidate."}},"description":"Minimal identity of the hired candidate."}},"description":"The application that filled this opening, including the hired candidate name. Null unless the opening is filled."},"max_compensation_amount":{"type":"string","example":"120000.0000","nullable":true,"description":"Maximum compensation amount as a decimal string."},"min_compensation_amount":{"type":"string","example":"80000.0000","nullable":true,"description":"Minimum compensation amount as a decimal string."},"filled_by_application_id":{"type":"string","format":"uuid","example":"f47ac10b-58cc-4372-a567-0e02b2c3d479","nullable":true,"description":"ID of the application that filled this opening, if any."},"compensation_currency_iso_code":{"type":"string","example":"USD","nullable":true,"description":"ISO 4217 currency code for compensation."},"created_by_hris_organization_user_id":{"type":"string","format":"uuid","example":"f47ac10b-58cc-4372-a567-0e02b2c3d479","nullable":true,"description":"HRIS organization user ID of the user who created this opening."},"updated_by_hris_organization_user_id":{"type":"string","format":"uuid","example":"f47ac10b-58cc-4372-a567-0e02b2c3d479","nullable":true,"description":"HRIS organization user ID of the user who last updated this opening."}}},"description":"Page of openings."},"has_more":{"type":"boolean","example":false,"description":"Whether more pages are available beyond the current page."},"next_cursor":{"type":"string","example":"eyJpZCI6IjEyMzQifQ==","nullable":true,"description":"Cursor to fetch the next page; null when there are no more pages."},"total_count":{"type":"integer","example":42,"description":"Total number of openings matching the filters."}}}}},"description":"Paginated list of job openings."},"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":"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"}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"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":"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"}}}}},"description":"Forbidden. ATS is not enabled for this organization or insufficient permissions."},"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":"invalid_parameter","description":"Machine-readable 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"}}}}},"description":"Operation failed."}},"parameters":[{"in":"query","name":"cursor","schema":{"type":"string"},"example":"eyJpZCI6IjEyMzQifQ==","required":false,"description":"Pagination cursor returned by a previous response."},{"in":"query","name":"limit","schema":{"type":"integer","maximum":100,"minimum":1},"example":50,"required":false,"description":"Maximum number of openings to return per page."},{"in":"query","name":"status","schema":{"type":"array","items":{"enum":["DRAFT","OPEN","FILLED","CLOSED","WAITING_FOR_APPROVAL","APPROVED","NOT_APPROVED","ARCHIVED"],"type":"string"}},"example":["OPEN"],"required":false,"description":"Filter openings by one or more statuses."},{"in":"query","name":"team_ids","schema":{"type":"array","items":{"type":"string","format":"uuid"}},"example":["f47ac10b-58cc-4372-a567-0e02b2c3d479"],"required":false,"description":"Filter openings by team IDs."},{"in":"query","name":"location_ids","schema":{"type":"array","items":{"type":"string","format":"uuid"}},"example":["f47ac10b-58cc-4372-a567-0e02b2c3d479"],"required":false,"description":"Filter openings by location IDs."},{"in":"query","name":"job_ids","schema":{"type":"array","items":{"type":"string","format":"uuid"}},"example":["f47ac10b-58cc-4372-a567-0e02b2c3d479"],"required":false,"description":"Filter openings by linked job IDs."},{"in":"query","name":"tag_ids","schema":{"type":"array","items":{"type":"string","format":"uuid"}},"example":["f47ac10b-58cc-4372-a567-0e02b2c3d479"],"required":false,"description":"Filter openings by tag IDs."},{"in":"query","name":"tag_ids_operator","schema":{"enum":["ANY","ALL"],"type":"string"},"example":"ANY","required":false,"description":"Operator for tag_ids filter. 'ANY' returns openings with at least one matching tag; 'ALL' returns openings with all specified tags. Defaults to 'ANY'."}],"description":"Returns all job openings (requisitions/headcount requests) for the authenticated organization. Supports filtering by status, team, location, and linked job. Results are cursor-paginated. Openings track headcount requests through a lifecycle from DRAFT to FILLED or CLOSED.\n\n **Token scopes**: `ats:read`","operationId":"listOpenings-v2026-06-15","security":[{"deelToken":[]},{"oauth2":["ats:read"]}]}},"/eor/contracts/{contract_id}/project-assignment/checkin":{"get":{"path":"/rest/eor/contracts/{contract_id}/project-assignment/checkin","tags":["EOR"],"method":"get","summary":"Fetch Project Assignment Checkin Questionnaire Data","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."}],"description":"Returns the checkin questionnaire for a project assignment, including all sections and questions required for completion. The optional version parameter ensures the fetched questionnaire matches an expected version before it is rendered or submitted.\n\n **Token scopes**: `contracts:read`","operationId":"fetchProjectAssignmentCheckinQuestionnaireData-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]},"post":{"path":"/rest/eor/contracts/{contract_id}/project-assignment/checkin","tags":["EOR"],"method":"post","summary":"Submit Project Assignment Checkin Questionnaire Data","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."}],"description":"Submits completed answers for a project assignment checkin questionnaire. All required questionnaire fields must be included; partial submissions are not accepted.\n\n **Token scopes**: `contracts:read`, `contracts:write`","operationId":"submitProjectAssignmentCheckinQuestionnaireData-v2026-01-01","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."},"security":[{"deelToken":[]},{"oauth2":["contracts:read","contracts:write"]}]}},"/contracts/{contract_id}/custom_fields/{id}":{"delete":{"path":"/rest/contracts/{contract_id}/custom_fields/{id}","tags":["Custom Fields"],"method":"delete","summary":"Delete Contract custom field by Id","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."}],"description":"Clears the value of a custom field on the specified contract, identified by the custom field `id`.\n\n **Token scopes**: `contracts:write`","operationId":"DeleteContractCustomField-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["contracts:write"]}]}},"/adjustments/categories":{"get":{"path":"/rest/adjustments/categories","tags":["Adjustments"],"method":"get","summary":"Retrieve categories","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"}],"description":"Returns the available adjustment categories, optionally filtered by contract type. Category IDs returned here are required when creating adjustments and define the type and accounting treatment applied.\n\n **Token scopes**: `adjustments:read`","operationId":"retrieveCategories-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["adjustments:read"]}]}},"/hris/worker_relations/types":{"get":{"path":"/rest/hris/worker_relations/types","tags":["Worker Relations"],"method":"get","summary":"Retrieve all worker relation types","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":[],"description":"Returns all configured worker relation types available in the organization, which define the valid relationship categories that can be assigned when creating or upserting worker relations.\n\n **Token scopes**: `organizations:read`","operationId":"retrieveAllWorkerRelationTypes-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["organizations:read"]}]},"post":{"path":"/rest/hris/worker_relations/types","tags":["Worker Relations"],"method":"post","summary":"Create worker relation type","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"}},"description":"Creates a new worker relation type, defining a named parent–child relationship structure that can be applied to worker associations. The `is_default` flag on the response indicates whether the created type has been set as the default relation type.\n\n **Token scopes**: `organizations:write`","operationId":"createWorkerRelationType-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["organizations:write"]}]}},"/people/{id}/working-location":{"put":{"path":"/rest/people/{id}/working-location","tags":["People"],"method":"put","summary":"Update working location","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"}],"description":"Sets the working location for a worker identified by their HRIS profile ID.\n\n **Token scopes**: `people:write`","operationId":"updatePeopleWorkingLocation-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["people:write"]}]}},"/legal-entities":{"post":{"path":"/rest/legal-entities","tags":["Legal Entities"],"method":"post","summary":"Create a new legal entity","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"}},"description":"Creates a new legal entity under the organization and returns the entity record including its assigned id.\n\n **Token scopes**: `legal-entity:write`, `legal-entity:read`","operationId":"createLegalEntity-v2026-01-01","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."}}}}}}}}}},"security":[{"deelToken":[]},{"oauth2":["legal-entity:write","legal-entity:read"]}]},"get":{"path":"/rest/legal-entities","tags":["Organizations"],"method":"get","summary":"List of legal entities","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."}],"description":"Returns a paginated list of legal entities in the account, with optional filtering by country, entity type, global payroll flag, and archived status.\n\n **Token scopes**: `organizations:read`, `accounting:read`","operationId":"listOfLegalEntities-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["organizations:read","accounting:read"]}]}},"/ats/attachments/{attachable_type_slug}/{attachable_id}/{attachment_type_slug}":{"get":{"path":"/rest/ats/attachments/{attachable_type_slug}/{attachable_id}/{attachment_type_slug}","tags":["ATS"],"method":"get","summary":"Retrieve paginated list of ATS attachment files","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"}],"description":"Lists attachment files for a specific ATS entity, scoped by `attachable_type_slug`, `attachable_id`, and `attachment_type_slug`.\n\n **Token scopes**: `ats:read`","operationId":"retrievePaginatedListOfAtsAttachmentFiles-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["ats:read"]}]}},"/eor/workers/banks/guide":{"get":{"path":"/rest/eor/workers/banks/guide","tags":["EOR"],"method":"get","summary":"Retrieve bank account guide","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":[],"description":"Returns the bank account form guide for an EOR employee, providing the field structure required to add a new bank account.\n\n **Token scopes**: `worker:read`","operationId":"getEORBankAccountGuide-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["worker:read"]}]}},"/benefits/legal-entities/{legal_entity_id}/401k/plans/{plan_id}":{"put":{"path":"/rest/benefits/legal-entities/{legal_entity_id}/401k/plans/{plan_id}","tags":["Plans 401K"],"method":"put","summary":"Update 401k plan","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"}],"description":"Replaces the full configuration of a 401k plan within the specified legal entity. As a PUT operation, the complete plan object must be supplied; any omitted fields will not be preserved.\n\n **Token scopes**: `benefits:write`","operationId":"update401KPlan-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["benefits:write"]}]}},"/escalations/workers/me/hrx":{"get":{"path":"/rest/escalations/workers/me/hrx","tags":["Worker HR"],"method":"get","summary":"Get HRX manager for worker","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":[],"description":"Retrieves the Human Resource Experience (HRX) Manager assigned to the authenticated worker, including contact details and a scheduling URL. Accessible only to workers with the appropriate permissions.\n\n **Token scopes**: `worker:read`","operationId":"getHrxManagerForWorker-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["worker:read"]}]}},"/ats/applications/{application_id}":{"get":{"path":"/rest/ats/applications/{application_id}","tags":["ATS"],"method":"get","summary":"Retrieve ATS application","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"}],"description":"Retrieves a single application by its application_id, including associated job details, job posting details, and related metadata.\n\n **Token scopes**: `ats:read`","operationId":"retrieveAtsApplication-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["ats:read"]}]}},"/invoices/deel":{"get":{"path":"/rest/invoices/deel","tags":["Accounting"],"method":"get","summary":"Retrieve Deel invoices","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'"}],"description":"Returns a paginated list of invoices for Deel platform fees.\n\n **Token scopes**: `accounting:read`","operationId":"retrieveDeelInvoices-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["accounting:read"]}]}},"/people/me":{"get":{"path":"/rest/people/me","tags":["People"],"method":"get","summary":"Get my current personal profile","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","peo_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":{"content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"code":{"type":"string","description":"Machine-readable error code."},"message":{"type":"string","example":"Authentication required.","description":"A human-readable description of the error."}}}}}}}},"description":"Unauthorized. Missing or invalid authentication credentials."},"403":{"$ref":"#/components/responses/ResponseBodyForApiError"},"404":{"$ref":"#/components/responses/ResponseBodyForApiError"},"500":{"$ref":"#/components/responses/ResponseBodyForApiError"}},"parameters":[],"description":"Returns the profile of the currently authenticated user, including identity, organizational membership, and integration identifiers for connected services such as Slack.\n\n **Token scopes**: `worker:read`, `people:read`","operationId":"getMyCurrentPersonalProfile-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["worker:read","people:read"]}]}},"/immigration/workers/{worker_id}/cases/{case_id}/required-document":{"get":{"path":"/rest/immigration/workers/{worker_id}/cases/{case_id}/required-document","tags":["Immigration"],"method":"get","summary":"Retrieve a required document for a case","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."}],"description":"Retrieves the details of a specific document requirement within a worker's immigration case, including the requirement's current status and information about any previously rejected document.\n\n **Token scopes**: `worker:read`","operationId":"retrieveARequiredDocumentForACase-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["worker:read"]}]}},"/eor/contracts/{contract_id}/amendments/{amendment_id}/effective-date-limitations":{"get":{"path":"/rest/eor/contracts/{contract_id}/amendments/{amendment_id}/effective-date-limitations","tags":["EOR"],"method":"get","summary":"Retrieve Effective Date Limitations","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"}],"description":"Returns validation rules for the effective date field within an EOR contract amendment flow.\n\n **Token scopes**: `contracts:read`","operationId":"retrieveEffectiveDateLimitations-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]}},"/teams":{"get":{"path":"/rest/teams","tags":["Organizations"],"method":"get","summary":"Get Team List","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."}},"description":"Returns the list of teams within the authenticated user's organization, with each entry including the team's ID and name.\n\n **Token scopes**: `organizations:read`","operationId":"getTeams-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["organizations:read"]}]}},"/daas/banks/{bank_id}":{"patch":{"path":"/rest/daas/banks/{bank_id}","tags":["Deel As a Service"],"method":"patch","summary":"Modify bank account for an EOR employee","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."}],"description":"Applies a partial update to the bank account details for an EOR employee. The request body accepts an array of field-level updates.\n\n **Token scopes**: `worker:write`","operationId":"patchEORBankAccount-v2026-01-01","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"},"security":[{"deelToken":[]},{"oauth2":["worker:write"]}]}},"/contract-templates":{"get":{"path":"/rest/contract-templates","tags":["Contracts"],"method":"get","summary":"Retrieve contract templates","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."}},"description":"Returns all contract templates available to the organization, including fixed-rate, pay-as-you-go, and milestone-based types. Template identifiers returned here can be supplied when creating new contracts.\n\n **Token scopes**: `contracts:read`","operationId":"getContractTemplates-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["contracts:read"]}]}},"/immigration/workers/cases/{case_id}":{"get":{"path":"/rest/immigration/workers/cases/{case_id}","tags":["Immigration"],"method":"get","summary":"Get specific immigration case details ","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":"Eligibility Check","description":"Name of the current active process."},"status":{"type":"string","example":"Verify your Identity","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":{"type":"string","example":"Business Visa","description":" Type of the case."},"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","PENDING","REJECTED","COMPLETED","FAILED","PROCESSING","UNKNOWN"],"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"}],"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\n **Token scopes**: `worker:read`","operationId":"getSpecificImmigrationCaseDetails-v2026-04-02","security":[{"deelToken":[]},{"oauth2":["worker:read"]}]}},"/eor/{oid}/terminations/resignation":{"post":{"path":"/rest/eor/{oid}/terminations/resignation","tags":["EOR"],"method":"post","summary":"Request EOR Contract Resignation","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"}],"description":"Submits a resignation request for an EOR contract on behalf of a team member. Callers must hold group admin or people manager permissions.\n\n **Token scopes**: `contracts:read`, `contracts:write`","operationId":"eorResignationRequest-v2026-01-01","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"}}}}}}}}}},"security":[{"deelToken":[]},{"oauth2":["contracts:read","contracts:write"]}]}},"/eor/contracts/{contract_id}/employee-information":{"patch":{"path":"/rest/eor/contracts/{contract_id}/employee-information","tags":["EOR"],"method":"patch","summary":"Update Employee Information for EOR Contract","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."}],"description":"Applies partial updates to employee information on an EOR contract. Only accepts documented fields — any undocumented fields will cause a validation error. Updates are permitted only when the contract has a status of `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\n **Token scopes**: `contracts:write`","operationId":"updateEmployeeInformationForEorContract-v2026-01-01","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."}}}}}}}},"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}]}},"/webhooks/events/types":{"get":{"path":"/rest/webhooks/events/types","tags":["Webhooks"],"method":"get","summary":"List of webhook event types","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","required":["id","module_name","module_label","name","description"],"properties":{"id":{"type":"number","example":1,"nullable":false,"description":"Event type unique identifier."},"name":{"type":"string","example":"invoice-adjustment.reviewed","nullable":false,"description":"Name of the webhook event."},"created_at":{"type":"string","example":"2024-01-01T12:00:00Z","description":"Time at which the event type was created."},"updated_at":{"type":"string","example":"2024-01-02T12:00:00Z","description":"Time at which the event type was updated."},"description":{"type":"string","example":"Triggered when a contract status changes.","description":"Describes the webhook event and other pertinent info."},"module_name":{"type":"string","example":"contract","nullable":false,"description":"Name of the rabbit queue."},"module_label":{"type":"string","example":"Contracts","nullable":false,"description":"Display name of the rabbit queue in Deel UI."},"payload_example":{"type":"string","example":null,"nullable":true,"description":"JSON payload example of the specific event."}}},"description":"The list of webhook event types."}}}}},"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":"Internal validation error occurred","description":"Human-readable description of the error."},"error_code":{"type":"string","example":"VALIDATION_ERROR","description":"Machine-readable error code."}}},"description":"The list of errors that caused the request to fail."}}}}},"description":"Bad Request. The request could not be understood or was missing required parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Internal validation error occurred","description":"Human-readable description of the error."},"error_code":{"type":"string","example":"VALIDATION_ERROR","description":"Machine-readable error code."}}},"description":"The list of errors that caused the request to fail."}}}}},"description":"Unauthorized. Authentication credentials were missing 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":"Internal validation error occurred","description":"Human-readable description of the error."},"error_code":{"type":"string","example":"VALIDATION_ERROR","description":"Machine-readable error code."}}},"description":"The list of errors that caused the request to fail."}}}}},"description":"Forbidden. You do not have permission to access this resource."},"404":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Internal validation error occurred","description":"Human-readable description of the error."},"error_code":{"type":"string","example":"VALIDATION_ERROR","description":"Machine-readable error code."}}},"description":"The list of errors that caused the request to fail."}}}}},"description":"Not Found. The requested resource could not be found."},"405":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Internal validation error occurred","description":"Human-readable description of the error."},"error_code":{"type":"string","example":"VALIDATION_ERROR","description":"Machine-readable error code."}}},"description":"The list of errors that caused the request to fail."}}}}},"description":"Method Not Allowed. The HTTP method is not supported for this resource."},"429":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Internal validation error occurred","description":"Human-readable description of the error."},"error_code":{"type":"string","example":"VALIDATION_ERROR","description":"Machine-readable error code."}}},"description":"The list of errors that caused the request to fail."}}}}},"description":"Too Many Requests. The rate limit has been exceeded."},"500":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["message"],"properties":{"message":{"type":"string","example":"Internal validation error occurred","description":"Human-readable description of the error."},"error_code":{"type":"string","example":"VALIDATION_ERROR","description":"Machine-readable error code."}}},"description":"The list of errors that caused the request to fail."}}}}},"description":"Internal Server Error. An unexpected error occurred."}},"description":"Retrieve a list of webhook event types.\n\n **Token scopes**: `webhooks:read`","operationId":"getAllWebhookEventTypes-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["webhooks:read"]}]}},"/people/custom_fields":{"get":{"path":"/rest/people/custom_fields","tags":["Custom Fields"],"method":"get","summary":"List all people custom fields","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":[],"description":"Returns the list of custom field definitions configured for people within the organization. The response includes field metadata, not specific person field values. It provides definitions with people placement for supported types such as text, list, multiselect, number, percentage, currency, and date.\n\n **Token scopes**: `people:read`","operationId":"listAllPeopleCustomFields-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["people:read"]}]}},"/eor/job-scopes/validate":{"post":{"path":"/rest/eor/job-scopes/validate","tags":["EOR"],"method":"post","summary":"Request job scope validation","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":[],"description":"Validates a job scope description and returns any validation errors. When errors are present, the response also includes a `quote_validation_log_public_id` and pre-populated `data_for_corrected_job_scope_endpoint` to support subsequent correction.\n\n **Token scopes**: `contracts:write`","operationId":"requestJobScopeValidation-v2026-01-01","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"},"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}]}},"/contracts/{contract_id}/documents":{"post":{"path":"/rest/contracts/{contract_id}/documents","tags":["Contracts"],"method":"post","summary":"Attach a file to contract","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."}],"description":"Uploads a file and attaches it as a document to the specified contract by creating an amendment with the attachment. Only supported for ongoing_time_based, milestones, payg_tasks, time_based, pay_as_you_go_time_based, and eor contract types.\n\n **Token scopes**: `contracts:write`","operationId":"addContractDocument-v2026-01-01","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."},"security":[{"deelToken":[]},{"oauth2":["contracts:write"]}]}},"/onboarding/tracker/hris_profile/{hris_profile_id}":{"get":{"path":"/rest/onboarding/tracker/hris_profile/{hris_profile_id}","tags":["Onboarding"],"method":"get","summary":"Get onboarding details by employee HRIS profile ID","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":{"content":{"application/json":{"schema":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"type":"object","required":["code","type","message"],"properties":{"code":{"type":"string","example":"resource_not_found","description":"Machine-readable error code"},"type":{"type":"string","example":"invalid_request","description":"Error category"},"context":{"type":"object","description":"Additional error context","additionalProperties":true},"message":{"type":"string","example":"Onboarding not found","description":"Human-readable error message"}}},"description":"Error messages"}}}}},"description":"Not Found - No onboarding exists for the provided HRIS profile ID"},"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."}],"description":"Returns a worker's onboarding status by `hris_profile_id`.\n\n **Token scopes**: `contracts:read`, `people:read`","operationId":"getOnboardingDetailsByEmployeeHrisProfileId-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["contracts:read","people:read"]}]}},"/onboarding/tracker/{tracker_id}":{"get":{"path":"/rest/onboarding/tracker/{tracker_id}","tags":["Onboarding"],"method":"get","summary":"Get onboarding details by onboarding tracker ID","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."}],"description":"Returns a worker's onboarding status by `tracker_id`.\n\n **Token scopes**: `contracts:read`, `people:read`","operationId":"getOnboardingDetailsByOnboardingTrackerId-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["contracts:read","people:read"]}]}},"/contracts/{contract_id}/timesheets":{"get":{"path":"/rest/contracts/{contract_id}/timesheets","tags":["Timesheets"],"method":"get","summary":"List of timesheets by contract","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","example":"work","description":"Deprecated - it is always \"work\""},"scale":{"type":"string","example":"hourly","nullable":true,"description":"Predefined scale used to calculate the timesheet amount (e.g. hourly, daily, custom)."},"status":{"enum":["approved","declined","not_payable","paid","pending","processing",null],"type":"string","example":"approved","nullable":true,"description":"Current processing status of the timesheet."},"contract":{"type":"object","required":["id","title","type"],"properties":{"id":{"type":"string","example":"contract_abc123","nullable":false,"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":"ongoing_time_based","description":"Type of a contract"},"title":{"type":"string","example":"Senior Backend Engineer","nullable":false,"description":"Human-readable title of the contract."}},"description":"Contract associated with this timesheet."},"quantity":{"type":"number","example":8,"nullable":true,"description":"Quantity of work units (hours, days, etc.) used to calculate the total amount."},"worksheet":{"type":"object","nullable":true,"required":["weeks","days","hours","minutes"],"properties":{"days":{"type":"number","example":0,"minimum":0,"description":"Number of days reported."},"hours":{"type":"number","example":8,"minimum":0,"description":"Number of hours reported."},"weeks":{"type":"number","example":0,"minimum":0,"description":"Number of weeks reported."},"minutes":{"type":"number","example":0,"minimum":0,"description":"Number of minutes reported."}},"description":"Breakdown of time worked across different units."},"attachment":{"type":"object","nullable":true,"required":["filename","key"],"properties":{"key":{"type":"string","example":"attachments/timesheet_receipt.pdf","nullable":false,"description":"You can call attachments end-point, get key and URL to upload your file."},"filename":{"type":"string","example":"timesheet_receipt.pdf","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","example":"2022-05-04T03:45:27.108Z","nullable":false,"description":"Timestamp when the timesheet was created (ISO-8601)."},"description":{"type":"string","example":"Backend development work for sprint 42","nullable":false,"description":"Human-readable description of the work performed."},"reported_by":{"type":"object","nullable":false,"required":["id"],"properties":{"id":{"type":"string","format":"uuid","example":"00000000-0000-0000-0000-000000000000","description":"Unique identifier of the reporting user."},"full_name":{"type":"string","example":"John Smith","nullable":false,"description":"Full name of the user who submitted the timesheet.","x-sensitive-pii":true}},"description":"User who submitted the timesheet."},"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 the reviewer."},"remarks":{"type":"string","example":"Approved after verification","nullable":false,"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":"2022-05-04T03:45:27.899Z","description":"Timestamp when the review occurred (ISO-8601)."}},"description":"Reviewer information if the timesheet has been reviewed."},"custom_scale":{"type":"string","example":"night_shift","nullable":true,"description":"Custom scale label defined by the client for non-standard billing rates."},"total_amount":{"type":"string","example":"200.0000","nullable":false,"description":"Total monetary value equal to quantity times rate of active work statement plus any bonus."},"currency_code":{"type":"string","example":"GBP","pattern":"^[A-Z]{3}$","maxLength":3,"minLength":3,"description":"ISO 4217 currency code used for the amount."},"payment_cycle":{"type":"object","properties":{"end_date":{"type":"string","format":"date-time","example":"2022-05-31T23:59:59.999Z","nullable":true,"description":"End date of the payment cycle (ISO-8601)."},"start_date":{"type":"string","format":"date-time","example":"2022-05-01T00:00:00.000Z","nullable":true,"description":"Start date of the payment cycle (ISO-8601)."}},"description":"Payment cycle associated with this timesheet."},"date_submitted":{"type":"string","format":"date-time","example":"2022-05-24T03:45:27.899Z","nullable":false,"description":"Timestamp when the timesheet was submitted for review (ISO-8601)."},"hourly_report_preset":{"type":"object","nullable":true,"properties":{"id":{"type":"string","example":"a1b2c3d4-e5f6-7890-abcd-ef1234567890","nullable":true,"description":"Unique identifier of the related timesheet preset."},"rate":{"type":"number","example":50,"nullable":true,"description":"Hourly rate of the related timesheet preset."},"title":{"type":"string","example":"Standard Rate","nullable":true,"description":"Title of the related timesheet preset."},"description":{"type":"string","example":"Default hourly rate for backend engineers","nullable":true,"description":"Description of the related timesheet preset."}},"description":"Timesheet preset linked to this entry, if any."}}}},"page":{"type":"object","example":{"total_rows":100},"required":["total_rows"],"properties":{"total_rows":{"type":"number","example":100,"nullable":false,"description":"Total number of records available."}},"description":"Pagination metadata 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":"path","name":"contract_id","schema":{"type":"string"},"example":"c1e2e3l4","required":true,"description":"Deel contract id."},{"in":"query","name":"contract_types","schema":{"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"},"example":"ongoing_time_based","description":"Filter results to timesheets associated with the specified contract types."},{"in":"query","name":"statuses","schema":{"type":"array","items":{"enum":["approved","declined","not_payable","paid","pending","processing",null],"type":"string","nullable":true,"description":"Current processing status of the timesheet."},"description":"List of statuses to filter by"},"example":"approved","description":"Filter results to timesheets with the specified statuses."},{"in":"query","name":"reporter_id","schema":{"type":"string","format":"uuid"},"example":"e1x2a3m4p5l6e7","description":"Filter results to timesheets submitted by this user ID."},{"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":"Filter results to timesheets submitted on or after this 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":"Filter results to timesheets submitted before this date (exclusive). Short date in format ISO-8601 (YYYY-MM-DD). For example: 2022-12-31."},{"in":"query","name":"limit","schema":{"type":"string"},"example":"10","description":"Maximum number of records to return per page. NOTE: query parameters are passed as strings."},{"in":"query","name":"offset","schema":{"type":"string"},"example":"0","description":"Number of records to skip before starting to return results. NOTE: query parameters are passed as strings."}],"description":"Returns timesheets associated with the specified contract, with optional filtering by contract type, status, reporter, and date range.\n\n **Token scopes**: `timesheets:read`","operationId":"getTimesheetsByContract-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["timesheets:read"]}]}},"/screenings/manual-verification":{"post":{"path":"/rest/screenings/manual-verification","tags":["Screenings"],"method":"post","summary":"Create manual verification screening","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":[],"description":"Creates a manual identity verification submission as a fallback when automated verification has failed multiple times or when the document's country of issue is not supported by the automated solution.\n\n **Token scopes**: `worker:write`","operationId":"createManualVerificationScreening-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["worker:write"]}]}},"/hris/worker_relations/profile/external/{profileId}":{"delete":{"path":"/rest/hris/worker_relations/profile/external/{profileId}","tags":["Worker Relations"],"method":"delete","summary":"Delete a worker relation by external id","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"}],"description":"Removes the worker relation identified by the given external ID. This operation removes all hierarchical associations (parent and child) linked to that relation.\n\n **Token scopes**: `profile:write`","operationId":"deleteWorkerRelationExternalId-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["profile:write"]}]}},"/ats/employment-types":{"get":{"path":"/rest/ats/employment-types","tags":["ATS"],"method":"get","summary":"Retrieve a list of ATS employment types","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"}],"description":"Returns a paginated list of employment types available in the ATS.\n\n **Token scopes**: `ats:read`","operationId":"retrieveAListOfAtsEmploymentTypes-v2026-01-01","security":[{"deelToken":[]},{"oauth2":["ats:read"]}]}},"/people/{id}/department":{"put":{"path":"/rest/people/{id}/department","tags":["People"],"method":"put","summary":"Update organization structure","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"}],"description":"Assigns a worker to a department by their HRIS profile ID. By default the new assignment appends to existing positions; set `replace_other_positions` to true to replace all current positions instead.\n\n **Token scopes**: `people:write`","operationId":"updateOrganizationStructure-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["people:write"]}]}},"/v2/time_tracking/shifts/bulk-delete":{"post":{"path":"/rest/v2/time_tracking/shifts/bulk-delete","tags":["Time Tracking Shifts"],"method":"post","summary":"Delete multiple shifts by External ID","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":[],"description":"This endpoint deletes shifts using external IDs. Once deleted, the shifts will no longer be retrievable or editable.\n\n **Token scopes**: `time-tracking:write`","operationId":"deleteMultipleShiftsByExternalId-v2026-01-01","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."},"security":[{"deelToken":[]},{"oauth2":["time-tracking:write"]}]}},"/gp/workers/{worker_id}/employee-information":{"patch":{"path":"/rest/gp/workers/{worker_id}/employee-information","tags":["Global Payroll"],"method":"patch","summary":"Update employee information","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."}],"description":"Partially updates personal details, tax information, and employment-related fields for the GP worker.\n\n **Token scopes**: `people:write`","operationId":"updateEmployeeInformation-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["people:write"]}]}},"/ats/applications/{application_id}/feedbacks":{"get":{"path":"/rest/ats/applications/{application_id}/feedbacks","tags":["ATS"],"method":"get","summary":"List feedbacks for an application","responses":{"200":{"content":{"application/json":{"schema":{"type":"object","required":["data","next_cursor","has_more","total_count"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","status","created_at","reviewer","feedback_form"],"properties":{"id":{"type":"string","format":"uuid","example":"f47ac10b-58cc-4372-a567-0e02b2c3d479","description":"Unique identifier of the feedback record."},"status":{"enum":["SUBMITTED","NOT_SUBMITTED"],"type":"string","example":"SUBMITTED","description":"Submission status of the feedback."},"reviewer":{"type":"object","required":["participant_hris_organization_user_id"],"properties":{"reviewer_profile":{"type":"object","nullable":true,"properties":{"type":{"enum":["CLIENT","WORKER"],"type":"string","example":"CLIENT","description":"Participant type within the organization."},"country":{"type":"string","example":"US","nullable":true,"description":"ISO 3166-1 alpha-2 country code.","x-sensitive-employment":true},"pic_url":{"type":"string","example":"https://avatars.githubusercontent.com/u/12345678","nullable":true,"description":"Profile picture URL.","x-sensitive-pii":true},"full_name":{"type":"string","example":"Jane Smith","description":"Full name.","x-sensitive-pii":true},"job_title":{"type":"string","example":"Engineering Manager","nullable":true,"description":"Job title.","x-sensitive-employment":true},"last_name":{"type":"string","example":"Smith","description":"Last name.","x-sensitive-pii":true},"first_name":{"type":"string","example":"Jane","description":"First name.","x-sensitive-pii":true},"work_email":{"type":"string","format":"email","example":"jane.smith@example.com","nullable":true,"description":"Work email.","x-sensitive-pii":true},"hris_organization_user_id":{"type":"string","format":"uuid","example":"f47ac10b-58cc-4372-a567-0e02b2c3d479","description":"HRIS organization user ID."}}},"participant_hris_organization_user_id":{"type":"string","format":"uuid","example":"f47ac10b-58cc-4372-a567-0e02b2c3d479","description":"HRIS organization user ID of the reviewer."}},"description":"Reviewer who provided the feedback."},"created_at":{"type":"string","format":"date-time","example":"2026-05-30T14:00:00Z","description":"ISO 8601 datetime when the feedback record was created."},"stage_name":{"type":"string","example":"Technical Interview","nullable":true,"description":"Name of the interview plan stage."},"submitted_at":{"type":"string","format":"date-time","example":"2026-06-01T10:00:00Z","nullable":true,"description":"ISO 8601 datetime when the feedback was submitted."},"activity_type":{"type":"string","example":"interview","nullable":true,"description":"Type slug of the interview activity."},"feedback_form":{"type":"object","required":["id","title"],"properties":{"id":{"type":"string","format":"uuid","example":"f47ac10b-58cc-4372-a567-0e02b2c3d479","description":"Unique identifier of the feedback form."},"title":{"type":"string","example":"Technical Interview Scorecard","description":"Title of the feedback form."}},"description":"Feedback form template used for this feedback."},"form_responses":{"type":"array","items":{"type":"object","required":["question_type","question_text","answer"],"properties":{"answer":{"oneOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"array","items":{}},{"type":"object"}],"example":"Great communicator","description":"Answer value; shape varies by question type (string, number, array, or object)."},"question_text":{"type":"string","example":"How well did the candidate communicate?","description":"Text of the feedback form question."},"question_type":{"type":"string","example":"FreeText","description":"Type of the question field."}}},"nullable":true,"description":"Submitted form question/answer pairs from FormBuilder."},"overall_recommendation":{"type":"object","nullable":true,"properties":{"scale_title":{"type":"string","example":"Recommendation","nullable":true,"description":"Title of the feedback scale."},"scale_item_id":{"type":"string","format":"uuid","example":"f47ac10b-58cc-4372-a567-0e02b2c3d479","description":"Unique identifier of the selected feedback scale item."},"scale_item_label":{"type":"string","example":"Strong Yes","description":"Display label of the selected scale item."}},"description":"Overall recommendation selected by the reviewer."}}},"description":"Page of application feedbacks."},"has_more":{"type":"boolean","example":false,"description":"Whether more pages are available beyond the current page."},"next_cursor":{"type":"string","example":"eyJpZCI6IjEyMzQifQ==","nullable":true,"description":"Cursor to fetch the next page; null when there are no more pages."},"total_count":{"type":"integer","example":8,"description":"Total number of feedbacks for this application."}}}}},"description":"Paginated list of application feedbacks."},"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":"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"}}}}},"description":"Operation failed."},"401":{"$ref":"#/components/responses/ResponseBodyForApiError"},"403":{"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":"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"}}}}},"description":"Forbidden. ATS is not enabled for this organization or insufficient permissions."},"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":"invalid_parameter","description":"Machine-readable 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"}}}}},"description":"Operation failed."}},"parameters":[{"in":"path","name":"application_id","schema":{"type":"string","format":"uuid"},"example":"f47ac10b-58cc-4372-a567-0e02b2c3d479","required":true,"description":"Unique identifier of the application to retrieve feedbacks for."},{"in":"query","name":"status","schema":{"enum":["SUBMITTED","NOT_SUBMITTED"],"type":"string"},"example":"SUBMITTED","required":false,"description":"Filter feedbacks by submission status."},{"in":"query","name":"should_hide_sensitive_fields","schema":{"type":"boolean"},"example":true,"required":false,"description":"When true, form responses marked as sensitive are omitted from the response. Defaults to true."},{"in":"query","name":"cursor","schema":{"type":"string"},"example":"eyJpZCI6IjEyMzQifQ==","required":false,"description":"Pagination cursor returned by a previous response."},{"in":"query","name":"limit","schema":{"type":"integer","maximum":100,"minimum":1},"example":30,"required":false,"description":"Maximum number of feedbacks to return per page."}],"description":"Returns a paginated list of feedbacks submitted for activities on the given application, including reviewer profiles, overall recommendations, and form responses.\n\n **Token scopes**: `ats:read`, `worker:read`","operationId":"listApplicationFeedbacks-v2026-07-02","security":[{"deelToken":[]},{"oauth2":["ats:read","worker:read"]}]}},"/eor/workers/contracts/{contract_id}/signatures":{"post":{"path":"/rest/eor/workers/contracts/{contract_id}/signatures","tags":["EOR"],"method":"post","summary":"Sign a contract ","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."}],"description":"Signs a contract on behalf of the contractor, transitioning contract status to active and completing the contractor onboarding workflow.\n\n **Token scopes**: `worker:write`","operationId":"signAContract-v2026-01-01","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},"security":[{"deelToken":[]},{"oauth2":["worker:write"]}]}}},"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/"}}},"GenericResultDeleted":{"type":"object","required":["data"],"properties":{"data":{"type":"object","required":["deleted"],"properties":{"deleted":{"type":"boolean","description":"Confirms the deletion.","nullable":false}}}}}},"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)"},"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."}}}}}}}