---
title: "List Change Orders"
method: GET
path: "/public/v2/contracts/{contract_id}/change-orders/"
tags: ["Contracts"]
---

# List Change Orders

`GET /public/v2/contracts/{contract_id}/change-orders/`

Retrieve a paginated list of change orders for a contract.

## Path parameters

- `contract_id` integer, required

## Query parameters

- `search` string, nullable
- `id` integer[], nullable
- `company_id` integer[], nullable
- `contract_id` integer[], nullable
- `number` integer[], nullable
- `record_status` RecordStatus[], nullable
- `start_date` string, date, nullable
- `end_date` string, date, nullable
- `ordering` string, nullable
- `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

- PagedContractChangeOrderListSchemaOut
  - `items` ContractChangeOrderListSchemaOut[], required
    - `id` integer, required
    - `number` integer, required
    - `company_id` integer, required
    - `company_name` string, required
    - `contract_id` integer, required
    - `contract_name` string, required
    - `effective_date` string, date, nullable, required
    - `memo` string, nullable, required
    - `apply_cumulative_catchup` boolean, required
    - `catchup_amount` string, nullable
    - `transaction_id` integer, nullable, required
    - `record_status` 'draft' | 'posted' | 'archived', required
    - `is_incomplete` boolean, required
    - `obligation_modifications` object[], required
    - `obligation_additions` PerformanceObligationIn[], required
      - `id` integer, nullable
      - `item_id` integer, nullable
      - `quantity` union
        - number
        - string
      - `rate` union
        - number
        - string
      - `position` integer
      - `memo` string
      - `standalone_selling_price` union
        - number
        - string
      - `term_id` integer, nullable
      - `billing_group` integer
      - `recognition_strategy` 'straight_line' | 'straight_line_start_end_even' | 'daily_prorata' | 'milestone' | 'usage_tiered' | 'usage' | 'immediate' | 'deposit_release'
      - `obligation_conditions` object
      - `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
      - `billing_start_date` string, date, nullable
      - `billing_end_date` string, date, nullable
      - `billing_frequency` 'one_time' | 'daily' | 'weekly' | 'monthly' | 'quarterly' | 'semi_annually' | 'annually'
      - `billing_interval` integer, nullable
      - `sync_billing_with_recognition` boolean
      - `skip_invoice_generation` boolean
      - `recognition_start_date` string, date, nullable
      - `recognition_end_date` string, date, nullable
      - `recognition_frequency` 'daily' | 'weekly' | 'monthly' | 'quarterly' | 'semi_annually' | 'annually'
      - `recognition_interval` integer, nullable
      - `discount_type` 'PERCENTAGE' | 'FIXED'
      - `discount_value` union
        - number
        - string
      - `selected_vat_rate_id` integer, nullable
      - `selected_gst_tax_rate_id` integer, nullable
      - `is_auto_renewable` boolean
  - `count` integer, required

## Other responses

- `400` — Bad Request
- `404` — Not Found

---

[API](https://skmtc.net/dualentry/apis/dualentry-public-api.md) · [All operations](https://skmtc.net/dualentry/apis/dualentry-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/dualentry/dualentry-public-api/revisions/f338ec8b3f52/schema)
