---
title: "CRM v2 pipeline counts"
method: GET
path: "/funnel/v2/counts"
tags: ["Analytics"]
---

# CRM v2 pipeline counts

`GET /funnel/v2/counts`

How many sample requests sit in each pipeline tab — `toReview`, `readyToShip`, `shipped`, `pendingContent`, `completed`, `cancelled` — under the filters you pass, plus the overall `completionRate`, the shop's `approvalTarget` (limit and used), `archivedCount`, `expiringCount` and a `dataFreshness` stamp. This is the tab-badge row above the board.

Accepts the same filters as `/funnel/v2/requests` (the counts respect them), so you can ask 'how many are in each stage for this product / date range'. Single-shop, CRM v2 shops only.

## Query parameters

- `page` integer — Page number, 1-based.
- `page_size` integer — Rows per page (max 100).
- `status` string, nullable — Pipeline tab to filter to. One of: toReview, readyToShip, shipped, pendingContent, completed, cancelled.
- `product_ids` string, nullable — Comma-separated product IDs.
- `profile_ids` string, nullable — Comma-separated creator profile IDs.
- `automation_ids` string, nullable — Comma-separated automation IDs that sourced the request.
- `tags` string, nullable — Comma-separated CRM tags.
- `created_from` string, nullable — Earliest request date, YYYY-MM-DD (inclusive).
- `created_to` string, nullable — Latest request date, YYYY-MM-DD (inclusive).
- `search` string, nullable — Free-text search over creator handle / name.
- `sort_by` string — Sort field.
- `sort_direction` string — 'asc' or 'desc'.
- `exclude_rejected` boolean — Drop rejected requests.
- `show_archived` boolean — Return archived requests instead.
- `show_expiring` boolean — Only requests expiring soon.
- `min_post_rate` number, nullable
- `max_post_rate` number, nullable
- `min_pps_score` number, nullable
- `max_pps_score` number, nullable
- `min_avg_views` number, nullable
- `max_avg_views` number, nullable
- `min_engagement_rate` number, nullable
- `max_engagement_rate` number, nullable
- `min_live_gmv` number, nullable
- `max_live_gmv` number, nullable
- `min_shop_gmv` number, nullable
- `max_shop_gmv` number, nullable
- `min_creator_gmv` number, nullable
- `max_creator_gmv` number, nullable
- `min_avg_gmv_video` number, nullable
- `max_avg_gmv_video` number, nullable
- `min_gmv_sample` number, nullable
- `max_gmv_sample` number, nullable
- `min_videos_per_sample` number, nullable
- `max_videos_per_sample` number, nullable

## Response `200`

Successful Response

- PipelineCountsResponse
  - `counts` PipelineCounts, required
    - `toReview` integer
    - `readyToShip` integer
    - `shipped` integer
    - `pendingContent` integer
    - `completed` integer
    - `cancelled` integer
    - `all` integer
    - `inShipment` integer
    - `posted` integer
    - `allApproved` integer
    - `overdue` integer
    - `rejected` integer
    - `expired` integer
    - `ignored` integer
  - `completionRate` number, required
  - `approvalTarget` ApprovalTargetSummary, required
    - `limit` integer, nullable
    - `used` integer
  - `archivedCount` ArchivedCount
    - `creators` integer
    - `products` integer
    - `total` integer, required
  - `expiringCount` integer
  - `dataFreshness` DataFreshness
    - `lastSyncedAt` string, nullable
    - `isStale` boolean
    - `isRefreshing` boolean

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/reacherapp/apis/reacher-data-api.md) · [All operations](https://skmtc.dev/reacherapp/apis/reacher-data-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/reacherapp/reacher-data-api/revisions/5eefff009b5b/schema)
