rbflagr 0.1.2 → 1.1.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -1
  3. data/README.md +17 -7
  4. data/docs/CreateFlagRequest.md +2 -0
  5. data/docs/CreateTagRequest.md +8 -0
  6. data/docs/Distribution.md +0 -1
  7. data/docs/EvalContext.md +4 -2
  8. data/docs/EvalResult.md +8 -7
  9. data/docs/EvaluationBatchRequest.md +3 -1
  10. data/docs/EvaluationEntity.md +1 -1
  11. data/docs/ExportApi.md +97 -0
  12. data/docs/Flag.md +7 -0
  13. data/docs/FlagApi.md +46 -1
  14. data/docs/Health.md +8 -0
  15. data/docs/HealthApi.md +9 -6
  16. data/docs/PutFlagRequest.md +5 -1
  17. data/docs/PutVariantRequest.md +1 -1
  18. data/docs/Tag.md +9 -0
  19. data/docs/TagApi.md +198 -0
  20. data/lib/rbflagr/api/constraint_api.rb +3 -3
  21. data/lib/rbflagr/api/distribution_api.rb +3 -3
  22. data/lib/rbflagr/api/evaluation_api.rb +3 -3
  23. data/lib/rbflagr/api/export_api.rb +118 -0
  24. data/lib/rbflagr/api/flag_api.rb +56 -3
  25. data/lib/rbflagr/api/health_api.rb +15 -12
  26. data/lib/rbflagr/api/segment_api.rb +3 -3
  27. data/lib/rbflagr/api/tag_api.rb +253 -0
  28. data/lib/rbflagr/api/variant_api.rb +3 -3
  29. data/lib/rbflagr/api_client.rb +8 -6
  30. data/lib/rbflagr/api_error.rb +3 -3
  31. data/lib/rbflagr/configuration.rb +5 -5
  32. data/lib/rbflagr/models/constraint.rb +5 -4
  33. data/lib/rbflagr/models/create_constraint_request.rb +5 -4
  34. data/lib/rbflagr/models/create_flag_request.rb +29 -8
  35. data/lib/rbflagr/models/create_segment_request.rb +5 -4
  36. data/lib/rbflagr/models/create_tag_request.rb +208 -0
  37. data/lib/rbflagr/models/create_variant_request.rb +5 -4
  38. data/lib/rbflagr/models/distribution.rb +6 -29
  39. data/lib/rbflagr/models/error.rb +5 -4
  40. data/lib/rbflagr/models/eval_context.rb +35 -44
  41. data/lib/rbflagr/models/eval_debug_log.rb +5 -4
  42. data/lib/rbflagr/models/eval_result.rb +15 -135
  43. data/lib/rbflagr/models/evaluation_batch_request.rb +34 -13
  44. data/lib/rbflagr/models/evaluation_batch_response.rb +5 -4
  45. data/lib/rbflagr/models/evaluation_entity.rb +5 -28
  46. data/lib/rbflagr/models/flag.rb +92 -8
  47. data/lib/rbflagr/models/flag_snapshot.rb +5 -4
  48. data/lib/rbflagr/models/health.rb +184 -0
  49. data/lib/rbflagr/models/put_distributions_request.rb +5 -4
  50. data/lib/rbflagr/models/put_flag_request.rb +49 -20
  51. data/lib/rbflagr/models/put_segment_reorder_request.rb +5 -4
  52. data/lib/rbflagr/models/put_segment_request.rb +5 -4
  53. data/lib/rbflagr/models/put_variant_request.rb +5 -9
  54. data/lib/rbflagr/models/segment.rb +5 -4
  55. data/lib/rbflagr/models/segment_debug_log.rb +5 -4
  56. data/lib/rbflagr/models/set_flag_enabled_request.rb +5 -4
  57. data/lib/rbflagr/models/tag.rb +232 -0
  58. data/lib/rbflagr/models/variant.rb +5 -4
  59. data/lib/rbflagr/version.rb +4 -4
  60. data/lib/rbflagr.rb +8 -3
  61. data/rbflagr.gemspec +5 -4
  62. data/spec/api/export_api_spec.rb +45 -0
  63. data/spec/api/tag_api_spec.rb +79 -0
  64. data/spec/models/create_tag_request_spec.rb +41 -0
  65. data/spec/models/health_spec.rb +41 -0
  66. data/spec/models/tag_spec.rb +47 -0
  67. data/swagger.yaml +309 -43
  68. data/swagger_ruby.json +1 -1
  69. metadata +72 -32
@@ -0,0 +1,45 @@
1
+ =begin
2
+ #Flagr
3
+
4
+ #Flagr is a feature flagging, A/B testing and dynamic configuration microservice. The base path for all the APIs is \"/api/v1\".
5
+
6
+ OpenAPI spec version: 1.0.13
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.4.0-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'spec_helper'
14
+ require 'json'
15
+
16
+ # Unit tests for Flagr::ExportApi
17
+ # Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen)
18
+ # Please update as you see appropriate
19
+ describe 'ExportApi' do
20
+ before do
21
+ # run before each test
22
+ @instance = Flagr::ExportApi.new
23
+ end
24
+
25
+ after do
26
+ # run after each test
27
+ end
28
+
29
+ describe 'test an instance of ExportApi' do
30
+ it 'should create an instance of ExportApi' do
31
+ expect(@instance).to be_instance_of(Flagr::ExportApi)
32
+ end
33
+ end
34
+
35
+ # unit tests for get_export_sq_lite
36
+ # Export sqlite3 format of the db dump, which is converted from the main database.
37
+ # @param [Hash] opts the optional parameters
38
+ # @return [File]
39
+ describe 'get_export_sq_lite test' do
40
+ it 'should work' do
41
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
42
+ end
43
+ end
44
+
45
+ end
@@ -0,0 +1,79 @@
1
+ =begin
2
+ #Flagr
3
+
4
+ #Flagr is a feature flagging, A/B testing and dynamic configuration microservice. The base path for all the APIs is \"/api/v1\".
5
+
6
+ OpenAPI spec version: 1.1.10
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.4.14
10
+
11
+ =end
12
+
13
+ require 'spec_helper'
14
+ require 'json'
15
+
16
+ # Unit tests for Flagr::TagApi
17
+ # Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen)
18
+ # Please update as you see appropriate
19
+ describe 'TagApi' do
20
+ before do
21
+ # run before each test
22
+ @instance = Flagr::TagApi.new
23
+ end
24
+
25
+ after do
26
+ # run after each test
27
+ end
28
+
29
+ describe 'test an instance of TagApi' do
30
+ it 'should create an instance of TagApi' do
31
+ expect(@instance).to be_instance_of(Flagr::TagApi)
32
+ end
33
+ end
34
+
35
+ # unit tests for create_tag
36
+ # @param flag_id numeric ID of the flag
37
+ # @param body create a tag
38
+ # @param [Hash] opts the optional parameters
39
+ # @return [Tag]
40
+ describe 'create_tag test' do
41
+ it 'should work' do
42
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
43
+ end
44
+ end
45
+
46
+ # unit tests for delete_tag
47
+ # @param flag_id numeric ID of the flag
48
+ # @param tag_id numeric ID of the tag
49
+ # @param [Hash] opts the optional parameters
50
+ # @return [nil]
51
+ describe 'delete_tag test' do
52
+ it 'should work' do
53
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
54
+ end
55
+ end
56
+
57
+ # unit tests for find_all_tags
58
+ # @param [Hash] opts the optional parameters
59
+ # @option opts [Integer] :limit the numbers of tags to return
60
+ # @option opts [Integer] :offset return tags given the offset, it should usually set together with limit
61
+ # @option opts [String] :value_like return tags partially matching given value
62
+ # @return [Array<Tag>]
63
+ describe 'find_all_tags test' do
64
+ it 'should work' do
65
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
66
+ end
67
+ end
68
+
69
+ # unit tests for find_tags
70
+ # @param flag_id numeric ID of the flag
71
+ # @param [Hash] opts the optional parameters
72
+ # @return [Array<Tag>]
73
+ describe 'find_tags test' do
74
+ it 'should work' do
75
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
76
+ end
77
+ end
78
+
79
+ end
@@ -0,0 +1,41 @@
1
+ =begin
2
+ #Flagr
3
+
4
+ #Flagr is a feature flagging, A/B testing and dynamic configuration microservice. The base path for all the APIs is \"/api/v1\".
5
+
6
+ OpenAPI spec version: 1.1.10
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.4.14
10
+
11
+ =end
12
+
13
+ require 'spec_helper'
14
+ require 'json'
15
+ require 'date'
16
+
17
+ # Unit tests for Flagr::CreateTagRequest
18
+ # Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen)
19
+ # Please update as you see appropriate
20
+ describe 'CreateTagRequest' do
21
+ before do
22
+ # run before each test
23
+ @instance = Flagr::CreateTagRequest.new
24
+ end
25
+
26
+ after do
27
+ # run after each test
28
+ end
29
+
30
+ describe 'test an instance of CreateTagRequest' do
31
+ it 'should create an instance of CreateTagRequest' do
32
+ expect(@instance).to be_instance_of(Flagr::CreateTagRequest)
33
+ end
34
+ end
35
+ describe 'test attribute "value"' do
36
+ it 'should work' do
37
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
38
+ end
39
+ end
40
+
41
+ end
@@ -0,0 +1,41 @@
1
+ =begin
2
+ #Flagr
3
+
4
+ #Flagr is a feature flagging, A/B testing and dynamic configuration microservice. The base path for all the APIs is \"/api/v1\".
5
+
6
+ OpenAPI spec version: 1.1.10
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.4.14
10
+
11
+ =end
12
+
13
+ require 'spec_helper'
14
+ require 'json'
15
+ require 'date'
16
+
17
+ # Unit tests for Flagr::Health
18
+ # Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen)
19
+ # Please update as you see appropriate
20
+ describe 'Health' do
21
+ before do
22
+ # run before each test
23
+ @instance = Flagr::Health.new
24
+ end
25
+
26
+ after do
27
+ # run after each test
28
+ end
29
+
30
+ describe 'test an instance of Health' do
31
+ it 'should create an instance of Health' do
32
+ expect(@instance).to be_instance_of(Flagr::Health)
33
+ end
34
+ end
35
+ describe 'test attribute "status"' do
36
+ it 'should work' do
37
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
38
+ end
39
+ end
40
+
41
+ end
@@ -0,0 +1,47 @@
1
+ =begin
2
+ #Flagr
3
+
4
+ #Flagr is a feature flagging, A/B testing and dynamic configuration microservice. The base path for all the APIs is \"/api/v1\".
5
+
6
+ OpenAPI spec version: 1.1.10
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.4.14
10
+
11
+ =end
12
+
13
+ require 'spec_helper'
14
+ require 'json'
15
+ require 'date'
16
+
17
+ # Unit tests for Flagr::Tag
18
+ # Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen)
19
+ # Please update as you see appropriate
20
+ describe 'Tag' do
21
+ before do
22
+ # run before each test
23
+ @instance = Flagr::Tag.new
24
+ end
25
+
26
+ after do
27
+ # run after each test
28
+ end
29
+
30
+ describe 'test an instance of Tag' do
31
+ it 'should create an instance of Tag' do
32
+ expect(@instance).to be_instance_of(Flagr::Tag)
33
+ end
34
+ end
35
+ describe 'test attribute "id"' do
36
+ it 'should work' do
37
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
38
+ end
39
+ end
40
+
41
+ describe 'test attribute "value"' do
42
+ it 'should work' do
43
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
44
+ end
45
+ end
46
+
47
+ end
data/swagger.yaml CHANGED
@@ -1,10 +1,10 @@
1
1
  swagger: '2.0'
2
2
  info:
3
- description: >-
3
+ description: >
4
4
  Flagr is a feature flagging, A/B testing and dynamic configuration
5
- microservice
5
+ microservice. The base path for all the APIs is "/api/v1".
6
6
  title: Flagr
7
- version: 1.0.8
7
+ version: 1.1.12
8
8
  tags:
9
9
  - name: flag
10
10
  description: Everything about the flag
@@ -28,12 +28,16 @@ x-tagGroups:
28
28
  - constraint
29
29
  - distribution
30
30
  - variant
31
+ - tag
31
32
  - name: Flag Evaluation
32
33
  tags:
33
34
  - evaluation
34
35
  - name: Health Check
35
36
  tags:
36
37
  - health
38
+ - name: Export
39
+ tags:
40
+ - export
37
41
  consumes:
38
42
  - application/json
39
43
  produces:
@@ -61,10 +65,18 @@ paths:
61
65
  name: description
62
66
  type: string
63
67
  description: return flags exactly matching given description
68
+ - in: query
69
+ name: tags
70
+ type: string
71
+ description: return flags with the given tags (comma separated)
64
72
  - in: query
65
73
  name: description_like
66
74
  type: string
67
75
  description: return flags partially matching given description
76
+ - in: query
77
+ name: key
78
+ type: string
79
+ description: return flags matching given key
68
80
  - in: query
69
81
  name: offset
70
82
  type: integer
@@ -72,6 +84,10 @@ paths:
72
84
  description: >-
73
85
  return flags given the offset, it should usually set together with
74
86
  limit
87
+ - in: query
88
+ name: preload
89
+ type: boolean
90
+ description: return flags with preloaded segments and variants
75
91
  responses:
76
92
  '200':
77
93
  description: list all the flags
@@ -125,6 +141,25 @@ paths:
125
141
  description: generic error response
126
142
  schema:
127
143
  $ref: '#/definitions/error'
144
+ delete:
145
+ tags:
146
+ - flag
147
+ operationId: deleteFlag
148
+ parameters:
149
+ - in: path
150
+ name: flagID
151
+ description: numeric ID of the flag
152
+ required: true
153
+ type: integer
154
+ format: int64
155
+ minimum: 1
156
+ responses:
157
+ '200':
158
+ description: OK deleted
159
+ default:
160
+ description: generic error response
161
+ schema:
162
+ $ref: '#/definitions/error'
128
163
  put:
129
164
  tags:
130
165
  - flag
@@ -152,10 +187,39 @@ paths:
152
187
  description: generic error response
153
188
  schema:
154
189
  $ref: '#/definitions/error'
155
- delete:
190
+ '/flags/{flagID}/enabled':
191
+ put:
156
192
  tags:
157
193
  - flag
158
- operationId: deleteFlag
194
+ operationId: setFlagEnabled
195
+ parameters:
196
+ - in: path
197
+ name: flagID
198
+ description: numeric ID of the flag to get
199
+ required: true
200
+ type: integer
201
+ format: int64
202
+ minimum: 1
203
+ - in: body
204
+ name: body
205
+ description: set flag enabled state
206
+ required: true
207
+ schema:
208
+ $ref: '#/definitions/setFlagEnabledRequest'
209
+ responses:
210
+ '200':
211
+ description: returns the flag
212
+ schema:
213
+ $ref: '#/definitions/flag'
214
+ default:
215
+ description: generic error response
216
+ schema:
217
+ $ref: '#/definitions/error'
218
+ '/flags/{flagID}/tags':
219
+ get:
220
+ tags:
221
+ - tag
222
+ operationId: findTags
159
223
  parameters:
160
224
  - in: path
161
225
  name: flagID
@@ -166,35 +230,65 @@ paths:
166
230
  minimum: 1
167
231
  responses:
168
232
  '200':
169
- description: OK deleted
233
+ description: tag ordered by tagID
234
+ schema:
235
+ type: array
236
+ items:
237
+ $ref: '#/definitions/tag'
170
238
  default:
171
239
  description: generic error response
172
240
  schema:
173
241
  $ref: '#/definitions/error'
174
- '/flags/{flagID}/enabled':
175
- put:
242
+ post:
176
243
  tags:
177
- - flag
178
- operationId: setFlagEnabled
244
+ - tag
245
+ operationId: createTag
179
246
  parameters:
180
247
  - in: path
181
248
  name: flagID
182
- description: numeric ID of the flag to get
249
+ description: numeric ID of the flag
183
250
  required: true
184
251
  type: integer
185
252
  format: int64
186
253
  minimum: 1
187
254
  - in: body
188
255
  name: body
189
- description: set flag enabled state
256
+ description: create a tag
190
257
  required: true
191
258
  schema:
192
- $ref: '#/definitions/setFlagEnabledRequest'
259
+ $ref: '#/definitions/createTagRequest'
193
260
  responses:
194
261
  '200':
195
- description: returns the flag
262
+ description: tag just created
196
263
  schema:
197
- $ref: '#/definitions/flag'
264
+ $ref: '#/definitions/tag'
265
+ default:
266
+ description: generic error response
267
+ schema:
268
+ $ref: '#/definitions/error'
269
+ '/flags/{flagID}/tags/{tagID}':
270
+ delete:
271
+ tags:
272
+ - tag
273
+ operationId: deleteTag
274
+ parameters:
275
+ - in: path
276
+ name: flagID
277
+ description: numeric ID of the flag
278
+ required: true
279
+ type: integer
280
+ format: int64
281
+ minimum: 1
282
+ - in: path
283
+ name: tagID
284
+ description: numeric ID of the tag
285
+ required: true
286
+ type: integer
287
+ format: int64
288
+ minimum: 1
289
+ responses:
290
+ '200':
291
+ description: deleted
198
292
  default:
199
293
  description: generic error response
200
294
  schema:
@@ -681,6 +775,56 @@ paths:
681
775
  description: generic error response
682
776
  schema:
683
777
  $ref: '#/definitions/error'
778
+ /flags/entity_types:
779
+ get:
780
+ tags:
781
+ - flag
782
+ operationId: getFlagEntityTypes
783
+ responses:
784
+ '200':
785
+ description: returns all the FlagEntityTypes
786
+ schema:
787
+ type: array
788
+ items:
789
+ type: string
790
+ minLength: 1
791
+ default:
792
+ description: generic error response
793
+ schema:
794
+ $ref: '#/definitions/error'
795
+ /tags:
796
+ get:
797
+ tags:
798
+ - tag
799
+ operationId: findAllTags
800
+ parameters:
801
+ - in: query
802
+ name: limit
803
+ type: integer
804
+ format: int64
805
+ description: the numbers of tags to return
806
+ - in: query
807
+ name: offset
808
+ type: integer
809
+ format: int64
810
+ description: >-
811
+ return tags given the offset, it should usually set together with
812
+ limit
813
+ - in: query
814
+ name: value_like
815
+ type: string
816
+ description: return tags partially matching given value
817
+ responses:
818
+ '200':
819
+ description: list all the tags
820
+ schema:
821
+ type: array
822
+ items:
823
+ $ref: '#/definitions/tag'
824
+ default:
825
+ description: generic error response
826
+ schema:
827
+ $ref: '#/definitions/error'
684
828
  /evaluation:
685
829
  post:
686
830
  tags:
@@ -727,9 +871,56 @@ paths:
727
871
  get:
728
872
  tags:
729
873
  - health
874
+ operationId: getHealth
875
+ description: Check if Flagr is healthy
876
+ responses:
877
+ '200':
878
+ description: status of health check
879
+ schema:
880
+ $ref: '#/definitions/health'
881
+ default:
882
+ description: generic error response
883
+ schema:
884
+ $ref: '#/definitions/error'
885
+ /export/sqlite:
886
+ get:
887
+ tags:
888
+ - export
889
+ operationId: getExportSqlite
890
+ parameters:
891
+ - in: query
892
+ name: exclude_snapshots
893
+ type: boolean
894
+ description: >
895
+ export without snapshots data - useful for smaller db without
896
+ snapshots
897
+ description: >-
898
+ Export sqlite3 format of the db dump, which is converted from the main
899
+ database.
900
+ produces:
901
+ - application/octet-stream
730
902
  responses:
731
903
  '200':
732
- description: Flagr is healthy
904
+ description: OK
905
+ schema:
906
+ type: file
907
+ default:
908
+ description: generic error response
909
+ schema:
910
+ $ref: '#/definitions/error'
911
+ /export/eval_cache/json:
912
+ get:
913
+ tags:
914
+ - export
915
+ operationId: getExportEvalCacheJSON
916
+ description: Export JSON format of the eval cache dump
917
+ produces:
918
+ - application/json
919
+ responses:
920
+ '200':
921
+ description: OK
922
+ schema:
923
+ type: object
733
924
  default:
734
925
  description: generic error response
735
926
  schema:
@@ -747,11 +938,19 @@ definitions:
747
938
  format: int64
748
939
  minimum: 1
749
940
  readOnly: true
941
+ key:
942
+ description: unique key representation of the flag
943
+ type: string
944
+ minLength: 1
750
945
  description:
751
946
  type: string
752
947
  minLength: 1
753
948
  enabled:
754
949
  type: boolean
950
+ tags:
951
+ type: array
952
+ items:
953
+ $ref: '#/definitions/tag'
755
954
  segments:
756
955
  type: array
757
956
  items:
@@ -765,6 +964,21 @@ definitions:
765
964
  enabled data records will get data logging in the metrics pipeline,
766
965
  for example, kafka.
767
966
  type: boolean
967
+ entityType:
968
+ description: >-
969
+ it will override the entityType in the evaluation logs if it's not
970
+ empty
971
+ type: string
972
+ notes:
973
+ description: flag usage details in markdown format
974
+ type: string
975
+ createdBy:
976
+ type: string
977
+ updatedBy:
978
+ type: string
979
+ updatedAt:
980
+ type: string
981
+ format: date-time
768
982
  createFlagRequest:
769
983
  type: object
770
984
  required:
@@ -773,20 +987,38 @@ definitions:
773
987
  description:
774
988
  type: string
775
989
  minLength: 1
990
+ key:
991
+ description: unique key representation of the flag
992
+ type: string
993
+ template:
994
+ description: template for flag creation
995
+ type: string
776
996
  putFlagRequest:
777
997
  type: object
778
- required:
779
- - description
780
998
  properties:
781
999
  description:
782
1000
  type: string
783
1001
  minLength: 1
1002
+ x-nullable: true
784
1003
  dataRecordsEnabled:
785
1004
  type: boolean
786
1005
  description: >-
787
1006
  enabled data records will get data logging in the metrics pipeline,
788
1007
  for example, kafka.
789
1008
  x-nullable: true
1009
+ entityType:
1010
+ description: it will overwrite entityType into evaluation logs if it's not empty
1011
+ type: string
1012
+ x-nullable: true
1013
+ enabled:
1014
+ type: boolean
1015
+ x-nullable: true
1016
+ key:
1017
+ type: string
1018
+ x-nullable: true
1019
+ notes:
1020
+ type: string
1021
+ x-nullable: true
790
1022
  setFlagEnabledRequest:
791
1023
  type: object
792
1024
  required:
@@ -812,6 +1044,27 @@ definitions:
812
1044
  updatedAt:
813
1045
  type: string
814
1046
  minLength: 1
1047
+ tag:
1048
+ type: object
1049
+ required:
1050
+ - value
1051
+ properties:
1052
+ id:
1053
+ type: integer
1054
+ format: int64
1055
+ minimum: 1
1056
+ readOnly: true
1057
+ value:
1058
+ type: string
1059
+ minLength: 1
1060
+ createTagRequest:
1061
+ type: object
1062
+ required:
1063
+ - value
1064
+ properties:
1065
+ value:
1066
+ type: string
1067
+ minLength: 1
815
1068
  segment:
816
1069
  type: object
817
1070
  required:
@@ -913,7 +1166,6 @@ definitions:
913
1166
  type: object
914
1167
  required:
915
1168
  - key
916
- - attachment
917
1169
  properties:
918
1170
  key:
919
1171
  type: string
@@ -987,9 +1239,6 @@ definitions:
987
1239
  format: int64
988
1240
  minimum: 0
989
1241
  maximum: 100
990
- bitmap:
991
- type: string
992
- minLength: 1
993
1242
  variantKey:
994
1243
  type: string
995
1244
  minLength: 1
@@ -1008,9 +1257,6 @@ definitions:
1008
1257
  $ref: '#/definitions/distribution'
1009
1258
  evalContext:
1010
1259
  type: object
1011
- required:
1012
- - entityType
1013
- - flagID
1014
1260
  properties:
1015
1261
  entityID:
1016
1262
  type: string
@@ -1019,51 +1265,51 @@ definitions:
1019
1265
  result. If it's empty, flagr will randomly generate one.
1020
1266
  entityType:
1021
1267
  type: string
1022
- minLength: 1
1023
1268
  entityContext:
1024
1269
  type: object
1025
1270
  enableDebug:
1026
1271
  type: boolean
1027
1272
  flagID:
1273
+ description: flagID
1028
1274
  type: integer
1029
1275
  format: int64
1030
1276
  minimum: 1
1277
+ flagKey:
1278
+ description: >-
1279
+ flagKey. flagID or flagKey will resolve to the same flag. Either
1280
+ works.
1281
+ type: string
1282
+ flagTags:
1283
+ description: flagTags. flagTags looks up flags by tag. Either works.
1284
+ type: array
1285
+ x-omitempty: true
1286
+ items:
1287
+ type: string
1031
1288
  evalResult:
1032
1289
  type: object
1033
- required:
1034
- - flagID
1035
- - segmentID
1036
- - variantID
1037
- - variantKey
1038
- - variantAttachment
1039
- - evalContext
1040
- - timestamp
1041
1290
  properties:
1042
1291
  flagID:
1043
1292
  type: integer
1044
1293
  format: int64
1045
- minimum: 1
1294
+ flagKey:
1295
+ type: string
1046
1296
  flagSnapshotID:
1047
1297
  type: integer
1048
1298
  format: int64
1049
1299
  segmentID:
1050
1300
  type: integer
1051
1301
  format: int64
1052
- minimum: 1
1053
1302
  variantID:
1054
1303
  type: integer
1055
1304
  format: int64
1056
- minimum: 1
1057
1305
  variantKey:
1058
1306
  type: string
1059
- minLength: 1
1060
1307
  variantAttachment:
1061
1308
  type: object
1062
1309
  evalContext:
1063
1310
  $ref: '#/definitions/evalContext'
1064
1311
  timestamp:
1065
1312
  type: string
1066
- minLength: 1
1067
1313
  evalDebugLog:
1068
1314
  $ref: '#/definitions/evalDebugLog'
1069
1315
  evalDebugLog:
@@ -1086,21 +1332,17 @@ definitions:
1086
1332
  type: string
1087
1333
  evaluationEntity:
1088
1334
  type: object
1089
- required:
1090
- - entityType
1091
1335
  properties:
1092
1336
  entityID:
1093
1337
  type: string
1094
1338
  entityType:
1095
1339
  type: string
1096
- minLength: 1
1097
1340
  entityContext:
1098
1341
  type: object
1099
1342
  evaluationBatchRequest:
1100
1343
  type: object
1101
1344
  required:
1102
1345
  - entities
1103
- - flagIDs
1104
1346
  properties:
1105
1347
  entities:
1106
1348
  type: array
@@ -1110,12 +1352,31 @@ definitions:
1110
1352
  enableDebug:
1111
1353
  type: boolean
1112
1354
  flagIDs:
1355
+ description: flagIDs
1113
1356
  type: array
1114
1357
  items:
1115
1358
  type: integer
1116
1359
  format: int64
1117
1360
  minimum: 1
1118
1361
  minItems: 1
1362
+ flagKeys:
1363
+ description: >-
1364
+ flagKeys. Either flagIDs, flagKeys or flagTags works. If pass in
1365
+ multiples, Flagr may return duplicate results.
1366
+ type: array
1367
+ items:
1368
+ type: string
1369
+ minLength: 1
1370
+ minItems: 1
1371
+ flagTags:
1372
+ description: >-
1373
+ flagTags. Either flagIDs, flagKeys or flagTags works. If pass in
1374
+ multiples, Flagr may return duplicate results.
1375
+ type: array
1376
+ items:
1377
+ type: string
1378
+ minLength: 1
1379
+ minItems: 1
1119
1380
  evaluationBatchResponse:
1120
1381
  type: object
1121
1382
  required:
@@ -1125,6 +1386,11 @@ definitions:
1125
1386
  type: array
1126
1387
  items:
1127
1388
  $ref: '#/definitions/evalResult'
1389
+ health:
1390
+ type: object
1391
+ properties:
1392
+ status:
1393
+ type: string
1128
1394
  error:
1129
1395
  type: object
1130
1396
  required: