---
title: "Create Customer Portal Session"
method: POST
path: "/v1/billing/customer/{org_id}/portal"
tags: ["Billing"]
---

# Create Customer Portal Session

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

## Request

- Base URL: `https://api.robosystems.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.robosystems.ai/v1/billing/customer/{org_id}/portal`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

Returns a Stripe Customer Portal URL for managing payment methods and billing history. Requires org owner role.

## Path parameters

- `org_id` string, required

## Response `200`

Successful Response

- PortalSessionResponse: Response for customer portal session creation.
  - `portal_url` string, nullable: Stripe Customer Portal URL where user can manage payment methods
  - `billing_disabled` boolean: True when billing is disabled on this deployment (no portal exists)

## Other responses

- `400`: Invalid request
- `401`: Authentication required
- `403`: Access denied
- `404`: Resource not found
- `422`: Validation Error
- `429`: Rate limit exceeded
- `500`: Internal server error

---

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