---
title: "Get Conversation Counts"
method: GET
path: "/v2/conversations/counts"
tags: ["conversations"]
---

# Get Conversation Counts

`GET /v2/conversations/counts`

## Request

- Base URL: `https://api.mentium.io` (the document declares no server; this is the origin it was published from)
- URL: `https://api.mentium.io/v2/conversations/counts`
- Auth: HTTP bearer

Return counts grouped by ConversationType for the same filters as the list.

Like the list endpoint, when no ``status`` filter is passed,
``status="FAILED"`` rows are excluded from the counts. ``by_direction``
splits the same threads by who wrote first, so one call fills the
All / Inbound / Outbound tabs.

## Query parameters

- `workspace_id` string, required
- `status` string, nullable
- `load_id` string, nullable
- `label` string, nullable
- `has_drafts` boolean, nullable
- `has_sent` boolean, nullable
- `is_starred` boolean, nullable
- `channel` string, nullable: Count only these channels (comma-separated)
- `q` string, nullable
- `search_body` boolean: Also search the plain-text message bodies with `q` (slower)
- `thread_direction` string, nullable: Who wrote first: all | inbound (the carrier) | outbound (us). When set, it replaces the legacy folder rule that the default view keeps only threads with a carrier message.
- `start_datetime` string, date-time, nullable
- `end_datetime_exclusive` string, date-time, nullable
- `ai_agent_id` string[], nullable
- `outcome` string, nullable: The row's outcome pill: failed | ai_handling | booked | accepted | declined | negotiating | completed. The call-only outcomes (transferred, no_answer, stale, live, in_progress) match no thread.
- `filters_json` string, nullable: JSON array of record filters: [{"field": "carrier_id", "operator": "IN", "values": ["C-1"]}, {"field": "resource", "operator": "EQUALS", "resource_type": "Load", "identifier_field": "external_reference_id", "value": "484612"}, {"field": "load.origin_state", "operator": "IN", "values": ["TX"]}]. carrier_id and the load id match the thread's own reference or any of its offers'; a load id may be the TMS display reference. load.* fields are those Calls filters on, answered by the TMS for the 5,000 most recently active loads of the matching threads.

## Headers

- `mentium-workspace-id` string, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

## Changes

- **2026-11-04** `b4ed8e59432e`: 1 info
  - added the new optional `query` request parameter `search_body`

[Operation history](https://skmtc.dev/mentium/apis/mentium-api/changes/v2/conversations/counts/get.md)

---

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