Deel Employee Information API

API endpoints related to Employee Information.

Operations 1

GET /employee-info/contract-types/{type}/countries/{country} Retrieve employee additional info template #

Documentation

📖
Documentation
https://developer.deel.com/api/introduction
📖
GettingStarted
https://developer.deel.com/api/quickstart
📖
Authentication
https://developer.deel.com/api/authentication
📖
Documentation
https://developer.deel.com/api/employer-of-record/introduction
📖
Documentation
https://developer.deel.com/api/employer-of-record/employment-cost-calculator
📖
Documentation
https://developer.deel.com/api/employer-of-record/hiring
📖
Documentation
https://developer.deel.com/api/employer-of-record/accept-quote
📖
Documentation
https://developer.deel.com/api/contractors/introduction
📖
Documentation
https://developer.deel.com/api/contractors/invoice-adjustments
📖
Documentation
https://developer.deel.com/api/contractors/timesheets
📖
Documentation
https://developer.deel.com/api/global-payroll/introduction
📖
Documentation
https://developer.deel.com/api/global-payroll/time-tracking
📖
Documentation
https://developer.deel.com/api/global-payroll/adjustments
📖
Documentation
https://developer.deel.com/api/hris/introduction
📖
Documentation
https://developer.deel.com/api/scim-api/overview
📖
Documentation
https://developer.deel.com/api/hris-common-use-cases/sync-deel-users-to-identity-providers
📖
Documentation
https://developer.deel.com/api/ats-guides/introduction
📖
Documentation
https://developer.deel.com/api/ats-guides/getting-started
📖
Documentation
https://developer.deel.com/api/ats-guides/manage-jobs
📖
Documentation
https://developer.deel.com/api/ats-guides/manage-candidates-and-applications
📖
Documentation
https://developer.deel.com/api/ats-guides/webhooks
📖
Documentation
https://developer.deel.com/api/webhooks/introduction
📖
Documentation
https://developer.deel.com/api/webhooks/quickstart
📖
Documentation
https://developer.deel.com/api/webhooks/events
📖
Documentation
https://developer.deel.com/api/webhooks/simulations
📖
Documentation
https://developer.deel.com/api/platform/screenings
📖
Documentation
https://developer.deel.com/api/platform/immigration
📖
Documentation
https://developer.deel.com/api/deel-it/getting-started/introduction
📖
Documentation
https://developer.deel.com/
📖
APIReference
https://developer.deel.com/reference

Specifications

Schemas & Data

Other Resources

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-com:deel-com-employeeinformation-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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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

OpenAPI Specification

deel-com-employeeinformation-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Endpoints Employee Information API
  version: 1.0.0
  description: API endpoints related to Employee Information.
servers:
- url: https://api.letsdeel.com/rest
  description: Production
- url: https://api-staging.letsdeel.com/rest
  description: Demo
- url: https://api.letsdeel.com/scim/v2
  description: Production
- url: https://api-staging.letsdeel.com/scim/v2
  description: Demo
tags:
- name: employeeInformation
  description: API endpoints related to Employee Information.
paths:
  /employee-info/contract-types/{type}/countries/{country}:
    get:
      operationId: employeeInformation_employeeAdditionalInfoTemplate-v2026-01-01
      summary: Retrieve employee additional info template
      description: 'Retrieves the template describing which additional information fields must be collected for a worker on a given contract type in a given country. Use this endpoint when building or validating an onboarding form so the correct country- and contract-type-specific fields are requested before submitting employee information.


        **Token scopes**: `contracts:read`'
      tags:
      - employeeInformation
      parameters:
      - name: type
        in: path
        description: The contract type. Must be 'eor' (Employer of Record) or 'gp' (Global Payroll).
        required: true
        schema:
          $ref: '#/components/schemas/EmployeeInfoContractTypesTypeCountriesCountryGetParametersType'
      - name: country
        in: path
        description: ISO 3166-1 alpha-2 country code.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Employee_Information_employeeAdditionalInfoTemplate-v2026-01-01_Response_200'
        '400':
          description: Invalid country code or contract type.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployeeAdditionalInfoTemplate-v2026-01-01RequestBadRequestError'
        '401':
          description: Authentication failed. The access token is missing, expired, or invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployeeAdditionalInfoTemplate-v2026-01-01RequestUnauthorizedError'
        '403':
          description: Access denied. The authenticated user does not have the required contracts:read scope or contracts.view permission.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployeeAdditionalInfoTemplate-v2026-01-01RequestForbiddenError'
        '404':
          description: No additional info template exists for the given country and contract type combination in the Employee Data Management system.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployeeAdditionalInfoTemplate-v2026-01-01RequestNotFoundError'
        '429':
          description: Rate limit exceeded. The client has sent too many requests in a given time window.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployeeAdditionalInfoTemplate-v2026-01-01RequestTooManyRequestsError'
        '500':
          description: Internal server error. Returned when the Employee Data Management service is unreachable or an unexpected error occurs.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmployeeAdditionalInfoTemplate-v2026-01-01RequestInternalServerError'
      security:
      - deelToken: []
components:
  schemas:
    Employee_Information_employeeAdditionalInfoTemplate-v2026-01-01_Response_200:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/EmployeeInfoContractTypesTypeCountriesCountryGetResponsesContentApplicationJsonSchemaDataItems'
      title: Employee Information_employeeAdditionalInfoTemplate-v2026-01-01_Response_200
    ? EmployeeInfoContractTypesTypeCountriesCountryGetResponsesContentApplicationJsonSchemaDataItemsDependenciesItemsValueOneOf4OneOf0Op
    : type: string
      enum:
      - eq
      - ne
      - gt
      - gte
      - lt
      - lte
      - contains
      title: EmployeeInfoContractTypesTypeCountriesCountryGetResponsesContentApplicationJsonSchemaDataItemsDependenciesItemsValueOneOf4OneOf0Op
    ? EmployeeInfoContractTypesTypeCountriesCountryGetResponsesContentApplicationJsonSchemaDataItemsDependenciesItemsValueOneOf3Items
    : oneOf:
      - type: string
      - type: number
        format: double
      - type: boolean
      title: EmployeeInfoContractTypesTypeCountriesCountryGetResponsesContentApplicationJsonSchemaDataItemsDependenciesItemsValueOneOf3Items
    EmployeeAdditionalInfoTemplate-v2026-01-01RequestUnauthorizedError:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/EmployeeInfoContractTypesTypeCountriesCountryGetResponsesContentApplicationJsonSchemaErrorsItems'
      required:
      - errors
      title: EmployeeAdditionalInfoTemplate-v2026-01-01RequestUnauthorizedError
    EmployeeAdditionalInfoTemplate-v2026-01-01RequestInternalServerError:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/EmployeeInfoContractTypesTypeCountriesCountryGetResponsesContentApplicationJsonSchemaErrorsItems'
      required:
      - errors
      title: EmployeeAdditionalInfoTemplate-v2026-01-01RequestInternalServerError
    EmployeeInfoContractTypesTypeCountriesCountryGetResponsesContentApplicationJsonSchemaDataItemsDependenciesItemsValue:
      oneOf:
      - type: string
      - type: number
        format: double
      - type: boolean
      - $ref: '#/components/schemas/EmployeeInfoContractTypesTypeCountriesCountryGetResponsesContentApplicationJsonSchemaDataItemsDependenciesItemsValue3'
      - $ref: '#/components/schemas/EmployeeInfoContractTypesTypeCountriesCountryGetResponsesContentApplicationJsonSchemaDataItemsDependenciesItemsValue4'
      description: Value the parent field is compared against. A bare scalar or array implies equality (membership for arrays); the object form specifies an explicit comparison operator, and requires value for every operator except notnull.
      title: EmployeeInfoContractTypesTypeCountriesCountryGetResponsesContentApplicationJsonSchemaDataItemsDependenciesItemsValue
    EmployeeAdditionalInfoTemplate-v2026-01-01RequestTooManyRequestsError:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/EmployeeInfoContractTypesTypeCountriesCountryGetResponsesContentApplicationJsonSchemaErrorsItems'
      required:
      - errors
      title: EmployeeAdditionalInfoTemplate-v2026-01-01RequestTooManyRequestsError
    EmployeeInfoContractTypesTypeCountriesCountryGetResponsesContentApplicationJsonSchemaDataItemsDependenciesItemsValue4:
      oneOf:
      - $ref: '#/components/schemas/EmployeeInfoContractTypesTypeCountriesCountryGetResponsesContentApplicationJsonSchemaDataItemsDependenciesItemsValue40'
      - $ref: '#/components/schemas/EmployeeInfoContractTypesTypeCountriesCountryGetResponsesContentApplicationJsonSchemaDataItemsDependenciesItemsValue41'
      title: EmployeeInfoContractTypesTypeCountriesCountryGetResponsesContentApplicationJsonSchemaDataItemsDependenciesItemsValue4
    EmployeeInfoContractTypesTypeCountriesCountryGetResponsesContentApplicationJsonSchemaDataItemsDependenciesItemsValue40:
      type: object
      properties:
        op:
          $ref: '#/components/schemas/EmployeeInfoContractTypesTypeCountriesCountryGetResponsesContentApplicationJsonSchemaDataItemsDependenciesItemsValueOneOf4OneOf0Op'
      required:
      - op
      title: EmployeeInfoContractTypesTypeCountriesCountryGetResponsesContentApplicationJsonSchemaDataItemsDependenciesItemsValue40
    EmployeeInfoContractTypesTypeCountriesCountryGetParametersType:
      type: string
      enum:
      - eor
      - gp
      title: EmployeeInfoContractTypesTypeCountriesCountryGetParametersType
    EmployeeInfoContractTypesTypeCountriesCountryGetResponsesContentApplicationJsonSchemaDataItemsDependenciesItems:
      type: object
      properties:
        id:
          type: string
          description: ID of the dependency
        value:
          $ref: '#/components/schemas/EmployeeInfoContractTypesTypeCountriesCountryGetResponsesContentApplicationJsonSchemaDataItemsDependenciesItemsValue'
          description: Value the parent field is compared against. A bare scalar or array implies equality (membership for arrays); the object form specifies an explicit comparison operator, and requires value for every operator except notnull.
      title: EmployeeInfoContractTypesTypeCountriesCountryGetResponsesContentApplicationJsonSchemaDataItemsDependenciesItems
    EmployeeInfoContractTypesTypeCountriesCountryGetResponsesContentApplicationJsonSchemaDataItemsDependenciesItemsValue41:
      type: object
      properties:
        op:
          $ref: '#/components/schemas/EmployeeInfoContractTypesTypeCountriesCountryGetResponsesContentApplicationJsonSchemaDataItemsDependenciesItemsValueOneOf4OneOf1Op'
      required:
      - op
      title: EmployeeInfoContractTypesTypeCountriesCountryGetResponsesContentApplicationJsonSchemaDataItemsDependenciesItemsValue41
    EmployeeInfoContractTypesTypeCountriesCountryGetResponsesContentApplicationJsonSchemaDataItemsInputConfigurationFormat:
      type: object
      properties:
        pattern:
          type: string
          description: Date format pattern
        separator:
          type: string
          description: Separator character for the format
      description: Format configuration for the input
      title: EmployeeInfoContractTypesTypeCountriesCountryGetResponsesContentApplicationJsonSchemaDataItemsInputConfigurationFormat
    EmployeeAdditionalInfoTemplate-v2026-01-01RequestBadRequestError:
      type: object
      properties: {}
      title: EmployeeAdditionalInfoTemplate-v2026-01-01RequestBadRequestError
    EmployeeAdditionalInfoTemplate-v2026-01-01RequestForbiddenError:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/EmployeeInfoContractTypesTypeCountriesCountryGetResponsesContentApplicationJsonSchemaErrorsItems'
      required:
      - errors
      title: EmployeeAdditionalInfoTemplate-v2026-01-01RequestForbiddenError
    EmployeeInfoContractTypesTypeCountriesCountryGetResponsesContentApplicationJsonSchemaDataItemsDependencyConditionMatchMode:
      type: string
      enum:
      - ALL
      - ANY
      description: Condition match mode for dependencies
      title: EmployeeInfoContractTypesTypeCountriesCountryGetResponsesContentApplicationJsonSchemaDataItemsDependencyConditionMatchMode
    ? EmployeeInfoContractTypesTypeCountriesCountryGetResponsesContentApplicationJsonSchemaDataItemsDependenciesItemsValueOneOf4OneOf1Op
    : type: string
      enum:
      - notnull
      title: EmployeeInfoContractTypesTypeCountriesCountryGetResponsesContentApplicationJsonSchemaDataItemsDependenciesItemsValueOneOf4OneOf1Op
    EmployeeInfoContractTypesTypeCountriesCountryGetResponsesContentApplicationJsonSchemaDataItemsDependenciesItemsValue3:
      type: array
      items:
        $ref: '#/components/schemas/EmployeeInfoContractTypesTypeCountriesCountryGetResponsesContentApplicationJsonSchemaDataItemsDependenciesItemsValueOneOf3Items'
      title: EmployeeInfoContractTypesTypeCountriesCountryGetResponsesContentApplicationJsonSchemaDataItemsDependenciesItemsValue3
    EmployeeInfoContractTypesTypeCountriesCountryGetResponsesContentApplicationJsonSchemaDataItemsInputConfiguration:
      type: object
      properties:
        type:
          type: string
          description: The configuration type matching the input type
        format:
          $ref: '#/components/schemas/EmployeeInfoContractTypesTypeCountriesCountryGetResponsesContentApplicationJsonSchemaDataItemsInputConfigurationFormat'
          description: Format configuration for the input
      description: Configuration object for the input field. Present for input types that require additional format or display configuration, such as date fields.
      title: EmployeeInfoContractTypesTypeCountriesCountryGetResponsesContentApplicationJsonSchemaDataItemsInputConfiguration
    EmployeeAdditionalInfoTemplate-v2026-01-01RequestNotFoundError:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/EmployeeInfoContractTypesTypeCountriesCountryGetResponsesContentApplicationJsonSchemaErrorsItems'
      required:
      - errors
      title: EmployeeAdditionalInfoTemplate-v2026-01-01RequestNotFoundError
    EmployeeInfoContractTypesTypeCountriesCountryGetResponsesContentApplicationJsonSchemaDataItems:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the field
        name:
          type: string
          description: Name of the field
        alias:
          type: string
          description: Alias for the field
        label:
          type: string
          description: Label for the field
        options:
          type:
          - array
          - 'null'
          items:
            type: string
          description: Options for select input type
        footnote:
          type:
          - string
          - 'null'
          description: Footnote for the field
        input_type:
          type: string
          description: Type of input for the field
        local_name:
          type:
          - string
          - 'null'
          description: Local name for the field
        description:
          type:
          - string
          - 'null'
          description: Description of the field
        is_optional:
          type: boolean
          description: Indicates if the field is optional
        required_by:
          type: string
          description: Specifies when the field is required
        dependencies:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/EmployeeInfoContractTypesTypeCountriesCountryGetResponsesContentApplicationJsonSchemaDataItemsDependenciesItems'
          description: Dependencies for the field
        display_order:
          type:
          - string
          - 'null'
          description: Display order of the field
        how_to_obtain:
          type:
          - string
          - 'null'
          description: Instructions on how to obtain the field value
        can_be_skipped:
          type:
          - boolean
          - 'null'
          description: Indicates if the field can be skipped
        link_to_obtain:
          type:
          - string
          - 'null'
          description: Link to obtain the field value
        validation_rule:
          type:
          - string
          - 'null'
          description: Validation rule for the field
        input_configuration:
          oneOf:
          - $ref: '#/components/schemas/EmployeeInfoContractTypesTypeCountriesCountryGetResponsesContentApplicationJsonSchemaDataItemsInputConfiguration'
          - type: 'null'
          description: Configuration object for the input field. Present for input types that require additional format or display configuration, such as date fields.
        link_to_obtain_label:
          type:
          - string
          - 'null'
          description: Label for the link to obtain the field value
        validation_error_message:
          type:
          - string
          - 'null'
          description: Validation error message for the field
        dependency_condition_match_mode:
          oneOf:
          - $ref: '#/components/schemas/EmployeeInfoContractTypesTypeCountriesCountryGetResponsesContentApplicationJsonSchemaDataItemsDependencyConditionMatchMode'
          - type: 'null'
          description: Condition match mode for dependencies
      title: EmployeeInfoContractTypesTypeCountriesCountryGetResponsesContentApplicationJsonSchemaDataItems
    EmployeeInfoContractTypesTypeCountriesCountryGetResponsesContentApplicationJsonSchemaErrorsItems:
      type: object
      properties:
        message:
          type: string
          description: Use this message for logging and debugging purposes. Contains a general error description.
      required:
      - message
      title: EmployeeInfoContractTypesTypeCountriesCountryGetResponsesContentApplicationJsonSchemaErrorsItems
  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)"
    oauth2:
      type: http
      scheme: bearer
      description: Standard OAuth2 security scheme based on https://swagger.io/docs/specification/authentication/
x-provenance:
  method: harvested
  publisher: Deel
  source: https://developer.deel.com/openapi/endpoints-5.yaml
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)