---
title: "Get one plan"
method: GET
path: "/api/v1/plans/{id}"
tags: ["Plans & line generation"]
---

# Get one plan

`GET /api/v1/plans/{id}`

## Request

- Base URL: `https://hproxy.com`
- URL: `https://hproxy.com/api/v1/plans/{id}`
- Auth: API key in header `X-API-Key`

A single active plan you own: the per-customer read for a reseller dashboard. `dataGbRemaining` is refreshed from the network's own meter on this call (one network read per plan per minute; between reads you get the last reading), and `usageAsOf` says when that reading was taken. The list endpoint carries the usage sync's reading instead, taken about every 30 minutes, so poll this door when you show a customer what is left. The network enforces the plan's cap itself, in real time: a customer cannot use more than the plan holds, whatever the figure here shows between readings.

## Path parameters

- `id` string, required

## Response `200`

Success

- object

## Other responses

- `400`: Invalid input. The body names the field and the accepted set.
- `401`: Missing or invalid API key.
- `429`: Rate limited. Retry after the delay in the response.

---

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