Server
OpenFeature Remote Evaluation Protocol (OFREP) (0.1.0)
OFREP define the protocol for remote flag evaluations
Required: Core APIs to implement to support OFREP.
This is the minimum set of APIs required for a flag management system to be OFREP compatible.
OFREP single flag evaluation contract
OFREP single flag evaluation request. The endpoint is called by the server providers to perform single flag evaluation.
Authorizations:
path Parameters
key required | string |
Request Body schema: application/json
object (context) Context information for flag evaluation | |||||
|
Responses
Request samples
- Payload
{- "context": {
- "targetingKey": "user-123"
}
}
Response samples
- 200
- 400
- 404
- 500
{- "key": "my-flag",
- "reason": "STATIC",
- "variant": "string",
- "metadata": {
- "property1": true,
- "property2": true,
- "team": "ecommerce",
- "businessPurpose": "experiment"
}, - "value": { },
- "cacheable": true
}
OFREP bulk flag evaluation contract
OFREP bulk evaluation request. The endpoint is called by the client providers to evaluate all flags at once.
Authorizations:
header Parameters
If-None-Match | string The request will be processed only if ETag doesn't match any of the values listed. |
Request Body schema: application/json
object (context) Context information for flag evaluation | |||||
|
Responses
Request samples
- Payload
{- "context": {
- "targetingKey": "user-123"
}
}
Response samples
- 200
- 400
- 500
{- "flags": [
- {
- "value": true
}
], - "metadata": {
- "property1": true,
- "property2": true
}
}
Optional: Extension APIs to provide full support for OFREP.
These APIs are utilized by the providers to enhance the OFREP experience.
OFREP provider configuration
OFREP configuration is used to supply information about the remote flag management system and to set up the OpenFeature SDK providers. The providers will contact this endpoint only if the client has opted in.
Authorizations:
header Parameters
If-None-Match | string The request will be processed only if ETag doesn't match any of the values listed. |
Responses
Response samples
- 200
- 500
{- "name": "flagd",
- "capabilities": {
- "cacheInvalidation": {
- "polling": {
- "enabled": true,
- "minPollingIntervalMs": 60000
}
}, - "flagEvaluation": {
- "supportedTypes": [
- "object",
- "int",
- "float"
]
}, - "caching": {
- "enabled": true,
- "ttl": 1000
}
}
}