---
title: "Create billing portal link"
method: POST
path: "/billing/portal-link"
tags: ["billing"]
---

# Create billing portal link

`POST /billing/portal-link`

## Request

- Base URL: `https://storeinspect.com/api/v1`
- URL: `https://storeinspect.com/api/v1/billing/portal-link`
- Auth: HTTP bearer

Creates a short-lived Stripe-hosted link for payment details, invoices, plan changes, and billing recovery. Creating the link does not itself change billing. To cancel, use Settings > Subscription in the StoreInspect dashboard.

## Response `200`

Short-lived Stripe-hosted billing portal link.

- BillingLinkResponse
  - `object` 'billing_link', required
  - `kind` 'checkout' | 'subscription_update_confirm' | 'billing_portal', required
  - `url` string, uri, required
  - `target_plan` 'pro' | 'business' | 'enterprise' | 'null', nullable, required
  - `target_billing` 'monthly' | 'annual' | 'null', nullable, required
  - `expires_at` string, date-time, nullable, required
  - `requires_customer_confirmation` true, required
  - `request_id` string, required

## Other responses

- `401`: Missing, invalid, revoked, or suspended API key.
- `403`: The API key does not have billing:manage.
- `404`: The account does not have a Stripe billing account yet.
- `429`: Too many billing links were requested.
- `503`: Stripe billing is temporarily unavailable.

---

[API](https://skmtc.dev/storeinspect/apis/storeinspect-api.md) · [All operations](https://skmtc.dev/storeinspect/apis/storeinspect-api/llms.txt) · [OpenAPI document](https://skmtc.dev/storeinspect/apis/storeinspect-api/revisions/e9477dd90cf9?raw)
