Bulk Evaluate All Feature Flags
Evaluates all feature flags in a single request using a static context. This endpoint is used by client-side providers for static context evaluation, where all flags are evaluated once and then cached locally for subsequent use.
The endpoint returns an array of all flag evaluations, where each flag can be either a successful evaluation or an evaluation failure. The response includes an ETag header for cache validation, allowing clients to use the If-None-Match header to avoid unnecessary re-evaluation when flags haven't changed.
Query parameters
Optional ETag metadata provided by an event stream for change-triggered re-fetches (see ADR-0008). This is not a standard HTTP conditional request header; it is metadata for server-side cache validation and freshness checks. It should only be included when the request is directly triggered by a received change notification event.
Optional last-modified metadata provided by an event stream for change-triggered re-fetches (see ADR-0008). Supports Unix timestamp in seconds (recommended) or an ISO 8601 date-time string, and is transported as query metadata rather than If-Modified-Since. It should only be included when the request is directly triggered by a received change notification event.
Headers
Optional ETag value from a previous bulk evaluation response. If provided and the ETag matches the current flag set, the server will return a 304 Not Modified response, indicating that flags haven't changed since the last evaluation.
Request body
Example request
{
"context": {
"targetingKey": "user-123",
"email": "user@example.com",
"plan": "premium",
"country": "CA"
}
}Response
Successful bulk evaluation.
Changes
Changed in 11 of the 21 revisions of this API.16825
- ○
added the new optional
queryrequest parameterflagConfigEtagnew-optional-request-parameter
- ○
added the new optional
queryrequest parameterflagConfigLastModifiednew-optional-request-parameter
- ○
added the optional property
eventStreamsto the response with the200statusresponse-optional-property-added
- ○
- ▲
request body became required
request-body-became-required
- ▲
the request's body type/format changed from
/toobject/request-body-type-changed
- ▲
the request property
contextbecame requiredrequest-property-became-required
- ▲
the request property
context/targetingKeybecame requiredrequest-property-became-required
- ▲
the response's body type/format changed from
/toobject/for status400response-body-type-changed
- ▲
the response's body type/format changed from
/toobject/for status500response-body-type-changed
- ▲
the
flags/items/oneOf[evaluationFailure]/response's property type/format changed from/toobject/for status200response-property-type-changed
- ▲
the
flags/items/oneOf[evaluationSuccess]/response's property type/format changed from/toobject/for status200response-property-type-changed
- ○
added
subschema #1subschema #2to theflags/items/oneOf[evaluationSuccess]/response propertyallOflist for the response status200response-property-all-of-added
- ○
removed
subschema #1subschema #2from theflags/items/oneOf[evaluationSuccess]/response propertyallOflist for the response status200response-property-all-of-removed
- ▲
- ▲
added
codeDefaultFlagto theflags/items/oneOf[evaluationSuccess]/allOf[subschema #2]/response propertyoneOflist for the response status200response-property-one-of-added
- ▲
- ○
api operation id
evaluateFlagsBulkwas addedapi-operation-id-added
- ○
api tag
OFREP Coreaddedapi-tag-added
- ○
api tag
OFREP coreremovedapi-tag-removed
- ○
- ▲
the
flags/items/oneOf[evaluationSuccess]/allOf[subschema #1]/metadataresponse's property type/format changed fromobject/to/for status200response-property-type-changed
- ○
added the optional property
flags/items/oneOf[evaluationFailure]/metadatato the response with the200statusresponse-optional-property-added
- ○
added the optional property
metadatato the response with the200statusresponse-optional-property-added
- ○
added
metadataflagMetadataDescriptionflagMetadataExamplesto theflags/items/oneOf[evaluationSuccess]/allOf[subschema #1]/metadataresponse propertyallOflist for the response status200response-property-all-of-added
- ▲
- ●
the optional response header
Retry-Laterremoved for the status429optional-response-header-removed
- ●
- ○
added the new optional request property
context/targetingKeynew-optional-request-property
- ○
- ○
the response property
flagsbecame required for the status200response-property-became-required
- ○
- ○
api tag
OFREP coreaddedapi-tag-added
- ○
- ○
removed the
DISABLEDenum value from theflags/items/oneOf[evaluationSuccess]/allOf[subschema #1]/reasonresponse property for the response status200response-property-enum-value-removed
- ○
removed the
SPLITenum value from theflags/items/oneOf[evaluationSuccess]/allOf[subschema #1]/reasonresponse property for the response status200response-property-enum-value-removed
- ○
removed the
STATICenum value from theflags/items/oneOf[evaluationSuccess]/allOf[subschema #1]/reasonresponse property for the response status200response-property-enum-value-removed
- ○
removed the
TARGETING_MATCHenum value from theflags/items/oneOf[evaluationSuccess]/allOf[subschema #1]/reasonresponse property for the response status200response-property-enum-value-removed
- ○
removed the
UNKNOWNenum value from theflags/items/oneOf[evaluationSuccess]/allOf[subschema #1]/reasonresponse property for the response status200response-property-enum-value-removed
- ○