For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
SupportDeel Home
OverviewPlatformEmployer of RecordContractorsGlobal PayrollHREmbeddedDeel ITAPI ReferenceChangelog
OverviewPlatformEmployer of RecordContractorsGlobal PayrollHREmbeddedDeel ITAPI ReferenceChangelog
  • Resources
    • Blog
    • Community
  • Overview
    • Introduction
    • Getting started
  • Employer of Record
    • Overview
    • Hiring & contracts
    • Employment management
    • Amendments & offboarding
    • Worker onboarding
    • Worker self-service
  • Independent Contractor
    • Overview
    • Create & onboard
    • Manage contracts
  • EOR Endpoints
  • EOR Worker Endpoints
  • IC Endpoints
      • POSTCreate a Milestone
      • DELDelete a Milestone
      • GETRetrieve a single milestone
      • GETRetrieve Milestones by Contract
LogoLogo
SupportDeel Home
IC EndpointsMilestones

Create a Milestone

POST
/contracts/:contract_id/milestones
POST
/rest/v2/contracts/:contract_id/milestones
$curl -X POST https://api.letsdeel.com/rest/v2/contracts/37nex2x/milestones \
> -H "Authorization: Bearer <token>" \
> -H "Content-Type: application/json" \
> -d '{
> "data": {
> "title": "Sprint 2",
> "amount": "900.00",
> "description": "Complete all tasks associated with Sprint #2."
> }
>}'
1{
2 "data": {
3 "created": true
4 }
5}

Creates a new payment milestone on a milestone-based contract. After creation, the milestone enters a review workflow before payment is processed. Token scopes: milestones:write

Was this page helpful?
Previous

Delete a Milestone

Next
Built with

Authentication

AuthorizationBearer
## Authentication The 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. ```curl curl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \ -H 'Authorization: Bearer YOUR-TOKEN-HERE' ``` [Learn more about authentication](/api/authentication)
OR
AuthorizationBearer

Standard OAuth2 security scheme based on https://swagger.io/docs/specification/authentication/

Path parameters

contract_idstringRequired
The unique identifier of the Deel contract where the milestone will be added.

Request

The milestone object containing the required details to be added to the contract.
dataobjectRequired

Response

Milestone created successfully.
dataobject

Errors

400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error
404
Not Found Error
500
Internal Server Error

Authentication

The 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.

1curl -X GET 'https://api.letsdeel.com/rest/v2/contracts' \
2 -H 'Authorization: Bearer YOUR-TOKEN-HERE'

Learn more about authentication