---
title: "List Available Products"
method: GET
path: "/v1/billing/products"
tags: ["Billing"]
---

# List Available Products

`GET /v1/billing/products`

Provides a list of available hosting plan products. Addons are not listed and must be added manually

## Query parameters

- `coupon` string — Apply a coupon to the product results
- `product_id` integer — Filter to a specific product id
- `type` 'Managed' | 'Agency' | 'Enterprise' — Filter by product type

## Response `200`

OK

- BillingProductsResponse
  - `success` boolean — whether the request succeeded
  - `errors` string[]
  - `messages` string[], nullable
  - `metadata` object
    - `page` integer — Page number of the results
    - `page_size` integer — Number of results per page
    - `total` integer — Total number of results
    - `sort` string — Sorting criteria
    - `direction` 'asc' | 'desc' — Sorting direction
  - `result` BillingProduct[]
    - `id` integer, required — Product identifier
    - `name` string, required — Name of the product
    - `description` string, required — Description of the product
    - `type` 'Managed' | 'Agency' | 'Enterprise', required
    - `purchase_method` 'Self-Service' | 'Contact', required
    - `pricing` BillingProductPricing, required
      - `billing_cycle_type` 'recurring', required
      - `billing_cycle_options` BillingProductPricingCycleOptions[], required
        - `billing_cycle` 'Monthly' | 'Annual', required — Length of each billing cycle
        - `cost` number, float, required — Product cost for the given billing cycle
        - `currency` string, required — Currency in which payments will settle
        - `next_renewal_date` string — The next date upon which payment will be due after the first billing cycle
        - `coupon` BillingProductPricingCoupon — Information about a coupon that works on this product, if `coupon_code` is applied
          - `cost` number, float — Cost with coupon applied
          - `type` 'price override' | 'fixed amount' | 'percentage'
          - `discount_value` number, float — Amount discounted or percentage discounted
          - `recurring` boolean — If the discount happens more than on the first biling cycle
          - `recurring_times` number — If the recurring discount is limited to a specific number of billing cycles

## Other responses

- `400` — Bad Request
- `401` — Authentication failed
- `403` — Not authorized to access endpoint
- `405` — Invalid input
- `500` — Internal error

---

[API](https://skmtc.net/rocket/apis/rocket-net-api.md) · [All operations](https://skmtc.net/rocket/apis/rocket-net-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/rocket/rocket-net-api/versions/db0dcbbc5764/schema)
