---
title: "Reverses a milestone completion"
method: DELETE
path: "/contracts/{contract_id}/milestones/{milestone_ref}/completion"
tags: ["Contracts"]
---

# Reverses a milestone completion

`DELETE /contracts/{contract_id}/milestones/{milestone_ref}/completion`

## Request

- Base URL: `https://api.rillet.com`
- URL: `https://api.rillet.com/contracts/{contract_id}/milestones/{milestone_ref}/completion`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/rillet/apis/rillet-accounting-api/docs/contracts/:contract_id/milestones/:milestone_ref/completion/delete.ts> (a function with typed inputs; its response is checked against the schema)

Removes the current completion and its recognition effect without cancelling the milestone, issuing a credit, or changing its allocation. The milestone must currently be completed. The milestone change and required revenue journal regeneration commit atomically.

## Path parameters

- `contract_id` string, uuid, required
- `milestone_ref` string, required

## Response `200`

The updated pending milestone.

- ContractMilestone
  - `id` string, uuid, required: Stable server-generated identifier for this contract milestone.
  - `key` string, required: Stable integration key copied from the product template or explicit contract plan.
  - `name` string, required
  - `sequence` integer, required
  - `percentage` string, nullable: Present only in PERCENTAGE mode. "30" means 30 percent.
  - `allocated_amount` RoundedMonetaryAmount: A monetary amount that must be rounded to the currency's default decimal places (e.g., 2 decimal places for USD).
    - `amount` string, required: Monetary amount in decimal format, using a period (.) as the decimal separator. Must be rounded to the currency's default decimal places (e.g. '1.01' in USD represents 1 dollar and 1 cent).
    - `currency` string, required: Currency code following ISO-4217
  - `amount` RoundedMonetaryAmount: A monetary amount that must be rounded to the currency's default decimal places (e.g., 2 decimal places for USD).
    - `amount` string, required: Monetary amount in decimal format, using a period (.) as the decimal separator. Must be rounded to the currency's default decimal places (e.g. '1.01' in USD represents 1 dollar and 1 cent).
    - `currency` string, required: Currency code following ISO-4217
  - `expected_date` string, date, nullable
  - `status` 'OPEN' | 'DUE_THIS_PERIOD' | 'OVERDUE' | 'COMPLETED' | 'CANCELLED', required
  - `completed_date` string, date, nullable
  - `memo` string, nullable
  - `external_references` ExternalReference[], required
    - `type` string, required
    - `id` string, required
    - `url` string, uri
  - `cancellation` ContractMilestoneCancellation
    - `effective_date` string, date, required
    - `credit_memo_id` string, uuid, nullable: Linked credit memo for a nonzero allocation; null when the cancelled allocation is zero.

## Other responses

- `default`: Error

## Changes

- **2026-11-03** `c393d0102005`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/rillet/apis/rillet-accounting-api/changes/contracts/:contract_id/milestones/:milestone_ref/completion/delete.md)

---

[API](https://skmtc.dev/rillet/apis/rillet-accounting-api.md) - [All operations](https://skmtc.dev/rillet/apis/rillet-accounting-api/llms.txt) - [OpenAPI document](https://skmtc.dev/rillet/apis/rillet-accounting-api/revisions/c393d0102005?raw)
