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 |
|---|---|---|---|---|
| adjustment_id | path | optional | string | Adjustment id. |
Adjustment object that needs to be updated
application/json
AdjustmentToUpdateContainer
| Property | Type | Required |
|---|---|---|
| data | object | required |
| └ file | string | optional |
| └ title | string | optional |
| └ amount | object | optional |
| └ description | string | optional |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
PATCH /adjustments/{adjustment_id}
/candidates/{candidate_id}
Update an existed candidate.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| candidate_id | path | optional | string | Candidate id. |
Update an existed candidate
application/json
CandidateToPatchContainer
| Property | Type | Required |
|---|---|---|
| data | object | required |
| └ link | string | optional |
| string | optional | |
| └ state | string | optional |
| └ status | string | required |
| └ country | string | optional |
| └ job_title | string | optional |
| └ last_name | string | optional |
| └ first_name | string | optional |
| └ start_date | string | optional |
| └ nationality | string | optional |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
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 |
|---|---|---|---|---|
| contract_id | path | optional | string | Deel contract id. |
Contract object that needs to be created
application/json
InputToPatchContractExternalId
| Property | Type | Required |
|---|---|---|
| data | object | required |
| └ external_id | string | required |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
PATCH /contracts/{contract_id}
/gp/workers/{worker_id}/address
Update the address of a Global Payroll employee.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| worker_id | path | optional | string | Unique identifier for a worker. |
The desired address of the Global Payroll employee
application/json
GPEmployeeAddressToUpdateContainer
| Property | Type | Required |
|---|---|---|
| data | object | required |
| └ zip | string | optional |
| └ city | string | optional |
| └ street | string | optional |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
PATCH /gp/workers/{worker_id}/address
/gp/workers/{worker_id}/banks/{bank_id}
Modify bank account for an employee.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| worker_id | path | optional | string | Unique identifier for a worker. |
| bank_id | path | optional | string | Bank Account id. |
Request body to add new bank account for employee
application/json
AddWorkerBankAccountContainer
| Property | Type | Required |
|---|---|---|
| data | object | required |
| └ city | string | optional |
| └ iban | string | optional |
| string | optional | |
| └ phone | string | optional |
| └ postal | string | optional |
| └ tax_id | string | optional |
| └ bank_code | string | optional |
| └ bank_name | string | optional |
| └ full_name | string | optional |
| └ swift_bic | string | optional |
| └ rib_number | string | optional |
| └ branch_code | string | optional |
| └ account_type | string | optional |
| └ country_code | string | optional |
| └ address_line1 | string | optional |
| └ address_line2 | string | optional |
| └ currency_code | string | optional |
| └ original_name | string | optional |
| └ account_number | string | optional |
| └ province_state | string | optional |
| └ …3 more | object | optional |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
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 |
|---|---|---|---|---|
| worker_id | path | optional | string | Unique identifier for a worker. |
The desired compensation of the Global Payroll employee
application/json
GPEmployeeCompensationToUpdateContainer
| Property | Type | Required |
|---|---|---|
| data | object | required |
| └ scale | string | required |
| └ salary | number | required |
| └ effective_date | string | required |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
PATCH /gp/workers/{worker_id}/compensation
/gp/workers/{worker_id}/employee-information
Update Global Payroll employee information.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| worker_id | path | optional | string | Unique identifier for a worker. |
The desired information of the Global Payroll employee
application/json
GPEmployeeInformationToUpdateContainer
| Property | Type | Required |
|---|---|---|
| data | object | required |
| └ gender | string | optional |
| └ last_name | string | optional |
| └ first_name | string | optional |
| └ middle_name | string | optional |
| └ date_of_birth | string | optional |
| └ marital_status | string | optional |
| └ employee_number | string | optional |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
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 |
|---|---|---|---|---|
| worker_id | path | optional | string | Unique identifier for a worker. |
The desired PTO policy of the Global Payroll employee
application/json
GPEmployeePTOToUpdateContainer
| Property | Type | Required |
|---|---|---|
| data | object | required |
| └ yearly_allowance | string | required |
| └ accrual_start_date | string | required |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
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 |
|---|---|---|---|---|
| invoice_adjustment_id | path | optional | number | ID of an existing invoice adjustment |
InvoiceAdjustment object that needs to be updated
application/json
InvoiceAdjustmentToUpdateContainer
| Property | Type | Required |
|---|---|---|
| data | object | required |
| └ amount | number | optional |
| └ description | string | required |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
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 |
|---|---|---|---|---|
| employee_id | path | optional | string | Unique identifier for an employee in Deel. |
| bank_id | path | optional | string | Bank Account id. |
Bank Account object that needs to be modified
application/json
BankAccountToAddContainer
| Property | Type | Required |
|---|---|---|
| data | array | required |
| └ key | string | required |
| └ value | string | required |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
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 |
|---|---|---|---|---|
| timeoff_id | path | optional | string | Unique identifier for a time-off in Deel. |
| worker_id | path | optional | string | Unique identifier for a worker. |
Detail of the time off that will be updated.
multipart/form-data
PeopleTimeOffContainer
| Property | Type | Required |
|---|---|---|
| type | string | optional |
| reason | string | optional |
| end_date | string | optional |
| start_date | string | optional |
| attachments | string | optional |
successful operation
Operation failed.
Operation failed.
Operation failed.
Operation failed.
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 |
|---|---|---|---|---|
| timeoff_id | path | optional | string | Unique identifier for a time-off in Deel. |
| worker_id | path | optional | string | Unique identifier for a worker. |
Timeoff acceptance approve or decline.
application/json
TimeoffToReviewInternalContainer
| Property | Type | Required |
|---|---|---|
| data | object | required |
| └ reason | string | optional |
| └ status | string | required |
successful operation
Operation failed.
Operation failed.
Operation failed.
Operation failed.
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 |
|---|---|---|---|---|
| timeoff_id | path | optional | string | Time off Id |
Timeoff acceptance approve or decline.
application/json
TimeoffToReviewContainer
| Property | Type | Required |
|---|---|---|
| data | object | required |
| └ is_approved | boolean | required |
| └ denial_reason | string | optional |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
PATCH /time-offs/{timeoff_id}/review
/timesheets/{timesheet_id}
Update a single timesheet entry.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| timesheet_id | path | optional | number | ID of an existing timesheet |
Timesheet object that needs to be updated
application/json
TimesheetToUpdateContainer
| Property | Type | Required |
|---|---|---|
| data | object | required |
| └ quantity | number | required |
| └ description | string | required |
Successful operation.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
PATCH /timesheets/{timesheet_id}
/Users/{id}
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | user id |
patch operations list
application/json
UserPatch
| Property | Type | Required |
|---|---|---|
| schemas | array | required |
| Operations | array | required |
| └ op | string | required |
| └ path | string | optional |
| └ value | object | optional |
application/scim+json
UserPatch
| Property | Type | Required |
|---|---|---|
| schemas | array | required |
| Operations | array | required |
| └ op | string | required |
| └ path | string | optional |
| └ value | object | optional |
successfully partially updated user
bad request
authorization failure
permissions denied
not found
duplicate email
too many requests
internal server error
PATCH /Users/{id}
/webhooks/{id}
Edit a webhook subscription.
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | required | string | — |
application/json
PatchWebhookRequest
| Property | Type | Required |
|---|---|---|
| url | string | required |
| name | string | required |
| events | array | required |
| status | string | required |
| api_version | string | optional |
| description | string | required |
| signing_key | string | required |
successful operation
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
Operation failed.
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"
}
| Version | Endpoints | Schemas | Ingested | Status |
|---|---|---|---|---|
| 1.25.0 | 153 | 508 | 2026-05-11 | current |
| 1.25.0 | 153 | 508 | 2026-04-16 |