---
title: "List quotes"
method: GET
path: "/groups/{groupId}/quotes"
tags: ["Quotes"]
---

# List quotes

`GET /groups/{groupId}/quotes`

All quotes for the group, newest first.

## Path parameters

- `groupId` string, required

## Query parameters

- `limit` integer
- `cursor` string

## Response `200`

A page of quotes.

- object
  - `quotes` Quote[], required
    - `id` string, required
    - `groupId` string, required
    - `mode` 'test' | 'live', required
    - `status` 'ready' | 'in_review' | 'expired', required — `ready` for most groups (synchronous). Groups above the in-review employee threshold (default 200) return `in_review` and are finalized by Prescience underwriting; listen for the `quote.finalized` webhook.
    - `pricingBasis` 'indicative', required — Always `indicative`: rates are indicative pending underwriting confirmation and bind only at enrollment plus underwriting sign-off.
    - `plan` object, required
      - `id` string
      - `name` string
    - `planYearStartDate` string, date, required
    - `expiresAt` string, date-time, required — Expiry is configuration-driven; the default window is 30 days after creation. Enrolling against an expired quote returns `410 quote_expired`.
    - `census` object, required
      - `employees` integer
      - `coveredLives` integer
      - `tiers` object
        - `employeeOnly` integer
        - `employeeSpouse` integer
        - `employeeChildren` integer
        - `family` integer
    - `monthly` object, required
      - `totalCents` integer
      - `pepmCents` integer — Total divided by active employees, rounded.
      - `byTier` object
        - `employeeOnly` object
          - `count` integer
          - `avgCents` integer
        - `employeeSpouse` object
          - `count` integer
          - `avgCents` integer
        - `employeeChildren` object
          - `count` integer
          - `avgCents` integer
        - `family` object
          - `count` integer
          - `avgCents` integer
    - `annual` object, required
      - `totalCents` integer
    - `employeeContribution` object, required
      - `premiumCents` 0 — Always 0. Employees pay no premium contribution on Diamond.
    - `comparison` object, required
      - `priorPepmCents` integer
      - `savingsMonthlyCents` integer
      - `savingsAnnualCents` integer
      - `savingsPct` integer — Savings versus the prior plan, rounded to the nearest whole percent.
    - `fundingBreakdown` object, required
      - `expectedClaimsPct` integer
      - `stopLossPct` integer
      - `careNavigationPct` integer
      - `adminFeesPct` 0
      - `note` string
    - `assumptions` string[], required
    - `pricing` object — Pricing metadata: which configuration layer produced this quote. Additive in v1.1; absent on quotes created before it. All other quote fields are unchanged.
      - `source` 'code_default' | 'default' | 'partner', required — `partner`: integration-specific pricing configuration. `default`: platform default pricing configuration. `code_default`: built-in defaults.
      - `updatedAt` string, date-time — When the applied rate card was last updated. Absent for `code_default`.
    - `createdAt` string, date-time, required
  - `nextCursor` string, nullable

## Other responses

- `401` — Missing, malformed, or revoked API key.
- `404` — No such resource in this mode. Test keys only see test resources; live keys only see live resources.
- `429` — Rate limit exceeded. Honor `Retry-After`.
- `500` — Something failed on our side. Safe to retry with the same `Idempotency-Key`.

---

[API](https://skmtc.dev/getprescience/apis/prescience-partner-api.md) · [All operations](https://skmtc.dev/getprescience/apis/prescience-partner-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/getprescience/prescience-partner-api/revisions/eb1f377f8139/schema)
