---
title: "List the firm's compact CRM directory"
method: GET
path: "/firm/crm"
tags: ["CRM"]
---

# List the firm's compact CRM directory

`GET /firm/crm`

## Request

- Base URL: `https://ledgerhq.pro/api/v1`
- URL: `https://ledgerhq.pro/api/v1/firm/crm`
- Auth: one of:
  - HTTP bearer and API key in header `x-organization-id`
  - HTTP bearer and API key in header `x-organization-id`

Returns active managed companies plus onboarding prospects. Once the firm connects Stripe, Stripe is the only fee source: linked and onboarding-created subscriptions are totaled from LedgerHQ's mirror of Stripe as a monthly equivalent in feeAmountCents and monthlyFeeCents (feeSource=stripe), and companies without a Stripe subscription return feeSource=not_linked with a null fee. Firms without Stripe use engagement letters and onboarding packages (feeSource=engagement or package). Unread, usage-based, or mixed-currency Stripe amounts return null with stripeFeeState rather than an invented total. Supports search, tags, groups, onboarding status, fee sorting, and pagination. Fees resolve before sorting and pagination.

## Query parameters

- `search` string
- `tagIds` string
- `groupId` string, uuid
- `onboardingStatus` 'active' | 'complete' | 'not_started'
- `sortBy` 'fee'
- `sortDirection` 'asc' | 'desc'
- `page` integer
- `pageSize` 25 | 50 | 100

## Response `200`

CRM directory page

## Other responses

- `default`: Error response

---

[API](https://skmtc.dev/ledgerhq-pro/apis/ledgerhq-bookkeeping-api.md) · [All operations](https://skmtc.dev/ledgerhq-pro/apis/ledgerhq-bookkeeping-api/llms.txt) · [OpenAPI document](https://skmtc.dev/ledgerhq-pro/apis/ledgerhq-bookkeeping-api/revisions/9a8269f0a586?raw)
