---
title: "Get canonical plan quotas, pricing, and features"
method: GET
path: "/v1/plans"
tags: ["Account"]
---

# Get canonical plan quotas, pricing, and features

`GET /v1/plans`

## Request

- Base URL: `https://api.registrum.co.uk`
- URL: `https://api.registrum.co.uk/v1/plans`
- Auth: none required

Single source of truth for plan quotas, pricing, and feature lists.

Public, unauthenticated endpoint - the website, customer dashboard, and
transactional email copy should fetch this instead of hardcoding plan
numbers, so they can't silently drift from what the API actually
enforces. See `docs/config-centralization-audit-2026-06-22.md`.

Also includes `watched_companies_limit` - the number of distinct companies
a plan may watch via webhooks (null = unlimited). A key's individual limit
may be higher than its plan default if the Compliance Monitoring add-on is
active (see `POST /v1/webhooks`).

Example: `GET /v1/plans`

## Response `200`

Plan economics for all four tiers.

- PlansResponse
  - `status` string, required: Always 'success'.
  - `plans` object, required: Keyed by plan tier: free, web, pro, enterprise.
  - `signup_trial` SignupTrial, required
    - `days` integer, required: Every new key starts with this many days of full access.
    - `monthly_limit` integer, nullable, required: Monthly cap during the trial. null = none.
    - `daily_limit` integer, required: Abuse ceiling per day during the trial.
    - `then` string, required: The plan the key moves to when the trial ends.

## Other responses

- `502`: Plan configuration could not be loaded upstream.

---

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