---
title: "IRIS distress screen (carriers with a published, non-zero outside-range count)"
method: GET
path: "/v1/financials/distress"
---

# IRIS distress screen (carriers with a published, non-zero outside-range count)

`GET /v1/financials/distress`

## Request

- Base URL: `https://api.querylines.com`
- URL: `https://api.querylines.com/v1/financials/distress`
- Auth: none declared

Carriers whose NAIC annual-statement filing reports a published, NON-ZERO 'IRIS Ratios Outside Usual Range' count for a fiscal year. NAIC IRIS results lag the statement year, so this figure is genuinely NULL for most carrier-years -- NULL is always excluded from this screen and must never be read as 'zero outside-range ratios'; a carrier's absence from this list for a year means no distress signal was published for that year, not a clean bill of health. Omit `year` to see every qualifying (carrier, fiscal year) across the loaded history (a carrier can appear more than once). Ordered by the outside-range count desc, then naic_id asc. $0.10 per query.

## Query parameters

- `year` integer
- `limit` integer

## Response `200`

Matching (carrier, fiscal year) distress rows, most outside-range first.

- object
  - `year` number, nullable, required
  - `limit` number, required
  - `count` number, required: Length of `carriers`.
  - `carriers` object[], required
    - `naic_id` string, required
    - `company_name` string, nullable, required
    - `domicile` string, nullable, required
    - `fiscal_year` number, required
    - `iris_ratios_outside_range` number, required: Always > 0 on this endpoint -- the screen excludes NULL years entirely. NULL means 'not published for this fiscal year', not zero outside-range ratios, so a NULL year is never eligible to appear here; a carrier absent from this list for a given year has no distress signal published for that year, which is not the same as a clean bill of health.
    - `combined_ratio` number, nullable, required
    - `capital_surplus` number, nullable, required
  - `report_date` string, nullable, required
  - `data_as_of` string, nullable, required
  - `source` string, nullable, required
  - `coverage_note` string, required

## Other responses

- `400`: Invalid query parameters.
- `402`: Payment required (x402). Returned when the x402 payment gate is enabled (PAY_TO_ADDRESS configured) and the request carries no valid payment. The full payment challenge (price/network/payTo/asset) is carried in the base64-encoded PAYMENT-REQUIRED response header (see the x402 spec), not the JSON body -- the body is `{}` for API clients. Price for this route: $0.10. Retry with a signed payment per x402 (USDC on Base mainnet); on success the response carries a PAYMENT-RESPONSE header with settlement info. When PAY_TO_ADDRESS is unset (kill switch off), this route is free and never returns 402.
- `500`: Internal error.

---

[API](https://skmtc.dev/querylines/apis/querylines-api.md) · [All operations](https://skmtc.dev/querylines/apis/querylines-api/llms.txt) · [OpenAPI document](https://skmtc.dev/querylines/apis/querylines-api/revisions/4afb6c3e2b1f?raw)
