Skip to main content
POST
ratelimit.check

Authorizations

Authorization
string
header
required

API key: sk_live_…

Headers

Idempotency-Key
string
required

Required: this capability has an external effect.

Maximum string length: 255
Pramaan-Max-Price-Micro
string

Optional. The most this request may be priced at, in micro-USD (a whole number above 0). It replaces the capability's own price ceiling for this request, lower or higher. Sources that could cost more are left out; when none is left the answer is 400 with the lowest limit that would work.

Pattern: ^[1-9]\d{0,14}$
Pramaan-Account
string

Optional. One of your account ids (GET /v1/accounts): run on that account, whatever your routing rules say. The response header X-Pramaan-Account names the account that ran.

Pramaan-End-User
string

Optional. Your own tag for your end user: a sticky: end_user rule keeps them on the account that first served them.

Maximum string length: 256
Pramaan-End-User-Group
string

Optional. Your end user's group, matched by rules with endUserGroup.

Maximum string length: 64

Body

application/json
namespace
string
required

Your logical namespace.

Minimum string length: 1
policy
string
required

Policy name; configuration must remain unchanged until reset.

Minimum string length: 1
identifier
string
required

Caller-owned subject identifier; it is never returned.

Minimum string length: 1
algorithm
enum<string>
required

Rate-limit algorithm.

Available options:
fixed-window,
sliding-window,
token-bucket
limit
integer
required

Maximum tokens per window.

Required range: 1 <= x <= 1000000
windowMs
integer
required

Window duration in milliseconds.

Required range: 1 <= x <= 2592000000
capacity
integer

Token bucket capacity, required for that algorithm.

Required range: 1 <= x <= 1000000
refillRate
number

Token bucket tokens refilled per second, required for that algorithm.

Required range: x <= 1000000
tokens
integer
default:1

Tokens to consume when allowed.

Required range: 1 <= x <= 1000000

Response

The result

allowed
boolean
required

Whether tokens were admitted.

limit
integer
required

Configured token limit.

Required range: 0 <= x <= 9007199254740991
remaining
integer
required

Whole tokens left.

Required range: 0 <= x <= 9007199254740991
resetAt
string<date-time>
required

Time in UTC when the allowance resets or refills.

Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
retryAfterMs
integer

Wait in milliseconds when blocked.

Required range: 0 <= x <= 9007199254740991