Get Subscription
Retrieve the current subscription details for the organization, including plan information, billing cycle, and status.
Request
GET /billing/subscription
Authentication
Requires an Admin Bearer JWT token.
Authorization: Bearer <access_token>
Query Parameters
None.
Response
Returns the current subscription details.
Success Response
Status Code: 200 OK
Response Body:
{
"planName": "paid",
"planDisplayName": "Paid",
"tier": "PAID",
"priceCents": 0,
"currency": "EUR",
"status": "ACTIVE",
"currentPeriodStart": "2026-02-01T00:00:00Z",
"currentPeriodEnd": "2026-03-01T00:00:00Z",
"gracePeriodEnd": null
}
Response Fields
| Field | Type | Description |
|---|---|---|
planName | string | Internal plan identifier (e.g., free, paid) |
planDisplayName | string | Human-readable plan name |
tier | string | Plan tier enum: FREE or PAID |
priceCents | integer | Monthly price in cents |
currency | string | Currency code (e.g., EUR, USD) |
status | string | Subscription status: ACTIVE, PAST_DUE, CANCELLED, or SUSPENDED |
currentPeriodStart | string | ISO timestamp of current billing period start |
currentPeriodEnd | string | ISO timestamp of current billing period end |
gracePeriodEnd | string | ISO timestamp when grace period ends (null if not in grace period) |
Subscription Status Values
| Status | Description |
|---|---|
ACTIVE | Subscription is active and in good standing |
PAST_DUE | Payment failed, currently in grace period |
CANCELLED | Subscription cancelled, will not renew (but still active until period end) |
SUSPENDED | Account suspended due to non-payment or policy violation |
Errors
| Status Code | Error Code | Description |
|---|---|---|
401 | UNAUTHORIZED | Missing or invalid JWT token |
403 | FORBIDDEN | User does not have admin privileges |
404 | NOT_FOUND | Organization does not have an active subscription |
Example
Request
curl -X GET https://api.entryguard.io/api/v1/billing/subscription \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
Response
{
"planName": "paid",
"planDisplayName": "Paid",
"tier": "PAID",
"priceCents": 0,
"currency": "EUR",
"status": "ACTIVE",
"currentPeriodStart": "2026-02-01T00:00:00Z",
"currentPeriodEnd": "2026-03-01T00:00:00Z",
"gracePeriodEnd": null
}
Notes
- Organizations on the Free plan will have
tier: "FREE"andpriceCents: 0. - If the status is
PAST_DUE, check thegracePeriodEndfield to determine when the account will be suspended. - Cancelled subscriptions remain
ACTIVEuntil the end of the current billing period.