---
title: "Create a Stripe billing portal session"
description: "Returns a URL for plan and payment management."
canonical: "https://verbafy.io/docs/api/billing/create-billing-portal"
last-updated: "2026-09-23"
---

# Create a Stripe billing portal session

Returns a URL for plan and payment management.

`POST /api/v1/billing/portal`

OpenAPI operation `createBillingPortal`. Authenticate with a Clerk session JWT (`Authorization: Bearer {jwt}`) or the `verbafy_guest_session` cookie. `{jwt}` is a Clerk session token after you sign in on the website. Verbafy does not issue that token and does not show it in Settings. For scripts and agents, sign in, create an API key at [Settings → API keys](/app/settings/api-keys), and call Remote MCP with `Authorization: Bearer sk-…`. Credential setup: [Auth.md](/auth.md). Machine-readable contract: [OpenAPI](/openapi.json).

## curl

```curl
curl -X POST 'https://verbafy.io/api/v1/billing/portal' \
  -H 'Authorization: Bearer {jwt}'
```

## JavaScript

```javascript
const response = await fetch('https://verbafy.io/api/v1/billing/portal', {
  method: 'POST',
  headers: {
    Authorization: 'Bearer {jwt}',
  }
});
```

## Python

```python
import httpx

response = httpx.post(
    "https://verbafy.io/api/v1/billing/portal",
    headers={"Authorization":"Bearer {jwt}"},
)
```

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "Organization",
      "@id": "https://verbafy.io/#organization",
      "name": "Verbafy",
      "url": "https://verbafy.io",
      "inLanguage": "en",
      "knowsAbout": [
        "YouTube transcription",
        "Spotify episode transcription",
        "Meeting recording transcription",
        "Speaker diarization",
        "Transcript export"
      ],
      "hasOfferCatalog": {
        "@id": "https://verbafy.io/pricing#offers"
      },
      "contactPoint": {
        "@type": "ContactPoint",
        "contactType": "customer support",
        "email": "support@verbafy.io",
        "url": "https://verbafy.io/contact"
      }
    },
    {
      "@type": "TechArticle",
      "@id": "https://verbafy.io/docs/api/billing/create-billing-portal#page",
      "name": "Create a Stripe billing portal session",
      "description": "Returns a URL for plan and payment management.",
      "url": "https://verbafy.io/docs/api/billing/create-billing-portal",
      "inLanguage": "en",
      "isPartOf": {
        "@id": "https://verbafy.io/#website"
      },
      "publisher": {
        "@id": "https://verbafy.io/#organization"
      }
    },
    {
      "@type": "BreadcrumbList",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "Home",
          "item": "https://verbafy.io"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "Create a Stripe billing portal session",
          "item": "https://verbafy.io/docs/api/billing/create-billing-portal"
        }
      ]
    }
  ]
}
```
