Get the domain's effective plan entitlements
const url = 'https://api.nsin.ir/domains/example.com/features';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/domains/example.com/features \ --header 'Authorization: Bearer <token>'What this domain’s plan actually allows — the resolved values after any per-subscription overrides, so this is the authority on whether a feature is available.
A limit of null means unlimited. Use this before calling a gated
endpoint rather than inferring capability from the plan name. Readable
by shared members.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”The domain name (for example example.com) — not a numeric id.
Example
example.comResponses
Section titled “ Responses ”Effective entitlements.
The domain’s effective entitlements, after per-subscription overrides.
A null limit means unlimited.
object
Null means unlimited.
Null means unlimited.
Rules allowed per rule type. Null means unlimited.
Ceiling for the domain’s cache_cap_mb.
Gates the raw-log and top-N analytics endpoints.
Gates most analytics sections.
Gates the cache purge endpoints.
Gates custom certificate upload.
WebSocket support.
Current usage against the limits above.
object
Example generated
{ "plan_id": 1, "plan_name": "example", "plan_slug": "example", "has_active_plan": true, "max_records": 1, "max_traffic_gb": 1, "max_rules_per_set": 1, "max_cache_cap_mb": 1, "logs_enabled": true, "monitoring_enabled": true, "rules_enabled": true, "cache_purge_enabled": true, "custom_ssl_enabled": true, "ws_enabled": true, "host_header_edit_enabled": true, "dedicated_support_enabled": true, "domain_usage": [ {} ], "plan_term_id": 1, "billing_duration_days": 1, "quota_reset_days": 1, "quota_period_start": "2026-04-15T12:00:00Z", "quota_period_end": "2026-04-15T12:00:00Z"}Missing domain.
The single error shape used by every endpoint.
object
Human-readable description of what went wrong.
Example
{ "error": "read-only API key"}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"}No such domain, or it is not visible to this account. Domains you cannot access are reported as not found rather than forbidden.
The single error shape used by every endpoint.
object
Human-readable description of what went wrong.
Example
{ "error": "read-only 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"}