List your subscriptions
const url = 'https://api.nsin.ir/subscriptions';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://api.nsin.ir/subscriptions \ --header 'Authorization: Bearer <token>'Every subscription across your domains.
Authorizations
Section titled “Authorizations ”Responses
Section titled “ Responses ”Subscriptions.
A plan attached to one domain. Entitlements are not read from the
plan directly — use GET /domains/{domain}/features, which resolves any
per-subscription overrides.
object
The plan this subscription is on.
object
The billing term purchased.
object
For example active, expired, grace or cancelled.
Traffic-allowance reset cadence, frozen at purchase time so later plan changes cannot shift an existing subscriber’s quota window.
The free trial granted at signup. Downgrades to the free plan on expiry rather than entering grace.
Example generated
[ { "id": 1, "user_id": 1, "domain_id": 1, "domain_name": "example", "plan_id": 1, "plan": {}, "plan_term_id": 1, "plan_term": {}, "status": "example", "started_at": "2026-04-15T12:00:00Z", "expires_at": "2026-04-15T12:00:00Z", "grace_until": "2026-04-15T12:00:00Z", "auto_renew": true, "quota_reset_days": 1, "is_trial": true }]Missing, malformed, revoked or expired API key — or the owning account is inactive.
The single error shape used by every endpoint.
object
Human-readable description of what went wrong.
Examples
{ "error": "invalid API key"}The key exceeded its request budget (300 requests per minute by default).
The single error shape used by every endpoint.
object
Human-readable description of what went wrong.
Examples
{ "error": "rate limit exceeded"}