Skip to main content
GET
The payload your servers poll. Returns every flag your organization holds — archived ones excluded — as a flat list a game server can parse. This endpoint is served from an edge cache, so a poll never reaches the database. Send the ETag you already hold as If-None-Match and an unchanged configuration is answered with a 304 and no body.
This is the only flags endpoint a game server needs. It requires FLAGS_READ only, so the API key you ship to a server never has to be able to change a flag.

Authorization

string
required
Bearer token for authentication. Format: Bearer <your-api-key>

Required Permission

FLAGS_READ

Headers

string
The ETag from your previous response. When it matches the current configuration the response is 304 Not Modified with an empty body. Both weak (W/"a1b2c3d4e5f6a7b8") and bare forms are accepted.

Response Headers

string
Weak validator for the current configuration, e.g. W/"a1b2c3d4e5f6a7b8". It is a hash of the flags the payload contains, so an unchanged set of flags always produces the same value.
string
Always no-cache, must-revalidate. Servers must revalidate on every poll so a flag change reaches them on the next request rather than whenever an intermediary decides its copy expired.

Response

string
The same validator as the ETag header.
string
ISO 8601 timestamp of when this payload was built.
number
Seconds the API suggests waiting before polling again. Currently 20. This is advisory — the SDKs use it to warn when you are polling faster than it.
FlagConfigEntry[]
Every non-archived flag, ordered by key.

Status Codes

Rate Limit

This endpoint has its own allowance of 1200 requests per minute per API key, separate from the general cloud limit. Authentication happens before rate limiting, so the count is per key rather than per IP — servers behind the same address do not compete.