Skip to main content

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

FieldTypeDescription
planNamestringInternal plan identifier (e.g., free, paid)
planDisplayNamestringHuman-readable plan name
tierstringPlan tier enum: FREE or PAID
priceCentsintegerMonthly price in cents
currencystringCurrency code (e.g., EUR, USD)
statusstringSubscription status: ACTIVE, PAST_DUE, CANCELLED, or SUSPENDED
currentPeriodStartstringISO timestamp of current billing period start
currentPeriodEndstringISO timestamp of current billing period end
gracePeriodEndstringISO timestamp when grace period ends (null if not in grace period)

Subscription Status Values

StatusDescription
ACTIVESubscription is active and in good standing
PAST_DUEPayment failed, currently in grace period
CANCELLEDSubscription cancelled, will not renew (but still active until period end)
SUSPENDEDAccount suspended due to non-payment or policy violation

Errors

Status CodeError CodeDescription
401UNAUTHORIZEDMissing or invalid JWT token
403FORBIDDENUser does not have admin privileges
404NOT_FOUNDOrganization 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" and priceCents: 0.
  • If the status is PAST_DUE, check the gracePeriodEnd field to determine when the account will be suspended.
  • Cancelled subscriptions remain ACTIVE until the end of the current billing period.