563848e0ecc0
List contracts with pagination
Returns a paginated list of contracts for the tenant identified by the tenant-id header.
When to use: Use this endpoint to browse or page through the contract catalogue. For a single known contract, prefer GET /contracts/{id} to avoid scanning a page of results.
Preconditions: Requires the READ_CONTRACT permission.
Pagination: Two modes are supported and should not be combined:
- Offset-based: provide page (0-based; treated as 0 if omitted or negative) and size (records per page; defaults to 50 if omitted or non-positive, silently clamped to a maximum of 100 if a larger value is supplied).
- Cursor-based: provide startAfterId to page forward or endAtId to page backward, using the contract's server-assigned id field (not documentId) from a previous response. If either cursor parameter is supplied, it takes precedence over page even if both are sent. If none of page, startAfterId, or endAtId are supplied, the first page is returned in cursor mode, ordered ascending by id.
Filtering: This operation does not currently accept a filter query parameter - every call returns the full unfiltered set of contracts for the tenant, paginated. (The underlying data layer supports filtering by planId/networkId/documentId, but this endpoint does not yet forward a filter to it.)
Response: A paginated envelope containing a data array of Contract objects, a links object with self/next/prev navigation URLs (next/prev are null when there is no further page in that direction), and a totalCount of matching records. No state is changed; this operation is safe and idempotent.
Query parameters
Contract id to end at, for backward cursor-based pagination. Takes precedence over page when supplied.
Page number (0-based), for offset-based pagination. Ignored if startAfterId or endAtId is supplied.
Number of records per page. Defaults to 50 if omitted or non-positive; values above 100 are silently clamped to 100.
Contract id to start after, for forward cursor-based pagination. Takes precedence over page when supplied.
Headers
Tenant ID used to scope the results to the caller's tenant.
Response
Paginated list of contracts for the tenant, in the order determined by the pagination mode used (see description).
Example response
{
"data": [
{
"id": "ctr_8a2f3e91",
"planId": "plan_40921",
"networkId": "network_58213",
"documentId": "doc_2026_04821",
"createdBy": "user_30172",
"updatedBy": "user_58890",
"generalInfo": {
"contractId": "GC-2026-0417",
"contractName": "Acme Health Network FFS Agreement",
"contractTemplate": "Standard FFS Template v3",
"contractRate": "100% Medicare",
"reimbursementCode": "RC-1042",
"contractType": "FFS",
"contractStatus": "Active",
"contractAgreementType": "Single",
"groupId": "group_12345",
"networkId": "network_58213",
"planId": "plan_40921"
},
"lifecycle": {
"contractEffectiveDate": "2026-01-01",
"initialTermDate": "2027-01-01",
"terminationInformedDate": "2026-11-01",
"terminationDate": "2026-12-31",
"billingEffectiveDate": "2026-01-01",
"billingTerminationDate": "2026-12-31"
},
"financial": {
"feeSchedule": "Medicare FFS 2026",
"contractPaymentType": "Per Claim",
"providerRateCalculation": "Standard Medicare fee schedule",
"claimSubmissionCycle": "Monthly"
},
"administrativeAndLegal": {
"practitionersTerminationNoticePeriod": "90",
"providersManualUpdatesNoticePeriod": "60",
"claimFilingLimit": "180 days from date of service",
"reimbursementScheduleUpdateFrequency": "Quarterly",
"timelyPaymentCommitment": 30
},
"clinicalAndQuality": {
"averageStarsAndPmpmBonus": "4.5 stars / $10 PMPM",
"performanceReportingRequirements": "Quarterly HEDIS and CAHPS reporting",
"recredentialingInterval": "3 yr",
"providerRosterUpdateFrequency": "Monthly"
}
}
],
"totalCount": 137
}