Contracts

Permanently cancels a pending milestone

Changed on

Permanently forfeits a pending milestone allocation on a FULL contract without redistributing it or automatically issuing a refund. A nonzero allocation creates a linked credit memo; zero allocations do not. Retrying the saved effective_date is a no-op, while a different date conflicts. Completed milestones must be reversed before cancellation.

put/contracts/{contract_id}/milestones/{milestone_ref}/cancellation

Request

Path parameters

contract_idstring uuid required

UUID of the contract that owns the milestone.

milestone_refstring required

Milestone UUID or stable key. A key must identify exactly one milestone in the contract.

Request body

effective_datestring date required

Cancellation business date within the contract term and allowed accounting period.

Response

The permanently cancelled milestone.

idstring uuid required

Stable server-generated identifier for this contract milestone.

keystring required

Stable integration key copied from the product template or explicit contract plan.

namestring required
sequenceinteger required
percentagestring nullable

Present only in PERCENTAGE mode. "30" means 30 percent.

expected_datestring date nullable
status'OPEN' | 'DUE_THIS_PERIOD' | 'OVERDUE' | 'COMPLETED' | 'CANCELLED' required
completed_datestring date nullable
memostring nullable

Example response

{
  "allocated_amount": {
    "amount": "1.01",
    "currency": "USD"
  },
  "amount": {
    "amount": "1.01",
    "currency": "USD"
  },
  "external_references": [
    {
      "type": "xyzSystemId",
      "id": "234",
      "url": "https://xyzsystempage.com/ids/234"
    }
  ]
}

Changes