---
title: "Lists all contracts"
method: GET
path: "/contracts"
tags: ["Contracts"]
---

# Lists all contracts

`GET /contracts`

Returns contracts with pagination and rich filters (subsidiary, customer, status, date ranges).
Use this to discover contract ids, check lifecycle state, or drive reporting extracts.

## Query parameters

- `limit` integer
- `cursor` string — If defined, a cursor to retrieve the next page.
- `subsidiary_id` string, uuid
- `status` 'ACTIVE' | 'IN_EFFECT' | 'CANCELLED' | 'ENDED' | 'AMENDED'
- `start_date.gt` string, date
- `start_date.gte` string, date
- `start_date.lt` string, date
- `start_date.lte` string, date
- `end_date.gt` string, date
- `end_date.gte` string, date
- `end_date.lt` string, date
- `end_date.lte` string, date
- `customer_id` string, uuid

## Response `200`

OK

- object
  - `contracts` Contract[], required
    - `id` string, uuid, required
    - `customer_id` string, uuid, required
    - `subsidiary_id` string, uuid, required
    - `name` string, required
    - `items` ContractItem[], required
      - `id` string, uuid, required
      - `product_id` string, uuid, required
      - `price` union, required
        - FixedRecurringPrice
          - `amount` MonetaryAmount, required
            - `amount` string, required — Monetary amount in decimal format, using a period (.) as the decimal separator. (e.g. '1.01' in $ currency represents 1$ and 1 cent.)
            - `currency` string, required — Currency code following ISO-4217
          - `interval_months` integer, required
          - `type` string, required
        - OneTimePrice
          - `amount` MonetaryAmount, required
            - `amount` string, required — Monetary amount in decimal format, using a period (.) as the decimal separator. (e.g. '1.01' in $ currency represents 1$ and 1 cent.)
            - `currency` string, required — Currency code following ISO-4217
          - `type` string, required
        - UsagePrice
          - `interval_months` integer, required
          - `type` string, required
          - `billing_scheme` union, required
            - PerUnitBilling
              - …
            - TieredBilling — All tiers except for the highest have to define a value for upTo. There cannot be more than one tier with the same upTo value.
              - …
      - `quantity` number, required
      - `total_value` RoundedMonetaryAmount, required — 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
      - `revenue_pattern` 'DAILY' | 'EVEN_PERIOD', required — DAILY means that the revenue is divided equally per day in the revenue period. EVEN_PERIOD means that the revenue is divided equally for each calendar month in the revenue period.
      - `discount` union
        - AmountDiscount
          - `amount_off` RoundedMonetaryAmount, required — 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
          - `type` string
        - PercentageDiscount
          - `percentage_off` number, double, required
          - `type` string
      - `tax_rate` TaxRate
        - `percentage` number, required
        - `tax_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
        - `country` string, required — Two-letter country code (ISO 3166-1 alpha-2).
        - `type` 'VAT' | 'SALES_TAX', required
        - `description` string, required
      - `start_date` string, date, required
      - `end_date` string, date
      - `status` 'AMENDED' | 'ACTIVE', required
      - `amending` string, uuid — When set, references the item this item is amending.
      - `fields` object[]
        - `field_id` string, uuid, required
        - `field_value_id` string, uuid, required
      - `external_references` ExternalReference[], required
        - `type` string, required
        - `id` string, required
        - `url` string, uri
      - `usage_minimum_commitment` UsageCommitment
        - `amount` RoundedMonetaryAmount, required — 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
        - `revenue_account` string, required — The account code found in the Chart of Accounts
    - `status` 'ACTIVE' | 'IN_EFFECT' | 'CANCELLED' | 'ENDED' | 'AMENDED', required
    - `start_date` string, date, required
    - `end_date` string, date
    - `close_date` string, date, required
    - `invoicing` union, required
      - MonthlyInvoicing
        - `payment_terms` integer, required
        - `interval` string, required
        - `day` integer, required
      - MonthlyProratedInvoicing — Monthly prorated invoicing is only available for contracts with usage products and a minimum usage commitment.
        - `payment_terms` integer, required
        - `interval` string, required
        - `day` integer, required
      - QuarterlyInvoicing
        - `payment_terms` integer, required
        - `interval` string, required
        - `month_day` string, required — A string in --MM-dd format. Invoices will be created starting on that date and every 3 months.
      - SemiAnnualInvoicing
        - `payment_terms` integer, required
        - `interval` string, required
        - `month_day` string, required — A string in --MM-dd format. Invoices will be created starting on that date and every 6 months.
      - YearlyInvoicing
        - `payment_terms` integer, required
        - `interval` string, required
        - `month_day` string, required — A string in --MM-dd format
    - `usage_configuration` UsageConfiguration
      - `usage_invoicing` UsageInvoicing, required
        - `frequency` 'MONTHLY' | 'QUARTERLY' | 'SEMI_ANNUAL' | 'YEARLY', required
        - `payment_terms` integer, required
        - `invoice_date` 'FIRST_DAY_OF_NEXT_CYCLE' | 'LAST_DAY_OF_CURRENT_CYCLE', required — When the usage invoice is created in relation to the usage cycle.
        - `cycle` 'CALENDAR' | 'SUBSCRIPTION_ANNIVERSARY', required — When does the invoicing pricing cycle reset and results in an invoice. Calendar option is only allowed when usage invoice frequency is Monthly, and contract does not start on the 1st of the Month.
      - `minimum_commitment_invoicing` MinimumCommitmentInvoicing
        - `frequency` 'MONTHLY' | 'MONTHLY_PRORATED' | 'QUARTERLY' | 'SEMI_ANNUAL' | 'YEARLY', required — MONTHLY_PRORATED is only available for CALENDAR usage invoice cycle. It need to be the same as contract level invoicing frequency.
        - `payment_terms` integer, required
      - `minimum_commitment_cycle` 'MONTHLY' | 'CONTRACT' — Determines how often does the minimum commitment reset.
      - `contract_level_minimum_commitment` UsageCommitment
        - `amount` RoundedMonetaryAmount, required — 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
        - `revenue_account` string, required — The account code found in the Chart of Accounts
    - `total_value` RoundedMonetaryAmount, required — 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
    - `external_references` ExternalReference[]
      - `type` string, required
      - `id` string, required
      - `url` string, uri
    - `exchange_rate` ExchangeRate
      - `base` string, required — Currency code following ISO-4217
      - `target` string, required — Currency code following ISO-4217
      - `rate` string, required
      - `date` string, date, required
  - `pagination` Pagination
    - `next_cursor` string — If defined, a cursor to retrieve the next page.

## Other responses

- `default` — Error

---

[API](https://skmtc.net/rillet/apis/rillet-accounting-api.md) · [All operations](https://skmtc.net/rillet/apis/rillet-accounting-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/rillet/rillet-accounting-api/versions/a2ab794dd5f2/schema)
