Skip to main content
POST
/
v1
/
persons
/
{personId}
/
milestones
Add milestone
curl --request POST \
  --url https://api.cadanapay.com/v1/persons/{personId}/milestones \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "title": "Design phase",
  "amount": {
    "amount": 10000,
    "currency": "USD"
  },
  "description": "<string>",
  "dueDate": "2026-09-30",
  "documentIds": [
    "8ef9a712-cdae-4110-b1ea-9ba95abbee6e"
  ]
}
'
{
  "id": "8ef9a712-cdae-4110-b1ea-9ba95abbee6e"
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

X-MultiTenantKey
string

Required when using a Platform API token. The tenant key identifying which business to operate on.

Path Parameters

personId
string<uuid>
required

The unique identifier for the person

Body

application/json
title
string
required

Milestone title; also used as the invoice line-item description on completion

Example:

"Design phase"

amount
object
required
description
string

Optional milestone description; used as the invoice note on completion

dueDate
string

Optional due date (YYYY-MM-DD)

Example:

"2026-09-30"

documentIds
string<uuid>[]

File ids from POST /v1/files/upload-url (purpose milestone-document); resolved to stored documents

Response

milestone created (or completed) response

id
string<uuid>
Example:

"8ef9a712-cdae-4110-b1ea-9ba95abbee6e"