---
title: "Generate customer portal URL"
method: POST
path: "/billing/portal-url"
tags: ["Billing & Subscriptions"]
---

# Generate customer portal URL

`POST /billing/portal-url`

## Request

- Base URL: `https://getdynamicqr.com/api/v1`
- URL: `https://getdynamicqr.com/api/v1/billing/portal-url`
- Auth: API key in header `X-Client-ID` and HTTP bearer

Returns a one-time Paddle Customer Portal URL for managing the subscription
(update payment method, view invoices, cancel). Open in the system browser.

## Response `200`

OK

## Other responses

- `401`: No credentials, or credentials that are not valid.
- `403`: The account is inactive, or the plan does not carry this feature.
- `404`: Not found
- `429`: Rate limit exceeded. See `Retry-After`.

---

[API](https://skmtc.dev/getdynamicqr/apis/d-qr-rest-api.md) · [All operations](https://skmtc.dev/getdynamicqr/apis/d-qr-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/getdynamicqr/apis/d-qr-rest-api/revisions/4467aeca30ce?raw)
