---
title: "Read or find existing company subscriptions"
method: GET
path: "/companies/{companyId}/billing/subscriptions"
tags: ["Client Onboarding"]
---

# Read or find existing company subscriptions

`GET /companies/{companyId}/billing/subscriptions`

## Request

- Base URL: `https://ledgerhq.pro/api/v1`
- URL: `https://ledgerhq.pro/api/v1/companies/{companyId}/billing/subscriptions`
- Auth: one of:
  - HTTP bearer and API key in header `x-organization-id`
  - HTTP bearer and API key in header `x-organization-id`

Firm staff with company access can read explicitly linked subscriptions, search firm-owned Stripe accounts, or read linked invoice history. A company may have multiple subscriptions. Each charge retains its actual currency, quantity, interval and variable-price status. A firm accounting connection can be reused without changing its feed. view=search requires integrationId and query; page continues a customer search. view=invoices returns authorized invoice/PDF URLs only after checking every invoice line against this company's links. cursor continues history until nextCursor is null. These subscriptions are independent of onboarding and LedgerHQ's own platform billing.

## Path parameters

- `companyId` string, uuid, required

## Query parameters

- `view` 'subscriptions' | 'search' | 'invoices'
- `integrationId` string, uuid
- `query` string
- `page` string
- `cursor` string

## Response `200`

Subscriptions plus firm connections; search results plus nextPage; or invoices plus nextCursor. Amounts are integer cents; variable charges have null amountCents.

- union
  - object
    - `companyName` string, required
    - `firmOrganizationId` string, uuid, required
    - `connections` object[], required
      - `id` string, uuid
      - `name` string
    - `subscriptions` LinkedCompanySubscription[], required
      - `id` string, required: Local link UUID, or Stripe subscription ID in search results
      - `name` string, required
      - `status` string, required
      - `cancelAtPeriodEnd` boolean
      - `canUpdateCard` boolean, required
      - `error` string
      - `stripeUrl` string: Firm-only Stripe dashboard link
      - `paymentMethod` object, nullable
        - `brand` string
        - `last4` string
        - `expMonth` integer
        - `expYear` integer
      - `charges` object[], required
        - `name` string
        - `amountCents` integer, nullable: Quantity-adjusted recurring charge before invoice-level adjustments; null for variable pricing
        - `currency` string
        - `interval` string
        - `intervalCount` integer
        - `variable` boolean
        - `nextBillingAt` string, date-time, nullable
  - object
    - `nextPage` string, nullable, required
    - `results` object[], required
      - `id` string: Stripe sub_ ID
      - `linked` boolean
      - `customer` object
        - `id` string
        - `name` string
        - `email` string, nullable
      - `subscription` LinkedCompanySubscription
        - `id` string, required: Local link UUID, or Stripe subscription ID in search results
        - `name` string, required
        - `status` string, required
        - `cancelAtPeriodEnd` boolean
        - `canUpdateCard` boolean, required
        - `error` string
        - `stripeUrl` string: Firm-only Stripe dashboard link
        - `paymentMethod` object, nullable
          - `brand` string
          - `last4` string
          - `expMonth` integer
          - `expYear` integer
        - `charges` object[], required
          - `name` string
          - `amountCents` integer, nullable: Quantity-adjusted recurring charge before invoice-level adjustments; null for variable pricing
          - `currency` string
          - `interval` string
          - `intervalCount` integer
          - `variable` boolean
          - `nextBillingAt` string, date-time, nullable
  - object
    - `nextCursor` string, nullable, required
    - `invoices` object[], required
      - `id` string
      - `number` string
      - `subscriptionName` string
      - `createdAt` string, date-time
      - `amountCents` integer
      - `currency` string
      - `status` string
      - `invoiceUrl` string, nullable
      - `pdfUrl` string, nullable

## 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)
