---
title: "Create the authenticated tenant's Stripe customer portal session"
method: POST
path: "/api/v1/billing/portal"
tags: ["Community SaaS"]
---

# Create the authenticated tenant's Stripe customer portal session

`POST /api/v1/billing/portal`

## Request

- Base URL: `https://agent.getaxonflow.com`
- URL: `https://agent.getaxonflow.com/api/v1/billing/portal`
- Auth: HTTP basic
- TypeScript: <https://skmtc.dev/getaxonflow/apis/axonflow-agent-api/docs/api/v1/billing/portal/post.ts> (a function with typed inputs; its response is checked against the schema)

Creates a short-lived Stripe Billing Portal URL for a tenant that
already has a Stripe customer. The customer identifier is looked up
from tenant-scoped storage and is never accepted from the request.

## Response `201`

Customer portal session created

- object
  - `portal_url` string, uri, required

## Other responses

- `401`: Missing or invalid tenant credentials
- `404`: The tenant has no Stripe billing account
- `503`: Billing portal configuration is unavailable

---

[API](https://skmtc.dev/getaxonflow/apis/axonflow-agent-api.md) - [All operations](https://skmtc.dev/getaxonflow/apis/axonflow-agent-api/llms.txt) - [OpenAPI document](https://skmtc.dev/getaxonflow/apis/axonflow-agent-api/revisions/34d30fcb7fa1?raw)
