---
title: "Subscribe to a billing plan"
method: POST
path: "/api/billing/subscribe"
tags: ["billing"]
---

# Subscribe to a billing plan

`POST /api/billing/subscribe`

[cloud-only] Creates a new subscription to the specified billing plan.

## Request body

- object
  - `plan_id` string, required — ID of the plan to subscribe to
  - `payment_method_id` string — Stripe payment method ID

## Response `200`

Subscription created

- BillingSubscription — [cloud-only] Active subscription details.
  - `id` string, required
  - `status` 'active' | 'cancelled' | 'past_due' | 'trialing', required
  - `plan_id` string, required
  - `plan_name` string
  - `current_period_start` string, date-time
  - `current_period_end` string, date-time
  - `cancel_at_period_end` boolean

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `500` — Internal server error

## Changes

- **2026-05-22** `09a5075587c8` — 2 info
  - api operation id `createSubscription` removed and replaced with `subscribe`
  - added the non-success response with the status `500`
- **2026-05-08** `c9640fded659` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/comfy-org/apis/comfyui-api/changes/api/billing/subscribe/post.md)

---

[API](https://skmtc.dev/comfy-org/apis/comfyui-api.md) · [All operations](https://skmtc.dev/comfy-org/apis/comfyui-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/comfy-org/comfyui-api/revisions/09a5075587c8/schema)
