---
title: "Returns the caller's active subscription."
method: GET
path: "/api/subscription"
tags: ["subscription"]
---

# Returns the caller's active subscription.

`GET /api/subscription`

## Request

- Base URL: `https://api.pricklymails.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.pricklymails.com/api/subscription`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

## Response `200`

The caller's active subscription (a Free plan if never subscribed).

- SubscriptionResponse: JSON response body for `GET /api/subscription`.
  - `billing_cycle` string, required: Billing cycle (`"monthly"` or `"yearly"`).
  - `external_id` string, nullable: Identifier of the subscription at the payment provider, `null` when there is none.
  - `has_access` boolean, required: Whether the subscription provides access to the service.
  - `monthly_credits` integer, required: Tokens granted each month by the plan.
  - `period_end` string, date-time, required: End of the current billing period.
  - `period_start` string, date-time, required: Start of the current billing period.
  - `plan` string, required: Plan code: `"free"`, `"starter"`, `"pro"`, `"business"` or `"enterprise"`.
  - `status` string, required: Subscription status: `"trial"`, `"active"`, `"past_due"`, `"canceled"`, `"expired"` or `"paused"`.
  - `trial_days_remaining` integer, nullable: Days remaining in a trial period. `null` when not in trial.

## Other responses

- `401`: Missing or invalid API key, session token, or agent token.
- `403`: The key or agent token lacks the `billing:read` scope.

---

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