# Create a chargebee self-serve customer portal session

> POST /billing/portal-session

Source: https://docs.trykintsugi.com/reference/2026-10-06/create-a-chargebee-self-serve-customer-portal-session

POST /billing/portal-session

Create a chargebee self-serve customer portal session

Creates a Chargebee self-serve customer portal session (URL, token, and the fields Chargebee.js needs) for the org selected by Organization-Id, Connection-Id, or Entity-Id. Creates the Chargebee customer record on first use, billed to the authenticated identity's name and email. Requires an owner or admin of the organization, or the organization's own API key.

Category: Billing

Response fields:
id (string, required) - Chargebee portal session id.
token (string, required) - Portal session token. Treat as a secret.
accessUrl (string, required) - One-time portal URL. Treat as a secret.
status (string, required) - Portal session status, e.g. `created`.
createdAt (string, required) - When the session was created.
expiresAt (string, required) - When the portal URL expires.
object (string, required) - Chargebee object type, `portal_session`.
customerId (string, required) - Chargebee customer id the session is for.
redirectUrl (string) - Where the portal sends the user on exit, or null.
linkedCustomers (PortalLinkedCustomer[], required) - Other Chargebee customers reachable from this session.
  customerId (string, required) - Chargebee customer id.
  email (string, required) - Email of the linked customer.
  hasActiveSubscription (boolean, required) - Whether the linked customer has an active subscription.
  hasBillingAddress (boolean, required) - Whether the linked customer has a billing address on file.
  hasPaymentMethod (boolean, required) - Whether the linked customer has a payment method on file.
  object (string, required) - Chargebee object type, `linked_customer`.

Response statuses: 201, 400, 401, 403, 404, 422

---

Index of every page: https://docs.trykintsugi.com/llms.txt
