Skip to main content
GET
/
v1
/
persons
/
{personId}
/
milestones
List milestones
curl --request GET \
  --url https://api.cadanapay.com/v1/persons/{personId}/milestones \
  --header 'Authorization: Bearer <token>'
[
  {
    "id": "8ef9a712-cdae-4110-b1ea-9ba95abbee6e",
    "title": "<string>",
    "description": "<string>",
    "amount": {
      "amount": 10000,
      "currency": "USD"
    },
    "dueDate": "<string>",
    "documents": [
      "<string>"
    ],
    "rejectionReason": "<string>",
    "invoiceId": "8ef9a712-cdae-4110-b1ea-9ba95abbee6e",
    "createdTimestamp": 123,
    "updatedTimestamp": 123
  }
]

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

Query Parameters

includeDocuments
boolean
default:false

When true, each milestone's documents are returned as presigned download URLs

Response

list of a contractor's milestones

id
string<uuid>
Example:

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

title
string
description
string
amount
object
dueDate
string
documents
string[]

Presigned document download URLs; present only when includeDocuments=true

status
enum<string>
Available options:
Planned,
Submitted,
Approved,
Rejected,
Paid
rejectionReason
string

Why the milestone's invoice was rejected; present only when status is Rejected

invoiceId
string<uuid>
Example:

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

addedBy
enum<string>
Available options:
ADMIN,
CONTRACTOR
createdTimestamp
integer<int64>
updatedTimestamp
integer<int64>