From fc922a0c8ff83d574ba66644fdcca8032fe1de76 Mon Sep 17 00:00:00 2001 From: Jonathan Norris Date: Tue, 29 Sep 2026 11:11:47 -0400 Subject: [PATCH 1/3] fix!: make targetingKey optional in the evaluation context Signed-off-by: Jonathan Norris --- service/openapi.yaml | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/service/openapi.yaml b/service/openapi.yaml index 1707928..2e9e148 100644 --- a/service/openapi.yaml +++ b/service/openapi.yaml @@ -88,7 +88,7 @@ paths: example: key: my-flag errorCode: INVALID_CONTEXT - errorDetails: "Context is missing required targetingKey property" + errorDetails: "Context property 'plan' must be a string" "404": description: Flag not found. The specified flag key does not exist in the flag management system. content: @@ -207,7 +207,7 @@ paths: $ref: "#/components/schemas/bulkEvaluationFailure" example: errorCode: INVALID_CONTEXT - errorDetails: "Context is missing required targetingKey property" + errorDetails: "Context property 'plan' must be a string" "401": description: Unauthorized. Authentication credentials are missing, invalid, or expired. "403": @@ -344,7 +344,7 @@ components: errorDetails: type: string description: Optional error details description for logging or debugging purposes - example: "Context is missing required targetingKey property" + example: "Context property 'plan' must be a string" required: - errorCode evaluationRequest: @@ -607,11 +607,14 @@ components: context: type: object description: | - Evaluation context containing information used to evaluate feature flags. The context - includes a `targetingKey` (required) along with additional properties such as - user attributes, session data, or request metadata that can be used for targeting rules. - required: - - targetingKey + Evaluation context containing information used to evaluate feature flags. The context + may include an optional `targetingKey` identifying the subject of the evaluation, along + with additional properties such as user attributes, session data, or request metadata + that can be used for targeting rules. + + The `targetingKey` is optional, matching the OpenFeature specification's evaluation + context. Providers may require it for fractional evaluation, rules, or overrides + targeting specific subjects, and may behave unpredictably when it is absent. properties: targetingKey: type: string From 8c492eddf429e471593cfa7975e149b357ae8cdc Mon Sep 17 00:00:00 2001 From: Jonathan Norris Date: Tue, 29 Sep 2026 11:14:37 -0400 Subject: [PATCH 2/3] docs: trim redundant targetingKey guidance from context description Signed-off-by: Jonathan Norris --- service/openapi.yaml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/service/openapi.yaml b/service/openapi.yaml index 2e9e148..d6ac69f 100644 --- a/service/openapi.yaml +++ b/service/openapi.yaml @@ -611,10 +611,6 @@ components: may include an optional `targetingKey` identifying the subject of the evaluation, along with additional properties such as user attributes, session data, or request metadata that can be used for targeting rules. - - The `targetingKey` is optional, matching the OpenFeature specification's evaluation - context. Providers may require it for fractional evaluation, rules, or overrides - targeting specific subjects, and may behave unpredictably when it is absent. properties: targetingKey: type: string From 5bffcecd7a277cb5423aecb67eff9a3b7fc96e6b Mon Sep 17 00:00:00 2001 From: Jonathan Norris Date: Tue, 29 Sep 2026 11:17:54 -0400 Subject: [PATCH 3/3] chore: bump OFREP spec version to 0.4.0 Signed-off-by: Jonathan Norris --- service/openapi.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/service/openapi.yaml b/service/openapi.yaml index d6ac69f..128e145 100644 --- a/service/openapi.yaml +++ b/service/openapi.yaml @@ -2,7 +2,7 @@ openapi: 3.1.0 servers: - url: / info: - version: 0.3.0 + version: 0.4.0 title: OpenFeature Remote Evaluation Protocol (OFREP) description: | ---