---
title: "The subscription behind Plus"
method: GET
path: "/api/billing/subscription"
tags: ["Account"]
---

# The subscription behind Plus

`GET /api/billing/subscription`

## Request

- Base URL: `https://trvlrr.app`
- URL: `https://trvlrr.app/api/billing/subscription`
- Auth: HTTP bearer

Where this account's Plus was bought and where to manage it, or null when there is no store subscription.

## Response `200`

The subscription, or null.

- StoreSubscription
  - `subscription` object, nullable, required: The subscription giving this account Plus, or null when there is none — the free plan, or Plus given by hand.
    - `store` string, required: Where it was bought: app_store, stripe, …
    - `manage_url` string, nullable, required: Where to manage or cancel it, when the store has a web page for that (Stripe's portal); null for the App Store, which is managed on the device.
    - `renews` boolean, required: False once it has been cancelled and is running out its period.
    - `period_ends_at` string, nullable, required: When the current period ends, ISO 8601.

## Other responses

- `401`: No usable credential: a Clerk session token, a device token or an OAuth access token is required.
- `403`: The caller may not do this to this account or trip.

---

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