> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kupe.in/llms.txt
> Use this file to discover all available pages before exploring further.

# Catalog billing

> Every mounted Kupe App path in this group (51 paths, 52 method+path pairs) and the Kupe Hub replacement.

Public surface is wallet, invoices, cost-summary, daily. Narrative: [billing](/migrate/billing).

**51 unique Kupe App paths** in this table (52 method+path pairs). Inventory is the live FastAPI app, not `api_specification.yaml`.

<Note>
  Kupe App also mounts the same billing handlers at `/billing/*` (no `/api/v1` prefix). Treat those as aliases of `/api/v1/billing/*` — they are not extra products.
</Note>

## Path map

| Kupe App                                           | Methods    | Kupe Hub                                                        | Notes                                                             |
| -------------------------------------------------- | ---------- | --------------------------------------------------------------- | ----------------------------------------------------------------- |
| `/api/v1/billing/credit-balance`                   | GET        | No equivalent / Hub                                             | Forex, platform pricing, invoice-metadata are not public.         |
| `/api/v1/billing/forex-convert`                    | GET        | No equivalent / Hub                                             | Forex, platform pricing, invoice-metadata are not public.         |
| `/api/v1/billing/forex-quote`                      | GET        | No equivalent / Hub                                             | Forex, platform pricing, invoice-metadata are not public.         |
| `/api/v1/billing/invoice-metadata`                 | GET        | No equivalent / Hub                                             | Forex, platform pricing, invoice-metadata are not public.         |
| `/api/v1/billing/platform-pricing`                 | GET        | No equivalent / Hub                                             | Forex, platform pricing, invoice-metadata are not public.         |
| `/api/v1/billing/service-pricing`                  | GET        | No equivalent / Hub                                             | Forex, platform pricing, invoice-metadata are not public.         |
| `/api/v1/billing/usage-records`                    | GET        | `GET /v1/orgs/:org_id/usage/cost-summary` and `.../usage/daily` | No per-service or per-session public lines.                       |
| `/api/v1/billing/usage/export`                     | GET        | `GET /v1/orgs/:org_id/usage/cost-summary` and `.../usage/daily` | No per-service or per-session public lines.                       |
| `/api/v1/billing/usage/overview`                   | GET        | `GET /v1/orgs/:org_id/usage/cost-summary` and `.../usage/daily` | No per-service or per-session public lines.                       |
| `/api/v1/billing/usage/records`                    | GET        | `GET /v1/orgs/:org_id/usage/cost-summary` and `.../usage/daily` | No per-service or per-session public lines.                       |
| `/api/v1/billing/usage/sessions/:session_id`       | GET        | `GET /v1/orgs/:org_id/usage/cost-summary` and `.../usage/daily` | No per-service or per-session public lines.                       |
| `/api/v1/billing/usage/summary`                    | GET        | `GET /v1/orgs/:org_id/usage/cost-summary` and `.../usage/daily` | No per-service or per-session public lines.                       |
| `/api/v1/billing/wallet-currency`                  | GET        | No equivalent / Hub                                             | Forex, platform pricing, invoice-metadata are not public.         |
| `/api/v1/credit-requests`                          | POST       | No equivalent                                                   | Credit tickets were Kupe App dashboard.                           |
| `/api/v1/credit-requests/admin`                    | GET        | No equivalent                                                   | Credit tickets were Kupe App dashboard.                           |
| `/api/v1/credit-requests/admin/badges`             | GET        | No equivalent                                                   | Credit tickets were Kupe App dashboard.                           |
| `/api/v1/credit-requests/admin/mark-inbox-seen`    | POST       | No equivalent                                                   | Credit tickets were Kupe App dashboard.                           |
| `/api/v1/credit-requests/admin/thread`             | GET        | No equivalent                                                   | Credit tickets were Kupe App dashboard.                           |
| `/api/v1/credit-requests/me`                       | GET        | No equivalent                                                   | Credit tickets were Kupe App dashboard.                           |
| `/api/v1/credit-requests/me/badges`                | GET        | No equivalent                                                   | Credit tickets were Kupe App dashboard.                           |
| `/api/v1/credit-requests/me/mark-seen`             | POST       | No equivalent                                                   | Credit tickets were Kupe App dashboard.                           |
| `/api/v1/credit-requests/:request_id`              | GET, PATCH | No equivalent                                                   | Credit tickets were Kupe App dashboard.                           |
| `/api/v1/credit-requests/:request_id/admin-viewed` | POST       | No equivalent                                                   | Credit tickets were Kupe App dashboard.                           |
| `/api/v1/earnings/me`                              | GET        | No equivalent                                                   |                                                                   |
| `/api/v1/earnings/me/breakdown`                    | GET        | No equivalent                                                   |                                                                   |
| `/api/v1/earnings/orgs/:org_id`                    | GET        | No equivalent                                                   |                                                                   |
| `/api/v1/orgs/:org_id/business-model`              | POST       | No equivalent                                                   | Reseller controls.                                                |
| `/api/v1/orgs/:org_id/commission`                  | POST       | No equivalent                                                   | Reseller controls.                                                |
| `/api/v1/orgs/:org_id/markup`                      | POST       | No equivalent                                                   | Reseller controls.                                                |
| `/api/v1/payments/billing-config`                  | GET        | No equivalent in public API                                     | Checkout stays on Hub. Razorpay webhook is not your client route. |
| `/api/v1/payments/create-order`                    | POST       | No equivalent in public API                                     | Checkout stays on Hub. Razorpay webhook is not your client route. |
| `/api/v1/payments/create-topup-order`              | POST       | No equivalent in public API                                     | Checkout stays on Hub. Razorpay webhook is not your client route. |
| `/api/v1/payments/invoices`                        | GET        | `GET /v1/orgs/:org_id/billing/invoices` + PDF                   |                                                                   |
| `/api/v1/payments/invoices/:grant_id/download`     | GET        | `GET /v1/orgs/:org_id/billing/invoices` + PDF                   |                                                                   |
| `/api/v1/payments/orders/:order_id/invoice`        | GET        | No equivalent in public API                                     | Checkout stays on Hub. Razorpay webhook is not your client route. |
| `/api/v1/payments/plans`                           | GET        | No equivalent in public API                                     | Checkout stays on Hub. Razorpay webhook is not your client route. |
| `/api/v1/payments/razorpay-config`                 | GET        | No equivalent in public API                                     | Checkout stays on Hub. Razorpay webhook is not your client route. |
| `/api/v1/payments/razorpay-webhook`                | POST       | No equivalent in public API                                     | Checkout stays on Hub. Razorpay webhook is not your client route. |
| `/api/v1/payments/subscription/cancel`             | POST       | No equivalent in public API                                     | Checkout stays on Hub. Razorpay webhook is not your client route. |
| `/api/v1/payments/subscription/change-plan`        | POST       | No equivalent in public API                                     | Checkout stays on Hub. Razorpay webhook is not your client route. |
| `/api/v1/payments/subscription/me`                 | GET        | No equivalent in public API                                     | Checkout stays on Hub. Razorpay webhook is not your client route. |
| `/api/v1/payments/verify-payment`                  | POST       | No equivalent in public API                                     | Checkout stays on Hub. Razorpay webhook is not your client route. |
| `/api/v1/wallets/grants/:grant_id`                 | PATCH      | No equivalent (admin wallets/grants/caps)                       | Public: org wallet only.                                          |
| `/api/v1/wallets/me`                               | GET        | `GET /v1/orgs/:org_id/billing/wallet`                           |                                                                   |
| `/api/v1/wallets/orgs`                             | GET        | No equivalent (admin wallets/grants/caps)                       | Public: org wallet only.                                          |
| `/api/v1/wallets/orgs/:org_id/members`             | GET        | No equivalent (admin wallets/grants/caps)                       | Public: org wallet only.                                          |
| `/api/v1/wallets/users`                            | GET        | No equivalent (admin wallets/grants/caps)                       | Public: org wallet only.                                          |
| `/api/v1/wallets/:wallet_id`                       | GET        | No equivalent (admin wallets/grants/caps)                       | Public: org wallet only.                                          |
| `/api/v1/wallets/:wallet_id/adjust`                | POST       | No equivalent (admin wallets/grants/caps)                       | Public: org wallet only.                                          |
| `/api/v1/wallets/:wallet_id/cap`                   | POST       | No equivalent (admin wallets/grants/caps)                       | Public: org wallet only.                                          |
| `/api/v1/wallets/:wallet_id/grants`                | POST       | No equivalent (admin wallets/grants/caps)                       | Public: org wallet only.                                          |
