@@ -14,6 +14,8 @@ servers:
14
14
tags :
15
15
- name : client
16
16
- name : metrics
17
+ - name : Proxy
18
+ description : APIs used by the ff-proxy
17
19
paths :
18
20
' /client/env/{environmentUUID}/feature-configs ' :
19
21
get :
85
87
schema :
86
88
type : string
87
89
- $ref : ' #/components/parameters/clusterQueryOptionalParam'
90
+ - $ref : ' #/components/parameters/segmentRulesV2QueryParam'
88
91
security :
89
92
- BearerAuth : []
90
93
responses :
@@ -125,6 +128,7 @@ paths:
125
128
schema :
126
129
type : string
127
130
- $ref : ' #/components/parameters/clusterQueryOptionalParam'
131
+ - $ref : ' #/components/parameters/segmentRulesV2QueryParam'
128
132
security :
129
133
- BearerAuth : []
130
134
responses :
@@ -199,10 +203,7 @@ paths:
199
203
schema :
200
204
allOf :
201
205
- $ref : ' #/components/schemas/Pagination'
202
- - type : object
203
- properties :
204
- evaluations :
205
- $ref : ' #/components/schemas/Evaluations'
206
+ - $ref : ' #/components/schemas/Evaluations'
206
207
' /client/env/{environmentUUID}/target/{target}/evaluations/{feature} ' :
207
208
get :
208
209
summary : Get feature evaluations for target
@@ -302,6 +303,84 @@ paths:
302
303
default : ' *'
303
304
' 503 ' :
304
305
description : Service Unavailable
306
+ /proxy/config :
307
+ get :
308
+ summary : Gets Proxy config for multiple environments
309
+ description : >-
310
+ Gets Proxy config for multiple environments if the Key query param is
311
+ provided or gets config for a single environment if an environment query
312
+ param is provided
313
+ operationId : GetProxyConfig
314
+ tags :
315
+ - Proxy
316
+ parameters :
317
+ - $ref : ' #/components/parameters/pageNumber'
318
+ - $ref : ' #/components/parameters/pageSize'
319
+ - $ref : ' #/components/parameters/clusterQueryOptionalParam'
320
+ - in : query
321
+ name : environment
322
+ description : >-
323
+ Accepts an EnvironmentID. If this is provided then the endpoint will
324
+ only return config for this environment. If this is left empty then
325
+ the Proxy will return config for all environments associated with
326
+ the Proxy Key.
327
+ required : false
328
+ schema :
329
+ type : string
330
+ - in : query
331
+ name : key
332
+ description : Accpets a Proxy Key.
333
+ required : true
334
+ schema :
335
+ type : string
336
+ security :
337
+ - BearerAuth : []
338
+ responses :
339
+ ' 200 ' :
340
+ $ref : ' #/components/responses/ProxyConfigResponse'
341
+ ' 400 ' :
342
+ $ref : ' #/components/responses/BadRequest'
343
+ ' 401 ' :
344
+ $ref : ' #/components/responses/Unauthenticated'
345
+ ' 403 ' :
346
+ $ref : ' #/components/responses/Unauthorized'
347
+ ' 404 ' :
348
+ $ref : ' #/components/responses/NotFound'
349
+ ' 500 ' :
350
+ $ref : ' #/components/responses/InternalServerError'
351
+ /proxy/auth :
352
+ post :
353
+ summary : Endpoint that the Proxy can use to authenticate with the client server
354
+ description : Endpoint that the Proxy can use to authenticate with the client server
355
+ operationId : AuthenticateProxyKey
356
+ tags :
357
+ - Proxy
358
+ requestBody :
359
+ content :
360
+ application/json :
361
+ schema :
362
+ type : object
363
+ properties :
364
+ proxyKey :
365
+ type : string
366
+ example : 896045f3-42ee-4e73-9154-086644768b96
367
+ required :
368
+ - proxyKey
369
+ responses :
370
+ ' 200 ' :
371
+ description : OK
372
+ content :
373
+ application/json :
374
+ schema :
375
+ $ref : ' #/components/schemas/AuthenticationResponse'
376
+ ' 401 ' :
377
+ $ref : ' #/components/responses/Unauthenticated'
378
+ ' 403 ' :
379
+ $ref : ' #/components/responses/Unauthorized'
380
+ ' 404 ' :
381
+ $ref : ' #/components/responses/NotFound'
382
+ ' 500 ' :
383
+ $ref : ' #/components/responses/InternalServerError'
305
384
components :
306
385
schemas :
307
386
FeatureState :
@@ -833,6 +912,31 @@ components:
833
912
type : array
834
913
items :
835
914
$ref : ' #/components/schemas/MetricsData'
915
+ ProxyConfig :
916
+ type : object
917
+ description : TBD
918
+ allOf :
919
+ - $ref : ' #/components/schemas/Pagination'
920
+ - properties :
921
+ environments :
922
+ type : array
923
+ items :
924
+ type : object
925
+ properties :
926
+ id :
927
+ type : string
928
+ apiKeys :
929
+ type : array
930
+ items :
931
+ type : string
932
+ featureConfigs :
933
+ type : array
934
+ items :
935
+ $ref : ' #/components/schemas/FeatureConfig'
936
+ segments :
937
+ type : array
938
+ items :
939
+ $ref : ' #/components/schemas/Segment'
836
940
securitySchemes :
837
941
ApiKeyAuth :
838
942
type : apiKey
@@ -850,6 +954,17 @@ components:
850
954
description : Unique identifier for the cluster for the account
851
955
schema :
852
956
type : string
957
+ segmentRulesV2QueryParam :
958
+ name : rules
959
+ in : query
960
+ required : false
961
+ description : >-
962
+ When set to rules=v2 will return AND rule compatible serving_rules
963
+ field. When not set or set to any other value will return old rules
964
+ field only compatible with OR rules.
965
+ allowEmptyValue : true
966
+ schema :
967
+ type : string
853
968
environmentPathParam :
854
969
name : environmentUUID
855
970
in : path
@@ -896,6 +1011,12 @@ components:
896
1011
application/json :
897
1012
schema :
898
1013
$ref : ' #/components/schemas/Error'
1014
+ ProxyConfigResponse :
1015
+ description : OK
1016
+ content :
1017
+ application/json :
1018
+ schema :
1019
+ $ref : ' #/components/schemas/ProxyConfig'
899
1020
BadRequest :
900
1021
description : Bad request
901
1022
content :
0 commit comments