Deel subpackage_workers API

The subpackage_workers API from Deel — 5 operation(s) for subpackage_workers.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/deel-subpackage-workers-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

deel-subpackage-workers-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Endpoints subpackage_workers API
  version: 1.0.0
servers:
- url: https://api.letsdeel.com/rest/v2
- url: https://api-staging.letsdeel.com/rest/v2
tags:
- name: subpackage_workers
paths:
  /ic/workers/invoices/{invoice_id}/pdf:
    get:
      operationId: ic-workers-invoices-invoice-id-pdf-v-2026-04-20
      summary: /ic/workers/invoices/:invoice_id/pdf
      description: "This endpoint provides embedded worker flows access to download a pdf of a specific invoice while using a worker:PAT token.\n **Token scopes**: `accounting:read`"
      tags:
      - subpackage_workers
      parameters:
      - name: invoice_id
        in: path
        description: Public invoice identifier (UUID) for the invoice whose PDF URL is returned.
        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: Signed PDF URL for download.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Workers_icWorkersInvoicesInvoiceIdPdf-v2026-04-20_Response_200'
        '400':
          description: Bad request (invalid query parameters).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IcWorkersInvoicesInvoiceIdPdf-v2026-04-20RequestBadRequestError'
        '401':
          description: Unauthorized (missing or invalid worker token).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IcWorkersInvoicesInvoiceIdPdf-v2026-04-20RequestUnauthorizedError'
        '403':
          description: Forbidden (invoice not found or not accessible to this worker).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IcWorkersInvoicesInvoiceIdPdf-v2026-04-20RequestForbiddenError'
        '404':
          description: Operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorContainer'
        '412':
          description: Precondition failed (e.g. icEmbeddedWorkerSetup is not enabled for the organization).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IcWorkersInvoicesInvoiceIdPdf-v2026-04-20RequestPreconditionFailedError'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IcWorkersInvoicesInvoiceIdPdf-v2026-04-20RequestInternalServerError'
  /worker:
    post:
      operationId: create-worker
      summary: Create a new worker
      description: Creates a new worker account with the specified profile type
      tags:
      - subpackage_workers
      parameters:
      - 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: Worker created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Workers_createWorker_Response_201'
        '400':
          description: Validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateWorkerRequestBadRequestError'
        '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: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateWorkerRequestInternalServerError'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  $ref: '#/components/schemas/WorkerPostRequestBodyContentApplicationJsonSchemaData'
              required:
              - data
  /ic/workers/invoices/{invoice_id}:
    get:
      operationId: get-invoice-details-by-id-v-2026-04-27
      summary: Get invoice details by ID
      description: "This endpoint retrieves invoice information by ID. Use it to access detailed invoice data for reference or verification.\n **Token scopes**: `worker:read`"
      tags:
      - subpackage_workers
      parameters:
      - name: invoice_id
        in: path
        description: Public invoice id for the invoice to return.
        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: Invoice detail
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Workers_getInvoiceDetailsById-v2026-04-27_Response_200'
        '400':
          description: Bad request (invalid query or path parameters).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetInvoiceDetailsById-v2026-04-27RequestBadRequestError'
        '401':
          description: Unauthorized (missing or invalid worker token).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetInvoiceDetailsById-v2026-04-27RequestUnauthorizedError'
        '403':
          description: Forbidden (invoice not found or not accessible to this worker).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetInvoiceDetailsById-v2026-04-27RequestForbiddenError'
        '404':
          description: Operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorContainer'
        '412':
          description: Precondition failed (e.g. `icEmbeddedWorkerSetup` is not enabled for the organization).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetInvoiceDetailsById-v2026-04-27RequestPreconditionFailedError'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetInvoiceDetailsById-v2026-04-27RequestInternalServerError'
  /workers/compliance-documents:
    get:
      operationId: list-of-worker-compliance-documents-v-2026-04-23
      summary: List of worker compliance documents
      description: "Retrieve the list of compliance document requirements for a worker, grouped by country. Returns all required and optional documents with their current submission status. Applicable for both independent contractors and EOR employees.\n **Token scopes**: `worker:read`"
      tags:
      - subpackage_workers
      parameters:
      - 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/Workers_listOfWorkerComplianceDocuments-v2026-04-23_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: Forbidden. The caller does not have the required profile type (employee or contractor).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListOfWorkerComplianceDocuments-v2026-04-23RequestForbiddenError'
        '404':
          description: Operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorContainer'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListOfWorkerComplianceDocuments-v2026-04-23RequestInternalServerError'
  /ic/workers/transactions:
    get:
      operationId: retrieve-worker-transaction-history-v-2026-04-30
      summary: Retrieve worker transaction history
      description: "Use this endpoint to access a worker's transaction history quickly. This integration works with white-label clients and ensures compliance by not following the generic contractor route\n **Token scopes**: `worker:read`"
      tags:
      - subpackage_workers
      parameters:
      - name: limit
        in: query
        description: Maximum number of transactions to return in this page (page size).
        required: false
        schema:
          type: integer
          default: 100
      - name: filter
        in: query
        description: Subset of transactions by processing state. Public enum is UPPER_SNAKE; the server lowercases for validation (legacy lowercase query values are still accepted).
        required: false
        schema:
          $ref: '#/components/schemas/IcWorkersTransactionsGetParametersFilter'
      - name: from
        in: query
        description: Lower bound on transaction `created_at` (inclusive), ISO-8601 date-time.
        required: false
        schema:
          type: string
          format: date-time
      - name: to
        in: query
        description: Upper bound on transaction `created_at` (inclusive), ISO-8601 date-time.
        required: false
        schema:
          type: string
          format: date-time
      - name: cursor
        in: query
        description: Opaque pagination cursor from the previous response field `next_cursor`. Omit on the first page; pass the last `next_cursor` value as `cursor` to fetch the next page.
        required: false
        schema:
          type: string
      - name: statuses
        in: query
        description: Filter listed transactions to these mapped status values (applied after fetch; may affect how rows align with `total_count`).
        required: false
        schema:
          type: array
          items:
            type: string
      - name: amount_from
        in: query
        description: Minimum transaction amount to include.
        required: false
        schema:
          type: number
          format: double
      - name: amount_to
        in: query
        description: Maximum transaction amount to include.
        required: false
        schema:
          type: number
          format: double
      - name: currencies
        in: query
        description: Only include transactions in one of these currency codes.
        required: false
        schema:
          type: array
          items:
            type: string
      - name: transaction_type
        in: query
        description: Restrict to pay-in or pay-out. Public enum is UPPER_SNAKE; the server lowercases for validation (legacy lowercase query values are still accepted).
        required: false
        schema:
          $ref: '#/components/schemas/IcWorkersTransactionsGetParametersTransactionType'
      - name: withdrawal_methods
        in: query
        description: Filter by withdrawal / payout method identifiers.
        required: false
        schema:
          type: array
          items:
            type: string
      - name: last_days
        in: query
        description: Only include transactions created in the last N days.
        required: false
        schema:
          type: integer
      - name: type
        in: query
        description: Additional transaction type filter (backend-specific string).
        required: false
        schema:
          type: string
      - name: include_running_total
        in: query
        description: When true, each row may include a running total over the result set.
        required: false
        schema:
          type: boolean
          default: false
      - 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 — paginated contractor transactions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Workers_retrieveWorkerTransactionHistory-v2026-04-30_Response_200'
        '400':
          description: Bad request (invalid query parameters).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RetrieveWorkerTransactionHistory-v2026-04-30RequestBadRequestError'
        '401':
          description: Unauthorized (missing or invalid worker token).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RetrieveWorkerTransactionHistory-v2026-04-30RequestUnauthorizedError'
        '403':
          description: Forbidden (not allowed for this worker or token).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RetrieveWorkerTransactionHistory-v2026-04-30RequestForbiddenError'
        '404':
          description: Operation failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorContainer'
        '412':
          description: Precondition failed (e.g. icEmbeddedWorkerSetup is not enabled for the organization).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RetrieveWorkerTransactionHistory-v2026-04-30RequestPreconditionFailedError'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RetrieveWorkerTransactionHistory-v2026-04-30RequestInternalServerError'
components:
  schemas:
    WorkerPostResponsesContentApplicationJsonSchemaData:
      type: object
      properties:
        user_id:
          type: string
          description: Created user ID
        profile_id:
          type: string
          description: Created profile ID
        contract_id:
          type: string
          description: Associated contract ID
      required:
      - user_id
      - profile_id
      - contract_id
      title: WorkerPostResponsesContentApplicationJsonSchemaData
    GetInvoiceDetailsById-v2026-04-27RequestForbiddenError:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/IcWorkersInvoicesInvoiceIdGetResponsesContentApplicationJsonSchemaErrorsItems'
        request:
          $ref: '#/components/schemas/IcWorkersInvoicesInvoiceIdGetResponsesContentApplicationJsonSchemaRequest'
          description: Present for some public API responses (e.g. when `x-is-api-call` is set).
      required:
      - errors
      title: GetInvoiceDetailsById-v2026-04-27RequestForbiddenError
    GetInvoiceDetailsById-v2026-04-27RequestUnauthorizedError:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/IcWorkersInvoicesInvoiceIdGetResponsesContentApplicationJsonSchemaErrorsItems'
      required:
      - errors
      title: GetInvoiceDetailsById-v2026-04-27RequestUnauthorizedError
    IcWorkersInvoicesInvoiceIdPdf-v2026-04-20RequestUnauthorizedError:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/IcWorkersInvoicesInvoiceIdPdfGetResponsesContentApplicationJsonSchemaErrorsItems'
      required:
      - errors
      title: IcWorkersInvoicesInvoiceIdPdf-v2026-04-20RequestUnauthorizedError
    IcWorkersInvoicesInvoiceIdPdf-v2026-04-20RequestForbiddenError:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/IcWorkersInvoicesInvoiceIdPdfGetResponsesContentApplicationJsonSchemaErrorsItems'
        request:
          $ref: '#/components/schemas/IcWorkersInvoicesInvoiceIdPdfGetResponsesContentApplicationJsonSchemaRequest'
          description: Present for some public API responses (e.g. when x-is-api-call is set).
      required:
      - errors
      title: IcWorkersInvoicesInvoiceIdPdf-v2026-04-20RequestForbiddenError
    WorkerPostRequestBodyContentApplicationJsonSchemaData:
      type: object
      properties:
        email:
          type: string
          format: email
          description: Worker's email address
        company:
          $ref: '#/components/schemas/WorkerPostRequestBodyContentApplicationJsonSchemaDataCompany'
        timezone:
          type: string
          description: Worker's timezone
        last_name:
          type: string
          description: Worker's last name
        first_name:
          type: string
          description: Worker's first name
        contract_id:
          type: string
          description: Associated contract ID
        middle_name:
          type:
          - string
          - 'null'
          description: Worker's middle name
        profile_type:
          $ref: '#/components/schemas/WorkerPostRequestBodyContentApplicationJsonSchemaDataProfileType'
          description: Type of worker profile
        preferred_name:
          type:
          - string
          - 'null'
          description: Worker's preferred name
        preferred_lastName:
          type:
          - string
          - 'null'
          description: Worker's preferred last name
        preferred_firstname:
          type:
          - string
          - 'null'
          description: Worker's preferred first name
      required:
      - email
      - company
      - timezone
      - last_name
      - first_name
      - contract_id
      - profile_type
      title: WorkerPostRequestBodyContentApplicationJsonSchemaData
    RetrieveWorkerTransactionHistory-v2026-04-30RequestUnauthorizedError:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/IcWorkersTransactionsGetResponsesContentApplicationJsonSchemaErrorsItems'
      required:
      - errors
      title: RetrieveWorkerTransactionHistory-v2026-04-30RequestUnauthorizedError
    WorkersComplianceDocumentsGetResponsesContentApplicationJsonSchemaErrorsItems:
      type: object
      properties:
        code:
          type: string
          description: Machine-readable error code.
        field:
          type: string
          description: Name of the field causing the error, if applicable.
        message:
          type: string
          description: Human-readable error message.
      required:
      - code
      - message
      title: WorkersComplianceDocumentsGetResponsesContentApplicationJsonSchemaErrorsItems
    IcWorkersInvoicesInvoiceIdPdf-v2026-04-20RequestPreconditionFailedError:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/IcWorkersInvoicesInvoiceIdPdfGetResponsesContentApplicationJsonSchemaErrorsItems'
      required:
      - errors
      title: IcWorkersInvoicesInvoiceIdPdf-v2026-04-20RequestPreconditionFailedError
    WorkersComplianceDocumentsGetResponsesContentApplicationJsonSchemaDataDocumentsItemsStatus:
      type: string
      enum:
      - AWAITING_EX_REVIEW
      - AWAITING_EXTERNAL_REVIEW
      - REJECTED
      - APPROVED
      - ON_HOLD
      description: Review status of the uploaded document, null if no document has been uploaded yet.
      title: WorkersComplianceDocumentsGetResponsesContentApplicationJsonSchemaDataDocumentsItemsStatus
    IcWorkersInvoicesInvoiceIdGetResponsesContentApplicationJsonSchemaDataPaymentDisplayStatus:
      type: object
      properties:
        key:
          type: string
          description: Stable machine key.
        label:
          type: string
          description: Human-readable label.
      required:
      - key
      - label
      description: Derived payment display state for the invoice.
      title: IcWorkersInvoicesInvoiceIdGetResponsesContentApplicationJsonSchemaDataPaymentDisplayStatus
    ListOfWorkerComplianceDocuments-v2026-04-23RequestForbiddenError:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/WorkersComplianceDocumentsGetResponsesContentApplicationJsonSchemaErrorsItems'
      title: ListOfWorkerComplianceDocuments-v2026-04-23RequestForbiddenError
    IcWorkersInvoicesInvoiceIdGetResponsesContentApplicationJsonSchemaRequest:
      type: object
      properties:
        url:
          type: string
        method:
          type: string
        status:
          type: integer
      description: Present for some public API responses (e.g. when `x-is-api-call` is set).
      title: IcWorkersInvoicesInvoiceIdGetResponsesContentApplicationJsonSchemaRequest
    GetInvoiceDetailsById-v2026-04-27RequestPreconditionFailedError:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/IcWorkersInvoicesInvoiceIdGetResponsesContentApplicationJsonSchemaErrorsItems'
      required:
      - errors
      title: GetInvoiceDetailsById-v2026-04-27RequestPreconditionFailedError
    WorkerPostRequestBodyContentApplicationJsonSchemaDataProfileType:
      type: string
      enum:
      - CONTRACTOR
      - EOR
      description: Type of worker profile
      title: WorkerPostRequestBodyContentApplicationJsonSchemaDataProfileType
    IcWorkersInvoicesInvoiceIdPdfGetResponsesContentApplicationJsonSchemaRequest:
      type: object
      properties:
        url:
          type: string
        method:
          type: string
        status:
          type: integer
      description: Present for some public API responses (e.g. when x-is-api-call is set).
      title: IcWorkersInvoicesInvoiceIdPdfGetResponsesContentApplicationJsonSchemaRequest
    IcWorkersInvoicesInvoiceIdPdfGetResponsesContentApplicationJsonSchemaErrorsItems:
      type: object
      properties:
        code:
          type: string
        field:
          type: string
        details:
          type: object
          additionalProperties:
            description: Any type
        message:
          type: string
      required:
      - code
      - message
      title: IcWorkersInvoicesInvoiceIdPdfGetResponsesContentApplicationJsonSchemaErrorsItems
    CreateWorkerRequestBadRequestError:
      type: object
      properties:
        error:
          type: string
      title: CreateWorkerRequestBadRequestError
    ListOfWorkerComplianceDocuments-v2026-04-23RequestInternalServerError:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/WorkersComplianceDocumentsGetResponsesContentApplicationJsonSchemaErrorsItems'
      title: ListOfWorkerComplianceDocuments-v2026-04-23RequestInternalServerError
    RetrieveWorkerTransactionHistory-v2026-04-30RequestBadRequestError:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/IcWorkersTransactionsGetResponsesContentApplicationJsonSchemaErrorsItems'
      required:
      - errors
      title: RetrieveWorkerTransactionHistory-v2026-04-30RequestBadRequestError
    IcWorkersTransactionsGetParametersFilter:
      type: string
      enum:
      - ALL
      - ONLY_PROCESSING
      - WITHOUT_PROCESSING
      default: ALL
      title: IcWorkersTransactionsGetParametersFilter
    RetrieveWorkerTransactionHistory-v2026-04-30RequestForbiddenError:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/IcWorkersTransactionsGetResponsesContentApplicationJsonSchemaErrorsItems'
        request:
          $ref: '#/components/schemas/IcWorkersTransactionsGetResponsesContentApplicationJsonSchemaRequest'
          description: Present for some public API responses (e.g. when x-is-api-call is set).
      required:
      - errors
      title: RetrieveWorkerTransactionHistory-v2026-04-30RequestForbiddenError
    WorkerPostRequestBodyContentApplicationJsonSchemaDataCompanyPersonal:
      type: object
      properties:
        zip:
          type: number
          format: double
          description: Zip/Postal code
        city:
          type: string
          description: City
        phone:
          type: number
          format: double
          description: Phone number
        street:
          type: string
          description: Street address
        citizen:
          type: string
          description: Citizenship country code
        country:
          type: string
          description: Country code
        id_type:
          type: string
          description: Type of identification
        province:
          type:
          - string
          - 'null'
          description: Province/State
        timezone:
          type: string
          description: Personal timezone
        personal_id:
          type: number
          format: double
          description: Personal identification number
        legal_status:
          type: string
          description: Legal status (required only when type is INDIVIDUAL)
        tax_residence:
          type: string
          description: Tax residence country code
        entity_tax_residence:
          type: string
          description: Entity tax residence (only applicable for company type)
      required:
      - zip
      - city
      - phone
      - street
      - citizen
      - personal_id
      title: WorkerPostRequestBodyContentApplicationJsonSchemaDataCompanyPersonal
    Workers_createWorker_Response_201:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/WorkerPostResponsesContentApplicationJsonSchemaData'
      required:
      - data
      title: Workers_createWorker_Response_201
    WorkerPostRequestBodyContentApplicationJsonSchemaDataCompanyType:
      type: string
      enum:
      - COMPANY
      - INDIVIDUAL
      description: Type of company registration
      title: WorkerPostRequestBodyContentApplicationJsonSchemaDataCompanyType
    WorkersComplianceDocumentsGetResponsesContentApplicationJsonSchemaData:
      type: object
      properties:
        documents:
          type: array
          items:
            $ref: '#/components/schemas/WorkersComplianceDocumentsGetResponsesContentApplicationJsonSchemaDataDocumentsItems'
          description: List of compliance documents required for the worker.
      required:
      - documents
      title: WorkersComplianceDocumentsGetResponsesContentApplicationJsonSchemaData
    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
    RetrieveWorkerTransactionHistory-v2026-04-30RequestPreconditionFailedError:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/IcWorkersTransactionsGetResponsesContentApplicationJsonSchemaErrorsItems'
      required:
      - errors
      title: RetrieveWorkerTransactionHistory-v2026-04-30RequestPreconditionFailedError
    IcWorkersInvoicesInvoiceIdPdf-v2026-04-20RequestBadRequestError:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/IcWorkersInvoicesInvoiceIdPdfGetResponsesContentApplicationJsonSchemaErrorsItems'
      required:
      - errors
      title: IcWorkersInvoicesInvoiceIdPdf-v2026-04-20RequestBadRequestError
    WorkersComplianceDocumentsGetResponsesContentApplicationJsonSchemaDataDocumentsItems:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier for the compliance document requirement.
        name:
          type: string
          description: Display name of the compliance document.
        status:
          oneOf:
          - $ref: '#/components/schemas/WorkersComplianceDocumentsGetResponsesContentApplicationJsonSchemaDataDocumentsItemsStatus'
          - type: 'null'
          description: Review status of the uploaded document, null if no document has been uploaded yet.
        country:
          type: string
          description: ISO 3166-1 alpha-2 country code where the document is required.
        fillable:
          type: boolean
          description: Whether the document can be filled through the Deel platform.
        filenames:
          type: array
          items:
            type: string
          description: List of uploaded file names. Empty array when no files have been uploaded.
        description:
          type: string
          description: Description of the document requirement. Empty string when no description exists.
        is_optional:
          type: boolean
          description: Whether the document is optional for the worker. Also true when the document is required within 30 days.
        uploaded_at:
          type:
          - string
          - 'null'
          format: date-time
          description: ISO 8601 timestamp when the document was uploaded, null if no document has been uploaded.
        has_template:
          type: boolean
          description: Whether a template is available for this document.
        rejection_message:
          type: string
          description: Plain text message explaining why the document was rejected. Empty string when no rejection message exists.
        is_consent_required:
          type: 

# --- truncated at 32 KB (43 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/deel/refs/heads/main/openapi/deel-subpackage-workers-api-openapi.yml