---
title: "Get Stripe Customer Portal URL"
method: GET
path: "/billing/portal"
tags: ["billing"]
---

# Get Stripe Customer Portal URL

`GET /billing/portal`

## Request

- Base URL: `https://api.whoisgeni.us` (the document declares no server; this is the origin it was published from)
- URL: `https://api.whoisgeni.us/billing/portal`
- Auth: HTTP bearer

Create a Stripe Customer Portal session for subscription management.

Returns a portal URL where the user can manage their subscription,
update payment methods, or cancel. Requires an active Stripe customer.

## Query parameters

- `return_url` string, required

## Response `200`

Successful Response

- ApiResponsePortalResponse
  - `data` PortalResponse: Response body with Stripe Customer Portal URL.
    - `portal_url` string, required
  - `error` ErrorDetail: Structured error information for API error responses. Attributes: code: Machine-readable error code (e.g. "JOB_NOT_FOUND"). message: Human-readable error description. details: Optional additional context for debugging.
    - `code` string, required
    - `message` string, required
    - `details` object, nullable
  - `meta` object, nullable

## Other responses

- `401`: Unauthorized — missing or invalid API key/JWT.
- `422`: Validation Error

---

[API](https://skmtc.dev/whoisgeni/apis/whoisgenius.md) · [All operations](https://skmtc.dev/whoisgeni/apis/whoisgenius/llms.txt) · [OpenAPI document](https://skmtc.dev/whoisgeni/apis/whoisgenius/revisions/707f1c34f6b3?raw)
