---
title: "List milestones for a contract"
method: GET
path: "/public/v1/contracts/{contract_id}/milestones/"
tags: ["Contracts"]
---

# List milestones for a contract

`GET /public/v1/contracts/{contract_id}/milestones/`

## Request

- Base URL: `https://api.dualentry.com`
- URL: `https://api.dualentry.com/public/v1/contracts/{contract_id}/milestones/`
- Auth: none declared

Return a paginated list of milestones for a contract, ordered by obligation, date, then id.

## Path parameters

- `contract_id` integer, required

## Query parameters

- `limit` integer: Number of records to return per page (capped at 100)
- `offset` integer: Number of records to skip before starting to return results

## Response `200`

OK

- PagedMilestoneOut
  - `items` MilestoneOut[], required
    - `id` integer, required
    - `contract_id` integer, required
    - `obligation_id` integer, required
    - `name` string, required
    - `description` string, nullable
    - `amount_mode` 'FIXED' | 'PERCENT' | 'COMPUTED', required
    - `amount` string, required
    - `percentage` string, nullable
    - `computed_quantity` string, nullable
    - `computed_rate` string, nullable
    - `date` string, date, nullable
    - `status` 'DRAFT' | 'ACTIVE' | 'COMPLETED' | 'ARCHIVED', required
    - `archived_reason` string, nullable
    - `revenue_recognition_id` integer, nullable
    - `subledger_line_id` integer, nullable
    - `memo` string, nullable
    - `require_sequential_completion` boolean
    - `classifications` RecordClassificationsSchemaOut[]
      - `id` integer, required
      - `name` string, required
      - `line_id` integer, required
      - `line_name` string, required
      - `parent_classification_id` integer, nullable
      - `parent_classification_line_id` integer, nullable
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
  - `count` integer, required

## Other responses

- `404`: Not Found

## Changes

> 35 revisions in range; 1 not diffed.

- **2026-10-07** `6a577e8a2e32`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/dualentry/apis/dualentry-public-api-2/changes/public/v1/contracts/:contract_id/milestones/get.md)

---

[API](https://skmtc.dev/dualentry/apis/dualentry-public-api-2.md) · [All operations](https://skmtc.dev/dualentry/apis/dualentry-public-api-2/llms.txt) · [OpenAPI document](https://skmtc.dev/dualentry/apis/dualentry-public-api-2/revisions/d64e0fc1c56b?raw)
