openapi: 3.1.0 info: title: Endpoints subpackage_workerInformation API version: 1.0.0 servers: - url: https://api.letsdeel.com/rest/v2 - url: https://api-staging.letsdeel.com/rest/v2 tags: - name: subpackage_workerInformation paths: /gp/workers/{worker_id}/banks: post: operationId: create-gp-worker-bank summary: Add bank account description: "Add a new bank account for an employee.\n **Token scopes**: `people:write`" tags: - subpackage_workerInformation parameters: - name: worker_id in: path description: Unique identifier for a worker in UUID format. required: true schema: type: string format: uuid - name: Authorization in: header description: "## Authentication\nThe Deel API uses bearer tokens to authenticate requests. All API calls must be made over HTTPS — calls over plain HTTP or without authentication will fail.\n\n```curl\ncurl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \\\n -H 'Authorization: Bearer YOUR-TOKEN-HERE'\n```\n\n[Learn more about authentication](/api/authentication)\n" required: true schema: type: string responses: '201': description: Successful operation. content: application/json: schema: $ref: '#/components/schemas/worker-information_createGPWorkerBank_Response_201' '400': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '401': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '403': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '404': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '500': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' requestBody: description: Request body containing the details of the bank account to be added. content: application/json: schema: type: object properties: data: $ref: '#/components/schemas/GpWorkersWorkerIdBanksPostRequestBodyContentApplicationJsonSchemaData' required: - data get: operationId: get-gp-worker-banks summary: Retrieve bank accounts description: "Retrieve all bank accounts for an employee.\n **Token scopes**: `people:read`" tags: - subpackage_workerInformation parameters: - name: worker_id in: path description: Unique identifier for a worker. required: true schema: type: string - name: Authorization in: header description: "## Authentication\nThe Deel API uses bearer tokens to authenticate requests. All API calls must be made over HTTPS — calls over plain HTTP or without authentication will fail.\n\n```curl\ncurl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \\\n -H 'Authorization: Bearer YOUR-TOKEN-HERE'\n```\n\n[Learn more about authentication](/api/authentication)\n" required: true schema: type: string responses: '200': description: Successful operation. content: application/json: schema: $ref: '#/components/schemas/worker-information_getGPWorkerBanks_Response_200' '400': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '401': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '403': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '404': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '500': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' /gp/workers/contracts/{contract_id}/additional-information: post: operationId: create-gp-worker-additional-information summary: Add GP Workers Additional Information description: "Use this endpoint to add additional information to a GP worker's contract. Provide the extra fields in the request body under 'data' for the contract identified by 'contract_id'.\n **Token scopes**: `people:write`" tags: - subpackage_workerInformation parameters: - name: contract_id in: path description: The unique public identifier of the contract. required: true schema: type: string - name: Authorization in: header description: "## Authentication\nThe Deel API uses bearer tokens to authenticate requests. All API calls must be made over HTTPS — calls over plain HTTP or without authentication will fail.\n\n```curl\ncurl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \\\n -H 'Authorization: Bearer YOUR-TOKEN-HERE'\n```\n\n[Learn more about authentication](/api/authentication)\n" required: true schema: type: string responses: '201': description: Operation successful. content: application/json: schema: $ref: '#/components/schemas/worker-information_createGPWorkerAdditionalInformation_Response_201' '400': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/AddGpWorkersAdditionalInformationRequestBadRequestError' '401': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '403': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '404': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '500': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/AddGpWorkersAdditionalInformationRequestInternalServerError' requestBody: content: application/json: schema: type: object properties: data: type: object additionalProperties: $ref: '#/components/schemas/GpWorkersContractsContractIdAdditionalInformationPostRequestBodyContentApplicationJsonSchemaData' required: - data patch: operationId: get-gp-worker-additional-information summary: Update GP Workers Additional Information description: "Use this endpoint to update additional information for a GP worker's contract. Provide the extra fields in the request body under 'data' for the contract identified by 'contract_id'.\n **Token scopes**: `people:write`" tags: - subpackage_workerInformation parameters: - name: contract_id in: path description: The unique public identifier of the contract. required: true schema: type: string - name: Authorization in: header description: "## Authentication\nThe Deel API uses bearer tokens to authenticate requests. All API calls must be made over HTTPS — calls over plain HTTP or without authentication will fail.\n\n```curl\ncurl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \\\n -H 'Authorization: Bearer YOUR-TOKEN-HERE'\n```\n\n[Learn more about authentication](/api/authentication)\n" required: true schema: type: string responses: '204': description: Operation successful. content: application/json: schema: $ref: '#/components/schemas/worker-information_getGPWorkerAdditionalInformation_Response_204' '400': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/UpdateGpWorkersAdditionalInformationRequestBadRequestError' '401': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '403': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '404': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '500': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/UpdateGpWorkersAdditionalInformationRequestInternalServerError' requestBody: content: application/json: schema: type: object properties: data: type: object additionalProperties: $ref: '#/components/schemas/GpWorkersContractsContractIdAdditionalInformationPatchRequestBodyContentApplicationJsonSchemaData' required: - data /gp/workers/{worker_id}/banks/{bank_id}: patch: operationId: update-gp-worker-bank summary: Modify bank account description: "Modify bank account for an employee.\n **Token scopes**: `people:write`" tags: - subpackage_workerInformation parameters: - name: worker_id in: path description: Unique identifier for a worker in UUID format. required: true schema: type: string format: uuid - name: bank_id in: path description: Unique identifier for the bank account in UUID format. required: true schema: type: string format: uuid - name: Authorization in: header description: "## Authentication\nThe Deel API uses bearer tokens to authenticate requests. All API calls must be made over HTTPS — calls over plain HTTP or without authentication will fail.\n\n```curl\ncurl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \\\n -H 'Authorization: Bearer YOUR-TOKEN-HERE'\n```\n\n[Learn more about authentication](/api/authentication)\n" required: true schema: type: string responses: '200': description: Successful operation. content: application/json: schema: $ref: '#/components/schemas/worker-information_updateGPWorkerBank_Response_200' '400': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '401': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '403': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '404': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '500': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' requestBody: description: Request body to modify an existing bank account for an employee. content: application/json: schema: type: object properties: city: type: string description: The city of the user's address. iban: type: string description: The International Bank Account Number (IBAN). email: type: string description: The user's email address. phone: type: string description: The user's phone number. postal: type: string description: The user's postal or ZIP code. tax_id: type: string description: The user's tax identification number. bank_code: type: string description: The bank code. bank_name: type: string description: Name of the user's bank. full_name: type: string description: Full name of the user. swift_bic: type: string description: SWIFT/BIC code for the bank. rib_number: type: string description: The RIB (Relevé d'Identité Bancaire). branch_code: type: string description: The branch code of the user's bank. account_type: type: string description: Bank account type. country_code: type: string description: The country code of the user's address. address_line1: type: string description: The primary address line. address_line2: type: string description: The secondary address line. currency_code: type: string description: The currency code for transactions. original_name: type: string description: The original name of the user. account_number: type: string description: The user's bank account number. province_state: type: string description: The state or province of the user's address. bank_branch_name: type: string description: The name of the user's bank branch. bank_country_code: type: string description: The country code where the bank is located. ach_routing_number: type: string description: The ACH (Automated Clearing House) Routing Number. /gp/workers/{worker_id}/banks/guide: get: operationId: get-gp-worker-bank-guide summary: Retrieve bank guide description: "Retrieve the bank form guide for an employee.\n **Token scopes**: `people:read`" tags: - subpackage_workerInformation parameters: - name: worker_id in: path description: Unique identifier for a worker in UUID format. required: true schema: type: string format: uuid - name: Authorization in: header description: "## Authentication\nThe Deel API uses bearer tokens to authenticate requests. All API calls must be made over HTTPS — calls over plain HTTP or without authentication will fail.\n\n```curl\ncurl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \\\n -H 'Authorization: Bearer YOUR-TOKEN-HERE'\n```\n\n[Learn more about authentication](/api/authentication)\n" required: true schema: type: string responses: '200': description: Successful operation. content: application/json: schema: $ref: '#/components/schemas/worker-information_getGPWorkerBankGuide_Response_200' '400': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '401': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '403': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '404': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '500': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' /gp/workers/{worker_id}/address: patch: operationId: update-gp-worker-address summary: Update address description: "Update the address of a Global Payroll employee.\n **Token scopes**: `people:write`" tags: - subpackage_workerInformation parameters: - name: worker_id in: path description: Unique identifier for a worker in UUID format. required: true schema: type: string format: uuid - name: Authorization in: header description: "## Authentication\nThe Deel API uses bearer tokens to authenticate requests. All API calls must be made over HTTPS — calls over plain HTTP or without authentication will fail.\n\n```curl\ncurl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \\\n -H 'Authorization: Bearer YOUR-TOKEN-HERE'\n```\n\n[Learn more about authentication](/api/authentication)\n" required: true schema: type: string responses: '201': description: Successful operation. content: application/json: schema: $ref: '#/components/schemas/worker-information_updateGPWorkerAddress_Response_201' '400': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '401': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '403': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '404': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '500': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' requestBody: description: The desired address of the Global Payroll employee content: application/json: schema: type: object properties: data: $ref: '#/components/schemas/GpWorkersWorkerIdAddressPatchRequestBodyContentApplicationJsonSchemaData' required: - data /gp/workers/{worker_id}/compensation: patch: operationId: update-gp-worker-compensation summary: Update compensation description: "Update the compensation of a Global Payroll employee. Returns the full compensation history including the update.\n **Token scopes**: `people:write`" tags: - subpackage_workerInformation parameters: - name: worker_id in: path description: Unique identifier for a worker in UUID format. required: true schema: type: string format: uuid - name: Authorization in: header description: "## Authentication\nThe Deel API uses bearer tokens to authenticate requests. All API calls must be made over HTTPS — calls over plain HTTP or without authentication will fail.\n\n```curl\ncurl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \\\n -H 'Authorization: Bearer YOUR-TOKEN-HERE'\n```\n\n[Learn more about authentication](/api/authentication)\n" required: true schema: type: string responses: '200': description: Successful operation. content: application/json: schema: $ref: '#/components/schemas/worker-information_updateGPWorkerCompensation_Response_200' '400': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '401': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '403': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '404': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '500': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' requestBody: description: Request body containing the data to update the compensation of the employee. content: application/json: schema: type: object properties: data: $ref: '#/components/schemas/GpWorkersWorkerIdCompensationPatchRequestBodyContentApplicationJsonSchemaData' required: - data /gp/workers/{worker_id}/employee-information: patch: operationId: update-gp-worker-employee-information summary: Update employee information description: "Update employee number identifier used for integration\n **Token scopes**: `people:write`" tags: - subpackage_workerInformation parameters: - name: worker_id in: path description: Unique identifier for a worker in UUID format. required: true schema: type: string format: uuid - name: Authorization in: header description: "## Authentication\nThe Deel API uses bearer tokens to authenticate requests. All API calls must be made over HTTPS — calls over plain HTTP or without authentication will fail.\n\n```curl\ncurl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \\\n -H 'Authorization: Bearer YOUR-TOKEN-HERE'\n```\n\n[Learn more about authentication](/api/authentication)\n" required: true schema: type: string responses: '202': description: Successful operation. content: application/json: schema: description: Any type '400': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '401': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '403': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '404': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '500': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' requestBody: content: application/json: schema: type: object properties: data: $ref: '#/components/schemas/GpWorkersWorkerIdEmployeeInformationPatchRequestBodyContentApplicationJsonSchemaData' required: - data /gp/workers/{worker_id}/pto-policy: patch: operationId: update-gp-worker-pto-policy summary: Update PTO policy description: "Update the PTO policy of a Global Payroll employee.\n **Token scopes**: `people:write`" tags: - subpackage_workerInformation parameters: - name: worker_id in: path description: Unique identifier for a worker in UUID format. required: true schema: type: string format: uuid - name: Authorization in: header description: "## Authentication\nThe Deel API uses bearer tokens to authenticate requests. All API calls must be made over HTTPS — calls over plain HTTP or without authentication will fail.\n\n```curl\ncurl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \\\n -H 'Authorization: Bearer YOUR-TOKEN-HERE'\n```\n\n[Learn more about authentication](/api/authentication)\n" required: true schema: type: string responses: '200': description: Successful operation. content: application/json: schema: $ref: '#/components/schemas/worker-information_updateGPWorkerPTOPolicy_Response_200' '400': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '401': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '403': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '404': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' '500': description: Operation failed. content: application/json: schema: $ref: '#/components/schemas/ApiErrorContainer' requestBody: description: Contract object that needs to be amended. content: application/json: schema: type: object properties: data: $ref: '#/components/schemas/GpWorkersWorkerIdPtoPolicyPatchRequestBodyContentApplicationJsonSchemaData' required: - data components: schemas: GpWorkersWorkerIdAddressPatchResponsesContentApplicationJsonSchemaData: type: object properties: zip: type: - string - 'null' description: Zip code. city: type: - string - 'null' description: City name. state: type: - string - 'null' description: State name. street: type: - string - 'null' description: Street name. country: type: string description: Country code. updated_at: type: string format: date-time description: Long date-time format following ISO-8601 title: GpWorkersWorkerIdAddressPatchResponsesContentApplicationJsonSchemaData GpWorkersContractsContractIdAdditionalInformationPostRequestBodyContentApplicationJsonSchemaData: oneOf: - type: string - type: number format: double - type: boolean title: GpWorkersContractsContractIdAdditionalInformationPostRequestBodyContentApplicationJsonSchemaData worker-information_createGPWorkerBank_Response_201: type: object properties: data: $ref: '#/components/schemas/GpWorkersWorkerIdBanksPostResponsesContentApplicationJsonSchemaData' required: - data title: worker-information_createGPWorkerBank_Response_201 GpWorkersContractsContractIdAdditionalInformationPostResponsesContentApplicationJsonSchemaErrorsItems: type: object properties: code: type: string description: Machine-readable error code message: type: string description: Human-readable explanation of the error title: GpWorkersContractsContractIdAdditionalInformationPostResponsesContentApplicationJsonSchemaErrorsItems GpWorkersWorkerIdBanksGuideGetResponsesContentApplicationJsonSchemaDataItemsValidationsItemsValue: oneOf: - type: string - type: number format: double title: GpWorkersWorkerIdBanksGuideGetResponsesContentApplicationJsonSchemaDataItemsValidationsItemsValue GpWorkersWorkerIdBanksGuideGetResponsesContentApplicationJsonSchemaDataItemsValidationsItemsType: type: string enum: - MIN_LENGTH - MAX_LENGTH - REGEX description: The type of validation applied to the field. title: GpWorkersWorkerIdBanksGuideGetResponsesContentApplicationJsonSchemaDataItemsValidationsItemsType GpWorkersWorkerIdBanksPostResponsesContentApplicationJsonSchemaData: type: object properties: id: type: string format: uuid description: Unique identifier for the newly added bank account. status: type: string description: The status of the newly added bank account. created_at: type: string format: date-time description: Timestamp of when the bank account was created, in ISO-8601 format. updated_at: type: string format: date-time description: Timestamp of the last update to the bank account, in ISO-8601 format. required: - id - status - created_at - updated_at title: GpWorkersWorkerIdBanksPostResponsesContentApplicationJsonSchemaData worker-information_getGPWorkerBankGuide_Response_200: type: object properties: data: type: array items: $ref: '#/components/schemas/GpWorkersWorkerIdBanksGuideGetResponsesContentApplicationJsonSchemaDataItems' required: - data title: worker-information_getGPWorkerBankGuide_Response_200 GpWorkersWorkerIdBanksGetResponsesContentApplicationJsonSchemaDataItems: type: object properties: city: type: string description: The city of the user's address. iban: type: string description: The International Bank Account Number (IBAN). email: type: string description: The user's email address. phone: type: string description: The user's phone number. postal: type: string description: The user's postal or ZIP code. tax_id: type: string description: The user's tax identification number. bank_code: type: string description: The bank code. bank_name: type: string description: Name of the user's bank. full_name: type: string description: Full name of the user. sort_code: type: string description: UK sort code. swift_bic: type: string description: SWIFT/BIC code for the bank. rib_number: type: string description: The RIB(Relevé d'Identité Bancaire). branch_code: type: string description: The branch code of the user's bank. account_type: type: string description: Bank account type. country_code: type: string description: The country code of the user. address_line1: type: string description: The primary address line. address_line2: type: string description: The secondary address line. currency_code: type: string description: The currency code for transactions. original_name: type: string description: The original name of the user. account_number: type: string description: The user's bank account number. province_state: type: string description: The state or province of the user's address. bank_branch_name: type: string description: The name of the user's bank branch. bank_country_code: type: string description: The country code where the bank is located. ach_routing_number: type: string description: The ACH (Automated Clearing House) Routing Number. id: type: string description: Unique identifier of this resource. status: type: string description: Current status of bank account. created_at: type: string format: date-time description: Long date-time format following ISO-8601. updated_at: type: string format: date-time description: Long date-time format following ISO-8601. required: - id - created_at - updated_at title: GpWorkersWorkerIdBanksGetResponsesContentApplicationJsonSchemaDataItems worker-information_updateGPWorkerPTOPolicy_Response_200: type: object properties: data: $ref: '#/components/schemas/GpWorkersWorkerIdPtoPolicyPatchResponsesContentApplicationJsonSchemaData' required: - data title: worker-information_updateGPWorkerPTOPolicy_Response_200 worker-information_getGPWorkerAdditionalInformation_Response_204: type: object properties: {} description: Empty response body title: worker-information_getGPWorkerAdditionalInformation_Response_204 worker-information_updateGPWorkerCompensation_Response_200: type: object properties: data: type: array items: $ref: '#/components/schemas/GpWorkersWorkerIdCompensationPatchResponsesContentApplicationJsonSchemaDataItems' required: - data title: worker-information_updateGPWorkerCompensation_Response_200 GpWorkersWorkerIdPtoPolicyPatchRequestBodyContentApplicationJsonSchemaData: type: object properties: yearly_allowance: type: string description: 'Enter the number of holidays. Example: ''15'' for 15 days.' accrual_start_date: type: string format: date description: 'Short date in format ISO-8601 (YYYY-MM-DD). For example: ''2022-12-31''.' required: - yearly_allowance - accrual_start_date title: GpWorkersWorkerIdPtoPolicyPatchRequestBodyContentApplicationJsonSchemaData GpWorkersWorkerIdEmployeeInformationPatchRequestBodyContentApplicationJsonSchemaData: type: object properties: employee_number: type: string description: Employee's unique number. title: GpWorkersWorkerIdEmployeeInformationPatchRequestBodyContentApplicationJsonSchemaData GpWorkersWorkerIdBanksPostRequestBodyContentApplicationJsonSchemaData: type: object properties: city: type: string description: The city of the user's address. iban: type: string description: The International Bank Account Number (IBAN). email: type: string description: The user's email address. phone: type: string description: The user's phone number. postal: type: string description: The user's postal or ZIP code. tax_id: type: string description: The user's tax identification number. bank_code: type: string description: The bank code. bank_name: type: string description: Name of the user's bank. full_name: type: string description: Full name of the user. swift_bic: type: string description: SWIFT/BIC code for the bank. rib_number: type: string description: The RIB (Relevé d'Identité Bancaire). branch_code: type: string description: The branch code of the user's bank. account_type: type: string description: Bank account type. country_code: type: string description: The country code of the user's address. address_line1: type: string description: The primary address line. address_line2: type: string description: The secondary address line. currency_code: type: string description: The currency code for transactions. original_name: type: string description: The original name of the user. account_number: type: string description: The user's bank account number. province_state: type: string description: The state or province of the user's address. bank_branch_name: type: string description: The name of the user's bank branch. bank_country_code: type: string description: The country code where the bank is located. ach_routing_number: type: string description: The ACH (Automated Clearing House) Routing Number. title: GpWorkersWorkerIdBanksPostRequestBodyContentApplicationJsonSchemaData UpdateGpWorkersAdditionalInformationRequestInternalServerError: type: object properties: errors: type: array items: $ref: '#/components/schemas/GpWorkersContractsContractIdAdditionalInformationPatchResponsesContentApplicationJsonSchemaErrorsItems' title: UpdateGpWorkersAdditionalInformationRequestInternalServerError GpWorkersWorkerIdAddressPatchRequestBodyContentApplicationJsonSchemaData: type: object properties: zip: type: string description: Zip code. city: type: string description: City name. street: type: string description: Street name. title: GpWorkersWorkerIdAddressPatchRequestBodyContentApplicationJsonSchemaData GpWorkersContractsContractIdAdditionalInformationPostResponsesContentApplicationJsonSchemaData: type: object properties: created_at: type: string description: Datetime of submission of the additional information title: GpWorkersContractsContractIdAdditionalInformationPostResponsesContentApplicationJsonSchemaData GpWorkersWorkerIdCompensationPatchRequestBodyContentApplicationJsonSchemaData: type: object properties: scale: $ref: '#/components/schemas/GpWorkersWorkerIdCompensationPatchRequestBodyContentApplicationJsonSchemaDataScale' description: The scale to which a given salary applies. salary: type: number format: double description: Compensation salary. effective_date: type: string format: date description: 'Short date in format ISO-8601 (YYYY-MM-DD). For example: 2022-12-31.' required: - scale - salary - effective_date title: GpWorkersWorkerIdCompensationPatchRequestBodyContentApplicationJsonSchemaData GpWorkersWorkerIdBanksGuideGetResponsesContentApplicationJsonSchemaDataItemsValuesAllowedItems: type: object properties: label: type: string description: The display name of the allowed value. value: type: string description: The value associated with the allowed option. title: GpWorkersWorkerIdBanksGuideGetResponsesContentApplicationJsonSchemaDataItemsValuesAllowedItems worker-information_updateGPWorkerBank_Response_200: type: object properties: data: $ref: '#/components/schemas/GpWorkersWorkerIdBanksBankIdPatchResponsesContentApplicationJsonSchemaData' required: - data title: worker-information_updateGPWorkerBank_Response_200 AddGpWorkersAdditionalInformationRequestInternalServerError: type: object properties: errors: type: array items: $ref: '#/components/schemas/GpWorkersContractsContractIdAdditionalInformationPostResponsesContentApplicationJsonSchemaErrorsItems' title: AddGpWorkersAdditionalInformationRequestInternalServerError GpWorkersWorkerIdCompensationPatchResponsesContentApplicationJsonSchemaDataItemsStatus: type: string enum: - ACTIVE - UPCOMING - OUTDATED description: The status of a salary amendment. title: GpWorkersWorkerIdCompensationPatchResponsesContentApplicationJsonSchemaDataItemsStatus GpWorkersWorkerIdBanksGuideGetResponsesContentApplicationJsonSchemaDataItems: type: object properties: key: type: string description: The unique key representing the field. type: type: string description: The type of the field, such as 'Text' or 'Dropdown'. label: type: string description: The label or display name for this field. required: type: boolean description: Indicates whether the field is required. validations: type: array items: $ref: '#/components/schemas/GpWorkersWorkerIdBanksGuideGetResponsesContentApplicationJsonSchemaDataItemsValidationsItems' description: An array of validation rules applied to the field. values_allowed: type: array items: $ref: '#/components/schemas/GpWorkersWorkerIdBanksGuideGetResponsesContentApplicationJsonSchemaDataItemsValuesAllowedItems' description: An array of allowed values for the field (e.g., for dropdown fields). required: - key - required title: GpWorkersWorkerIdBanksGuideGetResponsesContentApplicationJsonSchemaDataItems worker-information_createGPWorkerAdditionalInformation_Response_201: type: object properties: data: $ref: '#/components/schemas/GpWorkersContractsContractIdAdditionalInformationPostResponsesContentApplicationJsonSchemaData' title: worker-information_createGPWorkerAdditionalInformation_Response_201 ApiError: type: object properties: message: type: string description: A description of the returned error path: type: string description: The JSON path where input validation failed title: ApiError AddGpWorkersAdditionalInformationRequestBadRequestError: type: object properties: errors: type: array items: $ref: '#/components/schemas/GpWorkersContractsContractIdAdditionalInformationPostResponsesContentApplicationJsonSchemaErrorsItems' title: AddGpWorkersAdditionalInformationRequestBadRequestError GpWorkersWorkerIdCompensationPatchRequestBodyContentApplicationJsonSchemaDataScale: type: string enum: - YEAR - MONTH - HOUR description: The scale to which a given salary applies. title: GpWorkersWorkerIdCompensationPatchRequestBodyContentApplicationJsonSchemaDataScale GpWorkersWorkerIdCompensationPatchResponsesContentApplicationJsonSchemaDataItemsScale: type: string enum: - YEAR - MONTH - HOUR description: The scale to which a given salary applies. title: GpWorkersWorkerIdCompensationPatchResponsesContentApplicationJsonSchemaDataItemsScale GpWorkersContractsContractIdAdditionalInformationPatchResponsesContentApplicationJsonSchemaErrorsItems: type: object properties: code: type: string description: Machine-readable error code message: type: string description: Human-readable explanation of the error title: GpWorkersContractsContractIdAdditionalInformationPatchResponsesContentApplicationJsonSchemaErrorsItems GpWorkersWorkerIdPtoPolicyPatchResponsesContentApplicationJsonSchemaData: type: object properties: updated: type: boolean description: Indicates if the PTO policy was successfully updated. required: - updated title: GpWorkersWorkerIdPtoPolicyPatchResponsesContentApplicationJsonSchemaData ApiErrorContainer: type: object properties: request: $ref: '#/components/schemas/ApiErrorRequest' errors: type: array items: $ref: '#/components/schemas/ApiError' title: ApiErrorContainer worker-information_getGPWorkerBanks_Response_200: type: object properties: data: type: array items: $ref: '#/components/schemas/GpWorkersWorkerIdBanksGetResponsesContentApplicationJsonSchemaDataItems' required: - data title: worker-information_getGPWorkerBanks_Response_200 GpWorkersWorkerIdBanksBankIdPatchResponsesContentApplicationJsonSchemaData: type: object properties: id: type: string format: uuid description: Unique identifier for the modified bank account. status: type: string description: The status of the modified bank account. created_at: type: string format: date-time description: Timestamp of when the bank account was created, in ISO-8601 format. updated_at: type: string format: date-time description: Timestamp of the last update to the bank account, in ISO-8601 format. required: - id - status - created_at - updated_at title: GpWorkersWorkerIdBanksBankIdPatchResponsesContentApplicationJsonSchemaData worker-information_updateGPWorkerAddress_Response_201: type: object properties: data: $ref: '#/components/schemas/GpWorkersWorkerIdAddressPatchResponsesContentApplicationJsonSchemaData' required: - data title: worker-information_updateGPWorkerAddress_Response_201 GpWorkersWorkerIdCompensationPatchResponsesContentApplicationJsonSchemaDataItems: type: object properties: scale: $ref: '#/components/schemas/GpWorkersWorkerIdCompensationPatchResponsesContentApplicationJsonSchemaDataItemsScale' description: The scale to which a given salary applies. salary: type: string description: Compensation salary. status: $ref: '#/components/schemas/GpWorkersWorkerIdCompensationPatchResponsesContentApplicationJsonSchemaDataItemsStatus' description: The status of a salary amendment. effective_date: type: string format: date description: 'Short date in format ISO-8601 (YYYY-MM-DD). For example: 2022-12-31.' title: GpWorkersWorkerIdCompensationPatchResponsesContentApplicationJsonSchemaDataItems GpWorkersWorkerIdBanksGuideGetResponsesContentApplicationJsonSchemaDataItemsValidationsItems: type: object properties: type: $ref: '#/components/schemas/GpWorkersWorkerIdBanksGuideGetResponsesContentApplicationJsonSchemaDataItemsValidationsItemsType' description: The type of validation applied to the field. value: $ref: '#/components/schemas/GpWorkersWorkerIdBanksGuideGetResponsesContentApplicationJsonSchemaDataItemsValidationsItemsValue' title: GpWorkersWorkerIdBanksGuideGetResponsesContentApplicationJsonSchemaDataItemsValidationsItems GpWorkersContractsContractIdAdditionalInformationPatchRequestBodyContentApplicationJsonSchemaData: oneOf: - type: string - type: number format: double - type: boolean title: GpWorkersContractsContractIdAdditionalInformationPatchRequestBodyContentApplicationJsonSchemaData ApiErrorRequest: type: object properties: method: type: string description: The HTTP method of the failed request url: type: string description: The relative URL of the failed request status: type: number format: double description: The status code of the response api_req_id: type: string description: The request ID of the failed request docs: type: string description: A link to the official documentation for the requested endpoint resource source: type: string description: The source handler which produced the returned error code: type: number format: double description: The code of the source handler which produced the returned error title: ApiErrorRequest UpdateGpWorkersAdditionalInformationRequestBadRequestError: type: object properties: errors: type: array items: $ref: '#/components/schemas/GpWorkersContractsContractIdAdditionalInformationPatchResponsesContentApplicationJsonSchemaErrorsItems' title: UpdateGpWorkersAdditionalInformationRequestBadRequestError securitySchemes: deelToken: type: http scheme: bearer description: "## Authentication\nThe Deel API uses bearer tokens to authenticate requests. All API calls must be made over HTTPS — calls over plain HTTP or without authentication will fail.\n\n```curl\ncurl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \\\n -H 'Authorization: Bearer YOUR-TOKEN-HERE'\n```\n\n[Learn more about authentication](/api/authentication)\n" oauth2: type: http scheme: bearer description: Standard OAuth2 security scheme based on https://swagger.io/docs/specification/authentication/