---
title: "Redirect to the authenticated user's Stripe portal"
method: GET
path: "/api/v1/billing/portal"
tags: ["Billing", "User"]
---

# Redirect to the authenticated user's Stripe portal

`GET /api/v1/billing/portal`

## Request

- Base URL: `https://openmercantil.es`
- URL: `https://openmercantil.es/api/v1/billing/portal`
- Auth: API key in cookie `ob_sess`
- TypeScript: <https://skmtc.dev/openmercantil/apis/openmercantil-public-api/docs/api/v1/billing/portal/get.ts> (a function with typed inputs; its response is checked against the schema)

## Other responses

- `302`: Redirect to Stripe Customer Portal
- `400`: Invalid request
- `401`: Authentication required (no active session)
- `429`: Rate limit exceeded
- `503`: Action budget or Stripe unavailable

## Changes

- **2026-07-26** `996f96a11758`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/openmercantil/apis/openmercantil-public-api/changes/api/v1/billing/portal/get.md)

---

[API](https://skmtc.dev/openmercantil/apis/openmercantil-public-api.md) - [All operations](https://skmtc.dev/openmercantil/apis/openmercantil-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/openmercantil/apis/openmercantil-public-api/revisions/601ff6123c86?raw)
