---
title: "List plans with prices"
method: GET
path: "/api/v1/plans"
---

# List plans with prices

`GET /api/v1/plans`

## Request

- Base URL: `https://ipmusk.com`
- URL: `https://ipmusk.com/api/v1/plans`
- Auth: none declared

Plans that can be quoted right now. Residential plans carry their one-time and subscription prices; static plans carry a price per IP for each term and the place's stock. Filter with product, and with category for static plans.

## Query parameters

- `product` 'rotating_residential' | 'static_isp': Only this product's plans.
- `category` 'native_isp' | 'isp' | 'datacenter' | 'residential': Only static plans of this kind.

## Response `200`

List plans with prices

- object
  - `data` object, required
    - `items` union[], required
      - union
        - object
          - `product_id` 'rotating_residential', required
          - `plan_id` string, required
          - `name` string, required
          - `traffic_gb` number, required
          - `prices` object[], required
            - `price_option_id` string, required
            - `billing_mode` 'one_time' | 'subscription', required
            - `billing_interval` 'month', nullable, required
            - `amount_minor` integer, required
            - `unit_amount_minor` integer, required
            - `currency` string, required
        - object
          - `product_id` 'static_isp', required
          - `plan_id` string, required
          - `name` string, required
          - `category` 'native_isp' | 'isp' | 'datacenter' | 'residential', required
          - `country_code` string, required
          - `location_name` string, required
          - `subdivision_name` string, nullable, required
          - `prices` object[], required
            - `resource_days` integer, required
            - `amount_minor` integer, required
            - `currency` string, required
          - `stock` object, nullable, required
            - `available` integer, required
            - `sold_out` boolean, required
            - `paused` boolean, required
            - `synced_at` string, date-time, nullable, required
  - `request_id` string, required

## Other responses

- `default`: Any failure: 400 validation_error, 401 authentication_required, 403 forbidden / capability_unavailable, 404 not_found, 409 invalid_state_transition / idempotency_conflict, 422 product_unavailable, 429 rate_limited, 500 internal_error.

---

[API](https://skmtc.dev/ipmusk/apis/ipmusk-customer-api.md) · [All operations](https://skmtc.dev/ipmusk/apis/ipmusk-customer-api/llms.txt) · [OpenAPI document](https://skmtc.dev/ipmusk/apis/ipmusk-customer-api/revisions/89f8b46fda61?raw)
