---
title: "Get Stats"
method: GET
path: "/v2/collections-readiness/stats"
tags: ["collections-readiness"]
---

# Get Stats

`GET /v2/collections-readiness/stats`

## Request

- Base URL: `https://api.stuut.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.stuut.ai/v2/collections-readiness/stats`
- Auth: HTTP bearer

Get Collections Readiness Stats

Returns aggregate counts and overdue totals for partners blocked from outbound
collections because of missing data. Overdue totals are in standard units of
the returned `currency` (the org base currency). Results are scoped to the
caller's business-unit / assignee visibility, matching the partners list
endpoint.

## Query parameters

- `channel` 'all' | 'email' | 'phone': Outreach channel to scope the missing-contact blocker to. `all` counts partners missing a primary contact on either channel; `email` or `phone` counts only those missing that channel's primary.
- `include_on_hold` boolean: Also count partners on an open-ended manual or integration pause.
- `include_coming_due` boolean: Also count partners with open AR but nothing overdue, in `reached` and `not_in_workflow`, as the partners lists do.
- `include_no_assignee` boolean: Count the no-assignee blocker in `total`. False for orgs that do not track assignees.

## Response `200`

Successful Response

- CollectionsReadinessStats
  - `currency` 'ADP' | 'AED' | 'AFA' | 'AFN' | 'ALK' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'AOK' | 'AON' | 'AOR' | 'ARA' | 'ARL' | 'ARM' | 'ARP' | 'ARS' | 'ATS' | 'AUD' | 'AWG' | 'AZM' | 'AZN' | 'BAD' | 'BAM' | 'BAN' | 'BBD' | 'BDT' | 'BEC' | 'BEF' | 'BEL' | 'BGL' | 'BGM' | 'BGN' | 'BGO' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BOL' | 'BOP' | 'BOV' | 'BRB' | 'BRC' | 'BRE' | 'BRL' | 'BRN' | 'BRR' | 'BRZ' | 'BSD' | 'BTN' | 'BUK' | 'BWP' | 'BYB' | 'BYN' | 'BYR' | 'BZD' | 'CAD' | 'CDF' | 'CHE' | 'CHF' | 'CHW' | 'CLE' | 'CLF' | 'CLP' | 'CNH' | 'CNX' | 'CNY' | 'COP' | 'COU' | 'CRC' | 'CSD' | 'CSK' | 'CUC' | 'CUP' | 'CVE' | 'CYP' | 'CZK' | 'DDM' | 'DEM' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'ECS' | 'ECV' | 'EEK' | 'EGP' | 'ERN' | 'ESA' | 'ESB' | 'ESP' | 'ETB' | 'EUR' | 'FIM' | 'FJD' | 'FKP' | 'FRF' | 'GBP' | 'GEK' | 'GEL' | 'GHC' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GNS' | 'GQE' | 'GRD' | 'GTQ' | 'GWE' | 'GWP' | 'GYD' | 'HKD' | 'HNL' | 'HRD' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'IEP' | 'ILP' | 'ILR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISJ' | 'ISK' | 'ITL' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRH' | 'KRO' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LTL' | 'LTT' | 'LUC' | 'LUF' | 'LUL' | 'LVL' | 'LVR' | 'LYD' | 'MAD' | 'MAF' | 'MCF' | 'MDC' | 'MDL' | 'MGA' | 'MGF' | 'MKD' | 'MKN' | 'MLF' | 'MMK' | 'MNT' | 'MOP' | 'MRO' | 'MRU' | 'MTL' | 'MTP' | 'MUR' | 'MVP' | 'MVR' | 'MWK' | 'MXN' | 'MXP' | 'MXV' | 'MYR' | 'MZE' | 'MZM' | 'MZN' | 'NAD' | 'NGN' | 'NIC' | 'NIO' | 'NLG' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEI' | 'PEN' | 'PES' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PLZ' | 'PTE' | 'PYG' | 'QAR' | 'RHD' | 'ROL' | 'RON' | 'RSD' | 'RUB' | 'RUR' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDD' | 'SDG' | 'SDP' | 'SEK' | 'SGD' | 'SHP' | 'SIT' | 'SKK' | 'SLE' | 'SLL' | 'SOS' | 'SRD' | 'SRG' | 'SSP' | 'STD' | 'STN' | 'SUR' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJR' | 'TJS' | 'TMM' | 'TMT' | 'TND' | 'TOP' | 'TPE' | 'TRL' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UAK' | 'UGS' | 'UGX' | 'USD' | 'USN' | 'USS' | 'UYI' | 'UYP' | 'UYU' | 'UYW' | 'UZS' | 'VEB' | 'VED' | 'VEF' | 'VES' | 'VND' | 'VNN' | 'VUV' | 'WST' | 'XAF' | 'XAG' | 'XAU' | 'XBA' | 'XBB' | 'XBC' | 'XBD' | 'XCD' | 'XCG' | 'XDR' | 'XEU' | 'XFO' | 'XFU' | 'XOF' | 'XPD' | 'XPF' | 'XPT' | 'XRE' | 'XSU' | 'XTS' | 'XUA' | 'XXX' | 'YDD' | 'YER' | 'YUD' | 'YUM' | 'YUN' | 'YUR' | 'ZAL' | 'ZAR' | 'ZMK' | 'ZMW' | 'ZRN' | 'ZRZ' | 'ZWD' | 'ZWL' | 'ZWR', required: The 3 character [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code.
  - `refreshed_at` string, date-time, nullable, required: When the `partner_stats` snapshot these numbers come from was last refreshed (~30 min cron); `null` when no partner is in scope. The partners list reads the same snapshot, so a bucket count agrees with the list it links to unless the list is asked for coming-due partners too.
  - `total` CollectionsReadinessBucket, required
    - `count` integer, required
    - `total_overdue` string, decimal, required: Total overdue balance for partners in this bucket, in standard units of `currency`.
  - `no_primary_contact` CollectionsReadinessBucket, required
    - `count` integer, required
    - `total_overdue` string, decimal, required: Total overdue balance for partners in this bucket, in standard units of `currency`.
  - `no_assignee` CollectionsReadinessBucket, required
    - `count` integer, required
    - `total_overdue` string, decimal, required: Total overdue balance for partners in this bucket, in standard units of `currency`.
  - `not_in_workflow` CollectionsReadinessBucket, required
    - `count` integer, required
    - `total_overdue` string, decimal, required: Total overdue balance for partners in this bucket, in standard units of `currency`.
  - `past_last_stage` CollectionsReadinessBucket, required
    - `count` integer, required
    - `total_overdue` string, decimal, required: Total overdue balance for partners in this bucket, in standard units of `currency`.
  - `reached` CollectionsReadinessBucket, required
    - `count` integer, required
    - `total_overdue` string, decimal, required: Total overdue balance for partners in this bucket, in standard units of `currency`.
  - `previewing_inactive_workflows` boolean, required: True when no active workflow sends to customers, so the numbers cover what its test-mode or inactive workflows would reach once live.
  - `workflow_count` integer, required: How many workflows the counts come from: the active ones, else the inactive ones, else 0.
  - `workflows_reaching_no_one` string[], required: Names of the workflows the counts come from when they match no account, so the counts cover the whole book as with no workflows. Empty otherwise.
  - `not_in_workflow_reasons` object, required: How many `not_in_workflow` rows carry each reason, and `none` for rows with no reason. A row with two reasons counts under both.
  - `auto_primary_covered` CollectionsReadinessBucket, required
    - `count` integer, required
    - `total_overdue` string, decimal, required: Total overdue balance for partners in this bucket, in standard units of `currency`.
  - `reached_overdue` CollectionsReadinessBucket, required
    - `count` integer, required
    - `total_overdue` string, decimal, required: Total overdue balance for partners in this bucket, in standard units of `currency`.

## Other responses

- `422`: Validation Error

---

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