Skip to content

Get a cache rule

GET
/domains/{domain}/rules/cache/{ruleId}
curl --request GET \
--url https://api.nsin.ir/domains/example.com/rules/cache/1 \
--header 'Authorization: Bearer <token>'

Requires domain.view.

domain
required
string

The domain name (for example example.com) — not a numeric id.

Example
example.com
ruleId
required
integer

Numeric id of the rule.

The rule.

Media type application/json
object
id
integer
domain_id
integer
record_id

Deprecated single-record scope. Prefer record_ids. Absent for zone-wide rules.

integer
record_ids

The proxied DNS records this rule applies to. Empty or absent means zone-wide — every proxied record of the domain.

Array<integer>
type
string
Allowed values: cache drop redirect rewrite waf captcha rate_limit bot_route origin_pool origin_route fingerprint error_page
enabled
boolean
priority

Evaluation order; lower runs first. Defaults to 100.

integer
host_pattern

Optional hostname filter. Empty means the rule is not host-scoped.

string
host_match_type

How host_pattern is matched. The empty string means “no host filter”, and is the only valid value when host_pattern is empty — the two fields are set and cleared together.

string
Allowed values: "" exact wildcard regex
action_mode
  • enforce — the rule acts (block, redirect, challenge, …).
  • dry_run — the rule matches and is logged as “would have acted”, but the request reaches the origin unchanged. Use it to test a rule safely.

Not every rule type honours this; cache ignores it.

string
Allowed values: enforce dry_run
created_at
string format: date-time
updated_at
string format: date-time
path_match_type

How path_includes and path_excludes are interpreted.

string
Allowed values: wildcard regex
path_includes

Paths the rule applies to. Defaults to ["/*"] — everything.

Array<string>
path_excludes

Paths carved back out of path_includes.

Array<string>
ttl_sec

How long an entry stays fresh, in seconds. 0 uses the default.

integer
refresh_sec

Background refresh interval in seconds — the entry is re-fetched this often while still being served. 0 disables it.

integer
with_qs

Include the query string in the cache key. Off means ?a=1 and ?a=2 share one entry.

boolean
scope

What the rule caches among the paths it already matches.

  • default — static assets only, chosen by file extension.
  • everything — every cacheable response, HTML included.

There is no “custom” scope: narrow what you cache by scoping path_includes instead.

string
Allowed values: default everything
bypass_authorization

Skip caching requests that carry an Authorization header. Leave on unless you are certain the response is not user-specific.

boolean
default: true
bypass_set_cookie

Skip caching responses that set a cookie. Turning this off can serve one visitor’s session to another — only do it for responses you know are anonymous.

boolean
default: true
respect_client_no_store

Honour Cache-Control: no-store from the client.

boolean
default: true
respect_origin_cache_control

Honour the origin’s Cache-Control directives.

boolean
default: true
respect_origin_max_age

Use the origin’s max-age instead of ttl_sec.

boolean
default: true
bypass_wp_admin

Never cache WordPress admin and login paths.

boolean
default: true
Example
{
"type": "cache",
"host_match_type": "",
"action_mode": "enforce",
"path_match_type": "wildcard",
"scope": "default",
"bypass_authorization": true,
"bypass_set_cookie": true,
"respect_client_no_store": true,
"respect_origin_cache_control": true,
"respect_origin_max_age": true,
"bypass_wp_admin": true
}

Missing, malformed, revoked or expired API key — or the owning account is inactive.

Media type application/json

The single error shape used by every endpoint.

object
error
required

Human-readable description of what went wrong.

string
Examples
Example invalidKey
{
"error": "invalid API key"
}

The domain or the rule does not exist, the rule belongs to another domain or another rule type, or your role does not permit this operation.

Media type application/json

The single error shape used by every endpoint.

object
error
required

Human-readable description of what went wrong.

string
Example
{
"error": "read-only API key"
}

The key exceeded its request budget (300 requests per minute by default).

Media type application/json

The single error shape used by every endpoint.

object
error
required

Human-readable description of what went wrong.

string
Examples
Example limited
{
"error": "rate limit exceeded"
}