Skip to main content
POST
/
subscriptions
/
portal
curl -X POST https://api.llmgenerator.com/api/v1/subscriptions/portal \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "returnUrl": "https://yourapp.com/settings/billing"
  }'
{
  "url": "https://billing.stripe.com/p/session/test_a1b2c3d4..."
}

Documentation Index

Fetch the complete documentation index at: https://docs.llmgenerator.com/llms.txt

Use this file to discover all available pages before exploring further.

Overview

Creates a Stripe Customer Portal session where users can:
  • Update payment methods
  • View billing history
  • Change subscription plans
  • Download invoices
  • Cancel subscription
Requires session-based authentication (JWT access token).
For third-party integrations: Use POST /subscriptions/portal/api with API Key authentication instead.

Authentication

Authorization
string
required
Your JWT access token. Format: Bearer YOUR_ACCESS_TOKEN

Request Body

returnUrl
string
URL to redirect to when user exits the portal. Defaults to application dashboard.
curl -X POST https://api.llmgenerator.com/api/v1/subscriptions/portal \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "returnUrl": "https://yourapp.com/settings/billing"
  }'
{
  "url": "https://billing.stripe.com/p/session/test_a1b2c3d4..."
}

Response Fields

url
string
URL to redirect the user to. This is a Stripe-hosted billing portal.

Portal Capabilities

The Stripe Customer Portal allows users to:
FeatureDescription
Payment MethodsAdd, update, or remove credit cards
InvoicesView and download past invoices
Plan ChangesUpgrade or downgrade subscription
CancellationCancel subscription
Billing HistoryView all past transactions

Error Responses

400
Bad Request - No billing account found. User must make a purchase first.
401
Unauthorized - Invalid or missing token.
The billing portal is only available for users who have previously made a purchase or have an active subscription. New users should use the checkout endpoint instead.

POST /subscriptions/portal/api

Creates a Stripe Customer Portal session using API Key authentication. Ideal for third-party integrations.

Authentication

Requires API Key authentication. Include your API key in the Authorization header:
Authorization: Bearer llmgen_your_api_key_here

Request Body

Same as /subscriptions/portal above.

Response

Same as /subscriptions/portal above.
curl -X POST https://api.llmgenerator.com/api/v1/subscriptions/portal/api \
  -H "Authorization: Bearer llmgen_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "returnUrl": "https://yourapp.com/settings/billing"
  }'

Best Practices

  • Link in settings: Add a “Manage Billing” button in your app’s settings page
  • After checkout: Redirect users to the portal after subscription purchase
  • Support: Provide portal access as a self-service option for billing issues