Deel · Capability
Endpoints — subpackage_contractorHiring
Endpoints — subpackage_contractorHiring. 7 operations. Lead operation: Attach a file to contract. Self-contained Naftiko capability covering one Deel business surface.
What You Can Do
POST
Createcontractdocument
— Attach a file to contract
/v1/contracts/{contract-id}/documents
DELETE
Getcontractinvitations
— Remove invite
/v1/contracts/{contract-id}/invitations
POST
Createcontractinvitation
— Send contract to worker
/v1/contracts/{contract-id}/invitations
GET
Getcontractinvite
— Get worker invite link
/v1/contracts/{contract-id}/invite
GET
Getcontractpaymentcycles
— Retrieve contractor payment dates
/v1/contracts/{contract-id}/payment-cycles
GET
Getcontractpreview
— Preview a contract agreement
/v1/contracts/{contract-id}/preview
POST
Createcontractsignature
— Sign a contract
/v1/contracts/{contract-id}/signatures
MCP Tools
attach-file-contract
Attach a file to contract
remove-invite
Remove invite
idempotent
send-contract-worker
Send contract to worker
get-worker-invite-link
Get worker invite link
read-only
idempotent
retrieve-contractor-payment-dates
Retrieve contractor payment dates
read-only
idempotent
preview-contract-agreement
Preview a contract agreement
read-only
idempotent
sign-contract
Sign a contract
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Endpoints — subpackage_contractorHiring
description: 'Endpoints — subpackage_contractorHiring. 7 operations. Lead operation: Attach a file to contract. Self-contained
Naftiko capability covering one Deel business surface.'
tags:
- Deel
- subpackage_contractorHiring
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
DEEL_API_KEY: DEEL_API_KEY
capability:
consumes:
- type: http
namespace: contracts-endpoints-subpackage-contractorhiring
baseUri: https://api.letsdeel.com/rest/v2
description: Endpoints — subpackage_contractorHiring business capability. Self-contained, no shared references.
resources:
- name: contracts-contract_id-documents
path: /contracts/{contract_id}/documents
operations:
- name: createcontractdocument
method: POST
description: Attach a file to contract
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: contract_id
in: path
type: string
description: Deel contract id.
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: contracts-contract_id-invitations
path: /contracts/{contract_id}/invitations
operations:
- name: getcontractinvitations
method: DELETE
description: Remove invite
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: contract_id
in: path
type: string
description: Deel contract id.
required: true
- name: Authorization
in: header
type: string
description: '## Authentication'
required: true
- name: createcontractinvitation
method: POST
description: Send contract to worker
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: contract_id
in: path
type: string
description: Deel contract id.
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: contracts-contract_id-invite
path: /contracts/{contract_id}/invite
operations:
- name: getcontractinvite
method: GET
description: Get worker invite link
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: contract_id
in: path
type: string
description: Deel contract id.
required: true
- name: locale
in: query
type: string
description: Locale to use for the invite link.
- name: Authorization
in: header
type: string
description: '## Authentication'
required: true
- name: contracts-contract_id-payment_cycles
path: /contracts/{contract_id}/payment_cycles
operations:
- name: getcontractpaymentcycles
method: GET
description: Retrieve contractor payment dates
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: contract_id
in: path
type: string
description: The Deel contract ID for which payment dates are being retrieved.
required: true
- name: Authorization
in: header
type: string
description: '## Authentication'
required: true
- name: contracts-contract_id-preview
path: /contracts/{contract_id}/preview
operations:
- name: getcontractpreview
method: GET
description: Preview a contract agreement
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: contract_id
in: path
type: string
description: Deel contract id.
required: true
- name: templateId
in: query
type: string
description: ID of an existing contract template.
- name: Authorization
in: header
type: string
description: '## Authentication'
required: true
- name: contracts-contract_id-signatures
path: /contracts/{contract_id}/signatures
operations:
- name: createcontractsignature
method: POST
description: Sign a contract
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: contract_id
in: path
type: string
description: Deel contract id.
required: true
- name: Authorization
in: header
type: string
description: '## Authentication'
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: false
authentication:
type: bearer
token: '{{env.DEEL_API_KEY}}'
exposes:
- type: rest
namespace: contracts-endpoints-subpackage-contractorhiring-rest
port: 8080
description: REST adapter for Endpoints — subpackage_contractorHiring. One Spectral-compliant resource per consumed operation,
prefixed with /v1.
resources:
- path: /v1/contracts/{contract-id}/documents
name: contracts-contract-id-documents
description: REST surface for contracts-contract_id-documents.
operations:
- method: POST
name: createcontractdocument
description: Attach a file to contract
call: contracts-endpoints-subpackage-contractorhiring.createcontractdocument
with:
contract_id: rest.contract_id
Authorization: rest.Authorization
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/contracts/{contract-id}/invitations
name: contracts-contract-id-invitations
description: REST surface for contracts-contract_id-invitations.
operations:
- method: DELETE
name: getcontractinvitations
description: Remove invite
call: contracts-endpoints-subpackage-contractorhiring.getcontractinvitations
with:
contract_id: rest.contract_id
Authorization: rest.Authorization
outputParameters:
- type: object
mapping: $.
- method: POST
name: createcontractinvitation
description: Send contract to worker
call: contracts-endpoints-subpackage-contractorhiring.createcontractinvitation
with:
contract_id: rest.contract_id
Authorization: rest.Authorization
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/contracts/{contract-id}/invite
name: contracts-contract-id-invite
description: REST surface for contracts-contract_id-invite.
operations:
- method: GET
name: getcontractinvite
description: Get worker invite link
call: contracts-endpoints-subpackage-contractorhiring.getcontractinvite
with:
contract_id: rest.contract_id
locale: rest.locale
Authorization: rest.Authorization
outputParameters:
- type: object
mapping: $.
- path: /v1/contracts/{contract-id}/payment-cycles
name: contracts-contract-id-payment-cycles
description: REST surface for contracts-contract_id-payment_cycles.
operations:
- method: GET
name: getcontractpaymentcycles
description: Retrieve contractor payment dates
call: contracts-endpoints-subpackage-contractorhiring.getcontractpaymentcycles
with:
contract_id: rest.contract_id
Authorization: rest.Authorization
outputParameters:
- type: object
mapping: $.
- path: /v1/contracts/{contract-id}/preview
name: contracts-contract-id-preview
description: REST surface for contracts-contract_id-preview.
operations:
- method: GET
name: getcontractpreview
description: Preview a contract agreement
call: contracts-endpoints-subpackage-contractorhiring.getcontractpreview
with:
contract_id: rest.contract_id
templateId: rest.templateId
Authorization: rest.Authorization
outputParameters:
- type: object
mapping: $.
- path: /v1/contracts/{contract-id}/signatures
name: contracts-contract-id-signatures
description: REST surface for contracts-contract_id-signatures.
operations:
- method: POST
name: createcontractsignature
description: Sign a contract
call: contracts-endpoints-subpackage-contractorhiring.createcontractsignature
with:
contract_id: rest.contract_id
Authorization: rest.Authorization
body: rest.body
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: contracts-endpoints-subpackage-contractorhiring-mcp
port: 9090
transport: http
description: MCP adapter for Endpoints — subpackage_contractorHiring. One tool per consumed operation, routed inline through
this capability's consumes block.
tools:
- name: attach-file-contract
description: Attach a file to contract
hints:
readOnly: false
destructive: false
idempotent: false
call: contracts-endpoints-subpackage-contractorhiring.createcontractdocument
with:
contract_id: tools.contract_id
Authorization: tools.Authorization
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: remove-invite
description: Remove invite
hints:
readOnly: false
destructive: true
idempotent: true
call: contracts-endpoints-subpackage-contractorhiring.getcontractinvitations
with:
contract_id: tools.contract_id
Authorization: tools.Authorization
outputParameters:
- type: object
mapping: $.
- name: send-contract-worker
description: Send contract to worker
hints:
readOnly: false
destructive: false
idempotent: false
call: contracts-endpoints-subpackage-contractorhiring.createcontractinvitation
with:
contract_id: tools.contract_id
Authorization: tools.Authorization
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: get-worker-invite-link
description: Get worker invite link
hints:
readOnly: true
destructive: false
idempotent: true
call: contracts-endpoints-subpackage-contractorhiring.getcontractinvite
with:
contract_id: tools.contract_id
locale: tools.locale
Authorization: tools.Authorization
outputParameters:
- type: object
mapping: $.
- name: retrieve-contractor-payment-dates
description: Retrieve contractor payment dates
hints:
readOnly: true
destructive: false
idempotent: true
call: contracts-endpoints-subpackage-contractorhiring.getcontractpaymentcycles
with:
contract_id: tools.contract_id
Authorization: tools.Authorization
outputParameters:
- type: object
mapping: $.
- name: preview-contract-agreement
description: Preview a contract agreement
hints:
readOnly: true
destructive: false
idempotent: true
call: contracts-endpoints-subpackage-contractorhiring.getcontractpreview
with:
contract_id: tools.contract_id
templateId: tools.templateId
Authorization: tools.Authorization
outputParameters:
- type: object
mapping: $.
- name: sign-contract
description: Sign a contract
hints:
readOnly: false
destructive: false
idempotent: false
call: contracts-endpoints-subpackage-contractorhiring.createcontractsignature
with:
contract_id: tools.contract_id
Authorization: tools.Authorization
body: tools.body
outputParameters:
- type: object
mapping: $.