Deel · Capability

Endpoints — subpackage_eorHiring

Endpoints — subpackage_eorHiring. 9 operations. Lead operation: Get EOR Additional Costs. Self-contained Naftiko capability covering one Deel business surface.

Run with Naftiko Deelsubpackage_eorHiring

What You Can Do

GET
Getadditionalcosts — Get EOR Additional Costs
/v1/eor/additional-costs/{country}
GET
Getbenefits — Retrieve Benefits by Country
/v1/eor/benefits
POST
Cancelcontract — Cancel EOR Contract
/v1/eor/contract/{oid}/cancel
PATCH
Delayonboarding — Delay EOR employee onboarding
/v1/eor/contract/{oid}/delay-onboarding
POST
Signcontractdocument — Sign EOR contract document
/v1/eor/contracts/{contract-id}/documents/{type}/sign
PATCH
Updatecontractemployeeinformation — Update Employee Information for EOR Contract
/v1/eor/contracts/{contract-id}/employee-information
GET
Getstartdate — Fetch Start Date for EOR Contracts
/v1/eor/start-date
GET
Geteorhiringguidebycountry — Retrieve detailed hiring guide for a country
/v1/eor/validations/{country-code}
GET
Getcreatecontractform — Fetch EOR Contract form
/v1/forms/eor/create-contract/{country-code}

MCP Tools

get-eor-additional-costs

Get EOR Additional Costs

read-only idempotent
retrieve-benefits-country

Retrieve Benefits by Country

read-only idempotent
cancel-eor-contract

Cancel EOR Contract

delay-eor-employee-onboarding

Delay EOR employee onboarding

idempotent
sign-eor-contract-document

Sign EOR contract document

update-employee-information-eor-contract

Update Employee Information for EOR Contract

idempotent
fetch-start-date-eor-contracts

Fetch Start Date for EOR Contracts

read-only idempotent
retrieve-detailed-hiring-guide-country

Retrieve detailed hiring guide for a country

read-only idempotent
fetch-eor-contract-form

Fetch EOR Contract form

read-only idempotent

Capability Spec

platform-endpoints-subpackage-eorhiring.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Endpoints — subpackage_eorHiring
  description: 'Endpoints — subpackage_eorHiring. 9 operations. Lead operation: Get EOR Additional Costs. Self-contained Naftiko
    capability covering one Deel business surface.'
  tags:
  - Deel
  - subpackage_eorHiring
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    DEEL_API_KEY: DEEL_API_KEY
capability:
  consumes:
  - type: http
    namespace: platform-endpoints-subpackage-eorhiring
    baseUri: https://api.letsdeel.com/rest/v2
    description: Endpoints — subpackage_eorHiring business capability. Self-contained, no shared references.
    resources:
    - name: eor-additional-costs-country
      path: /eor/additional-costs/{country}
      operations:
      - name: getadditionalcosts
        method: GET
        description: Get EOR Additional Costs
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: country
          in: path
          type: string
          description: The two-letter ISO code of the country for which to retrieve the EOR additional costs.
          required: true
        - name: Authorization
          in: header
          type: string
          description: '## Authentication'
          required: true
    - name: eor-benefits
      path: /eor/benefits
      operations:
      - name: getbenefits
        method: GET
        description: Retrieve Benefits by Country
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: country_code
          in: query
          type: string
          description: Country code.
          required: true
        - name: work_visa
          in: query
          type: boolean
          description: Indicates if work visa is required.
          required: true
        - name: work_hours_per_week
          in: query
          type: number
          description: Working hours per week
          required: true
        - name: employment_type
          in: query
          type: string
          description: Type of employment
          required: true
        - name: team_id
          in: query
          type: string
          description: The ID of the team the worker belongs to.
          required: true
        - name: legal_entity_id
          in: query
          type: string
          description: The ID of the legal entity.
          required: true
        - name: Authorization
          in: header
          type: string
          description: '## Authentication'
          required: true
    - name: eor-contract-oid-cancel
      path: /eor/contract/{oid}/cancel
      operations:
      - name: cancelcontract
        method: POST
        description: Cancel EOR Contract
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: oid
          in: path
          type: string
          description: Contract oid
          required: true
        - name: Authorization
          in: header
          type: string
          description: '## Authentication'
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: eor-contract-oid-delay-onboarding
      path: /eor/contract/{oid}/delay-onboarding
      operations:
      - name: delayonboarding
        method: PATCH
        description: Delay EOR employee onboarding
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: oid
          in: path
          type: string
          description: Contract oid
          required: true
        - name: Authorization
          in: header
          type: string
          description: '## Authentication'
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: eor-contracts-contract_id-documents-type-sign
      path: /eor/contracts/{contract_id}/documents/{type}/sign
      operations:
      - name: signcontractdocument
        method: POST
        description: Sign EOR contract document
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: contract_id
          in: path
          type: string
          description: EOR contract ID
          required: true
        - name: type
          in: path
          type: string
          description: The type of document. Currently only FRAMEWORK_AGREEMENT is supported.
          required: true
        - name: Authorization
          in: header
          type: string
          description: '## Authentication'
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: eor-contracts-contract_id-employee-information
      path: /eor/contracts/{contract_id}/employee-information
      operations:
      - name: updatecontractemployeeinformation
        method: PATCH
        description: Update Employee Information for EOR Contract
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: contract_id
          in: path
          type: string
          description: The unique identifier of the employee contract.
          required: true
        - name: Authorization
          in: header
          type: string
          description: '## Authentication'
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: eor-start-date
      path: /eor/start-date
      operations:
      - name: getstartdate
        method: GET
        description: Fetch Start Date for EOR Contracts
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: employment_country
          in: query
          type: string
          description: Employment country in ISO 3166-1 alpha-2 format
          required: true
        - name: employee_nationality
          in: query
          type: string
          description: Employee nationality in ISO 3166-1 alpha-2 format
        - name: work_visa
          in: query
          type: boolean
          description: Whether a work visa is required
        - name: team_id
          in: query
          type: string
          description: Team ID
          required: true
        - name: legal_entity_id
          in: query
          type: string
          description: Legal entity ID
        - name: employment_state
          in: query
          type: string
          description: State or province of employment
        - name: special_job_id
          in: query
          type: string
          description: Special job ID (if applicable)
        - name: Authorization
          in: header
          type: string
          description: '## Authentication'
          required: true
    - name: eor-validations-country_code
      path: /eor/validations/{country_code}
      operations:
      - name: geteorhiringguidebycountry
        method: GET
        description: Retrieve detailed hiring guide for a country
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: country_code
          in: path
          type: string
          description: The two-letter ISO code of the country for which to retrieve the hiring guide.
          required: true
        - name: Authorization
          in: header
          type: string
          description: '## Authentication'
          required: true
    - name: forms-eor-create-contract-country_code
      path: /forms/eor/create-contract/{country_code}
      operations:
      - name: getcreatecontractform
        method: GET
        description: Fetch EOR Contract form
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: country_code
          in: path
          type: string
          description: Two-letter country code in ISO 3166-1 alpha-2 format
          required: true
        - name: state
          in: query
          type: string
          description: The selected state code of the contract. This is only required for countries that specify it.
        - name: start_date
          in: query
          type: string
          description: The selected start date of the contract in ISO 8601 formatted date string.
        - name: work_hours_per_week
          in: query
          type: integer
          description: The selected number of work hours per week.
        - name: contract_duration_in_days
          in: query
          type: integer
          description: The contract duration in days for definite contracts.
        - name: Authorization
          in: header
          type: string
          description: '## Authentication'
          required: true
    authentication:
      type: bearer
      token: '{{env.DEEL_API_KEY}}'
  exposes:
  - type: rest
    namespace: platform-endpoints-subpackage-eorhiring-rest
    port: 8080
    description: REST adapter for Endpoints — subpackage_eorHiring. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/eor/additional-costs/{country}
      name: eor-additional-costs-country
      description: REST surface for eor-additional-costs-country.
      operations:
      - method: GET
        name: getadditionalcosts
        description: Get EOR Additional Costs
        call: platform-endpoints-subpackage-eorhiring.getadditionalcosts
        with:
          country: rest.country
          Authorization: rest.Authorization
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/eor/benefits
      name: eor-benefits
      description: REST surface for eor-benefits.
      operations:
      - method: GET
        name: getbenefits
        description: Retrieve Benefits by Country
        call: platform-endpoints-subpackage-eorhiring.getbenefits
        with:
          country_code: rest.country_code
          work_visa: rest.work_visa
          work_hours_per_week: rest.work_hours_per_week
          employment_type: rest.employment_type
          team_id: rest.team_id
          legal_entity_id: rest.legal_entity_id
          Authorization: rest.Authorization
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/eor/contract/{oid}/cancel
      name: eor-contract-oid-cancel
      description: REST surface for eor-contract-oid-cancel.
      operations:
      - method: POST
        name: cancelcontract
        description: Cancel EOR Contract
        call: platform-endpoints-subpackage-eorhiring.cancelcontract
        with:
          oid: rest.oid
          Authorization: rest.Authorization
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/eor/contract/{oid}/delay-onboarding
      name: eor-contract-oid-delay-onboarding
      description: REST surface for eor-contract-oid-delay-onboarding.
      operations:
      - method: PATCH
        name: delayonboarding
        description: Delay EOR employee onboarding
        call: platform-endpoints-subpackage-eorhiring.delayonboarding
        with:
          oid: rest.oid
          Authorization: rest.Authorization
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/eor/contracts/{contract-id}/documents/{type}/sign
      name: eor-contracts-contract-id-documents-type-sign
      description: REST surface for eor-contracts-contract_id-documents-type-sign.
      operations:
      - method: POST
        name: signcontractdocument
        description: Sign EOR contract document
        call: platform-endpoints-subpackage-eorhiring.signcontractdocument
        with:
          contract_id: rest.contract_id
          type: rest.type
          Authorization: rest.Authorization
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/eor/contracts/{contract-id}/employee-information
      name: eor-contracts-contract-id-employee-information
      description: REST surface for eor-contracts-contract_id-employee-information.
      operations:
      - method: PATCH
        name: updatecontractemployeeinformation
        description: Update Employee Information for EOR Contract
        call: platform-endpoints-subpackage-eorhiring.updatecontractemployeeinformation
        with:
          contract_id: rest.contract_id
          Authorization: rest.Authorization
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/eor/start-date
      name: eor-start-date
      description: REST surface for eor-start-date.
      operations:
      - method: GET
        name: getstartdate
        description: Fetch Start Date for EOR Contracts
        call: platform-endpoints-subpackage-eorhiring.getstartdate
        with:
          employment_country: rest.employment_country
          employee_nationality: rest.employee_nationality
          work_visa: rest.work_visa
          team_id: rest.team_id
          legal_entity_id: rest.legal_entity_id
          employment_state: rest.employment_state
          special_job_id: rest.special_job_id
          Authorization: rest.Authorization
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/eor/validations/{country-code}
      name: eor-validations-country-code
      description: REST surface for eor-validations-country_code.
      operations:
      - method: GET
        name: geteorhiringguidebycountry
        description: Retrieve detailed hiring guide for a country
        call: platform-endpoints-subpackage-eorhiring.geteorhiringguidebycountry
        with:
          country_code: rest.country_code
          Authorization: rest.Authorization
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/forms/eor/create-contract/{country-code}
      name: forms-eor-create-contract-country-code
      description: REST surface for forms-eor-create-contract-country_code.
      operations:
      - method: GET
        name: getcreatecontractform
        description: Fetch EOR Contract form
        call: platform-endpoints-subpackage-eorhiring.getcreatecontractform
        with:
          country_code: rest.country_code
          state: rest.state
          start_date: rest.start_date
          work_hours_per_week: rest.work_hours_per_week
          contract_duration_in_days: rest.contract_duration_in_days
          Authorization: rest.Authorization
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: platform-endpoints-subpackage-eorhiring-mcp
    port: 9090
    transport: http
    description: MCP adapter for Endpoints — subpackage_eorHiring. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: get-eor-additional-costs
      description: Get EOR Additional Costs
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: platform-endpoints-subpackage-eorhiring.getadditionalcosts
      with:
        country: tools.country
        Authorization: tools.Authorization
      outputParameters:
      - type: object
        mapping: $.
    - name: retrieve-benefits-country
      description: Retrieve Benefits by Country
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: platform-endpoints-subpackage-eorhiring.getbenefits
      with:
        country_code: tools.country_code
        work_visa: tools.work_visa
        work_hours_per_week: tools.work_hours_per_week
        employment_type: tools.employment_type
        team_id: tools.team_id
        legal_entity_id: tools.legal_entity_id
        Authorization: tools.Authorization
      outputParameters:
      - type: object
        mapping: $.
    - name: cancel-eor-contract
      description: Cancel EOR Contract
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: platform-endpoints-subpackage-eorhiring.cancelcontract
      with:
        oid: tools.oid
        Authorization: tools.Authorization
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: delay-eor-employee-onboarding
      description: Delay EOR employee onboarding
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: platform-endpoints-subpackage-eorhiring.delayonboarding
      with:
        oid: tools.oid
        Authorization: tools.Authorization
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: sign-eor-contract-document
      description: Sign EOR contract document
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: platform-endpoints-subpackage-eorhiring.signcontractdocument
      with:
        contract_id: tools.contract_id
        type: tools.type
        Authorization: tools.Authorization
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: update-employee-information-eor-contract
      description: Update Employee Information for EOR Contract
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: platform-endpoints-subpackage-eorhiring.updatecontractemployeeinformation
      with:
        contract_id: tools.contract_id
        Authorization: tools.Authorization
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: fetch-start-date-eor-contracts
      description: Fetch Start Date for EOR Contracts
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: platform-endpoints-subpackage-eorhiring.getstartdate
      with:
        employment_country: tools.employment_country
        employee_nationality: tools.employee_nationality
        work_visa: tools.work_visa
        team_id: tools.team_id
        legal_entity_id: tools.legal_entity_id
        employment_state: tools.employment_state
        special_job_id: tools.special_job_id
        Authorization: tools.Authorization
      outputParameters:
      - type: object
        mapping: $.
    - name: retrieve-detailed-hiring-guide-country
      description: Retrieve detailed hiring guide for a country
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: platform-endpoints-subpackage-eorhiring.geteorhiringguidebycountry
      with:
        country_code: tools.country_code
        Authorization: tools.Authorization
      outputParameters:
      - type: object
        mapping: $.
    - name: fetch-eor-contract-form
      description: Fetch EOR Contract form
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: platform-endpoints-subpackage-eorhiring.getcreatecontractform
      with:
        country_code: tools.country_code
        state: tools.state
        start_date: tools.start_date
        work_hours_per_week: tools.work_hours_per_week
        contract_duration_in_days: tools.contract_duration_in_days
        Authorization: tools.Authorization
      outputParameters:
      - type: object
        mapping: $.