---
title: "Open a Stripe billing portal session to manage payment and invoices"
method: POST
path: "/v1/orgs/{org_id}/billing/portal"
tags: ["billing"]
---

# Open a Stripe billing portal session to manage payment and invoices

`POST /v1/orgs/{org_id}/billing/portal`

## Request

- Base URL: `https://api.wavehouse.cloud`
- URL: `https://api.wavehouse.cloud/v1/orgs/{org_id}/billing/portal`
- Auth: one of:
  - API key in cookie `whc_session`
  - HTTP bearer
  - API key in header `X-API-Key`

Owner only. Returns a short-lived hosted URL.

## Path parameters

- `org_id` string, required

## Request body

- MeBillingSessionInput
  - `plan_id` string: checkout only: the plan to subscribe to; the org's current plan when omitted

## Response `201`

Created

- MeBillingSessionOutput
  - `url` string, required

## Other responses

- `429`: Rate limited, per client IP, API key or org; a client IP is also refused on every route for a while after repeated authentication failures. A limited operation carries RateLimit-Policy and RateLimit on every response; wait Retry-After seconds before retrying.
- `default`: Error

---

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