Deel API Documentation
This is the complete API documentation for connecting to the Deel API using MindCloud's Universal API. If you are new to MindCloud, start with the Introduction to see how one API can sit in front of many different apps.
MindCloud is an integration company that offers one normalized API to access 3,100+ apps from a single place. It cleans up provider-specific quirks, keeps requests and responses consistent, and centralizes authentication so you do not need to manage separate flows for every app. Browse other apps.
Meet Deel: Deel helps companies hire, manage, and pay global teams. This app wraps Deel's public API for contractor operations and workforce workflows. Keep reading to get started.
Quickstart
Before you run your first Deel request, you need three things:
- A MindCloud account — sign in or create an account at MindCloud.
- A MindCloud API Key — create one in API Keys. Keep it on your server.
- At least one Deel connection — create or choose one in Connections. Note its
connectionId.
Every Deel action uses the same URL pattern:
https://connect.mindcloud.co/v1/universal/deel/latest/actions/{actionSlug}You need a MindCloud API Key and a Deel connection. Then call an action such as Get Contract:
curl --request GET \
--url "https://connect.mindcloud.co/v1/universal/deel/latest/actions/get-contract" \
--header "Authorization: Bearer $MINDCLOUD_API_KEY" \
--get \
--data-urlencode "connectionId=$CONNECTION_ID"Every response comes back in the same envelope, with your rows in a data array:
{
"success": true,
"data": [
{ "id": "1042", "name": "Ava" }
],
"meta": {}
}After your first request works, use Shape your requests to control arguments, pagination, filtering, fields, and errors.
Authentication
Authentication has two layers. Your MindCloud API Key authenticates the request to MindCloud, sent as a Bearer token in the Authorization header. The connectionId selects the connected Deel account that should run the action. MindCloud stores and refreshes the Deel credentials behind that connection, so you never send provider tokens with your requests.
Pass connectionId in the query string for GET and DELETE actions, and in the JSON body for POST, PUT, and PATCH actions. Keep your MindCloud API Key on your server; do not ship it in browser code, mobile apps, public repositories, or logs.
Connect Deel with an API token
Open Deel in a browser. This connection uses a Deel API token, and an Organization Token is usually the right choice for the contract, timesheet, milestone, adjustment, and invoice-adjustment actions in this wrapper.
- Open the Deel Developer Center
In your Deel dashboard, go to More, then Developer.
- Open the Access Tokens tab
In the Developer Center, open the Access Tokens tab.
- Generate a new token
Click Generate new token, choose Organization Token unless you specifically need a user-limited personal token, then continue through the token wizard.
- Select the required scopes and generate the token
Choose the scopes your Deel workflows need, review the token settings, and generate the token. Deel only shows the token value once.
- Paste the token into the connection form
Copy the generated token and paste it into the API Token field in the connection form right away.
Deel actions
All 37 published actions for this Deel version. Each page documents the endpoint, arguments, and response controls.
- POSTCreate Contract Adjustment
- POSTCreate Contract Amendment
- POSTCreate Contract Document
- POSTCreate Contract Invitation
- POSTCreate Contract Milestone
- POSTCreate Contract Signature
- POSTCreate Contract Task
- POSTCreate Contract Task Review
- POSTCreate IC Contract
- POSTCreate Invoice Adjustment Review
- POSTCreate Timesheet
- POSTCreate Timesheet Review
- DELETEDelete Contract Adjustment
- DELETEDelete Contract Milestone
- DELETEDelete Contract Task
- DELETEDelete Invoice Adjustment
- GETGet Contract
- GETGet Contract Adjustment
- GETGet Contract Invitations
- GETGet Contract Invite
- GETGet Contract Milestone by ID
- GETGet Invoice Adjustment by ID
- GETGet Timesheet by ID
- GETList Adjustment Categories
- GETList Contract Adjustments
- GETList Contract Amendments
- GETList Contract Invoice Adjustments
- GETList Contract Milestones
- GETList Contract Payment Cycles
- GETList Contract Tasks
- GETList Contract Timesheets
- GETList Contracts
- GETList Invoice Adjustments
- GETList Timesheets
- PUTUpdate Contract Adjustment
- PUTUpdate IC Contract
- PUTUpdate Timesheet
Related apps
More Human Resources apps on the Universal API, behind the same REST shape. Or browse all apps.