---
title: "Read Subscription Offer"
method: GET
path: "/api/v1/billing/subscription-offer"
tags: ["billing"]
---

# Read Subscription Offer

`GET /api/v1/billing/subscription-offer`

Quote the monthly plan to any member of a workspace at its limit.

Member-readable, unlike checkout: everyone who hits the limit is told what
the way out costs, and only an admin is then offered the button.

## Response `200`

Successful Response

- SubscriptionOfferResponse — The monthly plan as a workspace at its usage limit is offered it. Dollars are customer prices — Stripe's price and the approved included allowance — never MAIA's own cost. ``free_refresh_on`` is ``None`` when the free plan will not refresh, so a surface never promises a refresh that grants nothing.
  - `price_usd` string, required
  - `interval` 'day' | 'week' | 'month' | 'year', nullable, required
  - `included_usd` string, required
  - `free_refresh_on` string, date, nullable, required

## Other responses

- `503` — Service Unavailable

## Changes

- **2026-09-18** `73f618ba0a7e` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/maia-analytics/apis/maia-api/changes/api/v1/billing/subscription-offer/get.md)

---

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