---
title: "List Contract Milestones"
method: GET
path: "/rr/api/v1/contracts/{contract_id}/milestones"
tags: ["Revenue Recognition"]
---

# List Contract Milestones

`GET /rr/api/v1/contracts/{contract_id}/milestones`

Retrieve a list of milestones for a specific contract with optional filtering and sorting.

        Supports including soft-deleted records for audit and recovery purposes.
        When include_deleted=true, returns ONLY deleted records instead of active records.
        Deleted records contain minimal data: 'id', 'is_deleted=true', 'deleted_at' timestamp,
        and 'last_modified_at'. When 'false' or omitted, returns ONLY active records.
        This provides clean separation between active and deleted data.

## Path parameters

- `contract_id` integer, required

## Query parameters

- `include_deleted` boolean
- `last_modified_at__gte` string
- `last_modified_at__lte` string
- `limit` integer
- `offset` integer

## Response `200`

- PaginatedContractMilestoneList
  - `count` integer, required
  - `next` string, uri, nullable
  - `previous` string, uri, nullable
  - `results` ContractMilestone[], required
    - `id` integer, required
    - `customer` integer, required
    - `contract` integer, required
    - `product` integer, nullable
    - `product_bundle` string, required
    - `contract_product_bundle` ContractProductBundleRead, required — Read-only serializer for ContractProductBundle in milestone responses.
      - `id` integer, required
      - `source_bundle` integer, nullable — Original ProductBundle template this was created from
      - `source_bundle_name` string, nullable, required
      - `total_amount` number, double, required — Total amount to be allocated across products
      - `currency` string
      - `lines` ContractProductBundleLineRead[], required
        - `id` integer, required
        - `product` integer, required
        - `product_name` string, required
        - `amount` number, double, required — Dollar amount allocated to this product
        - `percentage` string, required
        - `original_percentage` number, double, nullable — Original percentage from source ProductBundle for auditing
    - `product_name` string, required
    - `product_bundle_name` string, required
    - `milestone_name` string, required
    - `milestone_date` string, date, required
    - `amount` number, double, required
    - `quantity` number, double
    - `rate` number, double
    - `description` string, nullable
    - `department` integer, nullable
    - `department_name` string, required
    - `tags` object[], required
    - `revenue_transaction_id` integer, required
    - `created_at` string, date-time, required
    - `last_modified_at` string, required
    - `is_deleted` boolean, required
    - `deleted_at` string, date-time, nullable, required

---

[API](https://skmtc.net/campfire/apis/campfire-developer-apis.md) · [All operations](https://skmtc.net/campfire/apis/campfire-developer-apis/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/campfire/campfire-developer-apis/versions/6945ebc3180e/schema)
