Query structured spec data via REST or MCP. Get exactly what your agent needs.
https://api.letsdeel.com/rest/v2
https://api-staging.letsdeel.com/rest/v2
/adjustments/{adjustment_id}
Update an adjustment.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"$ref": "#/components/requestBodies/RequestBodyToUpdateAdjustment"
}
PATCH /adjustments/{adjustment_id}
/candidates/{candidate_id}
Update an existed candidate.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"$ref": "#/components/requestBodies/RequestBodyToPatchCandidate"
}
PATCH /candidates/{candidate_id}
/contracts/{contract_id}
Add an external Id to a Deel contract. You can use this to add a Deel contract's refernece Id in your platform. External Id can be passed as a query parameter in List contract endpoint to find this conract later.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"$ref": "#/components/requestBodies/RequestBodyToPatchExternalId"
}
PATCH /contracts/{contract_id}
/gp/workers/{worker_id}/address
Update the address of a Global Payroll employee.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"$ref": "#/components/requestBodies/RequestBodyForGPEmployeeAddressUpdate"
}
PATCH /gp/workers/{worker_id}/address
/gp/workers/{worker_id}/banks/{bank_id}
Modify bank account for an employee.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"$ref": "#/components/requestBodies/RequestBodyForAddWorkerBankAccount"
}
PATCH /gp/workers/{worker_id}/banks/{bank_id}
/gp/workers/{worker_id}/compensation
Update the compensation of a Global Payroll employee. Returns the full compensation history including the update.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"$ref": "#/components/requestBodies/RequestBodyForGPEmployeeCompensationUpdate"
}
PATCH /gp/workers/{worker_id}/compensation
/gp/workers/{worker_id}/employee-information
Update Global Payroll employee information.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"$ref": "#/components/requestBodies/RequestBodyForGPEmployeeEmployeeUpdate"
}
PATCH /gp/workers/{worker_id}/employee-information
/gp/workers/{worker_id}/pto-policy
Update the PTO policy of a Global Payroll employee.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"$ref": "#/components/requestBodies/RequestBodyForGPEmployeePTOUpdate"
}
PATCH /gp/workers/{worker_id}/pto-policy
/invoice-adjustments/{invoice_adjustment_id}
Update an existing invoice adjustment. It is not possible to update VAT adjustments, we recommend you to delete the existing VAT adjust and create a new one.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"$ref": "#/components/requestBodies/RequestBodyToUpdateInvoiceAdjustment"
}
PATCH /invoice-adjustments/{invoice_adjustment_id}
/partner-managed/employees/{employee_id}/banks/{bank_id}
Modify bank account for an EOR employee.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"$ref": "#/components/requestBodies/RequestBodyToModifyEmployeeBankAccount"
}
PATCH /partner-managed/employees/{employee_id}/banks/{bank_id}
/people/{worker_id}/time-offs/{timeoff_id}
Edit a time off request for a worker.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"$ref": "#/components/requestBodies/RequestBodyToUpdatePeopleTimeoff"
}
PATCH /people/{worker_id}/time-offs/{timeoff_id}
/people/{worker_id}/time-offs/{timeoff_id}/review
Approve or decline a time off request. New requests are auto-approved. Hence they don't need to be manually approved.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional | ||||
| optional |
{
"$ref": "#/components/requestBodies/RequestBodyToReviewTimeoffInternal"
}
PATCH /people/{worker_id}/time-offs/{timeoff_id}/review
/time-offs/{timeoff_id}/review
Approve or decline an employee's time off request.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"$ref": "#/components/requestBodies/RequestBodyToReviewTimeoff"
}
PATCH /time-offs/{timeoff_id}/review
/timesheets/{timesheet_id}
Update a single timesheet entry.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| optional |
{
"$ref": "#/components/requestBodies/RequestBodyToUpdateTimesheet"
}
PATCH /timesheets/{timesheet_id}
/Users/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | user id |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UserPatch"
}
},
"application/scim+json": {
"schema": {
"$ref": "#/components/schemas/UserPatch"
}
}
},
"required": false,
"description": "patch operations list"
}
PATCH /Users/{id}
/webhooks/{id}
Edit a webhook subscription.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string |
{
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PatchWebhookRequest"
}
}
},
"required": true
}
PATCH /webhooks/{id}
AddWorkerBankAccountContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/WorkerBankAccountToAdd"
}
},
"x-internal": true
}
AdditionalEORInfo
{
"description": "Fields for country validation mandatory found at `/eor/validations/{country_code}`."
}
AdditionalEORInfoContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/AdditionalEORInfo"
}
},
"x-internal": true
}
Address
{
"type": "object",
"properties": {
"region": {
"type": "string",
"example": "CO",
"description": "Region code."
},
"country": {
"$ref": "#/components/schemas/CountryCode"
},
"locality": {
"type": "string",
"example": "Denver",
"description": "Locality name."
},
"postalCode": {
"type": "string",
"example": "44000",
"description": "Postal code."
},
"streetAddress": {
"type": "string",
"example": "Deel Street 500",
"description": "Street and number."
}
}
}
AdjustmentCategory
{
"type": "object",
"properties": {
"id": {
"type": "string",
"example": "c0431543f64c448e5ba4b525a50291",
"description": "Unique identifier of an adjustment category."
},
"label": {
"type": "string",
"example": "Employee Dinner",
"description": "The label of the adjustment category."
},
"unit_type": {
"type": "string",
"example": "currency",
"description": "The unit type of the adjustment category."
}
}
}
AdjustmentCreatedContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/PayrollAdjustment"
}
},
"x-internal": true
}
AdjustmentStatusEnum
{
"enum": [
"open",
"pending_approval",
"overwritten",
"failed",
"success"
],
"type": "string",
"x-internal": true,
"description": "Adjustment status"
}
AdjustmentToCreate
{
"type": "object",
"required": [
"contract_id",
"amount",
"title",
"description",
"adjustment_category_id",
"file",
"vendor",
"country"
],
"properties": {
"file": {
"type": "string",
"format": "binary",
"minLength": 1,
"description": "File of adjustment."
},
"title": {
"type": "string",
"example": "Your title here",
"maxLength": 255,
"minLength": 3,
"description": "Title of adjustment."
},
"amount": {
"oneOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"example": 100.25,
"minimum": 1,
"minLength": 1,
"description": "Amount of adjustment."
},
"vendor": {
"type": "string",
"example": "Vendor",
"minLength": 3,
"description": "Vendor of adjustment."
},
"country": {
"$ref": "#/components/schemas/CountryCode",
"example": "CA",
"description": "Country of adjustment."
},
"contract_id": {
"type": "string",
"example": "m3jk2j",
"minLength": 5,
"description": "The identifier of the contract associated with the adjustment"
},
"description": {
"type": "string",
"example": "Your description here",
"maxLength": 255,
"minLength": 3,
"description": "Description of adjustment."
},
"cycle_reference": {
"type": "string",
"example": "my_cycle_reference",
"description": "Cycle reference of adjustment."
},
"move_next_cycle": {
"type": "boolean",
"example": true,
"nullable": true,
"description": "If an adjustments can belong to another payroll cycle."
},
"date_of_adjustment": {
"$ref": "#/components/schemas/DateString",
"example": "2023-11-02T00:00:00.000Z",
"description": "The date of the expense associated with the adjustment."
},
"adjustment_category_id": {
"type": "string",
"example": "c9cf4c2c0165f48f494415390c3b49",
"minLength": 25,
"description": "Adjustment category id."
}
},
"x-internal": true,
"description": "Details of adjustment to create"
}
AdjustmentToCreateContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/AdjustmentToCreate"
}
},
"x-internal": true
}
AdjustmentToUpdate
{
"type": "object",
"properties": {
"file": {
"type": "string",
"format": "binary",
"minLength": 1,
"description": "File of adjustment."
},
"title": {
"type": "string",
"example": "Your title here",
"maxLength": 255,
"minLength": 3,
"description": "Title of adjustment."
},
"amount": {
"oneOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"example": 100.25,
"minimum": 1,
"minLength": 1,
"description": "Amount of adjustment."
},
"description": {
"type": "string",
"example": "Your description here",
"maxLength": 255,
"minLength": 3,
"description": "Description of adjustment."
}
},
"x-internal": true,
"description": "Details of adjustment to update"
}
AdjustmentToUpdateContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/AdjustmentToUpdate"
}
},
"x-internal": true
}
AdjustmentsCategoriesContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AdjustmentCategory"
}
}
},
"x-internal": true
}
AdjustmentsContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PayrollAdjustment"
}
}
},
"x-internal": true
}
AdminUser
{
"type": "object",
"required": [
"id",
"first_name",
"last_name",
"email"
],
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier",
"nullable": false,
"description": "Admin user profile id."
},
"email": {
"type": "string",
"format": "email",
"description": "User's email"
},
"last_name": {
"type": "string",
"nullable": false,
"description": "User's last name"
},
"first_name": {
"type": "string",
"nullable": false,
"description": "User's first name"
}
}
}
AdminUserCreateContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/AdminUserCreateRequest"
}
},
"x-internal": true
}
AdminUserCreateRequest
{
"type": "object",
"required": [
"first_name",
"last_name",
"email"
],
"properties": {
"email": {
"type": "string",
"format": "email",
"nullable": false,
"description": "User's email"
},
"last_name": {
"type": "string",
"nullable": false,
"minLength": 1,
"description": "User's last name"
},
"first_name": {
"type": "string",
"nullable": false,
"minLength": 1,
"description": "User's first name"
}
}
}
AdminUsersContainer
{
"type": "object",
"required": [
"data",
"page"
],
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AdminUser"
}
},
"page": {
"$ref": "#/components/schemas/PageInfoWithoutCursorNew"
}
},
"x-internal": true
}
Agreement
{
"type": "object",
"required": [
"id",
"agreement_title",
"agreement_type",
"msa",
"client_legal_entity",
"provider_legal_entity"
],
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier",
"nullable": false
},
"msa": {
"type": "object",
"required": [
"id",
"title"
],
"properties": {
"id": {
"type": "string",
"nullable": false
},
"title": {
"type": "string",
"nullable": false
}
}
},
"agreement_type": {
"type": "string",
"example": "shield",
"nullable": false
},
"agreement_title": {
"type": "string",
"nullable": false
},
"client_legal_entity": {
"type": "object",
"required": [
"id",
"name"
],
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier",
"nullable": false
},
"name": {
"type": "string",
"nullable": false
}
}
},
"provider_legal_entity": {
"type": "object",
"required": [
"id",
"name"
],
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier",
"nullable": false
},
"name": {
"type": "string",
"example": "Deel Inc.",
"nullable": false
}
}
}
},
"x-internal": true
}
AgreementList
{
"type": "array",
"items": {
"$ref": "#/components/schemas/Agreement"
},
"x-internal": true
}
AgreementListContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/AgreementList"
},
"page": {
"$ref": "#/components/schemas/PageInfoWithoutCursor"
}
},
"x-internal": true
}
AgreementsParamLimit
{
"type": "string",
"default": "50",
"x-internal": true,
"description": "Maximum number of records to return. This is supposed to be an integer but query parameters are string. Maximum is 50."
}
AgreementsParamOffset
{
"type": "string",
"default": "0",
"x-internal": true,
"description": "Offset/index of record for the next page of records to return. This is supposed to be an integer but query parameters are string."
}
AgreementsSearchForm
{
"type": "object",
"properties": {
"limit": {
"$ref": "#/components/schemas/AgreementsParamLimit"
},
"offset": {
"$ref": "#/components/schemas/AgreementsParamOffset"
},
"contract_id": {
"type": "string",
"nullable": false
}
},
"x-internal": true,
"description": "Convenient model to encapsulate query parameters to get a list of agreements."
}
AlternateEmailItem
{
"type": "object",
"title": "Root Schema",
"required": [
"email",
"isVerified"
],
"properties": {
"email": {
"$ref": "#/components/schemas/EmailType",
"title": "Alternate email"
},
"isVerified": {
"type": "boolean",
"title": "True if email has been verified"
}
}
}
AlternateEmailList
{
"type": "array",
"items": {
"$ref": "#/components/schemas/AlternateEmailItem"
},
"description": "List of alternate email addresses."
}
ApiError
{
"type": "object",
"properties": {
"path": {
"type": "string",
"example": "/data/type",
"description": "The JSON path where input validation failed"
},
"message": {
"type": "string",
"example": "Must have required property 'example_field'",
"description": "A description of the returned error"
}
},
"x-internal": true
}
ApiErrorContainer
{
"type": "object",
"properties": {
"errors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ApiError"
}
},
"request": {
"$ref": "#/components/schemas/ApiErrorRequest"
}
},
"x-internal": true
}
ApiErrorRequest
{
"type": "object",
"properties": {
"url": {
"type": "string",
"example": "/rest/v2/example",
"description": "The relative URL of the failed request"
},
"code": {
"type": "number",
"example": 3,
"description": "The code of the source handler which produced the returned error"
},
"docs": {
"type": "string",
"example": "https://developer.deel.com/reference/example",
"description": "A link to the official documentation for the requested endpoint resource"
},
"method": {
"type": "string",
"example": "POST",
"description": "The HTTP method of the failed request"
},
"source": {
"type": "string",
"example": "AJV",
"description": "The source handler which produced the returned error"
},
"status": {
"type": "number",
"example": 400,
"description": "The status code of the response"
},
"api_req_id": {
"type": "string",
"example": "00000000-0000-0000-0000-000000000000",
"description": "The request ID of the failed request"
}
},
"x-internal": true
}
AttachmentFileRef
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"nullable": false,
"description": "File URL to download the attachment."
}
},
"x-internal": true
}
AuthenticationScheme
{
"type": "object",
"properties": {
"name": {
"type": "string"
},
"specUrl": {
"type": "string"
},
"description": {
"type": "string"
},
"documentationUrl": {
"type": "string"
}
}
}
AuthenticationSchemes
{
"type": "object",
"properties": {
"authenticationSchemes": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AuthenticationScheme"
}
}
}
}
BankAccountAdded
{
"type": "object",
"properties": {
"id": {
"type": "string",
"example": "dcc7b587-2246-4909-853e-12056e90c451",
"description": "ID of Bank Account."
},
"status": {
"$ref": "#/components/schemas/BankAccountStatus"
},
"created_at": {
"$ref": "#/components/schemas/DateTimeString"
},
"updated_at": {
"$ref": "#/components/schemas/DateTimeString"
}
},
"x-internal": true
}
BankAccountAddedContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/BankAccountAdded"
}
},
"x-internal": true
}
BankAccountGuide
{
"type": "object",
"required": [
"key",
"required"
],
"properties": {
"key": {
"type": "string",
"example": "countryCode",
"description": "The key of the field."
},
"type": {
"type": "string",
"example": "text",
"description": "Type of the field"
},
"label": {
"type": "string",
"example": "Country",
"description": "Label for this field."
},
"required": {
"type": "boolean",
"example": true,
"description": "Whether the field is required or not."
},
"validations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ValidationType"
}
},
"values_allowed": {
"type": "array",
"items": {
"$ref": "#/components/schemas/BankAccountValueAllowed"
}
}
},
"x-internal": true
}
BankAccountGuideContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/BankAccountGuide"
}
}
}
}
BankAccountStatus
{
"enum": [
"new",
"pending",
"approved",
"failed"
],
"type": "string",
"x-internal": true,
"description": "Bank Account status"
}
BankAccountToAdd
{
"type": "array",
"items": {
"type": "object",
"required": [
"key",
"value"
],
"properties": {
"key": {
"type": "string",
"description": "The key of the bank account properties."
},
"value": {
"type": "string",
"description": "The value for that key property."
}
}
},
"x-internal": true
}
BankAccountToAddContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/BankAccountToAdd"
}
},
"x-internal": true
}
BankAccountUpdated
{
"type": "object",
"required": [
"id",
"status",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "string"
},
"status": {
"type": "string"
},
"created_at": {
"$ref": "#/components/schemas/DateTimeStringRequired"
},
"updated_at": {
"$ref": "#/components/schemas/DateTimeStringRequired"
}
}
}
BankAccountUpdatedContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/BankAccountUpdated"
}
}
}
BankAccountValueAllowed
{
"type": "object",
"properties": {
"label": {
"type": "string",
"example": "Argentina",
"description": "The name of the allowed value."
},
"value": {
"type": "string",
"example": "AR",
"description": "The key of the allowed value."
}
},
"x-internal": true
}
BankGuide
{
"type": "object",
"properties": {
"key": {
"type": "string"
},
"name": {
"type": "string"
},
"type": {
"type": "string"
},
"required": {
"type": "boolean"
},
"validations": {
"type": "object",
"properties": {
"regex": {
"type": "string"
},
"maxLength": {
"type": "integer"
},
"minLength": {
"type": "integer"
}
}
},
"values_allowed": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"name": {
"type": "string"
}
}
}
}
}
}
BasicContract
{
"type": "object",
"required": [
"id",
"title",
"type",
"status",
"client",
"worker",
"invitations",
"signatures",
"is_shielded",
"is_archived",
"created_at",
"termination_date"
],
"properties": {
"id": {
"type": "string",
"nullable": false,
"minLength": 1
},
"type": {
"$ref": "#/components/schemas/ContractTypeEnum"
},
"scale": {
"type": "string",
"nullable": true,
"description": "The payment scale (e.g., hourly, weekly, monthly, etc.)"
},
"title": {
"type": "string",
"nullable": false,
"minLength": 1
},
"client": {
"$ref": "#/components/schemas/ClientOfBasicContract"
},
"status": {
"$ref": "#/components/schemas/ContractStatusEnum"
},
"worker": {
"$ref": "#/components/schemas/WorkerOfBasicContract"
},
"created_at": {
"$ref": "#/components/schemas/DateTimeString"
},
"signatures": {
"$ref": "#/components/schemas/SignaturesOfBasicContract"
},
"external_id": {
"type": "string",
"nullable": true,
"description": "A unique identifier for the object provided by an external system."
},
"invitations": {
"$ref": "#/components/schemas/InvitationsOfBasicContract"
},
"is_archived": {
"type": "boolean"
},
"is_shielded": {
"type": "boolean"
},
"who_reports": {
"$ref": "#/components/schemas/ContractWhoReportsEnum"
},
"notice_period": {
"$ref": "#/components/schemas/NoticePeriod"
},
"termination_date": {
"$ref": "#/components/schemas/DateTimeString"
}
},
"x-internal": true
}
BasicInvoiceAdjustment
{
"type": "object",
"required": [
"id",
"type",
"status",
"description",
"date_submitted",
"created_at",
"currency_code",
"quantity",
"total_amount",
"contract",
"worksheet",
"reported_by",
"reviewed_by",
"payment_cycle",
"attachment"
],
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier"
},
"type": {
"$ref": "#/components/schemas/InvoiceAdjustmentTypeEnum"
},
"scale": {
"type": "string",
"example": "custom",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/InvoiceAdjustmentStatusEnum"
},
"contract": {
"type": "object",
"required": [
"id",
"title",
"type"
],
"properties": {
"id": {
"type": "string",
"nullable": false
},
"type": {
"$ref": "#/components/schemas/ContractTypeEnum"
},
"title": {
"type": "string",
"nullable": false
}
}
},
"quantity": {
"type": "number",
"example": 1,
"nullable": true
},
"worksheet": {
"type": "object",
"nullable": true,
"required": [
"weeks",
"days",
"hours",
"minutes"
],
"properties": {
"days": {
"type": "number",
"example": 0,
"minimum": 0
},
"hours": {
"type": "number",
"example": 1,
"minimum": 0
},
"weeks": {
"type": "number",
"example": 0,
"minimum": 0
},
"minutes": {
"type": "number",
"example": 0,
"minimum": 0
}
}
},
"attachment": {
"$ref": "#/components/schemas/FileAttachmentInfo"
},
"created_at": {
"$ref": "#/components/schemas/DateTimeStringRequired"
},
"invoice_id": {
"type": "number",
"nullable": true
},
"description": {
"type": "string",
"nullable": false
},
"reported_by": {
"type": "object",
"nullable": false,
"required": [
"id",
"full_name"
],
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier"
},
"full_name": {
"type": "string",
"example": "John Smith",
"nullable": false
}
}
},
"reviewed_by": {
"type": "object",
"nullable": true,
"required": [
"id",
"full_name",
"reviewed_at",
"remarks"
],
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier"
},
"remarks": {
"type": "string",
"nullable": false
},
"full_name": {
"type": "string",
"example": "Jane Smith"
},
"reviewed_at": {
"type": "string",
"example": "2022-05-04T03:45:27.899Z"
}
}
},
"custom_scale": {
"type": "string",
"nullable": true
},
"total_amount": {
"type": "string",
"example": "200.0000",
"nullable": false
},
"currency_code": {
"$ref": "#/components/schemas/CurrencyCodeRequired"
},
"payment_cycle": {
"type": "object",
"nullable": false,
"required": [
"start_date",
"end_date"
],
"properties": {
"end_date": {
"$ref": "#/components/schemas/DateTimeStringRequired"
},
"start_date": {
"$ref": "#/components/schemas/DateTimeStringRequired"
}
}
},
"date_submitted": {
"$ref": "#/components/schemas/DateTimeStringRequired"
}
},
"x-internal": true
}
BasicLegalEntity
{
"type": "object",
"required": [
"id",
"name",
"entity_type",
"entity_subtype"
],
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier"
},
"name": {
"type": "string",
"nullable": false
},
"country": {
"type": "string",
"nullable": false
},
"entity_type": {
"$ref": "#/components/schemas/LegalEntityType"
},
"entity_subtype": {
"$ref": "#/components/schemas/LegalEntitySubType"
}
},
"x-internal": true
}
BasicOrganization
{
"type": "object",
"required": [
"id",
"name"
],
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier"
},
"name": {
"type": "string",
"nullable": false,
"minLength": 1
}
},
"x-internal": true
}
BasicTeam
{
"type": "object",
"required": [
"id",
"name"
],
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier"
},
"name": {
"type": "string",
"nullable": false,
"minLength": 1
}
},
"x-internal": true
}
BasicTimesheet
{
"type": "object",
"required": [
"id",
"type",
"status",
"description",
"date_submitted",
"created_at",
"currency_code",
"total_amount",
"quantity",
"contract",
"worksheet",
"reported_by",
"reviewed_by",
"attachment"
],
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier"
},
"type": {
"type": "string",
"description": "Deprecated - it is always \"work\""
},
"scale": {
"type": "string",
"example": "custom",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/TimesheetStatusEnum"
},
"contract": {
"type": "object",
"required": [
"id",
"title",
"type"
],
"properties": {
"id": {
"type": "string",
"nullable": false
},
"type": {
"$ref": "#/components/schemas/ContractTypeEnum"
},
"title": {
"type": "string",
"nullable": false
}
}
},
"quantity": {
"type": "number",
"example": 1,
"nullable": true
},
"worksheet": {
"type": "object",
"nullable": true,
"required": [
"weeks",
"days",
"hours",
"minutes"
],
"properties": {
"days": {
"type": "number",
"example": 0,
"minimum": 0
},
"hours": {
"type": "number",
"example": 1,
"minimum": 0
},
"weeks": {
"type": "number",
"example": 0,
"minimum": 0
},
"minutes": {
"type": "number",
"example": 0,
"minimum": 0
}
}
},
"attachment": {
"$ref": "#/components/schemas/FileAttachmentInfo"
},
"created_at": {
"type": "string",
"example": "2022-05-04T03:45:27.108Z",
"nullable": false
},
"description": {
"type": "string",
"nullable": false
},
"reported_by": {
"type": "object",
"nullable": false,
"required": [
"id",
"full_name"
],
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier"
},
"full_name": {
"type": "string",
"example": "John Smith",
"nullable": false
}
}
},
"reviewed_by": {
"type": "object",
"nullable": true,
"required": [
"id",
"full_name",
"reviewed_at",
"remarks"
],
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier"
},
"remarks": {
"type": "string",
"nullable": false
},
"full_name": {
"type": "string",
"example": "Jane Smith"
},
"reviewed_at": {
"type": "string",
"example": "2022-05-04T03:45:27.899Z"
}
}
},
"custom_scale": {
"type": "string",
"nullable": true
},
"total_amount": {
"type": "string",
"example": "200.0000",
"nullable": false,
"description": "is equal to quantity times rate of active work statement + bonus in this record"
},
"currency_code": {
"$ref": "#/components/schemas/CurrencyCodeRequired"
},
"payment_cycle": {
"type": "object",
"properties": {
"end_date": {
"$ref": "#/components/schemas/DateTimeString"
},
"start_date": {
"$ref": "#/components/schemas/DateTimeString"
}
}
},
"date_submitted": {
"$ref": "#/components/schemas/DateTimeStringRequired"
}
},
"x-internal": true
}
BenefitContributionStatusEnum
{
"enum": [
"MANDATORY",
"OPTIONAL",
"UNAVAILABLE"
],
"type": "string"
}
BenefitContributionTypeEnum
{
"enum": [
"PERCENTAGE",
"FIXED_AMOUNT",
"MATCH"
],
"type": "string"
}
BenefitQuote
{
"type": "object",
"properties": {
"fee": {
"type": "number",
"description": "Fee in local currency"
},
"name": {
"type": "string",
"description": "Benefit's name"
},
"plan": {
"type": "string",
"description": "Benefit's plan"
},
"price": {
"type": "number",
"description": "Price in local currency"
},
"fee_usd": {
"type": "number",
"description": "Fee in USD"
},
"currency": {
"$ref": "#/components/schemas/CurrencyCode"
},
"price_usd": {
"type": "number",
"description": "Price in USD"
}
},
"x-internal": true
}
BenefitStatusEnum
{
"enum": [
"REQUIRED",
"ENABLED",
"DISABLED"
],
"type": "string"
}
BreakdownCostsQuote
{
"type": "object",
"properties": {
"monthly": {
"type": "object",
"properties": {
"costs": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CostQuote"
}
},
"total": {
"type": "number",
"description": "Total costs in local currency"
},
"total_usd": {
"type": "number",
"description": "Total costs in USD"
}
}
}
},
"x-internal": true
}
BulkSupported
{
"type": "object",
"properties": {
"supported": {
"type": "boolean",
"default": false
},
"maxOperations": {
"type": "integer",
"format": "int32"
},
"maxPayloadSize": {
"type": "integer",
"format": "int32"
}
}
}
CandidateStatusEnum
{
"enum": [
"offer-accepted",
"offer-sent",
"offer-declined",
"offer-deleted"
],
"type": "string",
"x-internal": true,
"description": "Offer status"
}
CandidateToCreate
{
"type": "object",
"required": [
"id",
"first_name",
"last_name",
"status",
"start_date",
"link"
],
"properties": {
"id": {
"type": "string",
"description": "Unique identifier of candidate in your ATS."
},
"link": {
"type": "string",
"description": "Link to candidate's profile in ATS."
},
"email": {
"$ref": "#/components/schemas/EmailTypeRequired",
"title": "Candidate's email."
},
"state": {
"type": "string",
"example": "AL",
"maxLength": 50,
"minLength": 1,
"description": "Job location state."
},
"status": {
"$ref": "#/components/schemas/CandidateStatusEnum"
},
"country": {
"$ref": "#/components/schemas/CountryCode",
"description": "Job location country."
},
"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": {
"$ref": "#/components/schemas/DateStringRequired",
"description": "Candidate's expected start date."
},
"nationality": {
"$ref": "#/components/schemas/NationalityType",
"description": "Candidate's nationality."
}
},
"x-internal": true,
"description": "Details of candidate to create"
}
CandidateToCreateContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/CandidateToCreate"
}
},
"x-internal": true
}
CandidateToPatch
{
"type": "object",
"required": [
"status"
],
"properties": {
"link": {
"type": "string",
"description": "Link to candidate's profile in ATS."
},
"email": {
"$ref": "#/components/schemas/EmailTypeRequired",
"title": "Candidate's email."
},
"state": {
"type": "string",
"example": "AL",
"maxLength": 50,
"minLength": 1,
"description": "Job location state."
},
"status": {
"$ref": "#/components/schemas/CandidateStatusEnum"
},
"country": {
"$ref": "#/components/schemas/CountryCode",
"description": "Job location country."
},
"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": {
"$ref": "#/components/schemas/DateStringRequired",
"description": "Candidate's expected start date."
},
"nationality": {
"$ref": "#/components/schemas/NationalityType",
"description": "Candidate's nationality."
}
},
"x-internal": true,
"description": "Details of candidate to update"
}
CandidateToPatchContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/CandidateToPatch"
}
},
"x-internal": true
}
ClientLegalEntity
{
"type": "object",
"nullable": true,
"required": [
"id",
"name",
"email",
"type",
"subtype",
"registration_number",
"vat_number"
],
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier"
},
"name": {
"type": "string"
},
"type": {
"$ref": "#/components/schemas/LegalEntityType"
},
"email": {
"$ref": "#/components/schemas/EmailType"
},
"subtype": {
"$ref": "#/components/schemas/LegalEntitySubType"
},
"vat_number": {
"type": "string"
},
"registration_number": {
"type": "string"
}
},
"x-internal": true
}
ClientOfBasicContract
{
"type": "object",
"properties": {
"team": {
"$ref": "#/components/schemas/TeamOfBasicContract"
}
},
"x-internal": true
}
ClientOfContract
{
"type": "object",
"nullable": true,
"required": [
"team",
"legal_entity"
],
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier"
},
"team": {
"$ref": "#/components/schemas/TeamOfContract"
},
"email": {
"$ref": "#/components/schemas/EmailType"
},
"full_name": {
"type": "string"
},
"legal_entity": {
"$ref": "#/components/schemas/ClientLegalEntity"
}
},
"x-internal": true
}
CompensationDetailsOfContract
{
"type": "object",
"required": [
"currency_code",
"amount",
"scale",
"frequency",
"first_payment",
"first_payment_date",
"gross_annual_salary",
"gross_signing_bonus",
"gross_variable_bonus"
],
"properties": {
"scale": {
"type": "string"
},
"amount": {
"type": "string"
},
"frequency": {
"type": "string"
},
"currency_code": {
"$ref": "#/components/schemas/CurrencyCodeRequired"
},
"first_payment": {
"type": "string"
},
"first_payment_date": {
"$ref": "#/components/schemas/DateTimeString"
},
"gross_annual_salary": {
"type": "string"
},
"gross_signing_bonus": {
"type": "string"
},
"gross_variable_bonus": {
"type": "string"
}
},
"x-internal": true
}
CompensationDetailsOfContractToCreate_Shared
{
"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": {
"$ref": "#/components/schemas/WorkStatementCycleScaleEnum"
},
"currency_code": {
"$ref": "#/components/schemas/CurrencyCodeRequired"
},
"first_payment": {
"type": "number",
"default": 0,
"example": 500,
"minimum": 0,
"description": "First payment amount."
},
"notice_period": {
"$ref": "#/components/schemas/NoticePeriod"
},
"cycle_end_type": {
"$ref": "#/components/schemas/WorkStatementCycleEndTypeEnum"
},
"payment_due_days": {
"type": "number",
"example": 7,
"maximum": 90,
"minimum": 0
},
"payment_due_type": {
"$ref": "#/components/schemas/WorkStatementPaymentDueTypeEnum"
},
"first_payment_date": {
"$ref": "#/components/schemas/DateString"
},
"pay_before_weekends": {
"type": "boolean",
"example": true,
"description": "If the payment due is on a weekend, pay on Friday."
}
},
"x-internal": true
}
CompensationDetailsOfContractToCreate_ongoing_time_based
{
"type": "object",
"required": [
"amount",
"scale"
],
"properties": {
"scale": {
"$ref": "#/components/schemas/WorkStatementScaleEnum"
},
"amount": {
"type": "number"
}
},
"x-internal": true
}
CompensationDetailsOfContractToCreate_pay_as_you_go_time_based
{
"type": "object",
"required": [
"amount",
"scale"
],
"properties": {
"scale": {
"$ref": "#/components/schemas/WorkStatementScaleEnum"
},
"amount": {
"type": "number"
}
},
"x-internal": true
}
Contract
{
"type": "object",
"required": [
"id",
"title",
"type",
"status",
"created_at",
"job_title",
"seniority",
"special_clause",
"start_date",
"termination_date",
"is_archived",
"client",
"worker",
"invitations",
"signatures",
"compensation_details",
"employment_details"
],
"properties": {
"id": {
"type": "string",
"nullable": false,
"minLength": 1
},
"type": {
"$ref": "#/components/schemas/ContractTypeEnum"
},
"quote": {
"$ref": "#/components/schemas/EorQuoteBase",
"nullable": true,
"description": "It is the quote associated with this contract. It will only be present for EOR-type contracts."
},
"title": {
"type": "string",
"nullable": false,
"minLength": 1
},
"client": {
"$ref": "#/components/schemas/ClientOfContract"
},
"status": {
"$ref": "#/components/schemas/ContractStatusEnum"
},
"worker": {
"$ref": "#/components/schemas/WorkerOfContract"
},
"job_title": {
"type": "string"
},
"seniority": {
"$ref": "#/components/schemas/Seniority"
},
"created_at": {
"$ref": "#/components/schemas/DateTimeString"
},
"signatures": {
"$ref": "#/components/schemas/SignaturesOfContract"
},
"start_date": {
"$ref": "#/components/schemas/DateTimeString"
},
"external_id": {
"type": "string",
"nullable": true,
"description": "A unique identifier for the object provided by an external system."
},
"invitations": {
"$ref": "#/components/schemas/InvitationsOfBasicContract"
},
"is_archived": {
"type": "boolean"
},
"who_reports": {
"$ref": "#/components/schemas/ContractWhoReportsEnum"
},
"custom_fields": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ContractCustomField"
}
},
"notice_period": {
"$ref": "#/components/schemas/NoticePeriod"
},
"scope_of_work": {
"type": "string",
"nullable": true
},
"special_clause": {
"type": "string"
},
"termination_date": {
"$ref": "#/components/schemas/DateTimeString"
},
"contract_template": {
"$ref": "#/components/schemas/ContractTemplate"
},
"employment_details": {
"$ref": "#/components/schemas/EmploymentDetailsOfContract"
},
"compensation_details": {
"$ref": "#/components/schemas/CompensationDetailsOfContract"
}
},
"x-internal": true
}
ContractAmendmentSentToClient
{
"type": "object",
"required": [
"contract_oid",
"contract_name",
"client_id",
"client_name"
],
"properties": {
"client_id": {
"type": "number",
"nullable": false
},
"client_name": {
"type": "string",
"nullable": false
},
"contract_oid": {
"type": "string",
"nullable": false
},
"contract_name": {
"type": "string",
"nullable": false
}
}
}
ContractContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/Contract"
}
},
"x-internal": true
}
ContractContainer_ongoing_time_based
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/Contract"
}
},
"x-internal": true
}
ContractContainer_pay_as_you_go_time_based
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/Contract"
}
},
"x-internal": true
}
ContractContainer_payg_milestones
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/Contract"
}
},
"x-internal": true
}
ContractContainer_payg_tasks
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/Contract"
}
},
"x-internal": true
}
ContractCustomField
{
"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)."
}
ContractDetailsToAmend
{
"type": "object",
"properties": {
"scale": {
"$ref": "#/components/schemas/WorkStatementScaleEnum"
},
"amount": {
"type": "number",
"example": 100,
"minimum": 1,
"nullable": false
},
"cycle_end": {
"type": "number",
"maximum": 31,
"minimum": 1
},
"frequency": {
"$ref": "#/components/schemas/WorkStatementCycleScaleEnum"
},
"job_title_id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier",
"example": 123,
"description": "If you want to use a predefined job title, please use a job title ID"
},
"seniority_id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier",
"description": "You can use a predefined seniority level ID."
},
"currency_code": {
"$ref": "#/components/schemas/CurrencyCodeRequired"
},
"first_payment": {
"type": "number",
"minimum": 0,
"nullable": false
},
"scope_of_work": {
"type": "string",
"nullable": false,
"description": "Text to describe the scope of work of the contract."
},
"cycle_end_type": {
"$ref": "#/components/schemas/WorkStatementCycleEndTypeEnum"
},
"effective_date": {
"$ref": "#/components/schemas/DateStringRequired"
},
"job_title_name": {
"type": "string",
"example": "3D Designer",
"nullable": false,
"description": "You can enter new job title."
},
"special_clause": {
"type": "string",
"nullable": false,
"description": "Text to describe any special clause in contract."
},
"payment_due_days": {
"type": "number",
"maximum": 90,
"minimum": 0,
"nullable": false
},
"payment_due_type": {
"$ref": "#/components/schemas/WorkStatementPaymentDueTypeEnum"
},
"first_payment_date": {
"$ref": "#/components/schemas/DateStringRequired"
},
"pay_before_weekends": {
"type": "boolean",
"nullable": false,
"description": "If the payment due is on a weekend, pay on Friday."
}
},
"x-internal": true,
"description": "You can specify any combination of data points that need changing."
}
ContractDocumentContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/FileAttachmentInfo"
}
}
}
ContractExternalIdPatchedContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/ContractExternalIdToPatch"
}
},
"x-internal": true
}
ContractExternalIdToPatch
{
"type": "object",
"required": [
"external_id"
],
"properties": {
"external_id": {
"type": "string",
"nullable": false,
"description": "A unique identifier for the object provided by an external system."
}
}
}
ContractFirstSignEnum
{
"enum": [
"client",
"contractor"
],
"type": "string",
"x-internal": true,
"description": "Flag to indicate who is supposed to sign a contract"
}
ContractInvitationToCreate
{
"type": "object",
"required": [
"email",
"message"
],
"properties": {
"email": {
"$ref": "#/components/schemas/EmailTypeRequired"
},
"message": {
"type": "string",
"nullable": false,
"minLength": 1,
"description": "Message for the worker."
}
},
"x-internal": true
}
ContractInvitationToCreateContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/ContractInvitationToCreate"
}
},
"x-internal": true
}
ContractList
{
"type": "array",
"items": {
"$ref": "#/components/schemas/BasicContract"
},
"x-internal": true
}
ContractListContainer
{
"type": "object",
"required": [
"data",
"page"
],
"properties": {
"data": {
"$ref": "#/components/schemas/ContractList"
},
"page": {
"$ref": "#/components/schemas/PageInfo"
}
},
"x-internal": true
}
ContractPreview
{
"type": "string"
}
ContractSearchForm
{
"oneOf": [
{
"$ref": "#/components/schemas/ContractSearchFormWithCursor"
},
{
"$ref": "#/components/schemas/ContractSearchFormWithoutCursor"
}
],
"x-internal": true,
"description": "Search form should include parameters varied based on usage of cursor for pagination. NOTE: that all query parameters are based on strings"
}
ContractSearchFormWithCursor
{
"type": "object",
"properties": {
"limit": {
"type": "string",
"default": "10",
"pattern": "^\\d{1,5}$",
"nullable": false,
"description": "Return a page of results with given number of records."
},
"after_cursor": {
"type": "string",
"nullable": false,
"description": "Return next page of results after given cursor."
}
},
"x-internal": true,
"description": "This is a model to make it easier to understand and restrict search parameters"
}
ContractSearchFormWithoutCursor
{
"type": "object",
"properties": {
"limit": {
"type": "string",
"default": "10",
"pattern": "^\\d{1,5}$",
"nullable": false,
"description": "Return a page of results with given number of records."
},
"types": {
"oneOf": [
{
"$ref": "#/components/schemas/ContractTypeEnum"
},
{
"$ref": "#/components/schemas/ContractTypeEnumList"
}
]
},
"search": {
"type": "string",
"nullable": false,
"description": "Include a contract if by name or contractor name contains given search term."
},
"sort_by": {
"$ref": "#/components/schemas/ContractsSortByEnum"
},
"team_id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier"
},
"statuses": {
"oneOf": [
{
"$ref": "#/components/schemas/ContractStatusEnumList"
},
{
"$ref": "#/components/schemas/ContractStatusEnum"
}
]
},
"countries": {
"oneOf": [
{
"$ref": "#/components/schemas/CountryCodeList"
},
{
"$ref": "#/components/schemas/CountryCode"
}
]
},
"currencies": {
"oneOf": [
{
"$ref": "#/components/schemas/CurrencyCodeList"
},
{
"$ref": "#/components/schemas/CurrencyCodeRequired"
}
]
},
"external_id": {
"type": "string",
"nullable": false,
"maxLength": 255,
"description": "Filter contracts for given external ID"
},
"order_direction": {
"$ref": "#/components/schemas/SortDirEnum"
}
},
"x-internal": true,
"description": "This is a model to make it easier to understand and restrict search parameters"
}
ContractSignatureToCreate
{
"type": "object",
"required": [
"client_signature"
],
"properties": {
"client_signature": {
"type": "string",
"nullable": false,
"minLength": 2,
"description": "Signature of client."
},
"contract_template_id": {
"type": "number",
"example": 12345678,
"nullable": true,
"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."
}
},
"x-internal": true
}
ContractSignatureToCreateContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/ContractSignatureToCreate"
}
},
"x-internal": true
}
ContractStatusEnum
{
"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",
"nullable": false,
"x-internal": true,
"description": "Status of a contract in Deel workflow"
}
ContractStatusEnumList
{
"type": "array",
"items": {
"$ref": "#/components/schemas/ContractStatusEnum"
},
"x-internal": true,
"description": "List of contract statuses"
}
ContractTemplate
{
"type": "object",
"nullable": true,
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier",
"description": "Unique identifier of a contract template"
},
"title": {
"type": "string",
"example": "UK Employment Contract 2022.",
"description": "Title of a contract template"
}
},
"x-internal": true,
"description": "Contract template details."
}
ContractTemplateList
{
"type": "array",
"items": {
"$ref": "#/components/schemas/ContractTemplateSummary"
},
"x-internal": true
}
ContractTemplateListContainer
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/ContractTemplateList"
}
},
"x-internal": true
}
ContractTemplateSummary
{
"type": "object",
"required": [
"id",
"title"
],
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier",
"description": "Unique identifier of a contract template"
},
"title": {
"type": "string",
"example": "UK Employment Contract 2022.",
"nullable": false,
"description": "Title of a contract template"
}
},
"x-internal": true
}
ContractTerminationResult
{
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": false,
"description": "Deel Contract ID."
},
"completion_date": {
"$ref": "#/components/schemas/DateString"
}
},
"x-internal": true,
"x-konfig-properties": {
"completion_date": {
"description": "Date the contract is marked for completion"
}
}
}
ContractTerminationResultContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/ContractTerminationResult"
}
},
"x-internal": true
}
ContractToAmendDetailsContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/ContractDetailsToAmend"
}
},
"x-internal": true
}
ContractToCreate
{
"oneOf": [
{
"$ref": "#/components/schemas/ContractToCreate_pay_as_you_go_time_based"
},
{
"$ref": "#/components/schemas/ContractToCreate_payg_tasks"
},
{
"$ref": "#/components/schemas/ContractToCreate_payg_milestones"
},
{
"$ref": "#/components/schemas/ContractToCreate_ongoing_time_based"
}
],
"x-internal": true
}
ContractToCreateContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/ContractToCreate"
}
},
"x-internal": true
}
ContractToCreateContainer_ongoing_time_based
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/ContractToCreate_ongoing_time_based"
}
},
"x-internal": true
}
ContractToCreateContainer_pay_as_you_go_time_based
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/ContractToCreate_pay_as_you_go_time_based"
}
},
"x-internal": true
}
ContractToCreateContainer_payg_milestones
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/ContractToCreate_payg_milestones"
}
},
"x-internal": true
}
ContractToCreateContainer_payg_tasks
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/ContractToCreate_payg_tasks"
}
},
"x-internal": true
}
ContractToCreate_Shared
{
"type": "object",
"required": [
"type",
"title",
"job_title",
"meta",
"client"
],
"properties": {
"meta": {
"$ref": "#/components/schemas/MetaDataOfContractToCreate"
},
"title": {
"type": "string",
"description": "The title of the contract."
},
"client": {
"type": "object",
"required": [
"legal_entity",
"team"
],
"properties": {
"team": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier"
}
},
"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": {
"$ref": "#/components/schemas/UniqueObjectIdentifier"
}
},
"description": "Choose the Deel legal entity for this contract. Use legal entity endpoint to retrieve a list of legal entities in your organization."
}
}
},
"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"
},
"expected_email": {
"$ref": "#/components/schemas/WorkerEmailType"
}
},
"description": "Worker properties"
},
"job_title": {
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier",
"description": "Id of an predefined job title."
},
"name": {
"type": "string",
"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-defiled job title using the Id retrieved in job-titles endpoint."
},
"seniority": {
"type": "object",
"nullable": true,
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier"
}
},
"description": "Job seniority level. Please use the seniority levels endpoint to retrieve the list of seniority levels."
},
"state_code": {
"type": "string",
"nullable": true,
"description": "The state or province code. Use country lookup endpoint to retrieve state codes."
},
"external_id": {
"type": "string",
"nullable": true,
"description": "External Id."
},
"who_reports": {
"$ref": "#/components/schemas/ContractWhoReportsEnum"
},
"country_code": {
"$ref": "#/components/schemas/CountryCode"
},
"notice_period": {
"$ref": "#/components/schemas/NoticePeriod"
},
"scope_of_work": {
"type": "string",
"nullable": true,
"description": "Describe the work to be performed."
},
"special_clause": {
"type": "string",
"nullable": true,
"description": "Enter any special clause you may have."
},
"termination_date": {
"$ref": "#/components/schemas/DateString"
}
},
"x-internal": true,
"description": "Details of contract to create"
}
ContractToCreate_ongoing_time_based
{
"allOf": [
{
"$ref": "#/components/schemas/ContractToCreate_Shared"
},
{
"type": "object",
"required": [
"type",
"start_date"
],
"properties": {
"type": {
"enum": [
"ongoing_time_based"
],
"type": "string"
},
"start_date": {
"$ref": "#/components/schemas/DateStringRequired"
}
}
},
{
"type": "object",
"required": [
"compensation_details"
],
"properties": {
"compensation_details": {
"allOf": [
{
"$ref": "#/components/schemas/CompensationDetailsOfContractToCreate_Shared"
},
{
"$ref": "#/components/schemas/CompensationDetailsOfContractToCreate_ongoing_time_based"
}
]
}
}
}
],
"x-internal": true
}
ContractToCreate_pay_as_you_go_time_based
{
"allOf": [
{
"$ref": "#/components/schemas/ContractToCreate_Shared"
},
{
"type": "object",
"required": [
"type",
"start_date"
],
"properties": {
"type": {
"enum": [
"pay_as_you_go_time_based"
],
"type": "string"
},
"start_date": {
"$ref": "#/components/schemas/DateStringRequired"
}
}
},
{
"type": "object",
"required": [
"compensation_details"
],
"properties": {
"compensation_details": {
"allOf": [
{
"$ref": "#/components/schemas/CompensationDetailsOfContractToCreate_Shared"
},
{
"$ref": "#/components/schemas/CompensationDetailsOfContractToCreate_pay_as_you_go_time_based"
}
]
}
}
}
],
"x-internal": true
}
ContractToCreate_payg_milestones
{
"allOf": [
{
"$ref": "#/components/schemas/ContractToCreate_Shared"
},
{
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"enum": [
"payg_milestones"
],
"type": "string"
},
"start_date": {
"$ref": "#/components/schemas/DateString"
}
}
},
{
"type": "object",
"required": [
"compensation_details"
],
"properties": {
"compensation_details": {
"$ref": "#/components/schemas/CompensationDetailsOfContractToCreate_Shared"
}
}
}
],
"x-internal": true
}
ContractToCreate_payg_tasks
{
"allOf": [
{
"$ref": "#/components/schemas/ContractToCreate_Shared"
},
{
"type": "object",
"required": [
"type",
"start_date"
],
"properties": {
"type": {
"enum": [
"payg_tasks"
],
"type": "string"
},
"start_date": {
"$ref": "#/components/schemas/DateStringRequired"
}
}
},
{
"type": "object",
"required": [
"compensation_details"
],
"properties": {
"compensation_details": {
"$ref": "#/components/schemas/CompensationDetailsOfContractToCreate_Shared"
}
}
}
],
"x-internal": true
}
ContractToTerminate
{
"type": "object",
"properties": {
"message": {
"type": "string",
"nullable": false,
"description": "A message for the termination"
},
"terminate_now": {
"type": "boolean"
},
"completion_date": {
"$ref": "#/components/schemas/DateString"
}
},
"x-internal": true
}
ContractToTerminateContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/ContractToTerminate"
}
},
"x-internal": true
}
ContractTypeEnum
{
"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",
"x-internal": true,
"description": "Type of a contract"
}
ContractTypeEnumForEstimate
{
"enum": [
"ongoing_time_based",
"payg_tasks"
],
"type": "string",
"x-internal": true,
"description": "Type of a contract"
}
ContractTypeEnumList
{
"type": "array",
"items": {
"$ref": "#/components/schemas/ContractTypeEnum"
},
"x-internal": true,
"description": "List of contract types"
}
ContractTypeEnumToCreate
{
"enum": [
"pay_as_you_go_time_based",
"payg_tasks",
"payg_milestones"
],
"type": "string",
"x-internal": true,
"description": "Type of a contract"
}
ContractWhoReportsEnum
{
"enum": [
"both",
"client",
"contractor"
],
"type": "string",
"x-internal": true,
"description": "Flag to indicate who is supposed to provide regular reports"
}
ContractsSortByEnum
{
"enum": [
"contract_title",
"worker_name"
],
"type": "string",
"x-internal": true
}
Contribution
{
"type": "object",
"properties": {
"type": {
"$ref": "#/components/schemas/BenefitContributionTypeEnum",
"description": "Contribution type."
},
"maximum": {
"type": "string",
"example": "10.00",
"description": "Maximum pension contribution."
},
"minimum": {
"type": "string",
"example": "5.00",
"description": "Minimum pension contribution."
}
},
"x-internal": true,
"description": "Pension contribution."
}
CostQuote
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Cost's name"
},
"total": {
"type": "number",
"description": "Total cost in local currency"
},
"currency": {
"$ref": "#/components/schemas/CurrencyCode"
},
"total_usd": {
"type": "number",
"description": "Total cost in USD"
}
},
"x-internal": true
}
Country
{
"type": "object",
"required": [
"code",
"name",
"visa_support",
"eor_support",
"state_type",
"states"
],
"properties": {
"code": {
"$ref": "#/components/schemas/CountryCode"
},
"name": {
"type": "string",
"example": "United States",
"nullable": false,
"minLength": 1,
"description": "Country name."
},
"states": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StateOfCountry"
}
},
"state_type": {
"type": "string",
"example": "state",
"nullable": true,
"description": "Identifies the type of sub-territory within a country where local laws may apply. Some countries may have states, provinces, prefectures or regions."
},
"eor_support": {
"type": "boolean",
"nullable": false,
"description": "Identifies if Deel support EoR in this country."
},
"visa_support": {
"type": "boolean",
"nullable": false,
"description": "Identifies if Deel provides visa support for employees being hired in this country."
}
},
"x-internal": true
}
CountryCode
{
"type": "string",
"example": "US",
"pattern": "^[A-Z]{2}$",
"maxLength": 2,
"minLength": 2,
"x-internal": true,
"description": "Country code."
}
CountryCodeList
{
"type": "array",
"items": {
"$ref": "#/components/schemas/CountryCode"
},
"x-internal": true
}
CountryCodeNulleable
{
"type": "string",
"example": "US",
"pattern": "^[A-Z]{2}$",
"nullable": true,
"maxLength": 2,
"minLength": 2,
"x-internal": true,
"description": "Country code."
}
CountryList
{
"type": "array",
"items": {
"$ref": "#/components/schemas/Country"
},
"x-internal": true
}
CountryListContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/CountryList"
}
},
"x-internal": true
}
CreateAdminUserResponseContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/AdminUser"
}
},
"x-internal": true
}
CreateClientUser
{
"type": "object",
"required": [
"schemas",
"userName",
"name",
"userType"
],
"properties": {
"name": {
"type": "object",
"properties": {
"givenName": {
"type": "string",
"example": "Barbara",
"description": "Given name of the user."
},
"familyName": {
"type": "string",
"example": "Jensen",
"description": "Family name of the user."
}
}
},
"schemas": {
"type": "array",
"items": {
"enum": [
"urn:ietf:params:scim:schemas:core:2.0:User"
],
"type": "string"
},
"example": [
"urn:ietf:params:scim:schemas:core:2.0:User"
],
"description": "Schema URNs."
},
"userName": {
"type": "string",
"example": "work@email.com",
"description": "User's email."
},
"userType": {
"enum": [
"client"
],
"type": "string",
"example": "client",
"description": "Type of user."
}
}
}
CreatePeopleTimeoff
{
"type": "object",
"required": [
"type",
"start_date",
"end_date",
"reason"
],
"properties": {
"type": {
"enum": [
"VACATION",
"SICK_LEAVE",
"OTHER"
],
"type": "string",
"example": "VACATION",
"description": "Time off type."
},
"reason": {
"type": "string",
"example": "Holiday",
"description": "Description for employee's time off."
},
"end_date": {
"type": "string",
"example": "2022-09-05T00:00:00.000Z",
"description": "End date of employee's time off."
},
"start_date": {
"type": "string",
"example": "2022-09-03T00:00:00.000Z",
"description": "Start date of employee's time off."
},
"attachments": {
"type": "string",
"format": "binary",
"description": "Attachments for employee's time off."
}
}
}
CreatePublicToken
{
"type": "object",
"properties": {
"scope": {
"type": "array",
"items": {
"type": "string",
"example": "contracts:read"
},
"description": "Access scopes."
}
}
}
CreatePublicTokenContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/CreatePublicToken"
}
},
"x-internal": true
}
CreateTimeoff
{
"type": "object",
"required": [
"type",
"with_multiple_dates"
],
"properties": {
"type": {
"enum": [
"VACATION",
"SICK_LEAVE",
"OTHER"
],
"type": "string",
"example": "VACATION",
"description": "Time off type."
},
"reason": {
"type": "string",
"example": "Holiday",
"description": "Description for employee's time off."
},
"end_date": {
"type": "string",
"example": "2022-09-05T00:00:00.000Z",
"description": "End date of employee's time off."
},
"start_date": {
"type": "string",
"example": "2022-09-03T00:00:00.000Z",
"description": "Start date of employee's time off."
},
"other_timeoff_name": {
"type": "string",
"example": "Birthday",
"description": "Custom name for this time off."
},
"with_multiple_dates": {
"type": "boolean",
"description": "If true, then multiple time off days were requested. You must supply a start and end date. If false, end date is ignored"
},
"is_end_date_half_day": {
"type": "boolean",
"example": false,
"description": "Is the start day a half day?"
},
"is_start_date_half_day": {
"type": "boolean",
"example": false,
"description": "Is the start day a half day?"
}
}
}
CreateTimeoffContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/CreateTimeoff"
}
},
"x-internal": true
}
CreateWebhookRequest
{
"type": "object",
"required": [
"name",
"description",
"status",
"url",
"signing_key",
"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. Currently Deel accepts v1 or v2 version."
},
"description": {
"type": "string",
"example": "I like it very much.",
"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."
}
}
}
Currency
{
"type": "object",
"required": [
"code",
"name"
],
"properties": {
"code": {
"$ref": "#/components/schemas/CurrencyCodeRequired"
},
"name": {
"type": "string",
"example": "Euro",
"nullable": false,
"minLength": 1
}
},
"x-internal": true
}
CurrencyCode
{
"type": "string",
"example": "GBP",
"pattern": "^[A-Z]{3}$",
"nullable": false,
"maxLength": 3,
"minLength": 3,
"x-internal": true,
"description": "Currency code."
}
CurrencyCodeList
{
"type": "array",
"items": {
"$ref": "#/components/schemas/CurrencyCodeRequired"
},
"x-internal": true
}
CurrencyCodeRequired
{
"type": "string",
"example": "GBP",
"pattern": "^[A-Z]{3}$",
"maxLength": 3,
"minLength": 3,
"x-internal": true
}
CurrencyList
{
"type": "array",
"items": {
"$ref": "#/components/schemas/Currency"
},
"x-internal": true
}
CurrencyListContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/CurrencyList"
}
},
"x-internal": true
}
DateString
{
"type": "string",
"format": "date",
"example": "1999-12-31T00:00:00.000Z",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"nullable": true,
"x-internal": true,
"description": "Short date in format ISO-8601 (YYYY-MM-DD). For example: 2022-12-31."
}
DateStringDefaultNow
{
"type": "string",
"format": "date",
"example": "1999-12-31T00:00:00.000Z",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"x-internal": true,
"description": "Short date in format ISO-8601 (YYYY-MM-DD). For example: 2022-12-31. Defaults to current date"
}
DateStringRequired
{
"type": "string",
"format": "date",
"example": "1999-12-31T00:00:00.000Z",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"x-internal": true,
"description": "Short date in format ISO-8601 (YYYY-MM-DD). For example: 2022-12-31."
}
DateTimeString
{
"type": "string",
"format": "date-time",
"example": "2022-05-24T09:38:46.235Z",
"nullable": true,
"x-internal": true,
"description": "Long date-time format following ISO-8601"
}
DateTimeStringRequired
{
"type": "string",
"format": "date-time",
"example": "2022-05-24T09:38:46.235Z",
"nullable": false,
"x-internal": true,
"description": "Long date-time format following ISO-8601"
}
DeelInvoice
{
"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": {
"$ref": "#/components/schemas/InvoiceStatusEnum"
},
"currency": {
"$ref": "#/components/schemas/CurrencyCode"
},
"created_at": {
"$ref": "#/components/schemas/DateTimeString"
}
}
}
DeelInvoiceList
{
"type": "array",
"items": {
"$ref": "#/components/schemas/DeelInvoice"
}
}
DeelInvoiceListContainer
{
"type": "object",
"required": [
"data",
"page"
],
"properties": {
"data": {
"$ref": "#/components/schemas/DeelInvoiceList"
},
"page": {
"$ref": "#/components/schemas/PageInfoWithoutCursorNew"
}
},
"x-internal": true
}
Departments
{
"type": "object",
"nullable": false,
"required": [
"id",
"name"
],
"properties": {
"id": {
"type": "number",
"example": 25599
},
"name": {
"type": "string",
"example": "Marketing"
},
"parent": {
"type": "string",
"example": "Growth",
"nullable": true
}
}
}
DepartmentsContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Departments"
}
}
}
}
EORContractBenefits
{
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"example": "e2e09831-853d-4f56-b43f-2ec19cda7b0c",
"description": "Unique identifier of the benefit."
},
"name": {
"type": "string",
"example": "Health Insurance",
"description": "Name of the benefit."
},
"plan": {
"type": "object",
"properties": {
"name": {
"type": "string",
"example": "Gold",
"description": "Name of the plan."
}
}
},
"provider": {
"type": "object",
"properties": {
"name": {
"type": "string",
"example": "Provider name",
"description": "Name of the provider."
}
}
},
"offer_status": {
"enum": [
"Offered",
"Not offered"
],
"type": "string",
"example": "Offered",
"description": "Status of the offer."
},
"enrollment_details": {
"type": "object",
"properties": {
"plan": {
"type": "object",
"properties": {
"name": {
"type": "string",
"example": "Gold",
"description": "Name of the plan."
}
}
},
"status": {
"type": "string",
"example": "Enrolled",
"description": "Status of the enrollment."
},
"current": {
"type": "object",
"properties": {
"monthly_cost": {
"type": "string",
"example": "100",
"description": "Current monthly cost."
},
"monthly_contribution": {
"type": "string",
"example": "50",
"description": "Current monthly contribution."
}
}
},
"standard": {
"type": "object",
"properties": {
"monthly_cost": {
"type": "string",
"example": "100",
"nullable": true,
"description": "Standard monthly cost."
},
"monthly_contribution": {
"type": "string",
"example": "50",
"nullable": true,
"description": "Standard monthly contribution."
}
}
}
}
}
}
}
}
EORContractBenefitsContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/EORContractBenefits"
}
},
"x-internal": true
}
EORPayslipDownloadUrlContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/PayslipDownloadUrl"
}
},
"x-internal": true
}
EORPayslipsListContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Payslips"
}
}
}
}
Email
{
"type": "object",
"required": [
"type",
"value"
],
"properties": {
"type": {
"enum": [
"work"
],
"type": "string",
"example": "work",
"description": "The type of email."
},
"value": {
"type": "string",
"example": "work.email@example.com",
"description": "The email address."
},
"primary": {
"type": "boolean",
"default": false,
"example": true
}
}
}
EmailType
{
"type": "string",
"format": "email",
"nullable": true,
"minLength": 5,
"x-internal": true,
"description": "User's email address."
}
EmailTypeRequired
{
"type": "string",
"format": "email",
"minLength": 5,
"x-internal": true,
"description": "Worker's email address."
}
Employee
{
"type": "object",
"properties": {
"id": {
"type": "string",
"example": "9b9fc43a-a90c-4615-ac50-baf1e314b53e",
"description": "Unique identifier for the employee."
},
"state": {
"type": "string",
"example": "Active",
"description": "The state of the employee."
},
"emails": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Email"
},
"description": "An array of the employee's email addresses."
},
"country": {
"type": "string",
"example": "USA",
"description": "The country of the employee."
},
"timezone": {
"type": "string",
"example": "EST",
"description": "The timezone of the employee."
},
"addresses": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Address"
}
},
"full_name": {
"type": "string",
"example": "John Doe",
"description": "The full name of the employee."
},
"job_title": {
"type": "string",
"example": "Access Field Technician",
"description": "The job title of the employee."
},
"last_name": {
"type": "string",
"example": "Doe",
"description": "The last name of the employee."
},
"seniority": {
"type": "string",
"example": "Junior (Individual Contributor Level 1)",
"description": "The seniority level of the employee."
},
"birth_date": {
"type": "string",
"example": "1990-01-01T00:00:00.000Z",
"description": "The birth date of the employee."
},
"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": {
"$ref": "#/components/schemas/UniqueObjectIdentifier"
},
"name": {
"type": "string",
"example": "Delivery team"
},
"parent": {
"type": "string",
"example": "Research and Development"
}
},
"description": "The department of the employee."
},
"first_name": {
"type": "string",
"example": "John",
"description": "The first name of the employee."
},
"start_date": {
"type": "string",
"format": "date",
"example": "2023-03-20T00:00:00.000Z",
"description": "The date the employee started working."
},
"updated_at": {
"$ref": "#/components/schemas/DateTimeString",
"description": "Date time of the last update."
},
"employments": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EmploymentDetail"
},
"description": "An array of the employee's employment details."
},
"hiring_type": {
"type": "string",
"example": "contractor",
"description": "The type of hiring of the employee."
},
"nationality": {
"type": "string",
"example": "American",
"description": "The nationality of the employee."
},
"hiring_status": {
"type": "string",
"example": "onboarding",
"description": "The current hiring status of the employee."
},
"work_location": {
"type": "string",
"example": "Remote",
"description": "The work location of the employee."
},
"direct_manager": {
"type": "object",
"nullable": false,
"properties": {
"id": {
"type": "string",
"example": "642b0547-9d80-4d35-a085-fd977ef209ef"
},
"last_name": {
"type": "string",
"example": "John"
},
"first_name": {
"type": "string",
"example": "Doe"
},
"work_email": {
"type": "string",
"example": "john.doe@example.com"
}
},
"description": "The direct manager of the employee."
},
"direct_reports": {
"type": "array",
"items": {
"type": "object",
"nullable": false,
"properties": {
"id": {
"type": "string",
"example": "642b0547-9d80-4d35-a085-fd977ef209ef"
},
"last_name": {
"type": "string",
"example": "John"
},
"first_name": {
"type": "string",
"example": "Doe"
},
"work_email": {
"type": "string",
"example": "john.doe@example.com"
}
}
},
"description": "The direct reports to the employee."
},
"completion_date": {
"type": "string",
"example": "2023-06-20T00:00:00.000Z",
"nullable": true,
"description": "The completion date of the task or project."
},
"new_hiring_status": {
"type": "string",
"example": "onboarding_overdue",
"description": "The new hiring status of the employee."
},
"client_legal_entity": {
"$ref": "#/components/schemas/PeopleClientLegalEntity",
"description": "The legal entity of the client."
},
"direct_reports_count": {
"type": "integer",
"example": 0,
"description": "The count of direct reports to the employee."
}
}
}
EmployeeAgreementDownloadContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/EmployeeAgreementDownloadObject"
}
},
"x-internal": true
}
EmployeeAgreementDownloadObject
{
"type": "object",
"properties": {
"url": {
"type": "string",
"example": "https://s3URL/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."
}
}
}
EmployeeContractSignatureToCreate
{
"type": "object",
"required": [
"signature"
],
"properties": {
"signature": {
"type": "string",
"minLength": 2,
"description": "Signature of employee."
}
},
"x-internal": true
}
EmployeeContractSignatureToCreateContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/EmployeeContractSignatureToCreate"
}
},
"x-internal": true
}
EmployeeList
{
"properties": {
"id": {
"type": "string",
"example": "a7cc0404-0a13-442a-92d0-dfcbc7e6f1ad"
},
"team": {
"type": "string",
"example": "John's Team"
},
"email": {
"type": "string",
"example": "john@example.com"
},
"state": {
"type": "string",
"example": "CO"
},
"country": {
"type": "string",
"example": "BR"
},
"pic_url": {
"type": "string",
"format": "nullable"
},
"team_id": {
"type": "number",
"example": 245062
},
"payments": {
"type": "array",
"items": {
"type": "object",
"properties": {
"rate": {
"type": "number",
"example": 4000
},
"scale": {
"type": "string",
"example": "monthly"
},
"currency": {
"type": "string",
"example": "BRL"
},
"contract_name": {
"type": "string",
"example": "Demo.1"
}
}
}
},
"timezone": {
"type": "string",
"example": "America/Sao_Paulo"
},
"full_name": {
"type": "string",
"example": "John Smith"
},
"job_title": {
"type": "string",
"example": "Director"
},
"last_name": {
"type": "string",
"example": "Smith"
},
"seniority": {
"type": "string",
"example": "Junior (Individual Contributor Level 1)"
},
"birth_date": {
"type": "string",
"example": "1984-12-26T00:00:00.000Z"
},
"first_name": {
"type": "string",
"example": "John"
},
"start_date": {
"type": "string",
"example": "2022-07-01T03:00:00.000Z"
},
"hiring_type": {
"type": "string",
"example": "contractor"
},
"hiring_status": {
"type": "string",
"example": "active"
},
"personal_email": {
"type": "string",
"example": "john@example.com"
},
"completion_date": {
"type": "string",
"example": "2023-11-12T02:59:59.999Z"
},
"monthly_payment": {
"type": "object",
"properties": {
"count": {
"type": "number",
"example": 10
}
}
},
"client_legal_entity": {
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier"
},
"name": {
"type": "string",
"example": "John.test2"
}
}
},
"hourly_report_total": {
"type": "string",
"example": "8017.8000"
}
},
"x-internal": true
}
EmployeeListContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EmployeeList"
}
}
},
"x-internal": true
}
EmployeePayslipsList
{
"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"
},
"to": {
"type": "string",
"format": "date-time",
"example": "2023-08-31T00:00:00.000Z"
},
"url": {
"type": "string",
"example": "http://example.com/file.pdf"
},
"from": {
"type": "string",
"format": "date-time",
"example": "2023-08-01T00:00:00.000Z"
},
"status": {
"type": "string",
"example": "PUBLISHED"
},
"filename": {
"type": "string",
"example": "payslip_demo.pdf"
},
"created_at": {
"type": "string",
"format": "date-time",
"example": "2023-09-08T08:44:20.289Z"
},
"updated_at": {
"type": "string",
"format": "date-time",
"example": "2023-09-08T08:44:20.289Z"
},
"rejected_at": {
"type": "string",
"format": "date-time",
"example": "2023-08-29T00:00:00.000Z"
},
"uploaded_at": {
"type": "string",
"format": "date-time",
"example": "2023-09-08T08:44:20.464Z"
},
"published_at": {
"type": "string",
"format": "date-time",
"example": "2023-09-08T08:44:20.289Z"
},
"reject_reason": {
"type": "string",
"example": "Something wrong"
},
"schedule_publishing_date": {
"type": "string",
"format": "date-time",
"example": "2023-09-08T08:44:20.289Z"
}
},
"x-internal": true
}
EmployeePayslipsListContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EmployeePayslipsList"
}
}
}
}
EmployeeTaxDocumentsList
{
"type": "object",
"properties": {
"id": {
"type": "string",
"example": "9AmobdjMwXOq"
},
"url": {
"type": "string",
"example": "https://example.com/file.pdf"
},
"type": {
"type": "string",
"example": "Tax Document"
},
"year": {
"type": "number",
"example": 2023
},
"country": {
"type": "string",
"example": "IL"
}
},
"x-internal": true
}
EmployeeTaxDocumentsListContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EmployeeTaxDocumentsList"
}
}
}
}
EmployeeTimeoffsContainer
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EmployeeTimeoffsItem"
},
"description": "List of employee time offs."
}
},
"x-internal": true
}
EmployeeTimeoffsCreationContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/EmployeeTimeoffsItemResponse"
}
},
"x-internal": true
}
EmployeeTimeoffsEntitlementsContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EmployeeTimeoffsEntitlementsItem"
},
"description": "List of employee time offs entitlements."
}
},
"x-internal": true
}
EmployeeTimeoffsEntitlementsItem
{
"type": "object",
"required": [
"year",
"tracking_period",
"vacation_allowed",
"vacation_rollover",
"vacation_expired",
"vacation_payout",
"vacation_requested",
"vacation_approved",
"vacation_used",
"vacation_total",
"sick_leave_requested",
"sick_leave_approved",
"sick_leave_used",
"sick_leave_total",
"sick_leave_allowed",
"other_leave_requested",
"other_leave_approved",
"other_leave_used",
"other_leave_total"
],
"properties": {
"year": {
"type": "number",
"example": 2023
},
"vacation_used": {
"type": "string",
"example": "7.00"
},
"vacation_total": {
"type": "string",
"example": "7.00"
},
"sick_leave_used": {
"type": "string",
"example": "0.00"
},
"tracking_period": {
"type": "string",
"example": "2023-01-01T00:00:00.000Z"
},
"vacation_payout": {
"type": "string",
"example": "0.00"
},
"other_leave_used": {
"type": "string",
"example": "0.00"
},
"sick_leave_total": {
"type": "string",
"example": "0.00"
},
"vacation_allowed": {
"type": "string",
"example": "0.00"
},
"vacation_expired": {
"type": "string",
"example": "0.00"
},
"other_leave_total": {
"type": "string",
"example": "0.00"
},
"vacation_approved": {
"type": "string",
"example": "0.00"
},
"vacation_rollover": {
"type": "string",
"example": "0.00"
},
"sick_leave_allowed": {
"type": "string",
"example": "395.00"
},
"vacation_requested": {
"type": "string",
"example": "0.00"
},
"sick_leave_approved": {
"type": "string",
"example": "0.00"
},
"other_leave_approved": {
"type": "string",
"example": "0.00"
},
"sick_leave_requested": {
"type": "string",
"example": "0.00"
},
"other_leave_requested": {
"type": "string",
"example": "0.00"
}
}
}
EmployeeTimeoffsItem
{
"type": "object",
"required": [
"time_off_id",
"reason",
"type",
"requested_at",
"reviewed_at",
"with_multiple_dates",
"created_at",
"updated_at",
"status",
"other_time_off_name",
"denial_reason",
"requester",
"reviewer",
"days_used_start_year",
"days_used_end_year",
"days_used",
"start_date",
"end_date",
"is_start_date_half_day",
"is_end_date_half_day",
"attachments",
"change_request"
],
"properties": {
"type": {
"enum": [
"VACATION",
"SICK_LEAVE",
"OTHER"
],
"type": "string",
"example": "VACATION",
"description": "Time off type."
},
"reason": {
"type": "string",
"example": "I need to relax."
},
"end_date": {
"type": "string",
"example": "2024-02-25T23:00:00.000Z"
},
"reviewer": {
"type": "object",
"properties": {
"name": {
"type": "string",
"example": "Rabia Arikdogan"
}
}
},
"days_used": {
"type": "string",
"example": "0.50"
},
"requester": {
"type": "object",
"properties": {
"name": {
"type": "string",
"example": "Carlos from deel"
}
}
},
"created_at": {
"type": "string",
"example": "2023-08-03T22:00:00.000Z"
},
"start_date": {
"type": "string",
"example": "2024-02-23T23:00:00.000Z"
},
"updated_at": {
"type": "string",
"example": "2023-08-03T22:00:00.000Z"
},
"attachments": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string",
"example": "924177_SC_l73xijJk-Xn1xfeN4V.jpeg"
},
"attachment_id": {
"type": "string",
"example": "3759767d-2737-4284-8263-65099896f7c3"
},
"file_extension": {
"type": "string",
"example": "pdf"
}
}
},
"example": []
},
"reviewed_at": {
"type": "string",
"example": "2023-08-03T22:00:00.000Z"
},
"time_off_id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier",
"nullable": true
},
"requested_at": {
"type": "string",
"example": "2023-08-03T22:00:00.000Z"
},
"denial_reason": {
"type": "string",
"example": false,
"nullable": true
},
"change_request": {
"type": "string",
"example": "",
"nullable": true
},
"days_used_end_year": {
"type": "string",
"example": "0.00"
},
"with_multiple_dates": {
"type": "boolean",
"example": false
},
"days_used_start_year": {
"type": "string",
"example": "0.50"
},
"is_end_date_half_day": {
"type": "boolean",
"example": true
},
"is_start_date_half_day": {
"type": "boolean",
"example": false
}
}
}
EmployeeTimeoffsItemResponse
{
"type": "object",
"properties": {
"type": {
"enum": [
"VACATION",
"SICK_LEAVE",
"OTHER"
],
"type": "string",
"example": "VACATION",
"description": "Time off type."
},
"reason": {
"type": "string",
"example": "I need to relax."
},
"end_date": {
"type": "string",
"example": "2024-02-25T23:00:00.000Z"
},
"days_used": {
"type": "string",
"example": "0.50"
},
"policy_id": {
"type": "string",
"example": "85cae186-c0b2-4b92-b554-d8eb1f0fdc1d"
},
"requester": {
"$ref": "#/components/schemas/RequesterTimeOff"
},
"created_at": {
"type": "string",
"example": "2023-08-03T22:00:00.000Z"
},
"is_updated": {
"type": "boolean",
"example": false
},
"start_date": {
"type": "string",
"example": "2024-02-23T23:00:00.000Z"
},
"updated_at": {
"type": "string",
"example": "2023-08-03T22:00:00.000Z"
},
"attachments": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"example": "3759767d-2737-4284-8263-65099896f7c3"
},
"filename": {
"type": "string",
"example": "test.pdf"
},
"created_at": {
"type": "string",
"example": "2023-08-04T09:03:31.577Z"
},
"updated_at": {
"type": "string",
"example": "2023-08-04T09:03:31.577Z"
},
"time_off_id": {
"type": "string",
"example": "eb0b38d1-4851-4560-87fd-c57b7cf19e5f"
}
}
},
"example": []
},
"policy_name": {
"type": "string",
"example": "Vacation - unlimited days"
},
"reviewed_at": {
"type": "string",
"example": "2023-08-03T22:00:00.000Z"
},
"single_date": {
"type": "string",
"example": "2023-08-03T22:00:00.000Z"
},
"time_off_id": {
"type": "string",
"example": "bca1738c-194a-48e7-a26d-89fddca5bff3"
},
"requested_at": {
"type": "string",
"example": "2023-08-03T22:00:00.000Z"
},
"denial_reason": {
"type": "boolean",
"example": false
},
"change_request": {
"type": "string",
"example": ""
},
"applied_changes": {
"type": "array",
"items": {},
"example": []
},
"policy_type_name": {
"type": "string",
"example": "Vacation"
},
"time_off_type_id": {
"type": "string",
"example": "e0a91fd6-0646-41ae-84a9-ca3d2f761793"
},
"days_used_end_year": {
"type": "string",
"example": "0.00"
},
"can_request_changes": {
"type": "boolean",
"example": false
},
"with_multiple_dates": {
"type": "boolean",
"example": false
},
"days_used_start_year": {
"type": "string",
"example": "0.50"
},
"is_end_date_half_day": {
"type": "boolean",
"example": true
},
"is_start_date_half_day": {
"type": "boolean",
"example": false
}
}
}
EmployeeTimeoffsPoliciesContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EmployeeTimeoffsPoliciesItem"
},
"description": "List of employee time offs policies."
}
},
"x-internal": true
}
EmployeeTimeoffsPoliciesItem
{
"type": "object",
"required": [
"id",
"type",
"name",
"description",
"unit_amount",
"used",
"tracking_start_date",
"tracking_end_date",
"entitlement"
],
"properties": {
"id": {
"type": "string",
"example": "9K1rw5vwkZX2",
"description": "Unique identifier for the time off policy."
},
"name": {
"type": "string",
"example": "Vacation",
"description": "Name of the time off policy."
},
"type": {
"type": "string",
"example": "VACATION",
"description": "Type of time off policy."
},
"used": {
"type": "number",
"example": 10,
"nullable": true,
"description": "Used time off policy."
},
"description": {
"type": "string",
"example": "Vacation policy",
"description": "Description of the time off policy."
},
"entitlement": {
"type": "object",
"properties": {
"unit": {
"type": "string",
"example": "CALENDAR_DAY",
"nullable": true,
"description": "Unit of the time off policy."
},
"total": {
"example": 20,
"nullable": true,
"description": "Total time off policy."
},
"accrued": {
"type": "string",
"example": "2.55",
"nullable": true,
"description": "Accrued time off policy."
},
"unit_amount": {
"example": 20,
"nullable": true,
"description": "Unit amount of the time off policy."
},
"accrual_unit": {
"type": "string",
"example": "BUSINESS_DAY",
"nullable": true,
"description": "Accrual unit of the time off policy."
},
"accrual_amount": {
"type": "string",
"example": 0,
"nullable": true,
"description": "Accrual amount of the time off policy."
}
}
},
"unit_amount": {
"type": "number",
"example": 20,
"description": "Unit amount of the time off policy."
},
"tracking_end_date": {
"format": "date-time",
"example": "2023-08-31T00:00:00.000Z",
"nullable": true,
"description": "End date of the time off policy."
},
"tracking_start_date": {
"format": "date-time",
"example": "2023-08-01T00:00:00.000Z",
"nullable": true,
"description": "Start date of the time off policy."
}
}
}
Employment
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier for the employment."
},
"name": {
"type": "string",
"description": "The name of the employment."
},
"team": {
"$ref": "#/components/schemas/Team",
"description": "The team associated with the employment."
},
"email": {
"type": "string",
"description": "The email associated with the employment."
},
"state": {
"type": "string",
"description": "The state associated with the employment."
},
"country": {
"type": "string",
"description": "The country associated with the employment."
},
"payment": {
"$ref": "#/components/schemas/PeoplePayment",
"description": "The payment information associated with the employment."
},
"is_ended": {
"type": "boolean",
"description": "Indicates whether the employment has ended."
},
"timezone": {
"type": "string",
"description": "The timezone associated with the employment."
},
"job_title": {
"type": "string",
"description": "The job title associated with the employment."
},
"seniority": {
"type": "string",
"description": "The seniority level associated with the employment."
},
"start_date": {
"type": "string",
"description": "The start date of the employment."
},
"work_email": {
"type": "string",
"description": "The work email associated with the employment."
},
"hiring_type": {
"type": "string",
"description": "The hiring type associated with the employment."
},
"hiring_status": {
"type": "string",
"description": "The hiring status associated with the employment."
},
"completion_date": {
"type": "string",
"description": "The completion date of the employment."
},
"contract_status": {
"type": "string",
"description": "The contract status associated with the employment."
},
"voluntarily_left": {
"type": "boolean",
"description": "Indicates whether the employment was left voluntarily."
},
"client_legal_entity": {
"$ref": "#/components/schemas/PeopleClientLegalEntity",
"description": "The client legal entity associated with the employment."
},
"has_eor_termination": {
"type": "boolean",
"description": "Indicates whether the employment had an EOR termination."
},
"contract_is_archived": {
"type": "boolean",
"description": "Indicates whether the employment's contract is archived."
}
}
}
EmploymentDetail
{
"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": {
"$ref": "#/components/schemas/UniqueObjectIdentifier"
},
"name": {
"type": "string",
"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",
"description": "The state of employment."
},
"country": {
"type": "string",
"example": "USA",
"description": "The country of employment."
},
"payment": {
"$ref": "#/components/schemas/PeoplePayment",
"description": "The payment information associated with the employment."
},
"is_ended": {
"type": "boolean",
"example": false,
"description": "Whether the employment has ended."
},
"timezone": {
"type": "string",
"example": "EST",
"description": "The timezone of the employment."
},
"job_title": {
"type": "string",
"example": "Access Field Technician",
"description": "The job title of the employment."
},
"seniority": {
"type": "string",
"example": "Junior (Individual Contributor Level 1)",
"description": "The seniority level of the employment."
},
"start_date": {
"type": "string",
"format": "date",
"example": "2023-03-20T00:00:00.000Z",
"description": "The start date of the employment."
},
"work_email": {
"type": "string",
"example": "work.email@example.com",
"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",
"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": "string",
"example": "No",
"description": "Whether the employee voluntarily left the employment."
},
"contract_coverage": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"no_coverage"
],
"description": "The coverage of the employment contract."
},
"new_hiring_status": {
"type": "string",
"example": "onboarding_overdue",
"description": "The new hiring status of the employment."
},
"client_legal_entity": {
"$ref": "#/components/schemas/PeopleClientLegalEntity",
"description": "The legal entity of the client in the employment."
},
"has_eor_termination": {
"type": "string",
"example": "No",
"description": "Whether the employment has an EOR termination."
},
"contract_is_archived": {
"type": "boolean",
"example": false,
"description": "Whether the employment contract is archived."
},
"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": "string",
"example": "Invited",
"description": "The HRIS direct employee invitation status."
}
}
}
EmploymentDetailsOfContract
{
"type": "object",
"required": [
"type",
"days_per_week",
"hours_per_day",
"probation_period",
"paid_vacation_days"
],
"properties": {
"type": {
"type": "string"
},
"state": {
"type": "string",
"example": "CO",
"nullable": true,
"description": "State code."
},
"country": {
"$ref": "#/components/schemas/CountryCode"
},
"days_per_week": {
"type": "number"
},
"hours_per_day": {
"type": "number"
},
"probation_period": {
"type": "number",
"nullable": true
},
"paid_vacation_days": {
"type": "number"
}
},
"x-internal": true
}
EnterpriseUser
{
"type": "object",
"properties": {
"manager": {
"$ref": "#/components/schemas/Manager"
},
"costCenter": {
"type": "string",
"example": 12345,
"description": "Legal entity."
},
"department": {
"type": "string",
"example": "Engineering",
"description": "Employee's department in Deel HR."
},
"organization": {
"type": "string",
"example": 45321,
"description": "Organization name in Deel."
}
}
}
EorClientTimeoffRequests
{
"type": "object",
"required": [
"requests"
],
"properties": {
"year": {
"type": "number",
"example": 2022
},
"requests": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EorTimeoffsBaseItem"
},
"description": "List of time offs."
},
"yearly_limit": {
"type": "number",
"description": "Total number of days off allowed per year."
},
"days_requested": {
"type": "number",
"description": "Days off requested by employee."
},
"yearly_requests": {
"type": "number",
"description": "Total number of time off requests this year."
},
"current_approved": {
"type": "number",
"description": "Days off approved."
},
"over_annual_limit": {
"type": "boolean",
"description": "Too many days off requested by employee."
}
}
}
EorClientTimeoffs
{
"required": [
"employees",
"total_requests"
],
"properties": {
"employees": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EorTimeoffsEmployeeItem"
},
"description": "List of employee time offs."
},
"total_requests": {
"type": "number"
}
}
}
EorClientTimeoffsContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/EorClientTimeoffs"
}
},
"x-internal": true
}
EorContractCreated
{
"type": "object",
"properties": {
"id": {
"type": "string",
"nullable": false,
"description": "Id of the contract quote created"
},
"type": {
"$ref": "#/components/schemas/ContractTypeEnum"
},
"client": {
"type": "object",
"properties": {
"legal_entity": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Legal entity name."
}
}
}
}
},
"status": {
"$ref": "#/components/schemas/ContractStatusEnum"
},
"employee": {
"type": "object",
"properties": {
"email": {
"type": "string",
"description": "Employee's email."
},
"last_name": {
"type": "string",
"description": "Employee's last name."
},
"first_name": {
"type": "string",
"description": "Employee's first name."
},
"legal_name": {
"type": "string",
"description": "Employee's legal name."
}
}
},
"job_title": {
"type": "string",
"example": "Designer",
"description": "Employee's job title."
},
"seniority": {
"$ref": "#/components/schemas/Seniority"
},
"created_at": {
"$ref": "#/components/schemas/DateTimeString"
},
"employment": {
"type": "object",
"properties": {
"state": {
"type": "string",
"nullable": true,
"description": "State code of the state/province where the this person will be employed."
},
"country": {
"type": "string",
"description": "Country of employement."
},
"end_date": {
"$ref": "#/components/schemas/DateString"
},
"start_date": {
"$ref": "#/components/schemas/DateString"
},
"scope_of_work": {
"type": "string",
"example": "A designer works on the entire process of defining requirements, visualizing and creating graphics including illustrations or logos. Also, the designer works on shaping the visual aspects of websites, product packaging, and more.",
"description": "Scope of work description."
},
"time_off_type": {
"type": "string",
"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."
},
"probation_period": {
"type": "number",
"nullable": true,
"description": "Number of probation days."
},
"work_visa_required": {
"type": "boolean",
"description": "Do you require Deel to apply for work visa for this person?"
},
"calculated_holidays": {
"type": "string",
"description": "Number of calculate holidays for this contract."
}
}
},
"health_plan": {
"type": "object",
"nullable": true,
"properties": {
"id": {
"type": "string",
"description": "Health plan ID"
},
"name": {
"type": "string",
"description": "Health plan name"
}
}
},
"compensation_details": {
"type": "object",
"properties": {
"salary": {
"type": "number",
"description": "Gross annual salary."
},
"currency": {
"type": "string",
"description": "Currency of gross annual salary."
},
"variable_compensation": {
"type": "string",
"description": "Variable compensation acount or percentage."
},
"variable_compensation_type": {
"type": "string",
"nullable": true,
"description": "Type fo variable compensation."
}
}
}
}
}
EorContractCreatedContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/EorContractCreated"
}
},
"x-internal": true
}
EorContractToCreate
{
"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": {
"$ref": "#/components/schemas/UniqueObjectIdentifier",
"description": "Enter the Id of team this person will be hired in. Use /teams endpoint to retrieve a list of teams in your organization."
}
}
},
"legal_entity": {
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier",
"description": "Enter the Id of legal entity under which you want to hire this person. Use /legal-entities endpoint to retrieve a list of legal entities in your organization."
}
}
}
}
},
"pension": {
"$ref": "#/components/schemas/PensionEORContractToCreate"
},
"employee": {
"type": "object",
"required": [
"first_name",
"last_name",
"nationality"
],
"properties": {
"email": {
"type": "string",
"example": "employee@email.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": {
"$ref": "#/components/schemas/CountryCode"
}
}
},
"last_name": {
"type": "string",
"example": "Doe",
"description": "Employee's last name."
},
"first_name": {
"type": "string",
"example": "Jane",
"description": "Employee's first name."
},
"nationality": {
"type": "string",
"example": "US",
"description": "Employee's nationality."
}
}
},
"job_title": {
"type": "string",
"description": "Employee's job title."
},
"seniority": {
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier",
"description": "Enter the Id retrieved from the seniority lookup endpoint. Enter 34 for \"Not Applicable\"."
}
}
},
"employment": {
"type": "object",
"required": [
"country",
"start_date",
"work_visa_required"
],
"properties": {
"type": {
"enum": [
"Full-time",
"Part-time"
],
"type": "string",
"description": "Is it a full-time contract or a part-time contract?"
},
"state": {
"type": "string",
"nullable": true,
"description": "State code of the state/province where the this person will be employed."
},
"country": {
"$ref": "#/components/schemas/CountryCode"
},
"end_date": {
"$ref": "#/components/schemas/DateString"
},
"holidays": {
"type": "number",
"nullable": true,
"description": "Enter the number of holidays. Leave this field blank if you are chooseing \"STANDARD\" time_off_type."
},
"start_date": {
"$ref": "#/components/schemas/DateStringRequired"
},
"scope_of_work": {
"type": "string",
"description": "Scope of work description."
},
"time_off_type": {
"enum": [
"STANDARD",
"SPECIFIC"
],
"type": "string",
"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."
},
"probation_period": {
"type": "number",
"nullable": true,
"description": "Number of probation days."
},
"work_visa_required": {
"type": "boolean",
"default": false,
"description": "Do you require Deel to apply for work visa for this person?"
}
}
},
"health_plan_id": {
"type": "string",
"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",
"description": "Employee's gross annual salary."
},
"currency": {
"type": "string",
"description": "Salary currency."
},
"variable_compensation": {
"type": "number",
"nullable": true,
"description": "Variable compensation. For example, if the person will earn 5% of the gross annual salary as the variable compensation, enter 5."
},
"variable_compensation_type": {
"enum": [
"PERCENTAGE",
"FIXED",
null
],
"type": "string",
"nullable": true,
"description": "Should be set only if variable_compensation is set. It can be PERCENTAGE or FIXED."
}
}
},
"quote_additional_fields": {
"type": "object",
"nullable": true,
"properties": {
"dob": {
"type": "string",
"description": "Employee's date of birth."
},
"gender": {
"type": "string",
"description": "Employee's gender."
},
"worker_type": {
"enum": [
"Skilled",
"Unskilled"
],
"type": "string",
"description": "Type of worker."
}
},
"description": "Some countries require additional employee information for employment contracts."
}
}
}
EorContractToCreateContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/EorContractToCreate"
}
},
"x-internal": true
}
EorCountryValidations
{
"type": "object",
"properties": {
"salary": {
"type": "object",
"properties": {
"max": {
"type": "string",
"example": "2649300.00",
"description": "Maximum wage allowed for a legally compliant contract."
},
"min": {
"type": "string",
"example": "14544.00",
"description": "Minimum wage for a legally compliant contract."
},
"frequency": {
"$ref": "#/components/schemas/SalaryFrequencyScaleEnum",
"type": "string"
}
},
"description": "Salary range."
},
"holiday": {
"type": "object",
"properties": {
"min": {
"type": "string",
"example": "20",
"description": "Minimum number of holidays required for a legally compliant contract."
}
},
"description": "Range of the number of holidays."
},
"pension": {
"type": "object",
"nullable": true,
"properties": {
"status": {
"$ref": "#/components/schemas/BenefitStatusEnum",
"description": "Pension benefit status."
},
"providers": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PensionProvider"
}
}
},
"description": "If it is there, you must specify the pension benefit when creating an EOR contract."
},
"currency": {
"type": "string",
"example": "BRL",
"description": "Country currency."
},
"probation": {
"type": "object",
"properties": {
"max": {
"type": "number",
"example": 90,
"description": "Maximum probation days allowed for a legally compliant contract."
},
"min": {
"type": "string",
"format": "nullable",
"description": "Minimum probation days required for a legally compliant contract."
}
},
"description": "Probation period range."
},
"sick_days": {
"type": "object",
"properties": {
"max": {
"type": "string",
"format": "nullable",
"description": "Maximum number of sick days allowed for a legally compliant contract."
},
"min": {
"type": "string",
"example": "0",
"description": "Minimum number of sick days required for a legally compliant contract."
}
}
},
"insurance_fee": {
"type": "string",
"example": "15.00",
"description": "Insurance fee."
},
"work_schedule": {
"type": "object",
"properties": {
"days": {
"type": "object",
"properties": {
"max": {
"type": "string",
"example": "6"
}
}
},
"hours": {
"type": "object",
"properties": {
"max": {
"type": "string",
"example": "10"
}
}
}
},
"description": "Employee's Work schedule in days and hours."
},
"health_insurance": {
"type": "object",
"nullable": true,
"properties": {
"status": {
"$ref": "#/components/schemas/BenefitStatusEnum",
"description": "Health insurance status."
},
"providers": {
"type": "array",
"items": {
"$ref": "#/components/schemas/HealthInsuranceProvider"
}
}
}
},
"mandatory_fields": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EorField"
}
},
"definite_contract": {
"type": "object",
"properties": {
"type": {
"enum": [
"ALLOWED_WITHOUT_LIMITATION",
"ALLOWED_WITH_MAXIMUM_LIMITATION",
"NOT_ALLOWED"
],
"type": "string",
"example": "ALLOWED_WITH_MAXIMUM_LIMITATION"
},
"maximum_limitation": {
"type": "number",
"example": 36
}
},
"description": "Conditions to make definitive contract."
},
"part_time_holiday": {
"type": "object",
"properties": {
"min": {
"type": "string",
"example": "15",
"description": "Minimum number of holidays required for a legally compliant contract."
},
"type": {
"enum": [
"PRORATED",
"STANDARD",
"SPECIFIC"
],
"type": "string",
"example": "SPECIFIC"
}
},
"description": "Holiday type and range for part-time contracts."
},
"start_date_buffer": {
"type": "number",
"example": 5,
"description": "Calculate employee's minimum start date using the start date buffer. Today's date + (number of business days x start_date_buffer) = Minimum start date."
},
"part_time_probation": {
"type": "object",
"properties": {
"max": {
"type": "number",
"example": 60,
"description": "Maximum probation days allowed for a legally compliant contract."
},
"min": {
"type": "number",
"example": 30,
"description": "Minimum probation days required for a legally compliant contract."
}
},
"description": "Probation period range for part-time contracts."
},
"hiring_guide_country_name": {
"type": "string",
"example": "brazil",
"description": "Country name."
},
"adjustments_information_box": {
"type": "string",
"example": "Not allowed to contract people under 21.",
"description": "Country specific notes and information."
}
}
}
EorCountryValidationsContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/EorCountryValidations"
}
},
"x-internal": true
}
EorEmployeeCostCalculationRequestBody
{
"type": "object",
"required": [
"salary",
"country",
"currency"
],
"properties": {
"salary": {
"type": "number",
"example": 50000,
"minimum": 1,
"description": "The gross annual salary of the employee."
},
"country": {
"type": "string",
"example": "Germany",
"description": "The country of employment."
},
"benefits": {
"type": "array",
"items": {
"type": "object",
"required": [
"provider_id"
],
"properties": {
"plan_id": {
"type": "string",
"example": "00000000-0000-0000-0000-000000000000",
"nullable": true,
"description": "The ID of a benefits plan to include in the calculation."
},
"provider_id": {
"type": "string",
"example": "00000000-0000-0000-0000-000000000000",
"description": "The ID of a benefits provider to include in the calculation."
}
}
},
"nullable": true,
"description": "Benefits which should be included in the calculation."
},
"currency": {
"type": "string",
"example": "EUR",
"description": "The currency that the salary is paid in."
}
}
}
EorEmployeeCostCalculationRequestBodyContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/EorEmployeeCostCalculationRequestBody"
}
},
"x-internal": true
}
EorEmployeeCostCalculationResponse
{
"type": "object",
"properties": {
"costs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"example": "Health Insurance Estimate",
"description": "The name of the cost item."
},
"amount": {
"type": "string",
"example": 500,
"description": "The amount or price of the cost item."
},
"country": {
"type": "string",
"example": "Germany",
"description": "The country that the cost item is associated with."
},
"frequency": {
"type": "string",
"example": "Monthly",
"description": "The frequency that the cost item must be paid."
},
"country_code": {
"type": "string",
"example": "DE",
"description": "The country code for the country that the cost item is associated with."
}
}
},
"description": "The various costs associated with employment in the specified country."
},
"salary": {
"type": "string",
"example": 5000,
"description": "The gross annual salary of the employee."
},
"country": {
"type": "string",
"example": "Germany",
"description": "The country of employment."
},
"currency": {
"type": "string",
"example": "EUR",
"description": "The currency of the employee salary."
},
"deel_fee": {
"type": "string",
"example": 500,
"description": "The monthly Deel fee."
},
"frequency": {
"type": "string",
"example": "Monthly",
"description": "The frequency that the salary is paid out to the employee."
},
"total_costs": {
"type": "string",
"example": 10000,
"description": "Total monthly cost including salary, Deel fee, severance accrual and employer costs."
},
"country_code": {
"type": "string",
"example": "DE",
"description": "The country code for the country of employment."
},
"benefits_data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"example": "Healthcare",
"description": "The name of the benefit item."
},
"plan": {
"type": "string",
"description": "The name of the benefit plan."
},
"amount": {
"type": "string",
"example": 50,
"description": "The amount or price of the benefit item."
},
"fee_amount": {
"type": "string",
"example": 10,
"description": "The amount or price of the fee associated with the benefit item."
}
}
},
"description": "The various benefits costs involved in the calculation, if any."
},
"employer_costs": {
"type": "string",
"example": 1000,
"description": "Total monthly employer costs. Does not include Deel fee, salary and severance accrual."
},
"additional_data": {
"type": "object",
"properties": {
"additional_notes": {
"type": "array",
"items": {
"type": "string",
"example": "Kindly note that employment process X is mandatory for this country.",
"description": "A textual note describing important additional data regarding the employement process."
}
}
},
"description": "Textual notes describing important additional data regarding the employement process or costs."
},
"severance_accrual": {
"type": "string",
"example": 1000,
"description": "Monthly funds to cover future potential severance payments to the employee."
}
}
}
EorEmployeeCostCalculationResponseContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/EorEmployeeCostCalculationResponse"
}
},
"x-internal": true
}
EorEntitlementListItem
{
"type": "object",
"properties": {
"year": {
"type": "number",
"example": 2022
},
"rollover_type": {
"$ref": "#/components/schemas/EorHolidaysRolloverType"
},
"vacation_used": {
"type": "string",
"example": "5",
"description": "Vacation days used by the employee."
},
"vacation_total": {
"type": "string",
"example": "5",
"description": "Total number of vacation days requested, approved and used."
},
"sick_leave_used": {
"type": "string",
"example": "5",
"description": "Sick days used by the employee."
},
"other_leave_used": {
"type": "string",
"example": "5",
"description": "Other type of time off days used by the employee."
},
"sick_leave_total": {
"type": "string",
"example": "5",
"description": "Total number of sick days requested, approved and used."
},
"vacation_allowed": {
"type": "string",
"example": "16",
"description": "Minimum vacation allowed."
},
"other_leave_total": {
"type": "string",
"example": "5",
"description": "Total number of other type of time off days requested, approved and used."
},
"vacation_approved": {
"type": "string",
"example": "5",
"description": "Vacation days approved."
},
"sick_leave_allowed": {
"type": "string",
"example": "16",
"description": "Maximum sick leave allowed."
},
"vacation_requested": {
"type": "string",
"example": "5",
"description": "Vacation days requested by the employee."
},
"max_rollover_yearly": {
"type": "string",
"format": "nullable",
"example": "3"
},
"sick_leave_approved": {
"type": "string",
"example": "5",
"description": "Sick days approved."
},
"other_leave_approved": {
"type": "string",
"example": "5",
"description": "Other type of time off days approved."
},
"sick_leave_requested": {
"type": "string",
"example": "5",
"description": "Sick days requested by the employee."
},
"other_leave_requested": {
"type": "string",
"example": "5",
"description": "Other type of time off requested by the employee."
}
},
"description": "Entitlement Item for a given year.",
"x-konfig-properties": {
"rollover_type": {
"example": "EXPIRATION"
}
}
}
EorEntitlements
{
"type": "object",
"required": [
"entitlements"
],
"properties": {
"entitlements": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EorEntitlementListItem"
},
"description": "List of entitlements."
}
},
"description": "Time-off Entitlements for EOR contracts."
}
EorEntitlementsContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/EorEntitlements"
}
},
"x-internal": true
}
EorField
{
"type": "object",
"properties": {
"label": {
"type": "string",
"example": "Country of birth"
},
"options": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"Afghanistan (AF)",
"Canada (CA)",
"Zimbabwe (ZW)"
]
},
"input_type": {
"type": "string",
"example": "select"
},
"is_optional": {
"type": "boolean",
"example": false
},
"property_name": {
"type": "string",
"example": "countryOfBirth"
}
},
"description": "Mandatory EOR field."
}
EorHolidaysRolloverType
{
"enum": [
"EXPIRATION",
"PAY_OUT",
"UNLIMITED_ROLLOVER",
"LIMITED_ROLLOVER",
"UNSET"
],
"type": "string"
}
EorQuoteBase
{
"type": "object",
"properties": {
"currency": {
"$ref": "#/components/schemas/CurrencyCodeRequired",
"description": "Local currency"
},
"cba_total": {
"type": "number",
"example": 900,
"description": "Total CBA in local currency"
},
"created_at": {
"$ref": "#/components/schemas/DateString",
"description": "Quote creation date"
},
"updated_at": {
"$ref": "#/components/schemas/DateString",
"description": "Quote updated date"
},
"salary_total": {
"type": "number",
"example": 900,
"description": "Total salary in local currency"
},
"annual_salary": {
"type": "number",
"example": 900,
"description": "Annual Salary in local currency"
},
"cba_total_usd": {
"type": "number",
"example": 900,
"description": "Total CBA in USD"
},
"breakdown_costs": {
"$ref": "#/components/schemas/BreakdownCostsQuote",
"description": "Breakdown costs"
},
"salary_total_usd": {
"type": "number",
"example": 900,
"description": "Total salary in USD"
},
"gross_salary_total": {
"type": "number",
"example": 900,
"description": "Total gross salary in local currency"
},
"mobility_fee_total": {
"type": "number",
"example": 900,
"description": "Total mobility fee in local currency"
},
"monthly_cost_total": {
"type": "number",
"example": 900,
"description": "Total monthly cost in local currency"
},
"platform_fee_total": {
"type": "number",
"example": 900,
"description": "Total platform fee in local currency"
},
"employer_cost_total": {
"type": "number",
"example": 900,
"description": "Total employer cost in local currency"
},
"gross_salary_total_usd": {
"type": "number",
"example": 900,
"description": "Total gross salary in USD"
},
"mobility_fee_total_usd": {
"type": "number",
"example": 900,
"description": "Total mobility fee in USD"
},
"monthly_cost_total_usd": {
"type": "number",
"example": 900,
"description": "Total monthly cost in USD"
},
"platform_fee_total_usd": {
"type": "number",
"example": 900,
"description": "Total platform fee in USD"
},
"employer_cost_total_usd": {
"type": "number",
"example": 900,
"description": "Total employer cost in USD"
},
"severance_accrual_total": {
"type": "number",
"example": 900,
"description": "Total severance accrual in local currency"
},
"recurring_allowance_total": {
"type": "number",
"example": 900,
"description": "Total recurring allowance in local currency"
},
"severance_accrual_total_usd": {
"type": "number",
"example": 900,
"description": "Total severance accrual in USD"
},
"recurring_allowance_total_usd": {
"type": "number",
"example": 900,
"description": "Total recurring allowance in USD"
}
},
"description": "EOR quote approved by Deel"
}
EorQuotePayload
{
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/EorQuoteBase"
},
{
"type": "object",
"properties": {
"contract_id": {
"type": "string",
"description": "Contract id"
},
"country_code": {
"$ref": "#/components/schemas/CountryCode"
},
"country_name": {
"type": "string",
"example": "Argentina",
"description": "Country Name"
},
"contract_name": {
"type": "string",
"example": "My EOR Contract",
"description": "Contract name"
}
}
}
],
"description": "EOR quote approved by Deel"
}
EorTimeoffs
{
"type": "array",
"items": {
"$ref": "#/components/schemas/EorTimeoffsBaseItem"
},
"description": "List of time offs."
}
EorTimeoffsBaseItem
{
"type": "object",
"required": [
"type",
"requested_at",
"status"
],
"properties": {
"type": {
"$ref": "#/components/schemas/TimeoffsTypeEnum"
},
"reason": {
"type": "string",
"example": "I have a doctors appointment",
"nullable": true,
"description": "Reason for requesting time off."
},
"status": {
"$ref": "#/components/schemas/TimeoffsStatusEnum"
},
"reviewer": {
"allOf": [
{
"$ref": "#/components/schemas/TimeoffsProfile"
}
],
"nullable": true,
"description": "User who reviewed the time off."
},
"requester": {
"allOf": [
{
"$ref": "#/components/schemas/TimeoffsProfile"
}
],
"nullable": true,
"description": "Employee who requested the time off."
},
"attachments": {
"allOf": [
{
"$ref": "#/components/schemas/TimeoffsAttachments"
}
],
"nullable": true
},
"reviewed_at": {
"allOf": [
{
"$ref": "#/components/schemas/DateTimeString"
}
],
"example": "2022-08-25T12:09:34.695Z",
"nullable": true,
"description": "Timestamp when time off was reviewed."
},
"single_date": {
"allOf": [
{
"$ref": "#/components/schemas/DateTimeString"
}
],
"example": "2022-08-25T12:09:34.695Z",
"nullable": true
},
"requested_at": {
"$ref": "#/components/schemas/DateTimeString"
},
"denial_reason": {
"type": "string",
"example": "No time off available",
"nullable": true,
"description": "Reason why time off was denied."
},
"total_days_used": {
"type": "string",
"example": "4.00",
"description": "Total number of time off days used."
},
"date_is_half_day": {
"type": "boolean",
"nullable": true,
"description": "If true, only a single date was specified."
},
"days_used_end_year": {
"type": "string",
"example": "2.00",
"description": "Days used at the end year."
},
"has_multiple_dates": {
"type": "boolean",
"nullable": true,
"description": "Indicates if multiple time off days are requested."
},
"other_timeoff_name": {
"type": "string",
"example": "This is time off for a doctor's appointment",
"nullable": true,
"description": "Custom title for the time off. Only specify if type is \"OTHER\"."
},
"days_used_start_year": {
"type": "string",
"example": "2.00",
"description": "Days used at the start year."
},
"end_date_is_half_day": {
"type": "boolean",
"description": "Indicates if the last day of time off is a half day."
},
"start_date_is_half_day": {
"type": "boolean",
"description": "Indicates if the first day of time off is a half day."
}
},
"x-konfig-properties": {
"type": {
"example": "VACATION",
"description": "The type of time off."
},
"status": {
"example": "USED",
"description": "Status of the time off request."
},
"requested_at": {
"example": "2022-08-25T12:09:34.695Z",
"description": "Timestamp when time off was requested."
}
}
}
EorTimeoffsContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/EorTimeoffs"
}
},
"x-internal": true
}
EorTimeoffsEmployeeItem
{
"type": "object",
"required": [
"id",
"name",
"eor_contract_id",
"contract_id",
"vacations",
"sick_leaves",
"others",
"time_zones"
],
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier"
},
"name": {
"type": "string",
"example": "Steve Timeoff"
},
"others": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EorClientTimeoffRequests"
},
"description": "List of all other employee time offs."
},
"vacations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EorClientTimeoffRequests"
},
"description": "List of employee vacation time offs."
},
"time_zones": {
"type": "string"
},
"contract_id": {
"type": "string",
"example": "7WjJWdsJ113vocUN6Buwn"
},
"sick_leaves": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EorClientTimeoffRequests"
},
"description": "List of employee sick leave time offs."
},
"eor_contract_id": {
"type": "number",
"example": 110143
}
}
}
EorTimeoffsItemContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/EorTimeoffsBaseItem"
}
},
"x-internal": true
}
ErrorResponse
{
"type": "object",
"properties": {
"detail": {
"type": "string",
"description": "detail error message"
},
"status": {
"type": "string",
"description": "same as HTTP status code, e.g. 400, 401, etc."
},
"schemas": {
"type": "array",
"items": {
"enum": [
"urn:ietf:params:scim:api:messages:2.0:Error"
],
"type": "string"
}
},
"scimType": {
"enum": [
"uniqueness",
"tooMany",
"mutability",
"sensitive",
"invalidSyntax",
"invalidFilter",
"invalidPath",
"invalidValue",
"invalidVers",
"noTarget"
],
"type": "string",
"description": "bad request type when status code is 400"
}
}
}
EstimateFirstPayment
{
"type": "object",
"nullable": false,
"required": [
"start_date",
"country_code",
"type",
"compensation_details"
],
"properties": {
"type": {
"$ref": "#/components/schemas/ContractTypeEnumForEstimate"
},
"start_date": {
"$ref": "#/components/schemas/DateStringRequired"
},
"country_code": {
"$ref": "#/components/schemas/CountryCode"
},
"compensation_details": {
"type": "object",
"properties": {
"scale": {
"$ref": "#/components/schemas/WorkStatementCycleScaleEnum"
},
"amount": {
"type": "number",
"example": 2500,
"minimum": 0,
"nullable": false,
"description": "Amount to be paid. Must be a positive number."
},
"cycle_end": {
"type": "number",
"maximum": 31,
"minimum": 1,
"description": "Date invoice cycle ends."
},
"currency_code": {
"$ref": "#/components/schemas/CurrencyCodeRequired"
},
"work_week_end": {
"$ref": "#/components/schemas/WeekDaysEnum"
},
"cycle_end_type": {
"$ref": "#/components/schemas/WorkStatementCycleEndTypeEnum"
},
"work_week_start": {
"$ref": "#/components/schemas/WeekDaysEnum"
},
"calculation_type": {
"enum": [
"CUSTOM_AMOUNT",
"WORK_DAYS",
"CALENDAR_DAYS",
"FULL_AMOUNT"
],
"type": "string",
"nullable": false,
"description": "Either works days or calendar days"
},
"payment_due_days": {
"type": "number",
"maximum": 90,
"minimum": 0,
"nullable": false
},
"payment_due_type": {
"$ref": "#/components/schemas/WorkStatementPaymentDueTypeEnum"
}
}
}
},
"x-internal": true,
"description": "Details of pro rata payment to create."
}
EstimateFirstPaymentContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/EstimateFirstPayment"
}
},
"x-internal": true
}
ExchangeRates
{
"type": "object",
"properties": {
"risk": {
"type": "number"
},
"rates": {
"type": "object",
"example": {
"USD": 1
}
}
}
}
FileAttachment
{
"type": "object",
"properties": {
"key": {
"type": "string",
"description": "Unique key for the file"
},
"name": {
"type": "string",
"description": "Name of the file"
}
}
}
FileAttachmentInfo
{
"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."
}
},
"x-internal": true,
"description": "This object is used for linking file attachments to your records."
}
FileObject
{
"type": "object",
"properties": {
"file": {
"type": "string",
"format": "binary",
"nullable": false,
"description": "Upload the file you want to attach to this entry."
}
},
"x-internal": true,
"description": "This is the file you will upload in a multi-part form."
}
FileRefTypeEnum
{
"enum": [
"application/pdf",
"text/csv",
"text/plain",
"image/jpeg",
"image/png"
],
"type": "string",
"nullable": false,
"minLength": 5,
"x-internal": true,
"description": "type of files allowed when uploading attachments"
}
FilterSupported
{
"type": "object",
"properties": {
"supported": {
"type": "boolean",
"default": false
},
"maxResults": {
"type": "integer",
"format": "int32"
}
}
}
FinalPaymentCalculated
{
"type": "object",
"required": [
"daily_rate",
"total",
"remaining_days",
"last_cycle",
"calculation_type",
"workweek_start",
"workweek_end"
],
"properties": {
"total": {
"type": "string",
"example": "5.8571",
"nullable": false,
"description": "Total amount to pay."
},
"daily_rate": {
"type": "string",
"example": "5.8571",
"nullable": false,
"description": "The daily rate paid."
},
"last_cycle": {
"properties": {
"end": {
"$ref": "#/components/schemas/DateTimeStringRequired"
},
"start": {
"$ref": "#/components/schemas/DateTimeStringRequired"
},
"completion_date": {
"$ref": "#/components/schemas/DateTimeStringRequired"
}
},
"description": "The last payment cycle."
},
"workweek_end": {
"type": "number",
"default": 5,
"nullable": false,
"description": "The day the work week starts, 0 to 6"
},
"remaining_days": {
"type": "string",
"example": "5.8571",
"nullable": false,
"description": "Dais remaining to end the contract."
},
"workweek_start": {
"type": "number",
"default": 1,
"nullable": false,
"description": "The day the work week starts, 0 to 6"
},
"calculation_type": {
"enum": [
"CUSTOM_AMOUNT",
"WORK_DAYS",
"CALENDAR_DAYS",
"FULL_AMOUNT"
],
"type": "string",
"nullable": false,
"description": "Either works days or calendar days"
}
},
"x-internal": true
}
FinalPaymentCalculatedContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/FinalPaymentCalculated"
}
},
"x-internal": true
}
FirstPaymentDate
{
"type": "object",
"nullable": false,
"properties": {
"due": {
"$ref": "#/components/schemas/DateStringRequired"
}
},
"x-internal": true,
"description": "First payment date"
}
GPClient
{
"type": "object",
"required": [
"legal_entity",
"team"
],
"properties": {
"team": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier",
"description": "Enter the Id of the team this person will be hired in. Use /teams endpoint to retrieve a list of teams in your organization."
}
}
},
"legal_entity": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier",
"description": "Enter the Id of the legal entity under which you want to hire this person. Use /legal-entities endpoint to retrieve a list of legal entities in your organization."
}
}
}
}
}
GPContractCreated
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Id of the contract created."
},
"type": {
"$ref": "#/components/schemas/ContractTypeEnum"
},
"client": {
"type": "object",
"properties": {
"legal_entity": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Legal entity name."
}
}
}
}
},
"status": {
"$ref": "#/components/schemas/ContractStatusEnum"
},
"employee": {
"type": "object",
"properties": {
"email": {
"type": "string",
"description": "Employee's email address."
},
"last_name": {
"type": "string",
"description": "Employee's last name."
},
"first_name": {
"type": "string",
"description": "Employee's first name."
},
"employee_number": {
"type": "string",
"description": "Employee's number."
}
}
},
"job_title": {
"type": "string",
"example": "Designer",
"description": "Employee's job title."
},
"created_at": {
"$ref": "#/components/schemas/DateTimeString"
},
"employment": {
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "Is it a full-time contract or a part-time contract?"
},
"state": {
"type": "string",
"nullable": true,
"description": "State code of the state/province where this person will be employed."
},
"country": {
"type": "string",
"description": "Country of employment."
},
"end_date": {
"$ref": "#/components/schemas/DateString",
"description": "Employment end date in Deel."
},
"holidays": {
"type": "object",
"properties": {
"allowance": {
"type": "number",
"description": "Number of holidays."
},
"start_date": {
"$ref": "#/components/schemas/DateString"
}
}
},
"start_date": {
"$ref": "#/components/schemas/DateString",
"description": "Employment start date in Deel."
},
"work_visa_required": {
"type": "boolean",
"description": "Do you require Deel to apply for a work visa for this person?"
}
}
},
"compensation_details": {
"type": "object",
"properties": {
"scale": {
"type": "string",
"description": "Scale at which the salary is paid."
},
"salary": {
"type": "number",
"description": "Gross annual/month salary."
},
"currency": {
"type": "string",
"description": "Currency of gross annual/month salary."
}
}
}
}
}
GPContractCreatedContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/GPContractCreated"
}
},
"x-internal": true
}
GPContractSalaryScaleEnum
{
"enum": [
"YEAR",
"MONTH",
"HOUR"
],
"type": "string",
"example": "YEAR",
"description": "The scale to which a given salary applies."
}
GPContractSalaryStatusEnum
{
"enum": [
"ACTIVE",
"UPCOMING",
"OUTDATED"
],
"type": "string",
"example": "ACTIVE",
"description": "The status of a salary amendment."
}
GPContractStatusTypeEnum
{
"enum": [
"Full-time",
"Part-time"
],
"type": "string",
"description": "Is it a full-time contract or a part-time contract?"
}
GPContractToCreate
{
"type": "object",
"required": [
"employee",
"employment",
"job_title",
"client",
"compensation_details"
],
"properties": {
"client": {
"$ref": "#/components/schemas/GPClient"
},
"employee": {
"type": "object",
"required": [
"first_name",
"last_name",
"email",
"address",
"work_email"
],
"properties": {
"email": {
"$ref": "#/components/schemas/EmailTypeRequired",
"example": "employee@email.com",
"description": "Employee's email address."
},
"address": {
"type": "object",
"required": [
"street",
"city",
"zip",
"country"
],
"properties": {
"zip": {
"type": "string",
"example": "44000",
"description": "Zip code."
},
"city": {
"type": "string",
"example": "Denver",
"description": "City name."
},
"state": {
"type": "string",
"example": "CO",
"description": "State code."
},
"street": {
"type": "string",
"example": "Deel Street 500",
"description": "Street and number."
},
"country": {
"$ref": "#/components/schemas/CountryCode"
}
}
},
"last_name": {
"type": "string",
"example": "Doe",
"description": "Employee's last name."
},
"first_name": {
"type": "string",
"example": "Jane",
"description": "Employee's first name."
},
"work_email": {
"$ref": "#/components/schemas/EmailTypeRequired",
"example": "work@email.com",
"description": "Employee's work email address."
},
"nationality": {
"type": "string",
"example": "US",
"description": "Employee's nationality."
},
"employee_number": {
"type": "string",
"example": "100",
"description": "Employee's number."
}
}
},
"job_title": {
"type": "string",
"description": "Employee's job title."
},
"employment": {
"type": "object",
"required": [
"type",
"start_date",
"holidays"
],
"properties": {
"type": {
"$ref": "#/components/schemas/GPContractStatusTypeEnum"
},
"holidays": {
"type": "object",
"required": [
"allowance",
"start_date"
],
"properties": {
"allowance": {
"type": "number",
"description": "Enter the number of holidays."
},
"start_date": {
"$ref": "#/components/schemas/DateStringRequired"
}
}
},
"start_date": {
"$ref": "#/components/schemas/DateStringRequired",
"description": "Employment start date in Deel."
}
},
"x-konfig-properties": {}
},
"compensation_details": {
"type": "object",
"required": [
"salary",
"scale"
],
"properties": {
"scale": {
"enum": [
"YEAR",
"MONTH"
],
"type": "string",
"default": "YEAR",
"description": "Defines the scale at which the salary is paid."
},
"salary": {
"type": "number",
"description": "Employee's gross annual/month salary."
},
"currency": {
"$ref": "#/components/schemas/CurrencyCodeRequired",
"example": "BRL",
"description": "Salary currency."
}
}
}
}
}
GPContractToCreateContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/GPContractToCreate"
}
},
"x-internal": true
}
GPEmployeeAddressToUpdateContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/GPEmployeeAddressUpdateData"
}
},
"x-internal": true
}
GPEmployeeAddressUpdateData
{
"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."
}
}
}
GPEmployeeAddressUpdated
{
"type": "object",
"properties": {
"zip": {
"type": "string",
"example": "12345",
"description": "Zip code."
},
"city": {
"type": "string",
"example": "Denver",
"description": "City name."
},
"state": {
"type": "string",
"example": "CO",
"description": "State name."
},
"street": {
"type": "string",
"example": "123 Deel Street",
"description": "Street name."
},
"country": {
"$ref": "#/components/schemas/CountryCode"
},
"updated_at": {
"$ref": "#/components/schemas/DateTimeStringRequired"
}
}
}
GPEmployeeAddressUpdatedContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/GPEmployeeAddressUpdated"
}
},
"x-internal": true
}
GPEmployeeCompensationToUpdateContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/GPEmployeeCompensationUpdateData"
}
},
"x-internal": true
}
GPEmployeeCompensationUpdateData
{
"type": "object",
"required": [
"scale",
"salary",
"effective_date"
],
"properties": {
"scale": {
"$ref": "#/components/schemas/GPContractSalaryScaleEnum"
},
"salary": {
"type": "number",
"example": 50000,
"description": "Compensation salary."
},
"effective_date": {
"$ref": "#/components/schemas/DateStringRequired"
}
}
}
GPEmployeeCompensationUpdated
{
"type": "array",
"items": {
"type": "object",
"properties": {
"scale": {
"$ref": "#/components/schemas/GPContractSalaryScaleEnum"
},
"salary": {
"type": "number",
"example": 50000,
"description": "Compensation salary."
},
"status": {
"$ref": "#/components/schemas/GPContractSalaryStatusEnum"
},
"effective_date": {
"$ref": "#/components/schemas/DateStringRequired"
}
}
}
}
GPEmployeeCompensationUpdatedContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/GPEmployeeCompensationUpdated"
}
},
"x-internal": true
}
GPEmployeeInformationToUpdateContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/GPEmployeeInformationUpdateData"
}
},
"x-internal": true
}
GPEmployeeInformationUpdateData
{
"type": "object",
"properties": {
"gender": {
"type": "string",
"description": "Employee's gender."
},
"last_name": {
"type": "string",
"example": "Doe",
"description": "Last name of the employee."
},
"first_name": {
"type": "string",
"example": "Jane",
"description": "First name of the employee."
},
"middle_name": {
"type": "string",
"example": "Jay",
"description": "Middle name of the employee."
},
"date_of_birth": {
"$ref": "#/components/schemas/DateString"
},
"marital_status": {
"$ref": "#/components/schemas/MaritalStatusEnum",
"example": "Single"
},
"employee_number": {
"type": "string",
"description": "Employee's number."
}
}
}
GPEmployeeInformationUpdatedContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/GPEmployeeInformationUpdateData"
}
},
"x-internal": true
}
GPEmployeePTOToUpdateContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/GPEmployeePTOUpdateData"
}
},
"x-internal": true
}
GPEmployeePTOUpdateData
{
"type": "object",
"required": [
"accrual_start_date",
"yearly_allowance"
],
"properties": {
"yearly_allowance": {
"type": "string",
"example": "15",
"description": "Enter the number of holidays."
},
"accrual_start_date": {
"$ref": "#/components/schemas/DateStringRequired",
"description": "Date when the employee starts to accrue PTO."
}
}
}
GPPayrollEventReportContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/GPPayrollEventReports"
}
},
"x-internal": true
}
GPPayrollEventReports
{
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"status",
"start_date",
"end_date",
"lock_date"
],
"properties": {
"id": {
"type": "string",
"example": "clqmd5qb07xwevi01cd5kb6kw"
},
"status": {
"type": "string",
"example": "OPEN"
},
"end_date": {
"$ref": "#/components/schemas/DateTimeStringRequired"
},
"lock_date": {
"$ref": "#/components/schemas/DateTimeStringRequired"
},
"start_date": {
"$ref": "#/components/schemas/DateTimeStringRequired"
}
}
}
}
GPPayslipDownloadUrlContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/PayslipDownloadUrl"
}
},
"x-internal": true
}
GPPayslipsListContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Payslips"
}
}
}
}
GenericReportReviewCreated
{
"type": "object",
"required": [
"status",
"id"
],
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier"
},
"status": {
"$ref": "#/components/schemas/InvoiceAdjustmentStatusEnum"
}
},
"x-internal": true
}
GenericReportReviewCreatedContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/GenericReportReviewCreatedList"
}
},
"x-internal": true
}
GenericReportReviewCreatedList
{
"type": "array",
"items": {
"$ref": "#/components/schemas/GenericReportReviewCreated"
},
"x-internal": true
}
GenericResultCreated
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"type": "object",
"required": [
"created"
],
"properties": {
"created": {
"type": "boolean"
}
}
}
},
"x-internal": true
}
GenericResultCreatedWithId
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"type": "object",
"required": [
"created"
],
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier"
},
"created": {
"type": "boolean"
}
}
}
},
"x-internal": true
}
GenericResultDeleted
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"type": "object",
"required": [
"deleted"
],
"properties": {
"deleted": {
"type": "boolean",
"nullable": false,
"description": "Confirms the deletion."
}
}
}
},
"x-internal": true
}
GenericResultUpdated
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"type": "object",
"required": [
"updated"
],
"properties": {
"updated": {
"type": "boolean"
}
}
}
},
"x-internal": true
}
GetEmployeeComplianceDocumentTemplateDownloadLinkContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"type": "object",
"properties": {
"url": {
"type": "string",
"example": "https://s3URL/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",
"description": "Expiration date time of download URL."
}
}
}
},
"x-internal": true
}
GetEmployeeComplianceDocumentsContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"type": "object",
"required": [
"documents"
],
"properties": {
"documents": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier",
"description": "The unique identifier of the document."
},
"name": {
"type": "string",
"example": "Example Document",
"description": "The name of the document."
},
"country": {
"type": "string",
"example": "GB",
"description": "The country associated with this document."
},
"fillable": {
"type": "boolean",
"example": false,
"description": "Denotes if the document is available to fill out on Deel."
},
"filenames": {
"type": "array",
"items": {
"type": "string",
"example": "myComplianceDocument.pdf",
"description": "A file name for an uploaded document."
},
"description": "The list of filenames for the associated uploaded documents."
},
"description": {
"type": "string",
"example": "This document is needed for tax purposes.",
"description": "A short description of the document."
},
"is_optional": {
"type": "boolean",
"example": false,
"description": "Denotes if the document is optional or required."
},
"uploaded_at": {
"type": "string",
"example": "2023-01-01T12:00:00.000Z",
"description": "The timestamp when this document was uploaded / supplied to Deel."
},
"has_template": {
"type": "boolean",
"example": true,
"description": "Denotes if this document has a template available for download"
}
}
}
}
}
}
},
"x-internal": true
}
GlobalPayrollDownloadGrossToNetGpReportResponse
{
"type": "string"
}
GlobalPayrollG2NReport
{
"type": "object",
"properties": {
"net_pay": {
"type": "string",
"nullable": true
},
"ee_loans": {
"type": "string",
"nullable": true
},
"contract_id": {
"type": "string"
},
"cost_center": {
"type": "string",
"nullable": true
},
"annual_bonus": {
"type": "number",
"nullable": true
},
"car_allowance": {
"type": "number",
"nullable": true
},
"ee_income_tax": {
"type": "string",
"nullable": true
},
"employee_name": {
"type": "string",
"nullable": true
},
"employer_cost": {
"type": "string",
"nullable": true
},
"esp_deduction": {
"type": "number",
"nullable": true
},
"funding_amount": {
"type": "number",
"nullable": true
},
"home_allowance": {
"type": "string",
"nullable": true
},
"employee_number": {
"type": "number",
"nullable": true
},
"backdated_salary": {
"type": "string",
"nullable": true
},
"employee_division": {
"type": "string",
"nullable": true
},
"employee_job_title": {
"type": "string",
"nullable": true
},
"employee_department": {
"type": "string",
"nullable": true
},
"er_occupational_risk": {
"type": "string",
"nullable": true
},
"pension_contribution": {
"type": "number",
"nullable": true
},
"employer_contribution": {
"type": "string",
"nullable": true
},
"employment_status_tag_internal": {
"type": "string",
"nullable": true
}
}
}
GlobalPayrollG2NReportContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/GlobalPayrollG2NReport"
}
}
},
"x-internal": true
}
HRDocumentInfo
{
"type": "object",
"required": [
"id",
"name"
],
"properties": {
"id": {
"type": "string",
"description": "Document Id."
},
"name": {
"type": "string",
"example": "Standard verification letter",
"description": "Name of the document."
}
}
}
HealthInsuranceProvider
{
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier",
"description": "Unique identifier of a health insurance provider."
},
"name": {
"type": "string",
"example": "United Healthcare VSP Vision & Delta Dental: Singles Only",
"description": "Name of insurance provider."
},
"type": {
"type": "string",
"example": "PLAN",
"description": "Insurance type."
},
"plans": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier",
"description": "Insurance plan id."
},
"name": {
"type": "string",
"example": "USA Healthcare Plan",
"description": "Insurance plan name."
},
"price": {
"type": "string",
"example": "570.00",
"nullable": true,
"description": "Insurance price."
},
"currency": {
"type": "string",
"example": "USD",
"description": "Insurance payment currency."
},
"is_enabled": {
"type": "boolean"
}
}
}
},
"currency": {
"type": "string",
"example": "USD",
"description": "Payment currency."
},
"is_unisure": {
"type": "boolean"
},
"attachments": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier"
},
"label": {
"type": "string",
"example": "Deel USA Health Care Packet.pdf"
}
}
},
"description": "File attachments."
},
"ending_rule": {
"type": "string",
"example": "END_OF_MONTH",
"description": "Insurance cycle ending rule."
},
"fixed_price": {
"type": "boolean",
"description": "URL to price info."
},
"home_page_url": {
"type": "string",
"example": "https://bit.ly/3uW72fp",
"description": "Insurance provider's home page url."
},
"days_to_cancel": {
"type": "string",
"format": "nullable",
"description": "Days to cancel the insurance."
},
"pricing_info_link": {
"type": "string",
"format": "nullable",
"description": "URL to price info."
},
"client_info_banner": {
"type": "string",
"format": "nullable",
"description": "Health insurance info banner."
},
"is_available_for_new_quotes": {
"type": "boolean"
}
},
"description": "Health insurance provider."
}
HiringStatusEnum
{
"enum": [
"active",
"inactive",
"onboarding"
],
"type": "string",
"x-internal": true
}
HrVerificationLettersAndDocumentsListContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/HRDocumentInfo"
}
}
},
"x-internal": true
}
HrisCompensation
{
"type": "object",
"required": [
"gross_annual_salary",
"currency"
],
"properties": {
"currency": {
"type": "string",
"example": "USD",
"maxLength": 3,
"minLength": 3
},
"gross_annual_salary": {
"type": "number",
"format": "float"
}
}
}
HrisContractBase
{
"type": "object",
"required": [
"start_date",
"employment_type",
"contract_oid"
],
"properties": {
"end_date": {
"$ref": "#/components/schemas/DateString"
},
"start_date": {
"$ref": "#/components/schemas/DateStringRequired"
},
"contract_oid": {
"type": "string",
"example": "pdcMQe0cXCCXWTkqkdytw",
"description": "The Hris Direct employee contract ID"
},
"employee_number": {
"type": "number"
}
}
}
HrisDirectEmployee
{
"type": "object",
"required": [
"employee_details",
"team_information",
"job_information",
"compensation",
"contract"
],
"properties": {
"contract": {
"oneOf": [
{
"$ref": "#/components/schemas/HrisContractBase"
},
{
"$ref": "#/components/schemas/HrisContractBase"
}
]
},
"compensation": {
"$ref": "#/components/schemas/HrisCompensation"
},
"vacation_info": {
"type": "object",
"nullable": true,
"required": [
"vacation_accrual_start_date",
"vacation_yearly_policy"
],
"properties": {
"vacation_yearly_policy": {
"type": "number",
"maximum": 365,
"minimum": 1
},
"vacation_accrual_start_date": {
"type": "string",
"format": "date"
}
}
},
"job_information": {
"oneOf": [
{
"$ref": "#/components/schemas/HrisJobInformationTitleId"
},
{
"$ref": "#/components/schemas/HrisJobInformationTitleName"
}
]
},
"employee_details": {
"$ref": "#/components/schemas/HrisDirectEmployeeDetails"
},
"team_information": {
"$ref": "#/components/schemas/HrisTeamInformation"
}
}
}
HrisDirectEmployeeContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/HrisDirectEmployeeResponse"
}
},
"x-internal": true
}
HrisDirectEmployeeDetails
{
"type": "object",
"required": [
"first_name",
"last_name",
"email",
"work_email",
"nationality",
"country"
],
"properties": {
"email": {
"type": "string",
"example": "john.doe@domain.com",
"maxLength": 255,
"minLength": 3
},
"state": {
"type": "string",
"example": "AC",
"maxLength": 50,
"minLength": 1
},
"country": {
"type": "string",
"example": "BR",
"maxLength": 2,
"minLength": 2
},
"last_name": {
"type": "string",
"example": "Doe",
"maxLength": 100,
"minLength": 3
},
"first_name": {
"type": "string",
"example": "John",
"maxLength": 100,
"minLength": 3
},
"work_email": {
"type": "string",
"example": "john.doe@domain.com",
"maxLength": 255,
"minLength": 3
},
"nationality": {
"type": "string",
"example": "CA",
"maxLength": 2,
"minLength": 2
}
}
}
HrisDirectEmployeeResponse
{
"allOf": [
{
"$ref": "#/components/schemas/HrisDirectEmployee"
},
{
"type": "object",
"properties": {
"id": {
"type": "string",
"example": "6733c95b-df52-419e-906d-6904d3117dab",
"description": "The Hris Direct employee ID"
}
}
}
]
}
HrisJobInformationBase
{
"type": "object",
"required": [
"seniority_id"
],
"properties": {
"seniority_id": {
"type": "number"
}
}
}
HrisJobInformationTitleId
{
"allOf": [
{
"$ref": "#/components/schemas/HrisJobInformationBase"
},
{
"type": "object",
"required": [
"seniority_id",
"job_title_id"
],
"properties": {
"job_title_id": {
"type": "number"
}
}
}
]
}
HrisJobInformationTitleName
{
"allOf": [
{
"$ref": "#/components/schemas/HrisJobInformationBase"
},
{
"type": "object",
"required": [
"seniority_id",
"job_title_name"
],
"properties": {
"job_title_name": {
"type": "string",
"example": "BE Software Engineer"
}
}
}
]
}
HrisTeamInformation
{
"type": "object",
"required": [
"team_id",
"legal_entity_id"
],
"properties": {
"team_id": {
"type": "number"
},
"legal_entity_id": {
"type": "number"
}
}
}
InputToCreateFileRef
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"type": "object",
"required": [
"content_type"
],
"properties": {
"content_type": {
"$ref": "#/components/schemas/FileRefTypeEnum"
}
}
}
},
"x-internal": true
}
InputToCreatePgoTask
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/PgoTaskToCreate"
}
},
"x-internal": true
}
InputToDeletePgoTask
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/PgoTaskToDelete"
}
},
"x-internal": true
}
InputToPatchContractExternalId
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/ContractExternalIdToPatch"
}
},
"x-internal": true
}
InputToShieldContract
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"type": "object",
"nullable": false,
"required": [
"agreement_id"
],
"properties": {
"agreement_id": {
"type": "number",
"nullable": false,
"description": "MSA contract id (agreement)."
}
},
"x-internal": false
}
},
"x-internal": true
}
InternalPeople
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier for the user"
},
"team": {
"type": "string",
"description": "Name of the team that the user belongs to"
},
"email": {
"type": "string",
"description": "Email address of the user"
},
"state": {
"type": "string",
"description": "State where the user is located"
},
"country": {
"type": "string",
"description": "ISO 3166-1 alpha-2 code of the country where the user is located"
},
"pic_url": {
"type": "string",
"description": "URL of the user's profile picture"
},
"team_id": {
"type": "integer",
"description": "Unique identifier for the team that the user belongs to"
},
"payments": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Payment"
},
"description": "List of payment objects representing the user's payment history"
},
"timezone": {
"type": "string",
"description": "Time zone of the user's location"
},
"full_name": {
"type": "string",
"description": "Full name of the user"
},
"job_title": {
"type": "string",
"description": "Title of the user's role"
},
"last_name": {
"type": "string",
"description": "Last name of the user"
},
"seniority": {
"type": "string",
"description": "Seniority level of the user's role"
},
"birth_date": {
"type": "string",
"description": "Date of birth of the user in ISO format (yyyy-mm-dd)"
},
"department": {
"type": "string",
"description": "Name of the department that the user belongs to"
},
"first_name": {
"type": "string",
"description": "First name of the user"
},
"start_date": {
"type": "string",
"description": "Date when the user started their current employment in ISO format (yyyy-mm-dd)"
},
"work_email": {
"type": "string",
"description": "Work email address of the user"
},
"employments": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Employment"
},
"description": "List of employment objects representing the user's employment history"
},
"hiring_type": {
"type": "string",
"description": "Type of employment contract that the user has"
},
"country_name": {
"type": "string",
"description": "Name of the country where the user is located"
},
"has_deel_user": {
"type": "boolean",
"description": "Indicates whether the user has a Deel account or not"
},
"hiring_status": {
"type": "string",
"description": "Hiring status of the user"
},
"work_location": {
"type": "string",
"description": "Name of the user's work location"
},
"contract_types": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of contract types that the user has had in the past and/or currently has"
},
"direct_manager": {
"type": "string",
"description": "Name of the user's direct manager"
},
"direct_reports": {
"type": "string",
"description": "Names of the user's direct reports"
},
"personal_email": {
"type": "string",
"description": "Personal email address of the user"
},
"completion_date": {
"type": "string",
"description": "Date when the user's current employment is expected to end in ISO format (yyyy-mm-ddThh:mm:ss.sssZ)"
},
"monthly_payment": {
"$ref": "#/components/schemas/MonthlyPayment",
"description": "Object representing the user's monthly payment information"
},
"client_legal_entity": {
"$ref": "#/components/schemas/PeopleClientLegalEntity",
"description": "Object representing the client legal entity that the user is associated with"
},
"hourly_report_total": {
"type": "string",
"description": "Total amount of hours worked by the user in ISO format (hh:mm:ss)"
},
"direct_reports_count": {
"type": "integer",
"description": "Number of direct reports that the user has"
}
},
"description": "People object representing a Deel"
}
InternalPeopleContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/InternalPeople"
}
}
}
}
InvitationsOfBasicContract
{
"type": "object",
"properties": {
"client_email": {
"$ref": "#/components/schemas/EmailType"
},
"worker_email": {
"$ref": "#/components/schemas/EmailType"
}
},
"x-internal": true
}
InviteTeamMemberToSign
{
"type": "object",
"required": [
"contract_oid",
"contract_name",
"invitee_id",
"invitee_name"
],
"properties": {
"invitee_id": {
"type": "number",
"nullable": false
},
"contract_oid": {
"type": "string",
"nullable": false
},
"invitee_name": {
"type": "string",
"nullable": false
},
"contract_name": {
"type": "string",
"nullable": false
}
}
}
Invoice
{
"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": "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": {
"$ref": "#/components/schemas/InvoiceStatusEnum"
},
"vat_id": {
"type": "string",
"nullable": true,
"description": "VAT identification number."
},
"paid_at": {
"$ref": "#/components/schemas/DateTimeString"
},
"currency": {
"$ref": "#/components/schemas/CurrencyCode"
},
"due_date": {
"$ref": "#/components/schemas/DateString",
"description": "Due date for the invoice payment."
},
"issued_at": {
"$ref": "#/components/schemas/DateString",
"description": "Timestamp when the invoice was issued."
},
"vat_total": {
"type": "string",
"example": 210,
"nullable": true,
"description": "Amount of VAT."
},
"created_at": {
"$ref": "#/components/schemas/DateTimeString"
},
"is_overdue": {
"type": "boolean",
"example": true,
"nullable": true,
"description": "Indicates if the invoice is overdue."
},
"contract_id": {
"$ref": "#/components/schemas/DateString",
"description": "Due date for the invoice payment."
},
"vat_percentage": {
"type": "string",
"example": 21,
"nullable": true,
"description": "VAT percentage."
}
}
}
InvoiceAdjustment
{
"allOf": [
{
"$ref": "#/components/schemas/BasicInvoiceAdjustment"
},
{
"$ref": "#/components/schemas/InvoiceAdjustmentApproversContainer"
}
],
"x-internal": true
}
InvoiceAdjustmentApprover
{
"type": "object",
"required": [
"full_name",
"email",
"approved"
],
"properties": {
"email": {
"type": "string"
},
"approved": {
"type": "boolean"
},
"full_name": {
"type": "string"
}
},
"x-internal": true
}
InvoiceAdjustmentApproverList
{
"type": "array",
"items": {
"$ref": "#/components/schemas/InvoiceAdjustmentApprover"
},
"x-internal": true
}
InvoiceAdjustmentApproversContainer
{
"type": "object",
"required": [
"approvers"
],
"properties": {
"approvers": {
"$ref": "#/components/schemas/InvoiceAdjustmentApproverList"
}
},
"x-internal": true
}
InvoiceAdjustmentAttachmentContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/AttachmentFileRef"
}
},
"x-internal": true
}
InvoiceAdjustmentContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/InvoiceAdjustment"
}
},
"x-internal": true
}
InvoiceAdjustmentCreated
{
"type": "object",
"required": [
"created"
],
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier",
"nullable": true
},
"status": {
"$ref": "#/components/schemas/InvoiceAdjustmentStatusEnum"
},
"created": {
"type": "boolean",
"nullable": false
},
"created_at": {
"$ref": "#/components/schemas/DateTimeString"
}
},
"x-internal": true,
"description": "Details of invoice adjustment created."
}
InvoiceAdjustmentCreatedContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/InvoiceAdjustmentCreated"
}
},
"x-internal": true
}
InvoiceAdjustmentList
{
"type": "array",
"items": {
"$ref": "#/components/schemas/BasicInvoiceAdjustment"
},
"x-internal": true
}
InvoiceAdjustmentListContainer
{
"type": "object",
"required": [
"data",
"page"
],
"properties": {
"data": {
"$ref": "#/components/schemas/InvoiceAdjustmentList"
},
"page": {
"$ref": "#/components/schemas/PageInfoWithoutCursorNew"
}
},
"x-internal": true
}
InvoiceAdjustmentPendingForApproval
{
"type": "object",
"required": [
"contract_name",
"contract_oid",
"adjustment_id",
"adjustment_type",
"event_type"
],
"properties": {
"team_id": {
"type": "string",
"nullable": false
},
"approvers": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
}
}
}
},
"event_type": {
"type": "string",
"nullable": false
},
"contract_oid": {
"type": "string",
"nullable": false
},
"adjustment_id": {
"type": "string",
"nullable": false
},
"contract_name": {
"type": "string",
"nullable": false
},
"adjustment_type": {
"type": "string",
"nullable": false
}
}
}
InvoiceAdjustmentReviewToCreate
{
"type": "object",
"required": [
"status",
"reason"
],
"properties": {
"reason": {
"type": "string",
"nullable": false
},
"status": {
"enum": [
"approved",
"declined"
],
"type": "string",
"nullable": false
}
},
"x-internal": true
}
InvoiceAdjustmentReviewToCreateContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/InvoiceAdjustmentReviewToCreate"
}
},
"x-internal": true
}
InvoiceAdjustmentReviewsToCreate
{
"type": "object",
"required": [
"status",
"ids",
"reason"
],
"properties": {
"ids": {
"$ref": "#/components/schemas/TimesheetIdItems"
},
"reason": {
"type": "string",
"nullable": false
},
"status": {
"enum": [
"approved",
"declined"
],
"type": "string",
"nullable": false
}
},
"x-internal": true
}
InvoiceAdjustmentReviewsToCreateContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/InvoiceAdjustmentReviewsToCreate"
}
},
"x-internal": true
}
InvoiceAdjustmentSearchContainer
{
"type": "object",
"properties": {
"limit": {
"type": "string",
"default": "10",
"pattern": "^\\d{1,5}$",
"nullable": false,
"maxLength": 5,
"description": "Return a page of results with given number of records."
},
"types": {
"oneOf": [
{
"$ref": "#/components/schemas/InvoiceAdjustmentTypeEnumList"
},
{
"$ref": "#/components/schemas/InvoiceAdjustmentTypeEnum"
}
]
},
"offset": {
"type": "string",
"default": "10",
"pattern": "^\\d{1,5}$",
"nullable": false,
"maxLength": 5
},
"date_to": {
"$ref": "#/components/schemas/DateString"
},
"statuses": {
"oneOf": [
{
"$ref": "#/components/schemas/InvoiceAdjustmentStatusEnumList"
},
{
"$ref": "#/components/schemas/InvoiceAdjustmentStatusEnum"
}
]
},
"date_from": {
"$ref": "#/components/schemas/DateString"
},
"invoice_id": {
"type": "string",
"nullable": false
},
"contract_id": {
"type": "string",
"nullable": false
},
"reporter_id": {
"type": "string",
"nullable": false
},
"contract_types": {
"oneOf": [
{
"$ref": "#/components/schemas/ContractTypeEnumList"
},
{
"$ref": "#/components/schemas/ContractTypeEnum"
}
]
},
"order_direction": {
"$ref": "#/components/schemas/SortDirEnum"
}
},
"x-internal": true,
"description": "This is a model to make it easier to understand and restrict search parameters"
}
InvoiceAdjustmentStatusEnum
{
"enum": [
"approved",
"declined",
"not_payable",
"paid",
"pending",
"processing",
null
],
"type": "string",
"nullable": true,
"x-internal": true,
"description": "status of invoice adjustment"
}
InvoiceAdjustmentStatusEnumList
{
"type": "array",
"items": {
"$ref": "#/components/schemas/InvoiceAdjustmentStatusEnum"
},
"x-internal": true
}
InvoiceAdjustmentToCreate
{
"type": "object",
"required": [
"contract_id",
"date_submitted",
"type",
"description",
"amount"
],
"properties": {
"type": {
"$ref": "#/components/schemas/InvoiceAdjustmentTypeToCreateEnum"
},
"amount": {
"type": "number",
"example": 2500,
"minimum": 0,
"nullable": false,
"description": "Amount to be paid. Must be a positive number."
},
"contract_id": {
"type": "string",
"nullable": false,
"description": "Id of a Deel contract."
},
"description": {
"type": "string",
"example": "Bonus for being awesome.",
"maxLength": 30000,
"description": "Description of the adjustment."
},
"date_submitted": {
"$ref": "#/components/schemas/DateStringRequired"
},
"paymentCycleId": {
"type": "number",
"nullable": true,
"description": "ID of an existing active payment cycle - required if type is \"vat\""
}
},
"x-internal": true,
"description": "Details of invoice adjustment to create."
}
InvoiceAdjustmentToCreateContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/InvoiceAdjustmentToCreate"
}
},
"x-internal": true
}
InvoiceAdjustmentToCreateWithFile
{
"allOf": [
{
"$ref": "#/components/schemas/InvoiceAdjustmentToCreate"
},
{
"$ref": "#/components/schemas/FileObject"
}
],
"x-internal": true
}
InvoiceAdjustmentToUpdate
{
"type": "object",
"required": [
"description"
],
"properties": {
"amount": {
"type": "number",
"minimum": 0,
"nullable": false
},
"description": {
"type": "string",
"nullable": false,
"maxLength": 30000
}
},
"x-internal": true,
"description": "Details of invoice adjustment to update."
}
InvoiceAdjustmentToUpdateContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/InvoiceAdjustmentToUpdate"
}
},
"x-internal": true
}
InvoiceAdjustmentTypeEnum
{
"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",
"x-internal": true,
"description": "Type of invoice adjustment."
}
InvoiceAdjustmentTypeEnumList
{
"type": "array",
"items": {
"$ref": "#/components/schemas/InvoiceAdjustmentTypeEnum"
},
"x-internal": true
}
InvoiceAdjustmentTypeToCreateEnum
{
"enum": [
"bonus",
"commission",
"deduction",
"expense",
"other",
"overtime",
"time_off",
"vat"
],
"type": "string",
"x-internal": true,
"description": "Type of invoice adjustment."
}
InvoiceContract
{
"type": "object",
"required": [
"id",
"contract_type"
],
"properties": {
"id": {
"type": "string",
"example": "rhCTiRd9Mad41RwjsFWw-",
"description": "Unique identifier of a Deel contract."
},
"name": {
"type": "string",
"example": "Lisandro Shanahan-Dynamic Web Specialist",
"description": "Contract title."
},
"contract_type": {
"type": "string",
"example": "pay_as_you_go_time_based",
"description": "Type of Deel contract."
}
}
}
InvoiceContractTypes
{
"enum": [
"pending",
"paid",
"processing",
"canceled",
"skipped",
"failed",
"refunded"
],
"type": "string",
"example": "pending",
"nullable": false,
"description": "invoice's allowed contract types"
}
InvoiceContractor
{
"type": "object",
"title": "Contractor",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"default": ""
}
}
}
InvoiceDownloadContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/InvoiceDownloadObject"
}
},
"x-internal": true
}
InvoiceDownloadLinkContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/InvoiceDownloadObject"
}
},
"x-internal": true
}
InvoiceDownloadObject
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"example": "https://s3URL/letsdeel.com/invoices/12345.pdf",
"nullable": true,
"description": "URL to requested invoice to download."
}
}
}
InvoiceList
{
"type": "array",
"items": {
"$ref": "#/components/schemas/Invoice"
}
}
InvoiceListContainer
{
"type": "object",
"required": [
"data",
"page"
],
"properties": {
"data": {
"$ref": "#/components/schemas/InvoiceList"
},
"page": {
"$ref": "#/components/schemas/PageInfoWithoutCursorNew"
}
},
"x-internal": true
}
InvoiceObject
{
"type": "object",
"properties": {
"rows": {
"$ref": "#/components/schemas/InvoiceList"
}
}
}
InvoiceStatusEnum
{
"enum": [
"pending",
"paid",
"processing",
"canceled",
"skipped",
"failed",
"refunded"
],
"type": "string",
"example": "paid",
"nullable": false,
"description": "Current status of the invoice."
}
InvoiceStatusEnumList
{
"type": "array",
"items": {
"$ref": "#/components/schemas/InvoiceStatusEnum"
},
"description": "filter invoices by current status, show a invoice if its status is in this list"
}
InvoiceTypeEnum
{
"enum": [
"PAYMENT",
"EOR_DEPOSIT",
"EOR_FIRST_PAYMENT",
"EOR_TERMINATION_OFFCYCLE",
"SIGNING_BONUS",
"REFUND_STATEMENT",
"EOR_TAX_RULING",
"GP_DEPOSIT_STATEMENT",
"GP_FUNDING_STATEMENT",
"GLOBAL_PAYROLL_FEES",
"SHIELD_DEPOSIT",
"EOR_MANAGEMENT_FEE"
],
"type": "string",
"example": "GP_DEPOSIT_STATEMENT",
"nullable": false,
"description": "invoice's type"
}
JobTitle
{
"type": "object",
"required": [
"id",
"name"
],
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier",
"description": "Unique identifier for the job title in Deel platform."
},
"name": {
"type": "string",
"example": "3D Artist",
"nullable": false,
"description": "Job title."
}
},
"x-internal": true
}
JobTitleList
{
"type": "array",
"items": {
"$ref": "#/components/schemas/JobTitle"
},
"x-internal": true
}
JobTitleListContainer
{
"type": "object",
"required": [
"data",
"page"
],
"properties": {
"data": {
"$ref": "#/components/schemas/JobTitleList"
},
"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."
}
}
}
},
"x-internal": true
}
LegalEntityArray
{
"type": "array",
"items": {
"$ref": "#/components/schemas/LegalEntityType"
}
}
LegalEntityList
{
"type": "array",
"items": {
"$ref": "#/components/schemas/BasicLegalEntity"
},
"x-internal": true
}
LegalEntityListContainer
{
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/LegalEntityList"
}
},
"x-internal": true
}
LegalEntitySubType
{
"type": "string",
"x-internal": true
}
LegalEntityType
{
"enum": [
"individual",
"company"
],
"type": "string",
"x-internal": true
}
LetterRequest
{
"type": "object",
"required": [
"description",
"type"
],
"properties": {
"type": {
"enum": [
"VISA_APPLICATION_FOR_PERSONAL_TRIP",
"VISA_APPLICATION_FOR_BUSINESS_TRIP",
"VISA_RENEWAL_CERTIFICATE",
"NO_OBJECTION_CERTIFICATE_FOR_TRAVELLING",
"BANK_VERIFICATION_OR_SALARY_CERTIFICATE",
"CUSTOMISED"
],
"type": "string"
},
"description": {
"type": "string",
"minLength": 25,
"description": "Description of the letter (minimum 25 characters)"
},
"includeQRCode": {
"type": "boolean",
"description": "Flag indicating whether to include a QR code"
}
}
}
Manager
{
"type": "object",
"required": [
"value"
],
"properties": {
"value": {
"type": "string",
"example": "b29a5ff0-bdb5-11ed-afa1-0242ac120002",
"description": "Manager's unique identifier."
}
}
}
MaritalStatusEnum
{
"enum": [
"Single",
"Married",
"Widowed",
"Divorced",
"Separated",
"Registered Partnership",
"Common Law"
],
"type": "string",
"x-internal": true
}
Meta
{
"type": "object",
"properties": {
"created": {
"type": "string",
"format": "date-time"
},
"location": {
"type": "string",
"description": "resource location URI"
},
"lastModified": {
"type": "string",
"format": "date-time"
},
"resourceType": {
"enum": [
"User",
"Group"
],
"type": "string"
}
},
"description": "Resource metadata."
}
MetaDataOfContractToCreate
{
"type": "object",
"required": [
"documents_required"
],
"properties": {
"is_main_income": {
"type": "boolean"
},
"documents_required": {
"type": "boolean",
"description": "Require the contractor to upload necessary compliance documents as per their country’s labor laws."
}
},
"x-internal": true,
"description": "Additional custom info about a contract"
}
Milestone
{
"type": "object",
"nullable": false,
"required": [
"amount",
"approval_requested",
"reviewed_by",
"reported_by",
"id",
"title",
"description",
"status",
"created_at"
],
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier",
"description": "Unique identifier for the milestone."
},
"title": {
"type": "string",
"example": "Sprint 1",
"nullable": false,
"description": "Title of milestone."
},
"amount": {
"type": "string",
"example": "900.00",
"description": "Amount to be paid for the milestone."
},
"status": {
"type": "string",
"example": "pending",
"nullable": false,
"description": "Current status of milestone."
},
"created_at": {
"$ref": "#/components/schemas/DateTimeString"
},
"description": {
"type": "string",
"example": "Sprint #1",
"nullable": false,
"description": "Description of milestone."
},
"reported_by": {
"type": "object",
"nullable": false,
"required": [
"id",
"full_name"
],
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier",
"description": "Reporter's unique Deel id."
},
"full_name": {
"type": "string",
"example": "Jane Doe",
"nullable": false,
"description": "Reporter's full name."
}
},
"description": "Milestone creator."
},
"reviewed_by": {
"type": "object",
"nullable": true,
"required": [
"id",
"full_name"
],
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier",
"description": "Reviewer's unique Deel id."
},
"full_name": {
"type": "string",
"example": "Jane Doe",
"nullable": false,
"description": "Reviewer's full name."
}
},
"description": "Reviewer's information."
},
"approval_requested": {
"type": "boolean",
"example": false,
"description": "Indicates if the contractor has requested the approval for the milestone."
}
},
"x-internal": true
}
MilestoneContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/Milestone"
}
},
"x-internal": true
}
MilestoneList
{
"type": "array",
"items": {
"$ref": "#/components/schemas/Milestone"
},
"x-internal": true
}
MilestoneListContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/MilestoneList"
}
},
"x-internal": true
}
MilestoneProperties
{
"type": "object",
"nullable": false,
"required": [
"amount",
"title",
"description"
],
"properties": {
"title": {
"type": "string",
"example": "Sprint 2",
"nullable": false,
"description": "Title of milestone."
},
"amount": {
"type": "string",
"example": "900.00",
"nullable": false,
"description": "Amount to be paid for the milestone."
},
"description": {
"type": "string",
"example": "Sprint #2",
"nullable": false,
"description": "Description of milestone."
}
},
"x-internal": true
}
MilestoneReviewToCreate
{
"type": "object",
"required": [
"status"
],
"properties": {
"reason": {
"type": "string",
"nullable": true
},
"status": {
"enum": [
"approved",
"declined"
],
"type": "string",
"nullable": false
}
},
"x-internal": true
}
MilestoneReviewToCreateContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/MilestoneReviewToCreate"
}
},
"x-internal": true
}
MilestoneReviewsToCreate
{
"type": "object",
"required": [
"status",
"ids"
],
"properties": {
"ids": {
"type": "array",
"items": {
"type": "number",
"nullable": false,
"description": "ID of an existing milestone record"
},
"maxItems": 1000,
"minItems": 1
},
"reason": {
"type": "string",
"nullable": true
},
"status": {
"enum": [
"approved",
"declined"
],
"type": "string",
"nullable": false
}
},
"x-internal": true
}
MilestoneReviewsToCreateContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/MilestoneReviewsToCreate"
}
},
"x-internal": true
}
MilestoneToCreateContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/MilestoneProperties"
}
},
"x-internal": true
}
MilestoneToCreateFormWithFile
{
"allOf": [
{
"$ref": "#/components/schemas/MilestoneProperties"
},
{
"$ref": "#/components/schemas/FileObject"
}
],
"x-internal": true
}
MonthlyPayment
{
"type": "object",
"properties": {
"count": {
"type": "integer",
"description": "The number of monthly payments"
}
},
"description": "Monthly payment details for the user"
}
Name
{
"type": "object",
"required": [
"familyName",
"givenName"
],
"properties": {
"givenName": {
"type": "string",
"example": "Jane",
"description": "User's given name. Also known as first name."
},
"familyName": {
"type": "string",
"example": "Doe",
"description": "User's family name."
}
}
}
NationalityType
{
"type": "string",
"example": "US",
"maxLength": 2,
"minLength": 2,
"x-internal": true
}
NoticePeriod
{
"type": "number",
"default": 0,
"example": 15,
"minimum": 0,
"description": "Days before to notice the termination of contract for eather party."
}
OffCyclePayment
{
"type": "object",
"nullable": false,
"required": [
"id",
"status",
"description",
"date_submitted",
"created_at",
"currency_code",
"amount",
"reported_by"
],
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier"
},
"amount": {
"type": "string",
"example": "200.00",
"nullable": false,
"description": "Amount of off-cycle payment."
},
"status": {
"$ref": "#/components/schemas/InvoiceAdjustmentStatusEnum"
},
"created_at": {
"$ref": "#/components/schemas/DateTimeStringRequired"
},
"description": {
"type": "string",
"example": "Yearly bonus.",
"nullable": false,
"description": "Description of the off-cycle payment entry."
},
"reported_by": {
"type": "object",
"nullable": false,
"required": [
"id",
"full_name"
],
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier",
"description": "Profile id of the creator."
},
"full_name": {
"type": "string",
"example": "John Smith",
"nullable": false,
"description": "Full name of the creator."
}
}
},
"currency_code": {
"$ref": "#/components/schemas/CurrencyCodeRequired"
},
"date_submitted": {
"$ref": "#/components/schemas/DateTimeStringRequired"
}
},
"x-internal": true
}
OffCyclePaymentContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/OffCyclePayment"
}
},
"x-internal": true
}
OffCyclePaymentList
{
"type": "array",
"items": {
"$ref": "#/components/schemas/OffCyclePayment"
},
"x-internal": true
}
OffCyclePaymentListContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/OffCyclePaymentList"
}
},
"x-internal": true
}
OffCyclePaymentToCreate
{
"type": "object",
"nullable": false,
"required": [
"date_submitted",
"amount"
],
"properties": {
"amount": {
"type": "number",
"example": 2500,
"minimum": 0,
"nullable": false,
"description": "Amount to be paid. Must be a positive number."
},
"description": {
"type": "string",
"nullable": false,
"description": "Description of off-cycle payment."
},
"date_submitted": {
"$ref": "#/components/schemas/DateStringRequired"
}
},
"x-internal": true,
"description": "Details of invoice adjustment to create."
}
OffCyclePaymentToCreateContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/OffCyclePaymentToCreate"
}
},
"x-internal": true
}
OffCyclePaymentTypeEnum
{
"enum": [
"offcycle"
],
"type": "string",
"x-internal": true,
"description": "Type for Off-cycle payments"
}
OrganizationList
{
"type": "array",
"items": {
"$ref": "#/components/schemas/BasicOrganization"
},
"x-internal": true
}
OrganizationListContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/OrganizationList"
}
},
"x-internal": true
}
OutputToCreateFileRef
{
"type": "object",
"required": [
"key",
"url"
],
"properties": {
"key": {
"type": "string",
"nullable": false
},
"url": {
"type": "string",
"nullable": false
}
},
"x-internal": true
}
OutputToCreateFileRefContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/OutputToCreateFileRef"
}
},
"x-internal": true
}
PageInfo
{
"type": "object",
"required": [
"cursor",
"total_rows"
],
"properties": {
"cursor": {
"type": "string",
"nullable": false
},
"total_rows": {
"type": "number",
"nullable": false
}
},
"x-internal": true
}
PageInfoWithCursorNew
{
"type": "object",
"required": [
"total_rows",
"items_per_page",
"offset"
],
"properties": {
"cursor": {
"type": "string",
"example": "eyJvZmZzZXQiOjEwMCwibGltaXQiOjEwMCwiZmlsdGVyVHlwZSI6ImFsbCJ9",
"description": "Use for pagination to get next set of records after the given cursor."
},
"offset": {
"type": "number",
"maximum": 999999999,
"minimum": 0,
"nullable": false
},
"total_rows": {
"type": "number",
"nullable": false
},
"items_per_page": {
"type": "number",
"maximum": 99,
"minimum": 1,
"nullable": false
}
},
"x-internal": true
}
PageInfoWithoutCursor
{
"type": "object",
"required": [
"total_rows"
],
"properties": {
"total_rows": {
"type": "number",
"nullable": false
}
},
"x-internal": true
}
PageInfoWithoutCursorNew
{
"type": "object",
"required": [
"total_rows",
"items_per_page",
"offset"
],
"properties": {
"offset": {
"type": "number",
"maximum": 999999999,
"minimum": 0,
"nullable": false
},
"total_rows": {
"type": "number",
"nullable": false
},
"items_per_page": {
"type": "number",
"maximum": 99,
"minimum": 1,
"nullable": false
}
},
"x-internal": true
}
PatchOperation
{
"type": "object",
"required": [
"op"
],
"properties": {
"op": {
"enum": [
"add",
"replace",
"remove"
],
"type": "string"
},
"path": {
"type": "string"
},
"value": {
"oneOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {}
}
],
"description": "corresponding 'value' of that field specified by 'path'"
}
}
}
PatchWebhookRequest
{
"type": "object",
"required": [
"name",
"description",
"status",
"url",
"signing_key",
"events"
],
"properties": {
"url": {
"type": "string",
"example": "https://mywebhook.com/listening",
"description": "Endpoint to receive webhook."
},
"name": {
"type": "string",
"example": "Demo 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. 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."
}
}
}
Payment
{
"type": "object",
"required": [
"id",
"payment_method",
"status",
"payment_currency",
"label",
"paid_at",
"created_at",
"total",
"workers"
],
"properties": {
"id": {
"type": "number",
"example": 12345,
"nullable": false,
"description": "Unique identifier of the payment."
},
"label": {
"type": "string"
},
"total": {
"type": "string",
"example": 1015,
"description": "Total paid."
},
"status": {
"$ref": "#/components/schemas/PaymentStatusEnum"
},
"paid_at": {
"$ref": "#/components/schemas/DateTimeString"
},
"workers": {
"$ref": "#/components/schemas/PaymentWorkerList"
},
"created_at": {
"$ref": "#/components/schemas/DateTimeString"
},
"payment_method": {
"$ref": "#/components/schemas/PaymentMethod"
},
"payment_currency": {
"$ref": "#/components/schemas/CurrencyCode"
}
},
"x-konfig-properties": {
"paid_at": {
"example": "2022-08-25T12:09:34.695Z",
"description": "Timestamp when payment was paid."
},
"created_at": {
"example": "2022-08-25T12:09:34.695Z",
"description": "Timestamp when the record was created."
}
}
}
PaymentBreakDown
{
"type": "object",
"nullable": false,
"properties": {
"date": {
"type": "string",
"example": "2022-10-01T00:59:28.482Z"
},
"team": {
"type": "string",
"example": "Deel Inc."
},
"work": {
"type": "string",
"example": "0.00"
},
"bonus": {
"type": "string",
"example": "0.00"
},
"total": {
"type": "string",
"example": "1000.00",
"description": "Total due."
},
"others": {
"type": "string",
"example": "0.00"
},
"currency": {
"type": "string",
"example": "USD",
"description": "Currency code."
},
"expenses": {
"type": "string",
"example": "0.00"
},
"overtime": {
"type": "string",
"example": "0.00"
},
"pro_rata": {
"type": "string",
"example": "0.00"
},
"approvers": {
"type": "string"
},
"frequency": {
"type": "string",
"example": ""
},
"adjustment": {
"type": "string",
"example": "0.00"
},
"deductions": {
"type": "string",
"example": "0.00"
},
"commissions": {
"type": "string",
"example": "0.00"
},
"approve_date": {
"type": "string"
},
"payment_date": {
"type": "string",
"example": "2022-11-01T17:20:32.837Z",
"description": "Date of payment."
},
"invoice_number": {
"type": "string",
"example": "5069872",
"description": "Invoice number."
},
"processing_fee": {
"type": "string",
"example": "0.00"
},
"receipt_number": {
"type": "string",
"example": "5551621"
},
"contract_country": {
"type": "string",
"example": "US",
"description": "Country of the contract."
},
"contractor_email": {
"type": "string",
"example": "name@email.com",
"description": "Worker's email."
},
"payment_currency": {
"type": "string",
"example": "USD"
},
"contract_start_date": {
"type": "string",
"example": "2020-03-31T10:58:49.780Z",
"description": "Contract start date."
},
"general_ledger_account": {
"type": "string",
"example": ""
},
"total_payment_currency": {
"type": "string",
"example": "1000.00",
"description": "Total in payment currency."
},
"contractor_employee_name": {
"type": "string",
"example": "Jane Doe",
"description": "Worker's name."
},
"contractor_unique_identifier": {
"type": "string",
"example": "12345",
"description": "Worker's unique identifier."
}
}
}
PaymentBreakDownContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PaymentBreakDown"
}
}
}
}
PaymentList
{
"type": "array",
"items": {
"$ref": "#/components/schemas/Payment"
}
}
PaymentListContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/PaymentObject"
}
},
"x-internal": true
}
PaymentMethod
{
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"$ref": "#/components/schemas/PaymentMethodEnum"
}
}
}
PaymentMethodEnum
{
"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"
],
"type": "string",
"nullable": false,
"description": "All the supported payment types"
}
PaymentMethodEnumList
{
"type": "array",
"items": {
"$ref": "#/components/schemas/PaymentMethodEnum"
},
"description": "filter invoices by payment method"
}
PaymentObject
{
"type": "object",
"properties": {
"rows": {
"$ref": "#/components/schemas/PaymentList"
},
"total": {
"type": "number",
"nullable": false
}
}
}
PaymentStatementInitiatedWebhook
{
"type": "object",
"required": [
"billing_invoices",
"invoices"
],
"properties": {
"invoices": {
"type": "array",
"items": {
"type": "number"
}
},
"billing_invoices": {
"type": "array",
"items": {
"type": "number"
}
}
}
}
PaymentStatusEnum
{
"enum": [
"paid",
"processing"
],
"type": "string",
"description": "status of payment"
}
PaymentStatusEnumList
{
"type": "array",
"items": {
"$ref": "#/components/schemas/PaymentStatusEnum"
}
}
PaymentWorker
{
"type": "object",
"title": "The worker for the payment",
"required": [
"name",
"picUrl"
],
"properties": {
"id": {
"type": "number",
"example": 123456,
"description": "Worker's unique id."
},
"name": {
"type": "string",
"default": "",
"example": "Jane Doe",
"description": "Worker's full name."
},
"picUrl": {
"type": "string",
"default": null,
"nullable": true,
"description": "URL to worker's Deel avatar."
},
"contract_id": {
"type": "string",
"nullable": true,
"description": "The worker's Deel contract Id."
}
}
}
PaymentWorkerList
{
"type": "array",
"items": {
"$ref": "#/components/schemas/PaymentWorker"
}
}
PayrollAdjustment
{
"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"
}
}
},
"title": {
"type": "string",
"example": "Your title here",
"description": "The title of the adjustment"
},
"amount": {
"type": "string",
"example": "1234.56",
"description": "The amount of the adjustment"
},
"status": {
"$ref": "#/components/schemas/AdjustmentStatusEnum",
"example": "open",
"description": "The status of the adjustment"
},
"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",
"example": "2023-11-02T00: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"
}
}
}
PayslipDownloadUrl
{
"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"
}
}
}
Payslips
{
"type": "object",
"required": [
"id",
"from",
"to",
"status"
],
"properties": {
"id": {
"type": "string",
"example": "9K1rw5vwkZX2",
"description": "Unique identifier for the payslip."
},
"to": {
"format": "date-time",
"example": "2023-08-31T00:00:00.000Z",
"description": "End date of the payslip."
},
"from": {
"format": "date-time",
"example": "2023-08-01T00:00:00.000Z",
"description": "Start date of the payslip."
},
"status": {
"type": "string",
"example": "PUBLISHED",
"description": "Status of the payslip."
}
},
"x-internal": true
}
PensionEORContractToCreate
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Pension provider id. You can see available pension providers in the country guide endpoint."
},
"contribution": {
"type": "string",
"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."
}
PensionProvider
{
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier",
"description": "Unique identifier of a Pension provider."
},
"name": {
"type": "string",
"example": "US Pension",
"description": "Name of pension provider."
},
"contribution": {
"$ref": "#/components/schemas/Contribution",
"description": "If it is there, you must specify the contribution property when creating an EOR contract."
},
"home_page_url": {
"type": "string",
"example": "https://bit.ly/3uW72fp",
"description": "Pension provider's home page url."
}
},
"description": "Pension provider."
}
PeopleByIdContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"allOf": [
{
"$ref": "#/components/schemas/Employee"
},
{
"type": "object",
"properties": {
"custom_fields": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PeopleCustomField"
}
}
}
}
]
}
}
}
PeopleClientLegalEntity
{
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier",
"description": "The unique identifier for the client legal entity."
},
"name": {
"type": "string",
"description": "The name of the client legal entity."
}
}
}
PeopleContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Employee"
}
},
"page": {
"$ref": "#/components/schemas/PageInfoWithoutCursorNew"
}
}
}
PeopleCustomField
{
"type": "object",
"properties": {
"name": {
"type": "string",
"example": "Job title",
"nullable": false,
"description": "Custom field property name."
},
"value": {
"type": "string",
"example": "Software Engineer II",
"nullable": false,
"description": "Custom field property value."
}
},
"description": "Customized attributes on people (Job title, Project code, etc)."
}
PeopleMe
{
"type": "object",
"properties": {
"id": {
"type": "number",
"description": "Unique identifier for the user profile"
},
"email": {
"type": "string",
"description": "Email address of the user"
},
"user_id": {
"type": "number",
"description": "Unique identifier for the user"
},
"username": {
"type": "string",
"description": "Username of the user"
},
"full_name": {
"type": "string",
"description": "Full name of the user"
},
"last_name": {
"type": "string",
"description": "Last name of the user"
},
"avatar_url": {
"type": "string",
"nullable": true,
"description": "URL of the user's avatar"
},
"first_name": {
"type": "string",
"description": "First name of the user"
},
"middle_name": {
"type": "string",
"nullable": true,
"description": "Middle name of the user"
},
"hris_enabled": {
"type": "boolean",
"nullable": true,
"description": "HRIS feature enabled."
},
"profile_type": {
"$ref": "#/components/schemas/ProfileTypeEnum"
},
"slack_team_id": {
"type": "string",
"nullable": true,
"description": "User's team slack id"
},
"slack_user_id": {
"type": "string",
"nullable": true,
"description": "User's slack id"
},
"client_country": {
"$ref": "#/components/schemas/CountryCodeNulleable"
},
"organization_id": {
"type": "number",
"description": "Unique identifier for the organization"
},
"organization_name": {
"type": "string",
"nullable": true,
"description": "Name of the organization"
},
"contractor_country": {
"$ref": "#/components/schemas/CountryCodeNulleable"
}
},
"description": "People object representing a Deel",
"x-konfig-properties": {}
}
PeoplePayment
{
"type": "object",
"properties": {
"rate": {
"type": "number",
"description": "The payment rate"
},
"scale": {
"type": "string",
"description": "The payment scale (e.g., hourly, weekly, monthly, etc.)"
},
"currency": {
"type": "string",
"description": "The currency code (ISO 4217) for the payment"
},
"contract_name": {
"type": "string",
"description": "The name of the contract associated with the payment"
}
}
}
PeopleSortByEnum
{
"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"
],
"type": "string",
"x-internal": true
}
PeopleTimeOffContainer
{
"type": "object",
"properties": {
"type": {
"enum": [
"VACATION",
"SICK_LEAVE",
"OTHER"
],
"type": "string",
"example": "VACATION",
"description": "Time off type."
},
"reason": {
"type": "string",
"example": "Holiday",
"description": "Description for employee's time off."
},
"end_date": {
"type": "string",
"example": "2022-09-05T00:00:00.000Z",
"description": "End date of employee's time off."
},
"start_date": {
"type": "string",
"example": "2022-09-03T00:00:00.000Z",
"description": "Start date of employee's time off."
},
"attachments": {
"type": "string",
"format": "binary",
"description": "Attachments for employee's time off."
}
}
}
PgoTask
{
"type": "object",
"required": [
"id",
"amount",
"date_submitted",
"description",
"status"
],
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier",
"description": "Unique identifier of the task."
},
"amount": {
"type": "string",
"example": "200",
"nullable": false,
"description": "Fixed rate for this task."
},
"status": {
"$ref": "#/components/schemas/TimesheetStatusEnum"
},
"attachment": {
"$ref": "#/components/schemas/FileAttachmentInfo"
},
"description": {
"type": "string",
"example": "Make the button pop.",
"nullable": false,
"description": "Task description."
},
"date_submitted": {
"$ref": "#/components/schemas/DateStringRequired"
}
},
"x-internal": true
}
PgoTaskReviewsByIdToCreate
{
"type": "object",
"required": [
"status"
],
"properties": {
"reason": {
"type": "string",
"example": "Excited!",
"nullable": true,
"description": "Review comments."
},
"status": {
"enum": [
"approved",
"declined"
],
"type": "string",
"example": "approved",
"nullable": false,
"description": "Review status."
}
},
"x-internal": true
}
PgoTaskReviewsToCreate
{
"type": "object",
"required": [
"status",
"ids"
],
"properties": {
"ids": {
"type": "array",
"items": {
"$ref": "#/components/schemas/UniqueObjectIdentifier",
"description": "ID of an existing timesheet record"
},
"example": [
1234,
1235
],
"maxItems": 1000,
"minItems": 1
},
"reason": {
"type": "string",
"example": "Great work.",
"nullable": true,
"description": "Additional comments with the reivew."
},
"status": {
"enum": [
"approved",
"declined"
],
"type": "string",
"example": "approved",
"nullable": false,
"description": "Review status."
}
},
"x-internal": true
}
PgoTaskToCreate
{
"type": "object",
"required": [
"amount",
"date_submitted",
"description"
],
"properties": {
"amount": {
"type": "string",
"example": "123.45",
"nullable": false,
"minLength": 1,
"description": "Fixed rate for this task."
},
"attachment": {
"$ref": "#/components/schemas/FileAttachmentInfo"
},
"description": {
"type": "string",
"example": "Make the button pop.",
"nullable": true,
"description": "Task description."
},
"date_submitted": {
"$ref": "#/components/schemas/DateStringRequired"
}
},
"x-internal": true
}
PgoTaskToDelete
{
"type": "object",
"properties": {
"description": {
"type": "string",
"nullable": true,
"description": "Description of exclusion."
},
"delete_recurring_report": {
"type": "boolean",
"nullable": true,
"description": "Request to delete recurring report."
}
},
"x-internal": true
}
PremiumResultAdded
{
"type": "object",
"required": [
"id",
"calculated_premium",
"misclassification_guarantee",
"penalties",
"third_party_liabilities"
],
"properties": {
"id": {
"type": "string",
"example": "d3f79ad9-b0b5-4e0d-af2e-ad84435c0acb",
"nullable": false,
"description": "Deel Premium plan id."
},
"penalties": {
"type": "object",
"nullable": false,
"properties": {
"name": {
"type": "string",
"nullable": false,
"description": "Penalties."
},
"description": {
"type": "string",
"nullable": false,
"description": "Get indemnity against tax authority penalties, liabilities and fines."
}
}
},
"calculated_premium": {
"type": "number",
"example": 50,
"nullable": false,
"description": "Cost for Deel Premium."
},
"third_party_liabilities": {
"type": "object",
"nullable": false,
"properties": {
"name": {
"type": "string",
"nullable": false,
"description": "Third-party liabilities."
},
"description": {
"type": "string",
"nullable": false,
"description": "Get indemnity against third parties up to $10k depending on the court's decision."
}
}
},
"misclassification_guarantee": {
"type": "object",
"nullable": false,
"properties": {
"name": {
"type": "string",
"nullable": false,
"description": "Legal costs."
},
"description": {
"type": "string",
"nullable": false,
"description": "Cover your legal defense costs."
}
}
}
},
"x-internal": true
}
PremiumResultAddedContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/PremiumResultAdded"
}
},
"x-internal": true
}
PremiumToAdd
{
"type": "object",
"nullable": false,
"required": [
"agreement_reflects_relation",
"contractor_characteristics"
],
"properties": {
"contractor_characteristics": {
"enum": [
true,
false
],
"type": "boolean",
"example": false,
"nullable": false,
"description": "Workers doing certain jobs may be considered to be employees by law, even if they would otherwise be considered independent contractors under common law. Is the work of this worker characterized as: Apprentice, Trainee, Labourer, Driver, Medical worker, Legal worker, Construction worker or someone working in the fields of Finance/Investment?"
},
"agreement_reflects_relation": {
"enum": [
true,
false
],
"type": "boolean",
"example": true,
"nullable": false,
"description": "Is the Contractor Agreement selected on the Deel Platform perfectly reflecting your organizations relation and actual working practices with the contractor?"
}
},
"x-internal": true
}
PremiumToAddContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/PremiumToAdd"
}
},
"x-internal": true
}
ProRata
{
"type": "object",
"nullable": false,
"properties": {
"rate": {
"type": "number",
"example": 2500,
"minimum": 0,
"nullable": false,
"description": "Rate to be paid."
},
"total": {
"type": "number",
"example": 2500,
"minimum": 0,
"nullable": false,
"description": "Total to be paid."
},
"cycle_end": {
"$ref": "#/components/schemas/DateStringRequired"
},
"daily_rate": {
"type": "number",
"example": 2500,
"minimum": 0,
"nullable": false,
"description": "Daily rate to be paid."
},
"cycle_start": {
"$ref": "#/components/schemas/DateStringRequired"
},
"work_week_end": {
"$ref": "#/components/schemas/WeekDaysEnum"
},
"cycle_work_days": {
"type": "number",
"example": 11,
"minimum": 0,
"nullable": false,
"description": "Total days to be work."
},
"work_week_start": {
"$ref": "#/components/schemas/WeekDaysEnum"
},
"calculation_type": {
"enum": [
"CUSTOM_AMOUNT",
"WORK_DAYS",
"CALENDAR_DAYS",
"FULL_AMOUNT"
],
"type": "string",
"nullable": false,
"description": "Either works days or calendar days"
}
},
"x-internal": true,
"description": "Details of the pro rata for the first payment"
}
ProfileTypeEnum
{
"enum": [
"client",
"contractor",
"icp",
"direct_employee",
"hris_direct_employee",
"service_account"
],
"type": "string",
"x-internal": true
}
PublicId
{
"type": "string",
"format": "uuid",
"example": "00000000-0000-0000-0000-000000000000",
"nullable": true,
"description": "The public UUID of the object"
}
PublicToken
{
"type": "object",
"required": [
"token"
],
"properties": {
"token": {
"type": "string",
"example": "eXampL3.t0Ken",
"description": "Public token."
}
}
}
PublicTokenCreatedContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/PublicToken"
}
},
"x-internal": true
}
RequestBodyToCreatePgoTaskReviewsByIdReviewsContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/PgoTaskReviewsByIdToCreate"
}
},
"x-internal": true
}
RequestBodyToCreatePgoTaskReviewsReviewsContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/PgoTaskReviewsToCreate"
}
},
"x-internal": true
}
RequestCustomVerificationLetterContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/LetterRequest"
}
},
"x-internal": true
}
RequestCustomVerificationLetterWithFile
{
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/LetterRequest"
},
{
"type": "object",
"required": [
"files"
],
"properties": {
"files": {
"type": "array",
"items": {
"$ref": "#/components/schemas/FileObject"
}
}
}
}
]
}
RequesterTimeOff
{
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier"
},
"uuid": {
"type": "string",
"example": "8bf2ee9c-aa43-4d8e-9f6f-ee8b880b3607"
},
"country": {
"type": "string",
"example": "LB"
},
"end_date": {
"type": "string",
"example": "2023-08-04T09:03:31.577Z"
},
"created_at": {
"type": "string",
"example": "2023-08-04T09:03:31.577Z"
},
"updated_at": {
"type": "string",
"example": "2023-08-04T09:03:31.577Z"
},
"worker_type": {
"type": "string",
"example": "hris_direct_employee"
},
"is_part_time": {
"type": "boolean",
"example": false
},
"hris_profile_id": {
"type": "string",
"example": "05ab39e5-1200-4cc1-90bf-0969e02bcf02"
},
"organization_id": {
"type": "number",
"example": 306415
},
"client_profile_id": {
"type": "string",
"example": "08462445-3a37-4d3e-8413-bf28a125dabd"
},
"has_reached_end_date": {
"type": "boolean",
"example": false
},
"part_time_percentage": {
"type": "string",
"example": ""
}
}
}
ResponseBodyForAdjustmentById
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/PayrollAdjustment"
}
},
"x-internal": true
}
ResponseEstimateFirstPayment
{
"type": "object",
"properties": {
"pro_rata": {
"$ref": "#/components/schemas/ProRata"
},
"first_payment_dates": {
"type": "array",
"items": {
"$ref": "#/components/schemas/FirstPaymentDate"
}
}
},
"x-internal": true
}
ResponseEstimateFirstPaymentContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/ResponseEstimateFirstPayment"
}
},
"x-internal": true
}
SalaryFrequencyScaleEnum
{
"enum": [
"monthly",
"quarterly",
"annually",
"specific_month",
"specific_date"
],
"type": "string",
"example": "monthly",
"x-internal": true,
"description": "Scale of the salary frequency."
}
SearchRequest
{
"type": "object",
"properties": {
"count": {
"type": "integer",
"format": "int32",
"description": "page size"
},
"filter": {
"type": "string",
"description": "only support 'userName' or 'email' filter expressions for now"
},
"schemas": {
"type": "array",
"items": {
"enum": [
"urn:ietf:params:scim:api:messages:2.0:SearchRequest"
],
"type": "string"
}
},
"startIndex": {
"type": "integer",
"format": "int32",
"description": "start index (1-based)"
}
}
}
Seniority
{
"type": "object",
"nullable": true,
"required": [
"id",
"name"
],
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier",
"description": "Unique identifier for seniority record"
},
"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"
}
},
"x-internal": true,
"description": "Seniority describes level of expertise at a job e.g. junior"
}
SeniorityList
{
"type": "array",
"items": {
"$ref": "#/components/schemas/SeniorityRequired"
},
"x-internal": true
}
SeniorityListContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/SeniorityList"
}
},
"x-internal": true
}
SeniorityRequired
{
"type": "object",
"required": [
"id",
"name",
"level"
],
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier",
"description": "Unique identifier for seniority record."
},
"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": false,
"description": "Level of seniority level e.g. 2"
}
},
"x-internal": true,
"description": "Seniority describes level of expertise at a job e.g. junior"
}
ServiceProviderConfig
{
"type": "object",
"properties": {
"bulk": {
"$ref": "#/components/schemas/BulkSupported"
},
"etag": {
"$ref": "#/components/schemas/Supported"
},
"sort": {
"$ref": "#/components/schemas/Supported"
},
"patch": {
"$ref": "#/components/schemas/Supported"
},
"filter": {
"$ref": "#/components/schemas/FilterSupported"
},
"schemas": {
"type": "array",
"items": {
"enum": [
"urn:ietf:params:scim:schemas:core:2.0:ServiceProviderConfig"
],
"type": "string"
}
},
"xmlDataFormat": {
"$ref": "#/components/schemas/Supported"
},
"changePassword": {
"$ref": "#/components/schemas/Supported"
},
"authenticationSchemes": {
"$ref": "#/components/schemas/AuthenticationSchemes"
}
}
}
SignaturesOfBasicContract
{
"type": "object",
"required": [
"client_signed_at",
"worker_signature",
"worker_signed_at"
],
"properties": {
"client_signed_at": {
"$ref": "#/components/schemas/DateTimeString"
},
"worker_signature": {
"type": "string",
"example": "Jane Doe",
"nullable": false,
"description": "Worker's signature."
},
"worker_signed_at": {
"$ref": "#/components/schemas/DateTimeString"
}
},
"x-internal": true
}
SignaturesOfContract
{
"type": "object",
"required": [
"client_signature",
"client_signed_at",
"worker_signature",
"worker_signed_at",
"signed_at"
],
"properties": {
"signed_at": {
"$ref": "#/components/schemas/DateTimeString"
},
"client_signature": {
"type": "string",
"description": "normally name of client is used as signature"
},
"client_signed_at": {
"$ref": "#/components/schemas/DateTimeString"
},
"worker_signature": {
"type": "string",
"nullable": false,
"description": "Signatures of client representative."
},
"worker_signed_at": {
"$ref": "#/components/schemas/DateTimeString"
}
},
"x-internal": true
}
SortDirEnum
{
"enum": [
"asc",
"desc"
],
"type": "string",
"x-internal": true
}
StateOfCountry
{
"type": "object",
"required": [
"code",
"name"
],
"properties": {
"code": {
"type": "string",
"example": "NY",
"nullable": false,
"minLength": 1,
"description": "Territory code."
},
"name": {
"type": "string",
"example": "New York",
"nullable": false,
"minLength": 1,
"description": "Territory name."
}
},
"x-internal": true,
"description": "It may be called states, provinces, prefectures or regions, or none at all"
}
Supported
{
"type": "object",
"properties": {
"supported": {
"type": "boolean",
"default": false
}
}
}
TaskCreated
{
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier"
},
"status": {
"$ref": "#/components/schemas/TimesheetStatusEnum"
},
"created": {
"type": "boolean",
"description": "Whether the creation operation was successful."
}
},
"x-internal": true
}
TaskCreatedContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/TaskCreated"
}
},
"x-internal": true
}
TaskList
{
"type": "array",
"items": {
"$ref": "#/components/schemas/PgoTask"
},
"x-internal": true
}
TaskListContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/TaskList"
}
},
"x-internal": true
}
Team
{
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier",
"description": "The unique identifier for the team."
},
"name": {
"type": "string",
"description": "The name of the team."
}
}
}
TeamList
{
"type": "array",
"items": {
"$ref": "#/components/schemas/BasicTeam"
},
"x-internal": true
}
TeamListContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/TeamList"
}
},
"x-internal": true
}
TeamOfBasicContract
{
"type": "object",
"required": [
"id",
"name"
],
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier",
"description": "Unique reference of a team"
},
"name": {
"type": "string",
"nullable": true,
"description": "Name of a team"
}
},
"x-internal": true
}
TeamOfContract
{
"type": "object",
"required": [
"id",
"name"
],
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier",
"description": "Unique reference of a team"
},
"name": {
"type": "string",
"nullable": false,
"description": "Name of a team"
}
},
"x-internal": true
}
TimeoffReview
{
"type": "object",
"required": [
"is_approved"
],
"properties": {
"is_approved": {
"type": "boolean",
"example": true,
"description": "Approve or decline employee's time off request."
},
"denial_reason": {
"type": "string",
"example": "Not allowed for this day.",
"description": "Denial reason for the time off requested."
}
}
}
TimeoffReviewInternal
{
"type": "object",
"required": [
"recipientId",
"status"
],
"properties": {
"reason": {
"type": "string",
"example": "Approved because there are no conflicts.",
"description": "The reason that the chosen status was chosen."
},
"status": {
"enum": [
"APPROVED",
"REJECTED"
],
"type": "string",
"example": "APPROVED",
"description": "The review decision to review the time off request with"
}
}
}
TimeoffToReviewContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/TimeoffReview"
}
},
"x-internal": true
}
TimeoffToReviewInternalContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/TimeoffReviewInternal"
}
},
"x-internal": true
}
TimeoffTypeList
{
"type": "array",
"items": {
"type": "string"
},
"example": [
"VACATION",
"SICK_LEAVE",
"OTHER"
]
}
TimeoffTypeListContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/TimeoffTypeList"
}
},
"x-internal": true
}
TimeoffsAttachments
{
"type": "array",
"items": {
"$ref": "#/components/schemas/TimeoffsAttachmentsItem"
},
"description": "A list of attachments. 2022-09-08 FE only allows for \"SICK LEAVE\""
}
TimeoffsAttachmentsItem
{
"type": "object",
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier"
},
"label": {
"type": "string",
"description": "The file name"
},
"file_extension": {
"type": "string",
"description": "The file name extension"
}
},
"description": "A item in attachments array. 2022-09-08 FE only allows for \"SICK LEAVE\""
}
TimeoffsProfile
{
"type": "object",
"required": [
"id",
"name",
"profile_type"
],
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier"
},
"name": {
"type": "string",
"example": "Mr. Rogers"
},
"pic_url": {
"allOf": [
{
"$ref": "#/components/schemas/UrlType"
}
],
"example": "https://media.letsdeel.com/avatar/2ROng8m5?q=1648722955603",
"nullable": true,
"description": "Avatar or selfie."
},
"is_employee": {
"type": "boolean",
"description": "Only valid for requester. True if requester is an employee."
},
"profile_type": {
"$ref": "#/components/schemas/ProfileTypeEnum"
}
},
"x-konfig-properties": {
"profile_type": {
"example": "employee"
}
}
}
TimeoffsStatusEnum
{
"enum": [
"REQUESTED",
"APPROVED",
"REJECTED"
],
"type": "string"
}
TimeoffsTypeEnum
{
"enum": [
"VACATION",
"SICK_LEAVE",
"OTHER"
],
"type": "string"
}
Timesheet
{
"allOf": [
{
"$ref": "#/components/schemas/BasicTimesheet"
},
{
"$ref": "#/components/schemas/TimesheetApproversContainer"
}
],
"x-internal": true
}
TimesheetAccountingRefs
{
"type": "array",
"items": {
"type": "object",
"nullable": false,
"required": [
"integration"
],
"properties": {
"integration": {
"type": "string",
"nullable": false
},
"mapping_category": {
"type": "object",
"required": [
"id",
"name"
],
"properties": {
"id": {
"type": "string",
"nullable": false
},
"name": {
"type": "string",
"nullable": false
}
}
}
}
},
"nullable": true,
"x-internal": true
}
TimesheetApprover
{
"type": "object",
"required": [
"full_name",
"email",
"approved"
],
"properties": {
"email": {
"type": "string"
},
"approved": {
"type": "boolean"
},
"full_name": {
"type": "string"
}
},
"x-internal": true
}
TimesheetApproverList
{
"type": "array",
"items": {
"$ref": "#/components/schemas/TimesheetApprover"
},
"x-internal": true
}
TimesheetApproversContainer
{
"type": "object",
"required": [
"approvers"
],
"properties": {
"approvers": {
"$ref": "#/components/schemas/TimesheetApproverList"
}
},
"x-internal": true
}
TimesheetContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/Timesheet"
}
},
"x-internal": true
}
TimesheetIdItems
{
"type": "array",
"items": {
"oneOf": [
{
"type": "number"
},
{
"type": "string"
}
],
"description": "ID of an existing timesheet record"
},
"maxItems": 1000,
"minItems": 1,
"nullable": false,
"x-internal": true
}
TimesheetList
{
"type": "array",
"items": {
"$ref": "#/components/schemas/BasicTimesheet"
},
"x-internal": true
}
TimesheetListContainer
{
"type": "object",
"required": [
"data",
"page"
],
"properties": {
"data": {
"$ref": "#/components/schemas/TimesheetList"
},
"page": {
"$ref": "#/components/schemas/PageInfoWithoutCursor"
}
},
"x-internal": true
}
TimesheetReviewToCreate
{
"type": "object",
"required": [
"status"
],
"properties": {
"reason": {
"type": "string",
"nullable": true
},
"status": {
"enum": [
"approved",
"declined"
],
"type": "string",
"nullable": false
}
},
"x-internal": true
}
TimesheetReviewToCreateContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/TimesheetReviewToCreate"
}
},
"x-internal": true
}
TimesheetReviewsToCreate
{
"type": "object",
"required": [
"status",
"ids"
],
"properties": {
"ids": {
"$ref": "#/components/schemas/TimesheetIdItems"
},
"reason": {
"type": "string",
"nullable": true
},
"status": {
"enum": [
"approved",
"declined"
],
"type": "string",
"nullable": false
}
},
"x-internal": true
}
TimesheetReviewsToCreateContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/TimesheetReviewsToCreate"
}
},
"x-internal": true
}
TimesheetSearchContainer
{
"type": "object",
"properties": {
"limit": {
"type": "string",
"default": "10",
"pattern": "^\\d{1,5}$",
"nullable": false,
"maxLength": 5,
"description": "Return a page of results with given number of records."
},
"types": {
"oneOf": [
{
"$ref": "#/components/schemas/TimesheetTypeEnumList"
},
{
"$ref": "#/components/schemas/TimesheetTypeEnum"
}
]
},
"offset": {
"type": "string",
"default": "10",
"pattern": "^\\d{1,5}$",
"nullable": false,
"maxLength": 5
},
"date_to": {
"$ref": "#/components/schemas/DateString"
},
"statuses": {
"oneOf": [
{
"$ref": "#/components/schemas/TimesheetStatusEnumList"
},
{
"$ref": "#/components/schemas/TimesheetStatusEnum"
}
]
},
"date_from": {
"$ref": "#/components/schemas/DateString"
},
"invoice_id": {
"type": "string",
"pattern": "^\\d+$",
"nullable": false,
"maxLength": 10
},
"contract_id": {
"type": "string",
"nullable": false
},
"reporter_id": {
"type": "string",
"pattern": "^\\d+$",
"nullable": false,
"maxLength": 10
},
"contract_types": {
"oneOf": [
{
"$ref": "#/components/schemas/ContractTypeEnumList"
},
{
"$ref": "#/components/schemas/ContractTypeEnum"
}
]
},
"order_direction": {
"$ref": "#/components/schemas/SortDirEnum"
}
},
"x-internal": true,
"description": "This is a model to make it easier to understand and restrict search parameters"
}
TimesheetSharedProperties
{
"type": "object",
"required": [
"contract_id",
"quantity",
"date_submitted",
"description"
],
"properties": {
"quantity": {
"type": "number",
"example": 2,
"minimum": 0.01,
"nullable": false,
"description": "This is based on the scale of work statement of the associated contract"
},
"contract_id": {
"type": "string",
"nullable": false,
"description": "Id of a Deel contract."
},
"description": {
"type": "string",
"default": "",
"nullable": false
},
"date_submitted": {
"$ref": "#/components/schemas/DateStringRequired"
}
},
"x-internal": true,
"description": "Details of the timesheet to create. Both a client or a contractor may create a timesheet."
}
TimesheetStatusEnum
{
"enum": [
"approved",
"declined",
"not_payable",
"paid",
"pending",
"processing",
null
],
"type": "string",
"example": "approved",
"nullable": true,
"x-internal": true,
"description": "Status of this entry."
}
TimesheetStatusEnumList
{
"type": "array",
"items": {
"$ref": "#/components/schemas/TimesheetStatusEnum"
},
"x-internal": true
}
TimesheetToCreateContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/TimesheetSharedProperties"
}
},
"x-internal": true
}
TimesheetToCreateWithFile
{
"allOf": [
{
"$ref": "#/components/schemas/TimesheetSharedProperties"
},
{
"$ref": "#/components/schemas/FileObject"
}
],
"x-internal": true
}
TimesheetToUpdate
{
"type": "object",
"required": [
"quantity",
"description"
],
"properties": {
"quantity": {
"type": "number",
"nullable": false
},
"description": {
"type": "string",
"nullable": false
}
},
"x-internal": true,
"description": "Details of the timesheet to update. Both a client or a contractor may update a timesheet."
}
TimesheetToUpdateContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/TimesheetToUpdate"
}
},
"x-internal": true
}
TimesheetTypeEnum
{
"enum": [
"work"
],
"type": "string",
"x-internal": true,
"description": "Type for timesheet"
}
TimesheetTypeEnumList
{
"type": "array",
"items": {
"$ref": "#/components/schemas/TimesheetTypeEnum"
},
"x-internal": true
}
UniqueObjectIdentifier
{
"type": "string",
"example": "00000000-0000-0000-0000-000000000000",
"description": "Unique identifier of this resource."
}
UpdateWorkerDepartment
{
"type": "object",
"required": [
"department_id"
],
"properties": {
"department_id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier"
}
}
}
UpdateWorkerDepartmentContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/UpdateWorkerDepartment"
}
},
"x-internal": true
}
UpdateWorkerWorkingLocation
{
"type": "object",
"required": [
"working_location_id"
],
"properties": {
"working_location_id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier"
}
}
}
UpdateWorkerWorkingLocationContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/UpdateWorkerWorkingLocation"
}
},
"x-internal": true
}
UploadEmployeeComplianceDocumentContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"type": "object",
"properties": {
"success": {
"type": "boolean",
"example": true,
"description": "A flag denoting if the file upload was successful."
}
}
}
},
"x-internal": true
}
UploadEmployeeComplianceDocumentFileContainer
{
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"format": "binary",
"description": "The employee compliance document to upload."
}
},
"x-internal": true
}
UrlType
{
"type": "string",
"format": "uri",
"nullable": true,
"minLength": 5,
"x-internal": true
}
UrlTypeRequired
{
"type": "string",
"format": "uri",
"nullable": false,
"minLength": 5,
"x-internal": true
}
User
{
"type": "object",
"required": [
"emails",
"name",
"schemas",
"userName",
"meta"
],
"properties": {
"id": {
"type": "string",
"example": "97b727b8-bdb5-11ed-afa1-0242ac120002",
"description": "Unique resource id (UUID) defined by Deel."
},
"meta": {
"type": "object",
"properties": {
"created": {
"type": "string",
"example": "2023-02-04T18:03:18.796Z",
"description": "Time at which the resource was created."
},
"version": {
"type": "string",
"example": "W/a330bc54f0671c9",
"description": "Latest version of resource."
},
"location": {
"type": "string",
"example": "https://api.letsdeel.com/scim/v2/Users/97b727b8-bdb5-11ed-afa1-0242ac120002",
"description": "API endpoint to retrieve resource."
},
"lastModified": {
"type": "string",
"example": "2023-02-04T18:03:18.796Z",
"description": "Time at which the resource was last modified."
},
"resourceType": {
"type": "string",
"example": "User",
"description": "Resource type."
}
}
},
"name": {
"$ref": "#/components/schemas/Name"
},
"title": {
"type": "string",
"example": "Software Engineer",
"description": "Job title."
},
"active": {
"type": "boolean",
"default": false,
"description": "Hiring status. True if user employment is active. False if employment is not active."
},
"emails": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Email"
}
},
"schemas": {
"type": "array",
"items": {
"enum": [
"urn:ietf:params:scim:schemas:core:2.0:User"
],
"type": "string"
}
},
"userName": {
"type": "string",
"example": "work.email@example.com",
"description": "User's work email."
},
"userType": {
"type": "string",
"example": "employee",
"description": "User type."
},
"urn:ietf:params:scim:schemas:extension:2.0:User": {
"$ref": "#/components/schemas/UserExtension"
},
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
"$ref": "#/components/schemas/EnterpriseUser"
}
}
}
UserDeleteUserResponse
{
"type": "object",
"example": {},
"properties": {}
}
UserExtension
{
"type": "object",
"properties": {
"state": {
"type": "string",
"example": "CO",
"nullable": true,
"description": "State code."
},
"country": {
"type": "string",
"example": "US",
"nullable": true,
"description": "Country code."
},
"endDate": {
"type": "string",
"format": "date-time",
"description": "End date of employment."
},
"startDate": {
"type": "string",
"format": "date-time",
"description": "Start date of employment."
},
"employments": {
"type": "array",
"items": {
"type": "object",
"nullable": true,
"properties": {
"state": {
"type": "string",
"example": "CO",
"nullable": true,
"description": "State code."
},
"title": {
"type": "string",
"example": "International Factors Developer",
"nullable": true,
"description": "Contract title"
},
"active": {
"type": "boolean",
"default": false,
"example": true,
"description": "Indicates if the contract is currently active."
},
"country": {
"type": "string",
"example": "US",
"nullable": true,
"description": "Country code."
},
"startDate": {
"type": "string",
"example": "2023-04-26",
"nullable": true,
"description": "Contract start date."
},
"contractId": {
"type": "string",
"example": "av4bt56",
"description": "Contract identifier."
},
"contractType": {
"type": "string",
"example": "eor",
"nullable": true,
"description": "Type of Deel contract"
}
}
},
"nullable": true
}
}
}
UserPatch
{
"type": "object",
"required": [
"Operations",
"schemas"
],
"properties": {
"schemas": {
"type": "array",
"items": {
"enum": [
"urn:ietf:params:scim:api:messages:2.0:PatchOp"
],
"type": "string"
}
},
"Operations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PatchOperation"
},
"description": "patch operations list"
}
}
}
UserResponse
{
"allOf": [
{
"$ref": "#/components/schemas/User"
},
{
"type": "object",
"properties": {
"meta": {
"$ref": "#/components/schemas/Meta"
}
}
}
]
}
UserSearchResponse
{
"type": "object",
"properties": {
"schemas": {
"type": "array",
"items": {
"enum": [
"urn:ietf:params:scim:api:messages:2.0:ListResponse"
],
"type": "string"
}
},
"Resources": {
"type": "array",
"items": {
"$ref": "#/components/schemas/UserResponse"
},
"description": "User list."
},
"startIndex": {
"type": "integer",
"format": "int64",
"description": "Start index of the current page."
},
"itemsPerPage": {
"type": "integer",
"format": "int64"
},
"totalResults": {
"type": "integer",
"format": "int64"
}
}
}
UsersParamLimit
{
"type": "string",
"default": "50",
"maximum": 100,
"minimum": 0,
"pattern": "^[0-9][0-9]?$|^100$",
"nullable": false,
"description": "Maximum number of records to return. This is supposed to be an integer but query parameters are string. 1 to 100."
}
UsersParamOffset
{
"type": "string",
"default": "1",
"minimum": 1,
"pattern": "^[1-9]\\d{0,14}$",
"nullable": false,
"description": "Offset/index of record for the next page of records to return (1 to 999999999999999)."
}
UsersSearchForm
{
"type": "object",
"properties": {
"count": {
"$ref": "#/components/schemas/UsersParamLimit"
},
"startIndex": {
"$ref": "#/components/schemas/UsersParamOffset"
}
},
"description": "Convenient model to encapsulate query parameters to get a list of users."
}
ValidationType
{
"type": "object",
"properties": {
"type": {
"$ref": "#/components/schemas/ValidationTypeEnum",
"description": "Validation type."
},
"value": {
"oneOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"example": 2,
"description": "Validation value."
}
},
"x-internal": true
}
ValidationTypeEnum
{
"enum": [
"MIN_LENGTH",
"MAX_LENGTH",
"REGEXP"
],
"type": "string"
}
WebhookEventTypeListResponse
{
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WebhookEventTypeResponse"
}
}
}
}
WebhookEventTypeResponse
{
"type": "object",
"required": [
"id",
"module_name",
"module_label",
"name",
"description"
],
"properties": {
"id": {
"type": "number",
"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",
"description": "Time at which the event type was created."
},
"updated_at": {
"type": "string",
"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."
}
}
}
WebhookItem
{
"type": "object",
"required": [
"name",
"description",
"status",
"url",
"signing_key",
"api_version",
"events",
"id",
"created_at",
"updated_at"
],
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier",
"description": "Webhook subscription's unique identifier."
},
"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 Dell 3rd party apps"
},
"status": {
"enum": [
"enabled",
"disabled"
],
"type": "string",
"example": "enabled",
"description": "Status of webhook."
},
"created_at": {
"type": "string",
"description": "Time at which the webhook was created."
},
"updated_at": {
"type": "string",
"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."
}
}
}
WebhookItemResponse
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/WebhookItem"
}
}
}
WebhookListResponse
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WebhookItem"
}
}
}
}
WeekDaysEnum
{
"enum": [
"Sunday",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
],
"type": "string",
"example": "Monday",
"x-internal": true,
"description": "Days of the week."
}
WorkStatementCycleEndTypeEnum
{
"enum": [
"DAY_OF_WEEK",
"DAY_OF_LAST_WEEK",
"DAY_OF_MONTH"
],
"type": "string",
"example": "DAY_OF_WEEK",
"x-internal": true,
"description": "Cycle end can be weekly 1-7 (Monday = 1) or monthly 1-31."
}
WorkStatementCycleScaleEnum
{
"enum": [
"weekly",
"monthly",
"biweekly",
"semimonthly",
"calendar-month"
],
"type": "string",
"example": "monthly",
"x-internal": true,
"description": "Scale of the invoice cycle."
}
WorkStatementPaymentDueTypeEnum
{
"enum": [
"REGULAR",
"WITHIN_MONTH"
],
"type": "string",
"default": "REGULAR",
"example": "REGULAR",
"x-internal": true,
"description": "Type of payment due. If the payment is due on the last day of month, enter 'WITHIN_MONTH'."
}
WorkStatementScaleEnum
{
"enum": [
"hourly",
"daily",
"weekly",
"monthly",
"biweekly",
"semimonthly",
"custom"
],
"type": "string",
"example": "daily",
"x-internal": true,
"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."
}
WorkStatementScaleEnumOptional
{
"enum": [
"hourly",
"daily",
"weekly",
"monthly",
"biweekly",
"semimonthly",
"custom"
],
"type": "string",
"example": "daily",
"nullable": true,
"x-internal": true,
"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."
}
WorkerBankAccountInfo
{
"type": "object",
"allOf": [
{
"$ref": "#/components/schemas/WorkerBankAccountToAdd"
},
{
"type": "object",
"required": [
"id",
"created_at",
"updated_at"
],
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier"
},
"status": {
"type": "string",
"description": "Current status of bank account"
},
"created_at": {
"$ref": "#/components/schemas/DateTimeStringRequired"
},
"updated_at": {
"$ref": "#/components/schemas/DateTimeStringRequired"
}
}
}
]
}
WorkerBankAccountToAdd
{
"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": "12345678901",
"description": "Bank account type."
},
"country_code": {
"type": "string",
"example": "US",
"description": "The country code of the user."
},
"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."
}
}
}
WorkerBankAccountsInfoContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WorkerBankAccountInfo"
}
}
}
}
WorkerEmailType
{
"type": "string",
"format": "email",
"nullable": true,
"minLength": 5,
"x-internal": true,
"description": "Worker's email address."
}
WorkerLegalEntity
{
"type": "object",
"required": [
"type",
"personal_name",
"registration_number"
],
"properties": {
"type": {
"$ref": "#/components/schemas/LegalEntityType"
},
"personal_name": {
"type": "string"
},
"registration_number": {
"type": "string"
}
},
"x-internal": true
}
WorkerOfBasicContract
{
"type": "object",
"nullable": true,
"required": [
"id",
"full_name",
"email"
],
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier"
},
"email": {
"$ref": "#/components/schemas/EmailType"
},
"image": {
"$ref": "#/components/schemas/UrlType"
},
"full_name": {
"type": "string",
"nullable": false,
"minLength": 1
},
"alternate_email": {
"$ref": "#/components/schemas/AlternateEmailList"
}
},
"x-internal": true
}
WorkerOfContract
{
"type": "object",
"nullable": true,
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier",
"nullable": false
},
"email": {
"$ref": "#/components/schemas/EmailType"
},
"image": {
"type": "string",
"format": "url"
},
"country": {
"type": "string",
"example": "US",
"nullable": true,
"description": "Worker's country (location not nationality)"
},
"full_name": {
"type": "string",
"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": {
"$ref": "#/components/schemas/WorkerLegalEntity"
},
"date_of_birth": {
"$ref": "#/components/schemas/DateTimeString"
},
"expected_email": {
"$ref": "#/components/schemas/WorkerEmailType"
},
"alternate_email": {
"$ref": "#/components/schemas/AlternateEmailList"
}
},
"x-internal": true
}
WorkerTermination
{
"type": "object",
"required": [
"id",
"last_date_of_work"
],
"properties": {
"id": {
"type": "string"
},
"last_date_of_work": {
"$ref": "#/components/schemas/DateTimeStringRequired"
}
}
}
WorkerTerminationBody
{
"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": {
"type": "object",
"oneOf": [
{
"required": [
"currency",
"time_unit",
"amount",
"type"
],
"properties": {
"type": {
"enum": [
"TIME"
],
"type": "string",
"example": "TIME",
"description": "The type of severance, either in cash or time off."
},
"amount": {
"type": "number",
"example": 100,
"description": "The amount of severance, specified in the designated currency."
},
"currency": {
"$ref": "#/components/schemas/CurrencyCode"
},
"time_unit": {
"enum": [
"DAYS",
"WEEKS",
"MONTHS"
],
"type": "string",
"example": "MONTHS",
"description": "The unit of time for severance."
}
}
},
{
"not": {
"required": [
"time_unit"
]
},
"required": [
"currency",
"amount",
"type"
],
"properties": {
"type": {
"enum": [
"CASH"
],
"type": "string",
"example": "CASH",
"description": "The type of severance, either in cash or time off."
},
"amount": {
"type": "number",
"example": 100,
"description": "The amount of severance, specified in the designated currency."
},
"currency": {
"$ref": "#/components/schemas/CurrencyCode"
}
}
}
]
},
"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-31T00:00:00.000Z",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "The preferred end date for terminating the worker's engagement."
},
"last_date_of_work": {
"type": "string",
"format": "date",
"example": "2023-12-31T00:00:00.000Z",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "The effective termination date of the worker's employment."
}
}
}
WorkerTerminationBodyContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/WorkerTerminationBody"
}
},
"x-internal": true
}
WorkerTerminationContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/WorkerTermination"
}
}
}
WorkingLocations
{
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name"
],
"properties": {
"id": {
"$ref": "#/components/schemas/UniqueObjectIdentifier"
},
"name": {
"type": "string",
"example": "Some locations"
}
}
}
}
WorkingLocationsContainer
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"$ref": "#/components/schemas/WorkingLocations"
}
}
}