Obtain a Deel API token from the Deel dashboard under Developer Settings and include it as Authorization: Bearer <token> in all requests.
POST to https://api.letsdeel.com/rest/v2/contracts with a JSON body specifying the contract type (e.g., fixed rate, milestone, or pay-as-you-go task-based) along with fields such as contractor details, currency, rate, and start date.
Capture the contract ID from the response; use it to invite the contractor to sign via the invite-contractor flow if they are not yet a Deel user.
Poll or use webhooks to track the contract status through states such as created, pending signature, and active.
Manage ongoing payments by creating payment records or milestones against the contract ID as work is completed.
Known gotchas
Each contract type (fixed rate, milestone, task-based) has a shared base payload plus type-specific required fields — omitting type-specific fields causes validation errors that may not clearly identify the missing field.
The contractor must complete Deel's onboarding (KYC/identity verification) before a contract can become active and payments can be processed — account for this lead time in your integration flow.
Deel operates in multiple legal entities depending on the contractor's country; certain fields and required documents vary by jurisdiction — test with contractors in multiple countries if building a multi-region integration.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp