---
title: "Plans (proxied prices, price_id→tier mapping)"
method: GET
path: "/api/v2/billing/plans"
tags: ["v2 Billing"]
---

# Plans (proxied prices, price_id→tier mapping)

`GET /api/v2/billing/plans`

## Request

- Base URL: `https://pdf2md.dev`
- URL: `https://pdf2md.dev/api/v2/billing/plans`
- Auth: none required

EP-023-T8 + T23 (implemented). Public. Plans from billing_price_map; live-amount best-effort from monetize GET /paywall/{id}/prices. `current` is flagged when a session is present. `purchase_availability` (T23) shows whether new purchases can be started from the extension and website (on a read error — both false).

## Response `200`

Plans

- object
  - `plans` V2BillingPlan[], required
    - `tier_code` 'anonymous' | 'free' | 'lifetime' | 'builder' | 'pro' | 'business' | 'enterprise', required: EP-069: `lifetime` is the one-time unlock, ranked BETWEEN free and builder — it raises the interactive limits and carries 600 pages/month, but grants no API keys, hosted MCP, webhooks or batch, so a subscription is genuinely more and its holder may still buy one.
    - `interval` 'month' | 'year', required
    - `amount` number, required
    - `currency` string, required
    - `price_id` string, required: monetize priceId
    - `recommended` boolean
    - `current` boolean: the active subscription's plan (if the session is known)
  - `purchase_availability` V2PurchaseAvailability: EP-023-T23 runtime flags returned by GET /billing/plans. The extension and website hide/disable new-checkout CTAs based on these; checkout itself is NOT gated server-side (UI-only).
    - `extension` boolean, required: Whether new purchases can be started from the extension UI
    - `web` boolean, required: Whether new purchases can be started on THIS request's website domain (EP-024: resolved per-domain server-side)
    - `reason` string, nullable: Optional operator-facing reason for disabling

## Other responses

- `503`: Billing not configured

---

[API](https://skmtc.dev/pdf2md/apis/pdf-to-markdown-api-facade.md) · [All operations](https://skmtc.dev/pdf2md/apis/pdf-to-markdown-api-facade/llms.txt) · [OpenAPI document](https://skmtc.dev/pdf2md/apis/pdf-to-markdown-api-facade/revisions/4636782fb8b6?raw)
