cURL
curl --request GET \
--url https://commet.co/api/v1/plans/{id} \
--header 'x-api-key: <api-key>'import { Commet } from "@commet/node";
const commet = new Commet({ apiKey: "ck_xxx" });
const plan = await commet.plans.get({ id: "pln_xxx" });from commet import Commet
commet = Commet("ck_xxx")
plan = commet.plans.get("pln_xxx")client, err := commet.New("ck_xxx")
if err != nil {
log.Fatal(err)
}
ctx := context.Background()
plan, err := client.Plans.Get(ctx, "pln_xxx")
if err != nil {
log.Fatal(err)
}import co.commet.Commet;
var commet = Commet.builder().apiKey("ck_xxx").build();
var plan = commet.plans().get("pln_xxx");use Commet\Commet;
$commet = new Commet('ck_xxx');
$plan = $commet->plans->get(id: 'pln_xxx');{
"id": "plan_1a2b3c4d",
"name": "Pro",
"code": "pro",
"description": "For growing API products",
"consumptionModel": "metered",
"isPublic": true,
"isDefault": false,
"isFree": false,
"blockOnExhaustion": true,
"sortOrder": 0,
"planGroupId": "group_1a2b3c4d",
"metadata": {},
"createdAt": "2026-09-07T12:00:00.000Z",
"updatedAt": "2026-09-07T12:00:00.000Z",
"features": [
{
"code": "api_calls",
"name": "API Calls",
"type": "usage",
"unitName": "calls",
"enabled": true,
"includedAmount": 1000,
"unlimited": false,
"overage": {
"enabled": false,
"model": null,
"unitPrice": null
},
"regionalPrices": []
}
],
"prices": [
{
"id": "price_1a2b3c4d",
"billingInterval": "monthly",
"price": 2000,
"isDefault": true,
"trialDays": 0,
"includedBalance": null,
"includedCredits": null,
"offerId": null,
"inheritsFromPriceId": null,
"metadata": {},
"marketPrices": [],
"regionalPrices": []
}
],
"exchangeRates": [],
"object": "plan",
"livemode": false
}{
"error": {
"type": "validation_error",
"code": "validation_error",
"message": "The request contains an invalid parameter.",
"doc_url": "https://commet.co/docs/api-reference/2026-08-27/errors/validation_error.md"
}
}{
"error": {
"type": "authentication_error",
"code": "unauthorized",
"message": "A valid API key is required.",
"doc_url": "https://commet.co/docs/api-reference/2026-08-27/errors/unauthorized.md"
}
}{
"error": {
"type": "authentication_error",
"code": "forbidden",
"message": "You do not have permission to perform this operation.",
"doc_url": "https://commet.co/docs/api-reference/2026-08-27/errors/forbidden.md"
}
}{
"error": {
"type": "not_found_error",
"code": "not_found",
"message": "The requested resource was not found.",
"doc_url": "https://commet.co/docs/api-reference/2026-08-27/errors/not_found.md"
}
}{
"error": {
"type": "rate_limit_error",
"code": "rate_limited",
"message": "Too many requests. Retry after the interval specified in the Retry-After header.",
"doc_url": "https://commet.co/docs/api-reference/2026-08-27/errors/rate_limited.md"
}
}{
"error": {
"type": "internal_error",
"code": "internal_error",
"message": "An unexpected error occurred while processing the request.",
"doc_url": "https://commet.co/docs/api-reference/2026-08-27/errors/internal_error.md"
}
}Plans
Get plan
Get a plan with public price IDs and their automatic introductory offer IDs.
GET
/
plans
/
{id}
cURL
curl --request GET \
--url https://commet.co/api/v1/plans/{id} \
--header 'x-api-key: <api-key>'import { Commet } from "@commet/node";
const commet = new Commet({ apiKey: "ck_xxx" });
const plan = await commet.plans.get({ id: "pln_xxx" });from commet import Commet
commet = Commet("ck_xxx")
plan = commet.plans.get("pln_xxx")client, err := commet.New("ck_xxx")
if err != nil {
log.Fatal(err)
}
ctx := context.Background()
plan, err := client.Plans.Get(ctx, "pln_xxx")
if err != nil {
log.Fatal(err)
}import co.commet.Commet;
var commet = Commet.builder().apiKey("ck_xxx").build();
var plan = commet.plans().get("pln_xxx");use Commet\Commet;
$commet = new Commet('ck_xxx');
$plan = $commet->plans->get(id: 'pln_xxx');{
"id": "plan_1a2b3c4d",
"name": "Pro",
"code": "pro",
"description": "For growing API products",
"consumptionModel": "metered",
"isPublic": true,
"isDefault": false,
"isFree": false,
"blockOnExhaustion": true,
"sortOrder": 0,
"planGroupId": "group_1a2b3c4d",
"metadata": {},
"createdAt": "2026-09-07T12:00:00.000Z",
"updatedAt": "2026-09-07T12:00:00.000Z",
"features": [
{
"code": "api_calls",
"name": "API Calls",
"type": "usage",
"unitName": "calls",
"enabled": true,
"includedAmount": 1000,
"unlimited": false,
"overage": {
"enabled": false,
"model": null,
"unitPrice": null
},
"regionalPrices": []
}
],
"prices": [
{
"id": "price_1a2b3c4d",
"billingInterval": "monthly",
"price": 2000,
"isDefault": true,
"trialDays": 0,
"includedBalance": null,
"includedCredits": null,
"offerId": null,
"inheritsFromPriceId": null,
"metadata": {},
"marketPrices": [],
"regionalPrices": []
}
],
"exchangeRates": [],
"object": "plan",
"livemode": false
}{
"error": {
"type": "validation_error",
"code": "validation_error",
"message": "The request contains an invalid parameter.",
"doc_url": "https://commet.co/docs/api-reference/2026-08-27/errors/validation_error.md"
}
}{
"error": {
"type": "authentication_error",
"code": "unauthorized",
"message": "A valid API key is required.",
"doc_url": "https://commet.co/docs/api-reference/2026-08-27/errors/unauthorized.md"
}
}{
"error": {
"type": "authentication_error",
"code": "forbidden",
"message": "You do not have permission to perform this operation.",
"doc_url": "https://commet.co/docs/api-reference/2026-08-27/errors/forbidden.md"
}
}{
"error": {
"type": "not_found_error",
"code": "not_found",
"message": "The requested resource was not found.",
"doc_url": "https://commet.co/docs/api-reference/2026-08-27/errors/not_found.md"
}
}{
"error": {
"type": "rate_limit_error",
"code": "rate_limited",
"message": "Too many requests. Retry after the interval specified in the Retry-After header.",
"doc_url": "https://commet.co/docs/api-reference/2026-08-27/errors/rate_limited.md"
}
}{
"error": {
"type": "internal_error",
"code": "internal_error",
"message": "An unexpected error occurred while processing the request.",
"doc_url": "https://commet.co/docs/api-reference/2026-08-27/errors/internal_error.md"
}
}Get a plan with public price IDs and their automatic introductory offer IDs.
Autorizaciones
Encabezados
API version used by this reference. Send this header to select this contract explicitly.
Parámetros de ruta
Respuesta
Success
Opciones disponibles:
metered, credits, balance Rango requerido:
-9007199254740991 <= x <= 9007199254740991Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Allowed value:
"plan"¿Esta página le ayudó?