For the complete documentation index, see llms.txt. This page is also available as Markdown.

Get Escrow Milestones

Read the milestones of one escrow or a batch.

Headers

Name
Value

Content-Type

application/json

x-api-key

<token>

Open API

GET /escrows/{contractId}/milestones

Read one escrow’s milestones only

get

Addressed by the on-chain contract address (C…). Returns the milestone slice of the projected state without the rest of the detail payload — entry shape depends on the contract flavor. Returns 404 only if the escrow is unknown on this network.

Authorizations
x-api-keystringRequired
Path parameters
contractIdstringRequired

On-chain escrow contract address (C…, 56 chars).

Example: CAAQCAIBAEAQCAIBAEAQCAIBAEAQCAIBAEAQCAIBAEAQCAIBAEAQC526
Responses
200Success
application/json
contractIdstringRequired

On-chain escrow contract (C...).

typestring · nullableOptional

Detected contract flavor. Null until the first state.

milestonesobject[]Required

Raw milestone entries from the projected state (shape depends on the contract flavor). Empty until the first state is projected.

get/escrows/{contractId}/milestones
GET /escrows/{contractId}/milestones HTTP/1.1
Host: beta.api.trustlesswork.com
x-api-key: YOUR_API_KEY
Accept: */*
{
  "contractId": "text",
  "type": "text",
  "milestones": [
    {}
  ]
}

Reads one escrow's milestones only — a lighter call than fetching the whole escrow.

Name
Type
In
Description

contractId

string

path

On-chain escrow address (C…)

GET /escrows/milestones

Read the milestones of a batch of escrows

get

Bulk companion of GET /escrows/:contractId/milestones: pass up to 50 contract addresses (contractIds=C…&contractIds=C…) and get the milestone slice of each. Unknown ids are silently absent from the response.

Authorizations
x-api-keystringRequired
Query parameters
contractIdsstring[] · min: 1 · max: 50Required

On-chain contract addresses (repeat the param: contractIds=C…&contractIds=C…, 1–50). Inaccessible or unknown ids are silently absent from the response.

Example: ["CAAQCAIBAEAQCAIBAEAQCAIBAEAQCAIBAEAQCAIBAEAQCAIBAEAQC526"]
Responses
200Success
application/json
get/escrows/milestones
GET /escrows/milestones?contractIds=CAAQCAIBAEAQCAIBAEAQCAIBAEAQCAIBAEAQCAIBAEAQCAIBAEAQC526 HTTP/1.1
Host: beta.api.trustlesswork.com
x-api-key: YOUR_API_KEY
Accept: */*
{
  "data": [
    {
      "contractId": "text",
      "type": "text",
      "milestones": [
        {}
      ]
    }
  ]
}

The batch version: milestones for several escrows at once.

Name
Type
In
Description

contractIds

string[]

query

1–50 addresses. Repeat the param

What this Endpoint returns?

The milestone list of each escrow, including status and the approvals { target, approvalCount, approvedBy } progress used to render approval state.

The batch endpoint is not paginated — the request itself is bounded at 50 ids. Unknown ids are silently absent rather than an error, so check what came back.

Use Example:

These reads come from the read-model, which is eventually consistent. Right after submitting a transaction a 404 usually means "not projected yet", not "does not exist" — poll briefly instead of treating it as an error.