---
title: "List contracts with funding rollups (attention-first)"
method: GET
path: "/companies/{companyId}/contracts"
tags: ["Receivables"]
---

# List contracts with funding rollups (attention-first)

`GET /companies/{companyId}/contracts`

## Request

- Base URL: `https://api.medianfi.com/api/v1`
- URL: `https://api.medianfi.com/api/v1/companies/{companyId}/contracts`
- Auth: HTTP bearer

DARK — 404s unless ar_ap_items_enabled. Each contract carries a derived `funding` rollup {contractedCents, invoicedToDateCents, remainingCents, pctInvoiced, isFullyInvoiced} computed from its non-void AR items (linkage sourceMetadata.contractId); invariant invoicedToDate + remaining = contracted. Sorted attention-first (remaining > 0 or status overdue), then by contracted value. The envelope also carries totalContractedCents and activeContractCount (active = not cancelled/completed), plus currency and minorUnitExponent. Funding rollups carry the same non-null currency authority. Mixed, invalid, missing, or non-two-decimal source currencies fail with MONETARY_AGGREGATE_CURRENCY_UNAVAILABLE (422).

## Query parameters

- `status` 'new' | 'on_track' | 'overdue' | 'completed' | 'cancelled'
- `customerId` string, uuid

## Response `200`

{ contracts: [contract + funding], totalContractedCents, activeContractCount, currency, minorUnitExponent }

## Other responses

- `401`: Authentication required
- `404`: AR/AP items not enabled for this company
- `422`: Validation error or unavailable homogeneous two-decimal currency authority

---

[API](https://skmtc.dev/medianfi/apis/median-api.md) · [All operations](https://skmtc.dev/medianfi/apis/median-api/llms.txt) · [OpenAPI document](https://skmtc.dev/medianfi/apis/median-api/revisions/20090ea32b0d?raw)
