launchdarkly_api 3.10.0 → 5.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (330) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -1
  3. data/README.md +237 -224
  4. data/docs/ApprovalRequest.md +20 -0
  5. data/docs/{FeatureFlagChangeRequestApplyConfigBody.md → ApprovalRequestApplyConfigBody.md} +1 -1
  6. data/docs/{FeatureFlagChangeRequestConfigBody.md → ApprovalRequestConfigBody.md} +3 -1
  7. data/docs/{FeatureFlagChangeRequestReview.md → ApprovalRequestReview.md} +3 -3
  8. data/docs/{FeatureFlagChangeRequestReviewConfigBody.md → ApprovalRequestReviewConfigBody.md} +2 -2
  9. data/docs/{FeatureFlagChangeRequestReviewStatus.md → ApprovalRequestReviewStatus.md} +1 -1
  10. data/docs/{FeatureFlagChangeRequests.md → ApprovalRequests.md} +2 -2
  11. data/docs/{UnboundedSegmentTargetChanges.md → BigSegmentTargetChanges.md} +1 -1
  12. data/docs/BigSegmentTargetsBody.md +9 -0
  13. data/docs/Environment.md +1 -0
  14. data/docs/EnvironmentApprovalSettings.md +12 -0
  15. data/docs/FeatureFlagStatus.md +1 -1
  16. data/docs/FeatureFlagStatusAcrossEnvironments.md +1 -1
  17. data/docs/FeatureFlagStatusLinks.md +9 -0
  18. data/docs/FeatureFlagStatuses.md +1 -1
  19. data/docs/FeatureFlagsApi.md +517 -77
  20. data/docs/FlagConfigScheduledChangesConflictsBody.md +9 -0
  21. data/docs/FlagConfigScheduledChangesPatchBody.md +9 -0
  22. data/docs/FlagConfigScheduledChangesPostBody.md +10 -0
  23. data/docs/Member.md +2 -0
  24. data/docs/MemberLastSeenMetadata.md +8 -0
  25. data/docs/UserSegment.md +1 -1
  26. data/docs/UserSegmentBody.md +1 -1
  27. data/docs/UserSegmentsApi.md +9 -9
  28. data/docs/UsersApi.md +2 -2
  29. data/launchdarkly_api.gemspec +3 -2
  30. data/lib/launchdarkly_api.rb +17 -11
  31. data/lib/launchdarkly_api/api/access_tokens_api.rb +2 -2
  32. data/lib/launchdarkly_api/api/audit_log_api.rb +2 -2
  33. data/lib/launchdarkly_api/api/custom_roles_api.rb +2 -2
  34. data/lib/launchdarkly_api/api/customer_metrics_api.rb +2 -2
  35. data/lib/launchdarkly_api/api/data_export_destinations_api.rb +2 -2
  36. data/lib/launchdarkly_api/api/environments_api.rb +2 -2
  37. data/lib/launchdarkly_api/api/feature_flags_api.rb +640 -142
  38. data/lib/launchdarkly_api/api/integrations_api.rb +2 -2
  39. data/lib/launchdarkly_api/api/projects_api.rb +2 -2
  40. data/lib/launchdarkly_api/api/relay_proxy_configurations_api.rb +2 -2
  41. data/lib/launchdarkly_api/api/root_api.rb +2 -2
  42. data/lib/launchdarkly_api/api/team_members_api.rb +2 -2
  43. data/lib/launchdarkly_api/api/user_segments_api.rb +19 -19
  44. data/lib/launchdarkly_api/api/user_settings_api.rb +2 -2
  45. data/lib/launchdarkly_api/api/users_api.rb +5 -5
  46. data/lib/launchdarkly_api/api/webhooks_api.rb +2 -2
  47. data/lib/launchdarkly_api/api_client.rb +7 -5
  48. data/lib/launchdarkly_api/api_error.rb +2 -2
  49. data/lib/launchdarkly_api/configuration.rb +4 -4
  50. data/lib/launchdarkly_api/models/{feature_flag_change_request.rb → approval_request.rb} +37 -25
  51. data/lib/launchdarkly_api/models/{feature_flag_change_request_apply_config_body.rb → approval_request_apply_config_body.rb} +5 -4
  52. data/lib/launchdarkly_api/models/{feature_flag_change_request_config_body.rb → approval_request_config_body.rb} +29 -8
  53. data/lib/launchdarkly_api/models/{feature_flag_change_request_review.rb → approval_request_review.rb} +7 -6
  54. data/lib/launchdarkly_api/models/{feature_flag_change_request_review_config_body.rb → approval_request_review_config_body.rb} +8 -7
  55. data/lib/launchdarkly_api/models/{feature_flag_change_request_review_status.rb → approval_request_review_status.rb} +5 -5
  56. data/lib/launchdarkly_api/models/{feature_flag_change_requests.rb → approval_requests.rb} +6 -5
  57. data/lib/launchdarkly_api/models/audit_log_entries.rb +4 -3
  58. data/lib/launchdarkly_api/models/audit_log_entry.rb +4 -3
  59. data/lib/launchdarkly_api/models/audit_log_entry_target.rb +4 -3
  60. data/lib/launchdarkly_api/models/{unbounded_segment_target_changes.rb → big_segment_target_changes.rb} +5 -4
  61. data/lib/launchdarkly_api/models/{unbounded_segment_targets_body.rb → big_segment_targets_body.rb} +7 -6
  62. data/lib/launchdarkly_api/models/clause.rb +4 -3
  63. data/lib/launchdarkly_api/models/client_side_availability.rb +4 -3
  64. data/lib/launchdarkly_api/models/copy_actions.rb +2 -2
  65. data/lib/launchdarkly_api/models/custom_property.rb +4 -3
  66. data/lib/launchdarkly_api/models/custom_property_values.rb +4 -3
  67. data/lib/launchdarkly_api/models/custom_role.rb +4 -3
  68. data/lib/launchdarkly_api/models/custom_role_body.rb +4 -3
  69. data/lib/launchdarkly_api/models/custom_roles.rb +4 -3
  70. data/lib/launchdarkly_api/models/defaults.rb +4 -3
  71. data/lib/launchdarkly_api/models/destination.rb +4 -3
  72. data/lib/launchdarkly_api/models/destination_amazon_kinesis.rb +4 -3
  73. data/lib/launchdarkly_api/models/destination_body.rb +4 -3
  74. data/lib/launchdarkly_api/models/destination_google_pub_sub.rb +4 -3
  75. data/lib/launchdarkly_api/models/destination_m_particle.rb +4 -3
  76. data/lib/launchdarkly_api/models/destination_segment.rb +4 -3
  77. data/lib/launchdarkly_api/models/destinations.rb +4 -3
  78. data/lib/launchdarkly_api/models/environment.rb +17 -7
  79. data/lib/launchdarkly_api/models/environment_approval_settings.rb +260 -0
  80. data/lib/launchdarkly_api/models/environment_post.rb +4 -3
  81. data/lib/launchdarkly_api/models/evaluation_usage_error.rb +4 -3
  82. data/lib/launchdarkly_api/models/events.rb +4 -3
  83. data/lib/launchdarkly_api/models/fallthrough.rb +4 -3
  84. data/lib/launchdarkly_api/models/feature_flag.rb +4 -3
  85. data/lib/launchdarkly_api/models/feature_flag_body.rb +4 -3
  86. data/lib/launchdarkly_api/models/feature_flag_config.rb +4 -3
  87. data/lib/launchdarkly_api/models/feature_flag_copy_body.rb +4 -3
  88. data/lib/launchdarkly_api/models/feature_flag_copy_object.rb +4 -3
  89. data/lib/launchdarkly_api/models/feature_flag_scheduled_change.rb +4 -3
  90. data/lib/launchdarkly_api/models/feature_flag_scheduled_changes.rb +4 -3
  91. data/lib/launchdarkly_api/models/feature_flag_scheduled_changes_conflicts.rb +4 -3
  92. data/lib/launchdarkly_api/models/feature_flag_scheduled_changes_conflicts_instructions.rb +4 -3
  93. data/lib/launchdarkly_api/models/feature_flag_status.rb +5 -4
  94. data/lib/launchdarkly_api/models/feature_flag_status_across_environments.rb +5 -4
  95. data/lib/launchdarkly_api/models/feature_flag_status_for_queried_environment.rb +4 -3
  96. data/lib/launchdarkly_api/models/feature_flag_status_links.rb +193 -0
  97. data/lib/launchdarkly_api/models/feature_flag_statuses.rb +5 -4
  98. data/lib/launchdarkly_api/models/feature_flags.rb +4 -3
  99. data/lib/launchdarkly_api/models/flag_config_scheduled_changes_conflicts_body.rb +194 -0
  100. data/lib/launchdarkly_api/models/flag_config_scheduled_changes_patch_body.rb +194 -0
  101. data/lib/launchdarkly_api/models/flag_config_scheduled_changes_post_body.rb +204 -0
  102. data/lib/launchdarkly_api/models/flag_list_item.rb +4 -3
  103. data/lib/launchdarkly_api/models/hierarchical_links.rb +4 -3
  104. data/lib/launchdarkly_api/models/id.rb +4 -3
  105. data/lib/launchdarkly_api/models/integration.rb +4 -3
  106. data/lib/launchdarkly_api/models/integration__links.rb +4 -3
  107. data/lib/launchdarkly_api/models/integration_subscription.rb +4 -3
  108. data/lib/launchdarkly_api/models/integration_subscription__status.rb +4 -3
  109. data/lib/launchdarkly_api/models/integrations.rb +4 -3
  110. data/lib/launchdarkly_api/models/link.rb +4 -3
  111. data/lib/launchdarkly_api/models/links.rb +4 -3
  112. data/lib/launchdarkly_api/models/ma_uby_category.rb +4 -3
  113. data/lib/launchdarkly_api/models/mau.rb +4 -3
  114. data/lib/launchdarkly_api/models/mau_metadata.rb +4 -3
  115. data/lib/launchdarkly_api/models/member.rb +27 -7
  116. data/lib/launchdarkly_api/models/member__last_seen_metadata.rb +185 -0
  117. data/lib/launchdarkly_api/models/members.rb +4 -3
  118. data/lib/launchdarkly_api/models/members_body.rb +4 -3
  119. data/lib/launchdarkly_api/models/patch_comment.rb +4 -3
  120. data/lib/launchdarkly_api/models/patch_operation.rb +4 -3
  121. data/lib/launchdarkly_api/models/policy.rb +4 -3
  122. data/lib/launchdarkly_api/models/prerequisite.rb +4 -3
  123. data/lib/launchdarkly_api/models/project.rb +4 -3
  124. data/lib/launchdarkly_api/models/project_body.rb +4 -3
  125. data/lib/launchdarkly_api/models/projects.rb +4 -3
  126. data/lib/launchdarkly_api/models/relay_proxy_config.rb +4 -3
  127. data/lib/launchdarkly_api/models/relay_proxy_config_body.rb +4 -3
  128. data/lib/launchdarkly_api/models/relay_proxy_configs.rb +4 -3
  129. data/lib/launchdarkly_api/models/role.rb +2 -2
  130. data/lib/launchdarkly_api/models/rollout.rb +4 -3
  131. data/lib/launchdarkly_api/models/rule.rb +4 -3
  132. data/lib/launchdarkly_api/models/scheduled_changes_feature_flag_conflict.rb +4 -3
  133. data/lib/launchdarkly_api/models/semantic_patch_instruction.rb +4 -3
  134. data/lib/launchdarkly_api/models/semantic_patch_instruction_inner.rb +4 -3
  135. data/lib/launchdarkly_api/models/semantic_patch_operation.rb +4 -3
  136. data/lib/launchdarkly_api/models/site.rb +4 -3
  137. data/lib/launchdarkly_api/models/statement.rb +4 -3
  138. data/lib/launchdarkly_api/models/stream.rb +4 -3
  139. data/lib/launchdarkly_api/models/stream_by_sdk.rb +4 -3
  140. data/lib/launchdarkly_api/models/stream_by_sdk_links.rb +4 -3
  141. data/lib/launchdarkly_api/models/stream_by_sdk_links_metadata.rb +4 -3
  142. data/lib/launchdarkly_api/models/stream_links.rb +4 -3
  143. data/lib/launchdarkly_api/models/stream_sdk_version.rb +4 -3
  144. data/lib/launchdarkly_api/models/stream_sdk_version_data.rb +4 -3
  145. data/lib/launchdarkly_api/models/stream_usage_error.rb +4 -3
  146. data/lib/launchdarkly_api/models/stream_usage_links.rb +4 -3
  147. data/lib/launchdarkly_api/models/stream_usage_metadata.rb +4 -3
  148. data/lib/launchdarkly_api/models/stream_usage_series.rb +4 -3
  149. data/lib/launchdarkly_api/models/streams.rb +4 -3
  150. data/lib/launchdarkly_api/models/subscription_body.rb +4 -3
  151. data/lib/launchdarkly_api/models/target.rb +4 -3
  152. data/lib/launchdarkly_api/models/token.rb +4 -3
  153. data/lib/launchdarkly_api/models/token_body.rb +4 -3
  154. data/lib/launchdarkly_api/models/tokens.rb +4 -3
  155. data/lib/launchdarkly_api/models/usage.rb +4 -3
  156. data/lib/launchdarkly_api/models/usage_error.rb +4 -3
  157. data/lib/launchdarkly_api/models/usage_links.rb +4 -3
  158. data/lib/launchdarkly_api/models/user.rb +4 -3
  159. data/lib/launchdarkly_api/models/user_flag_setting.rb +4 -3
  160. data/lib/launchdarkly_api/models/user_flag_settings.rb +4 -3
  161. data/lib/launchdarkly_api/models/user_record.rb +4 -3
  162. data/lib/launchdarkly_api/models/user_segment.rb +5 -4
  163. data/lib/launchdarkly_api/models/user_segment_body.rb +5 -4
  164. data/lib/launchdarkly_api/models/user_segment_rule.rb +4 -3
  165. data/lib/launchdarkly_api/models/user_segments.rb +4 -3
  166. data/lib/launchdarkly_api/models/user_settings_body.rb +4 -3
  167. data/lib/launchdarkly_api/models/user_targeting_expiration_for_flag.rb +4 -3
  168. data/lib/launchdarkly_api/models/user_targeting_expiration_for_flags.rb +4 -3
  169. data/lib/launchdarkly_api/models/user_targeting_expiration_for_segment.rb +4 -3
  170. data/lib/launchdarkly_api/models/user_targeting_expiration_on_flags_for_user.rb +4 -3
  171. data/lib/launchdarkly_api/models/user_targeting_expiration_resource_id_for_flag.rb +4 -3
  172. data/lib/launchdarkly_api/models/users.rb +4 -3
  173. data/lib/launchdarkly_api/models/variation.rb +4 -3
  174. data/lib/launchdarkly_api/models/webhook.rb +4 -3
  175. data/lib/launchdarkly_api/models/webhook_body.rb +4 -3
  176. data/lib/launchdarkly_api/models/webhooks.rb +4 -3
  177. data/lib/launchdarkly_api/models/weighted_variation.rb +4 -3
  178. data/lib/launchdarkly_api/version.rb +3 -3
  179. data/openapi.yml +351 -93
  180. data/spec/api/access_tokens_api_spec.rb +2 -2
  181. data/spec/api/audit_log_api_spec.rb +2 -2
  182. data/spec/api/custom_roles_api_spec.rb +2 -2
  183. data/spec/api/customer_metrics_api_spec.rb +2 -2
  184. data/spec/api/data_export_destinations_api_spec.rb +2 -2
  185. data/spec/api/environments_api_spec.rb +2 -2
  186. data/spec/api/feature_flags_api_spec.rb +139 -38
  187. data/spec/api/integrations_api_spec.rb +2 -2
  188. data/spec/api/projects_api_spec.rb +2 -2
  189. data/spec/api/relay_proxy_configurations_api_spec.rb +2 -2
  190. data/spec/api/root_api_spec.rb +2 -2
  191. data/spec/api/team_members_api_spec.rb +2 -2
  192. data/spec/api/user_segments_api_spec.rb +6 -6
  193. data/spec/api/user_settings_api_spec.rb +2 -2
  194. data/spec/api/users_api_spec.rb +3 -3
  195. data/spec/api/webhooks_api_spec.rb +2 -2
  196. data/spec/api_client_spec.rb +19 -2
  197. data/spec/configuration_spec.rb +2 -2
  198. data/spec/models/{feature_flag_change_request_apply_config_body_spec.rb → approval_request_apply_config_body_spec.rb} +8 -8
  199. data/spec/models/{feature_flag_change_request_config_body_spec.rb → approval_request_config_body_spec.rb} +20 -8
  200. data/spec/models/{feature_flag_change_request_review_config_body_spec.rb → approval_request_review_config_body_spec.rb} +9 -9
  201. data/spec/models/{feature_flag_change_request_review_spec.rb → approval_request_review_spec.rb} +8 -8
  202. data/spec/models/approval_request_review_status_spec.rb +35 -0
  203. data/spec/models/{feature_flag_change_request_spec.rb → approval_request_spec.rb} +19 -13
  204. data/spec/models/{feature_flag_change_requests_spec.rb → approval_requests_spec.rb} +8 -8
  205. data/spec/models/audit_log_entries_spec.rb +2 -2
  206. data/spec/models/audit_log_entry_spec.rb +2 -2
  207. data/spec/models/audit_log_entry_target_spec.rb +2 -2
  208. data/spec/models/{unbounded_segment_target_changes_spec.rb → big_segment_target_changes_spec.rb} +8 -8
  209. data/spec/models/{unbounded_segment_targets_body_spec.rb → big_segment_targets_body_spec.rb} +8 -8
  210. data/spec/models/clause_spec.rb +2 -2
  211. data/spec/models/client_side_availability_spec.rb +2 -2
  212. data/spec/models/copy_actions_spec.rb +2 -2
  213. data/spec/models/custom_property_spec.rb +2 -2
  214. data/spec/models/custom_property_values_spec.rb +2 -2
  215. data/spec/models/custom_role_body_spec.rb +2 -2
  216. data/spec/models/custom_role_spec.rb +2 -2
  217. data/spec/models/custom_roles_spec.rb +2 -2
  218. data/spec/models/defaults_spec.rb +2 -2
  219. data/spec/models/destination_amazon_kinesis_spec.rb +2 -2
  220. data/spec/models/destination_body_spec.rb +2 -2
  221. data/spec/models/destination_google_pub_sub_spec.rb +2 -2
  222. data/spec/models/destination_m_particle_spec.rb +2 -2
  223. data/spec/models/destination_segment_spec.rb +2 -2
  224. data/spec/models/destination_spec.rb +2 -2
  225. data/spec/models/destinations_spec.rb +2 -2
  226. data/spec/models/environment_approval_settings_spec.rb +69 -0
  227. data/spec/models/environment_post_spec.rb +2 -2
  228. data/spec/models/environment_spec.rb +8 -2
  229. data/spec/models/evaluation_usage_error_spec.rb +2 -2
  230. data/spec/models/events_spec.rb +2 -2
  231. data/spec/models/fallthrough_spec.rb +2 -2
  232. data/spec/models/feature_flag_body_spec.rb +2 -2
  233. data/spec/models/feature_flag_config_spec.rb +2 -2
  234. data/spec/models/feature_flag_copy_body_spec.rb +2 -2
  235. data/spec/models/feature_flag_copy_object_spec.rb +2 -2
  236. data/spec/models/feature_flag_scheduled_change_spec.rb +2 -2
  237. data/spec/models/feature_flag_scheduled_changes_conflicts_instructions_spec.rb +2 -2
  238. data/spec/models/feature_flag_scheduled_changes_conflicts_spec.rb +2 -2
  239. data/spec/models/feature_flag_scheduled_changes_spec.rb +2 -2
  240. data/spec/models/feature_flag_spec.rb +2 -2
  241. data/spec/models/feature_flag_status_across_environments_spec.rb +2 -2
  242. data/spec/models/feature_flag_status_for_queried_environment_spec.rb +2 -2
  243. data/spec/models/feature_flag_status_links_spec.rb +47 -0
  244. data/spec/models/feature_flag_status_spec.rb +2 -2
  245. data/spec/models/feature_flag_statuses_spec.rb +2 -2
  246. data/spec/models/feature_flags_spec.rb +2 -2
  247. data/spec/models/flag_config_scheduled_changes_conflicts_body_spec.rb +47 -0
  248. data/spec/models/flag_config_scheduled_changes_patch_body_spec.rb +47 -0
  249. data/spec/models/flag_config_scheduled_changes_post_body_spec.rb +53 -0
  250. data/spec/models/flag_list_item_spec.rb +2 -2
  251. data/spec/models/hierarchical_links_spec.rb +2 -2
  252. data/spec/models/id_spec.rb +2 -2
  253. data/spec/models/integration__links_spec.rb +2 -2
  254. data/spec/models/integration_spec.rb +2 -2
  255. data/spec/models/integration_subscription__status_spec.rb +2 -2
  256. data/spec/models/integration_subscription_spec.rb +2 -2
  257. data/spec/models/integrations_spec.rb +2 -2
  258. data/spec/models/link_spec.rb +2 -2
  259. data/spec/models/links_spec.rb +2 -2
  260. data/spec/models/ma_uby_category_spec.rb +2 -2
  261. data/spec/models/mau_metadata_spec.rb +2 -2
  262. data/spec/models/mau_spec.rb +2 -2
  263. data/spec/models/member__last_seen_metadata_spec.rb +41 -0
  264. data/spec/models/member_spec.rb +14 -2
  265. data/spec/models/members_body_spec.rb +2 -2
  266. data/spec/models/members_spec.rb +2 -2
  267. data/spec/models/patch_comment_spec.rb +2 -2
  268. data/spec/models/patch_operation_spec.rb +2 -2
  269. data/spec/models/policy_spec.rb +2 -2
  270. data/spec/models/prerequisite_spec.rb +2 -2
  271. data/spec/models/project_body_spec.rb +2 -2
  272. data/spec/models/project_spec.rb +2 -2
  273. data/spec/models/projects_spec.rb +2 -2
  274. data/spec/models/relay_proxy_config_body_spec.rb +2 -2
  275. data/spec/models/relay_proxy_config_spec.rb +2 -2
  276. data/spec/models/relay_proxy_configs_spec.rb +2 -2
  277. data/spec/models/role_spec.rb +2 -2
  278. data/spec/models/rollout_spec.rb +2 -2
  279. data/spec/models/rule_spec.rb +2 -2
  280. data/spec/models/scheduled_changes_feature_flag_conflict_spec.rb +2 -2
  281. data/spec/models/semantic_patch_instruction_inner_spec.rb +2 -2
  282. data/spec/models/semantic_patch_instruction_spec.rb +2 -2
  283. data/spec/models/semantic_patch_operation_spec.rb +2 -2
  284. data/spec/models/site_spec.rb +2 -2
  285. data/spec/models/statement_spec.rb +2 -2
  286. data/spec/models/stream_by_sdk_links_metadata_spec.rb +2 -2
  287. data/spec/models/stream_by_sdk_links_spec.rb +2 -2
  288. data/spec/models/stream_by_sdk_spec.rb +2 -2
  289. data/spec/models/stream_links_spec.rb +2 -2
  290. data/spec/models/stream_sdk_version_data_spec.rb +2 -2
  291. data/spec/models/stream_sdk_version_spec.rb +2 -2
  292. data/spec/models/stream_spec.rb +2 -2
  293. data/spec/models/stream_usage_error_spec.rb +2 -2
  294. data/spec/models/stream_usage_links_spec.rb +2 -2
  295. data/spec/models/stream_usage_metadata_spec.rb +2 -2
  296. data/spec/models/stream_usage_series_spec.rb +2 -2
  297. data/spec/models/streams_spec.rb +2 -2
  298. data/spec/models/subscription_body_spec.rb +2 -2
  299. data/spec/models/target_spec.rb +2 -2
  300. data/spec/models/token_body_spec.rb +2 -2
  301. data/spec/models/token_spec.rb +2 -2
  302. data/spec/models/tokens_spec.rb +2 -2
  303. data/spec/models/usage_error_spec.rb +2 -2
  304. data/spec/models/usage_links_spec.rb +2 -2
  305. data/spec/models/usage_spec.rb +2 -2
  306. data/spec/models/user_flag_setting_spec.rb +2 -2
  307. data/spec/models/user_flag_settings_spec.rb +2 -2
  308. data/spec/models/user_record_spec.rb +2 -2
  309. data/spec/models/user_segment_body_spec.rb +2 -2
  310. data/spec/models/user_segment_rule_spec.rb +2 -2
  311. data/spec/models/user_segment_spec.rb +2 -2
  312. data/spec/models/user_segments_spec.rb +2 -2
  313. data/spec/models/user_settings_body_spec.rb +2 -2
  314. data/spec/models/user_spec.rb +2 -2
  315. data/spec/models/user_targeting_expiration_for_flag_spec.rb +2 -2
  316. data/spec/models/user_targeting_expiration_for_flags_spec.rb +2 -2
  317. data/spec/models/user_targeting_expiration_for_segment_spec.rb +2 -2
  318. data/spec/models/user_targeting_expiration_on_flags_for_user_spec.rb +2 -2
  319. data/spec/models/user_targeting_expiration_resource_id_for_flag_spec.rb +2 -2
  320. data/spec/models/users_spec.rb +2 -2
  321. data/spec/models/variation_spec.rb +2 -2
  322. data/spec/models/webhook_body_spec.rb +2 -2
  323. data/spec/models/webhook_spec.rb +2 -2
  324. data/spec/models/webhooks_spec.rb +2 -2
  325. data/spec/models/weighted_variation_spec.rb +2 -2
  326. data/spec/spec_helper.rb +2 -2
  327. metadata +186 -142
  328. data/docs/FeatureFlagChangeRequest.md +0 -19
  329. data/docs/UnboundedSegmentTargetsBody.md +0 -9
  330. data/spec/models/feature_flag_change_request_review_status_spec.rb +0 -35
@@ -3,10 +3,10 @@
3
3
 
4
4
  #Build custom integrations with the LaunchDarkly REST API
5
5
 
6
- OpenAPI spec version: 3.10.0
6
+ OpenAPI spec version: 5.0.3
7
7
  Contact: support@launchdarkly.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.4.8
9
+ Swagger Codegen version: 2.4.17
10
10
 
11
11
  =end
12
12
 
@@ -84,7 +84,7 @@ module LaunchDarklyApi
84
84
  return nil unless attributes.is_a?(Hash)
85
85
  self.class.swagger_types.each_pair do |key, type|
86
86
  if type =~ /\AArray<(.*)>/i
87
- # check to ensure the input is an array given that the the attribute
87
+ # check to ensure the input is an array given that the attribute
88
88
  # is documented as an array but the input is not
89
89
  if attributes[self.class.attribute_map[key]].is_a?(Array)
90
90
  self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
@@ -180,5 +180,6 @@ module LaunchDarklyApi
180
180
  value
181
181
  end
182
182
  end
183
+
183
184
  end
184
185
  end
@@ -3,10 +3,10 @@
3
3
 
4
4
  #Build custom integrations with the LaunchDarkly REST API
5
5
 
6
- OpenAPI spec version: 3.10.0
6
+ OpenAPI spec version: 5.0.3
7
7
  Contact: support@launchdarkly.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.4.8
9
+ Swagger Codegen version: 2.4.17
10
10
 
11
11
  =end
12
12
 
@@ -140,7 +140,7 @@ module LaunchDarklyApi
140
140
  return nil unless attributes.is_a?(Hash)
141
141
  self.class.swagger_types.each_pair do |key, type|
142
142
  if type =~ /\AArray<(.*)>/i
143
- # check to ensure the input is an array given that the the attribute
143
+ # check to ensure the input is an array given that the attribute
144
144
  # is documented as an array but the input is not
145
145
  if attributes[self.class.attribute_map[key]].is_a?(Array)
146
146
  self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
@@ -236,5 +236,6 @@ module LaunchDarklyApi
236
236
  value
237
237
  end
238
238
  end
239
+
239
240
  end
240
241
  end
@@ -3,10 +3,10 @@
3
3
 
4
4
  #Build custom integrations with the LaunchDarkly REST API
5
5
 
6
- OpenAPI spec version: 3.10.0
6
+ OpenAPI spec version: 5.0.3
7
7
  Contact: support@launchdarkly.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.4.8
9
+ Swagger Codegen version: 2.4.17
10
10
 
11
11
  =end
12
12
 
@@ -94,7 +94,7 @@ module LaunchDarklyApi
94
94
  return nil unless attributes.is_a?(Hash)
95
95
  self.class.swagger_types.each_pair do |key, type|
96
96
  if type =~ /\AArray<(.*)>/i
97
- # check to ensure the input is an array given that the the attribute
97
+ # check to ensure the input is an array given that the attribute
98
98
  # is documented as an array but the input is not
99
99
  if attributes[self.class.attribute_map[key]].is_a?(Array)
100
100
  self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
@@ -190,5 +190,6 @@ module LaunchDarklyApi
190
190
  value
191
191
  end
192
192
  end
193
+
193
194
  end
194
195
  end
@@ -3,10 +3,10 @@
3
3
 
4
4
  #Build custom integrations with the LaunchDarkly REST API
5
5
 
6
- OpenAPI spec version: 3.10.0
6
+ OpenAPI spec version: 5.0.3
7
7
  Contact: support@launchdarkly.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.4.8
9
+ Swagger Codegen version: 2.4.17
10
10
 
11
11
  =end
12
12
 
@@ -140,7 +140,7 @@ module LaunchDarklyApi
140
140
  return nil unless attributes.is_a?(Hash)
141
141
  self.class.swagger_types.each_pair do |key, type|
142
142
  if type =~ /\AArray<(.*)>/i
143
- # check to ensure the input is an array given that the the attribute
143
+ # check to ensure the input is an array given that the attribute
144
144
  # is documented as an array but the input is not
145
145
  if attributes[self.class.attribute_map[key]].is_a?(Array)
146
146
  self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
@@ -236,5 +236,6 @@ module LaunchDarklyApi
236
236
  value
237
237
  end
238
238
  end
239
+
239
240
  end
240
241
  end
@@ -3,10 +3,10 @@
3
3
 
4
4
  #Build custom integrations with the LaunchDarkly REST API
5
5
 
6
- OpenAPI spec version: 3.10.0
6
+ OpenAPI spec version: 5.0.3
7
7
  Contact: support@launchdarkly.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.4.8
9
+ Swagger Codegen version: 2.4.17
10
10
 
11
11
  =end
12
12
 
@@ -94,7 +94,7 @@ module LaunchDarklyApi
94
94
  return nil unless attributes.is_a?(Hash)
95
95
  self.class.swagger_types.each_pair do |key, type|
96
96
  if type =~ /\AArray<(.*)>/i
97
- # check to ensure the input is an array given that the the attribute
97
+ # check to ensure the input is an array given that the attribute
98
98
  # is documented as an array but the input is not
99
99
  if attributes[self.class.attribute_map[key]].is_a?(Array)
100
100
  self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
@@ -190,5 +190,6 @@ module LaunchDarklyApi
190
190
  value
191
191
  end
192
192
  end
193
+
193
194
  end
194
195
  end
@@ -3,10 +3,10 @@
3
3
 
4
4
  #Build custom integrations with the LaunchDarkly REST API
5
5
 
6
- OpenAPI spec version: 3.10.0
6
+ OpenAPI spec version: 5.0.3
7
7
  Contact: support@launchdarkly.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.4.8
9
+ Swagger Codegen version: 2.4.17
10
10
 
11
11
  =end
12
12
 
@@ -119,7 +119,7 @@ module LaunchDarklyApi
119
119
  return nil unless attributes.is_a?(Hash)
120
120
  self.class.swagger_types.each_pair do |key, type|
121
121
  if type =~ /\AArray<(.*)>/i
122
- # check to ensure the input is an array given that the the attribute
122
+ # check to ensure the input is an array given that the attribute
123
123
  # is documented as an array but the input is not
124
124
  if attributes[self.class.attribute_map[key]].is_a?(Array)
125
125
  self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
@@ -215,5 +215,6 @@ module LaunchDarklyApi
215
215
  value
216
216
  end
217
217
  end
218
+
218
219
  end
219
220
  end
@@ -3,10 +3,10 @@
3
3
 
4
4
  #Build custom integrations with the LaunchDarkly REST API
5
5
 
6
- OpenAPI spec version: 3.10.0
6
+ OpenAPI spec version: 5.0.3
7
7
  Contact: support@launchdarkly.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.4.8
9
+ Swagger Codegen version: 2.4.17
10
10
 
11
11
  =end
12
12
 
@@ -103,7 +103,7 @@ module LaunchDarklyApi
103
103
  return nil unless attributes.is_a?(Hash)
104
104
  self.class.swagger_types.each_pair do |key, type|
105
105
  if type =~ /\AArray<(.*)>/i
106
- # check to ensure the input is an array given that the the attribute
106
+ # check to ensure the input is an array given that the attribute
107
107
  # is documented as an array but the input is not
108
108
  if attributes[self.class.attribute_map[key]].is_a?(Array)
109
109
  self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
@@ -199,5 +199,6 @@ module LaunchDarklyApi
199
199
  value
200
200
  end
201
201
  end
202
+
202
203
  end
203
204
  end
@@ -3,10 +3,10 @@
3
3
 
4
4
  #Build custom integrations with the LaunchDarkly REST API
5
5
 
6
- OpenAPI spec version: 3.10.0
6
+ OpenAPI spec version: 5.0.3
7
7
  Contact: support@launchdarkly.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.4.8
9
+ Swagger Codegen version: 2.4.17
10
10
 
11
11
  =end
12
12
 
@@ -115,7 +115,7 @@ module LaunchDarklyApi
115
115
  return nil unless attributes.is_a?(Hash)
116
116
  self.class.swagger_types.each_pair do |key, type|
117
117
  if type =~ /\AArray<(.*)>/i
118
- # check to ensure the input is an array given that the the attribute
118
+ # check to ensure the input is an array given that the attribute
119
119
  # is documented as an array but the input is not
120
120
  if attributes[self.class.attribute_map[key]].is_a?(Array)
121
121
  self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
@@ -211,5 +211,6 @@ module LaunchDarklyApi
211
211
  value
212
212
  end
213
213
  end
214
+
214
215
  end
215
216
  end
@@ -3,10 +3,10 @@
3
3
 
4
4
  #Build custom integrations with the LaunchDarkly REST API
5
5
 
6
- OpenAPI spec version: 3.10.0
6
+ OpenAPI spec version: 5.0.3
7
7
  Contact: support@launchdarkly.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.4.8
9
+ Swagger Codegen version: 2.4.17
10
10
 
11
11
  =end
12
12
 
@@ -155,7 +155,7 @@ module LaunchDarklyApi
155
155
  return nil unless attributes.is_a?(Hash)
156
156
  self.class.swagger_types.each_pair do |key, type|
157
157
  if type =~ /\AArray<(.*)>/i
158
- # check to ensure the input is an array given that the the attribute
158
+ # check to ensure the input is an array given that the attribute
159
159
  # is documented as an array but the input is not
160
160
  if attributes[self.class.attribute_map[key]].is_a?(Array)
161
161
  self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
@@ -251,5 +251,6 @@ module LaunchDarklyApi
251
251
  value
252
252
  end
253
253
  end
254
+
254
255
  end
255
256
  end
@@ -3,10 +3,10 @@
3
3
 
4
4
  #Build custom integrations with the LaunchDarkly REST API
5
5
 
6
- OpenAPI spec version: 3.10.0
6
+ OpenAPI spec version: 5.0.3
7
7
  Contact: support@launchdarkly.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.4.8
9
+ Swagger Codegen version: 2.4.17
10
10
 
11
11
  =end
12
12
 
@@ -162,7 +162,7 @@ module LaunchDarklyApi
162
162
  return nil unless attributes.is_a?(Hash)
163
163
  self.class.swagger_types.each_pair do |key, type|
164
164
  if type =~ /\AArray<(.*)>/i
165
- # check to ensure the input is an array given that the the attribute
165
+ # check to ensure the input is an array given that the attribute
166
166
  # is documented as an array but the input is not
167
167
  if attributes[self.class.attribute_map[key]].is_a?(Array)
168
168
  self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
@@ -258,5 +258,6 @@ module LaunchDarklyApi
258
258
  value
259
259
  end
260
260
  end
261
+
261
262
  end
262
263
  end
@@ -3,10 +3,10 @@
3
3
 
4
4
  #Build custom integrations with the LaunchDarkly REST API
5
5
 
6
- OpenAPI spec version: 3.10.0
6
+ OpenAPI spec version: 5.0.3
7
7
  Contact: support@launchdarkly.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.4.8
9
+ Swagger Codegen version: 2.4.17
10
10
 
11
11
  =end
12
12
 
@@ -94,7 +94,7 @@ module LaunchDarklyApi
94
94
  return nil unless attributes.is_a?(Hash)
95
95
  self.class.swagger_types.each_pair do |key, type|
96
96
  if type =~ /\AArray<(.*)>/i
97
- # check to ensure the input is an array given that the the attribute
97
+ # check to ensure the input is an array given that the attribute
98
98
  # is documented as an array but the input is not
99
99
  if attributes[self.class.attribute_map[key]].is_a?(Array)
100
100
  self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
@@ -190,5 +190,6 @@ module LaunchDarklyApi
190
190
  value
191
191
  end
192
192
  end
193
+
193
194
  end
194
195
  end
@@ -3,10 +3,10 @@
3
3
 
4
4
  #Build custom integrations with the LaunchDarkly REST API
5
5
 
6
- OpenAPI spec version: 3.10.0
6
+ OpenAPI spec version: 5.0.3
7
7
  Contact: support@launchdarkly.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.4.8
9
+ Swagger Codegen version: 2.4.17
10
10
 
11
11
  =end
12
12
 
@@ -92,7 +92,7 @@ module LaunchDarklyApi
92
92
  return nil unless attributes.is_a?(Hash)
93
93
  self.class.swagger_types.each_pair do |key, type|
94
94
  if type =~ /\AArray<(.*)>/i
95
- # check to ensure the input is an array given that the the attribute
95
+ # check to ensure the input is an array given that the attribute
96
96
  # is documented as an array but the input is not
97
97
  if attributes[self.class.attribute_map[key]].is_a?(Array)
98
98
  self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
@@ -188,5 +188,6 @@ module LaunchDarklyApi
188
188
  value
189
189
  end
190
190
  end
191
+
191
192
  end
192
193
  end
@@ -3,13 +3,13 @@
3
3
 
4
4
  #Build custom integrations with the LaunchDarkly REST API
5
5
 
6
- OpenAPI spec version: 3.10.0
6
+ OpenAPI spec version: 5.0.3
7
7
  Contact: support@launchdarkly.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.4.8
9
+ Swagger Codegen version: 2.4.17
10
10
 
11
11
  =end
12
12
 
13
13
  module LaunchDarklyApi
14
- VERSION = '3.10.0'
14
+ VERSION = '5.0.3'
15
15
  end
data/openapi.yml CHANGED
@@ -10,7 +10,7 @@ info:
10
10
  license:
11
11
  name: Apache 2.0
12
12
  url: 'http://www.apache.org/licenses/LICENSE-2.0.html'
13
- version: 3.10.0
13
+ version: 5.0.3
14
14
  host: app.launchdarkly.com
15
15
  basePath: /api/v2
16
16
  schemes:
@@ -436,10 +436,10 @@ paths:
436
436
  $ref: '#/responses/Standard409'
437
437
  tags:
438
438
  - Feature flags
439
- '/{projectKey}/flags/{featureFlagKey}/environments/{environmentKey}/approval-requests':
439
+ '/projects/{projectKey}/flags/{featureFlagKey}/environments/{environmentKey}/scheduled-changes':
440
440
  get:
441
- operationId: getFeatureFlagChangeRequests
442
- summary: Get all change requests for a feature flag
441
+ summary: Get all scheduled workflows for a feature flag by key.
442
+ operationId: getFlagConfigScheduledChanges
443
443
  parameters:
444
444
  - $ref: '#/parameters/ProjectKey'
445
445
  - $ref: '#/parameters/FeatureFlagKey'
@@ -447,8 +447,8 @@ paths:
447
447
  responses:
448
448
  '200':
449
449
  schema:
450
- $ref: '#/definitions/FeatureFlagChangeRequests'
451
- description: Feature flag change requests response
450
+ $ref: '#/definitions/FeatureFlagScheduledChanges'
451
+ description: A list of scheduled changes for feature flag response.
452
452
  '401':
453
453
  $ref: '#/responses/Standard401'
454
454
  '404':
@@ -456,79 +456,223 @@ paths:
456
456
  tags:
457
457
  - Feature flags
458
458
  post:
459
- operationId: postFeatureFlagChangeRequest
459
+ summary: Creates a new scheduled change for a feature flag.
460
+ operationId: postFlagConfigScheduledChanges
460
461
  parameters:
461
462
  - $ref: '#/parameters/ProjectKey'
463
+ - $ref: '#/parameters/FlagConfigScheduledChangesPostBody'
462
464
  - $ref: '#/parameters/FeatureFlagKey'
463
465
  - $ref: '#/parameters/EnvironmentKey'
464
- - $ref: '#/parameters/FeatureFlagChangeRequestPostRequest'
466
+ responses:
467
+ '201':
468
+ description: A scheduled change for feature flag response.
469
+ schema:
470
+ $ref: '#/definitions/FeatureFlagScheduledChange'
471
+ '400':
472
+ $ref: '#/responses/Standard400'
473
+ '401':
474
+ $ref: '#/responses/Standard401'
475
+ '409':
476
+ $ref: '#/responses/Standard409'
477
+ tags:
478
+ - Feature flags
479
+ '/projects/{projectKey}/flags/{featureFlagKey}/environments/{environmentKey}/scheduled-changes-conflicts':
480
+ post:
481
+ summary: >-
482
+ Lists conflicts between the given instructions and any existing
483
+ scheduled changes for the feature flag. The actual HTTP verb should be
484
+ REPORT, not POST.
485
+ operationId: getFlagConfigScheduledChangesConflicts
486
+ parameters:
487
+ - $ref: '#/parameters/ProjectKey'
488
+ - $ref: '#/parameters/FeatureFlagKey'
489
+ - $ref: '#/parameters/EnvironmentKey'
490
+ - $ref: '#/parameters/FlagConfigScheduledChangesConflictsBody'
465
491
  responses:
466
492
  '200':
467
493
  schema:
468
- $ref: '#/definitions/FeatureFlagChangeRequest'
469
- description: Feature flag change request response
494
+ $ref: '#/definitions/FeatureFlagScheduledChangesConflicts'
495
+ description: Scheduled changes conflict response
470
496
  '401':
471
497
  $ref: '#/responses/Standard401'
472
498
  '404':
473
499
  $ref: '#/responses/Standard404'
474
500
  tags:
475
501
  - Feature flags
476
- '/projects/{projectKey}/flags/{featureFlagKey}/environments/{environmentKey}/approval-requests/{featureFlagChangeRequestId}':
502
+ '/projects/{projectKey}/flags/{featureFlagKey}/environments/{environmentKey}/scheduled-changes/{scheduledChangeId}':
477
503
  get:
478
- operationId: getFeatureFlagChangeRequest
479
- summary: Get a single change request for a feature flag
504
+ summary: Get a scheduled change on a feature flag by id.
505
+ operationId: getFlagConfigScheduledChange
480
506
  parameters:
481
507
  - $ref: '#/parameters/ProjectKey'
482
508
  - $ref: '#/parameters/FeatureFlagKey'
483
509
  - $ref: '#/parameters/EnvironmentKey'
484
- - $ref: '#/parameters/FeatureFlagChangeRequestId'
510
+ - $ref: '#/parameters/ScheduledChangeId'
485
511
  responses:
486
512
  '200':
487
513
  schema:
488
- $ref: '#/definitions/FeatureFlagChangeRequests'
489
- description: Feature flag change request response
514
+ $ref: '#/definitions/FeatureFlagScheduledChange'
515
+ description: A scheduled change for feature flag response.
516
+ '401':
517
+ $ref: '#/responses/Standard401'
518
+ '404':
519
+ $ref: '#/responses/Standard404'
520
+ tags:
521
+ - Feature flags
522
+ patch:
523
+ summary: >-
524
+ Updates an existing scheduled-change on a feature flag in an
525
+ environment.
526
+ operationId: patchFlagConfigScheduledChange
527
+ parameters:
528
+ - $ref: '#/parameters/ProjectKey'
529
+ - $ref: '#/parameters/FeatureFlagKey'
530
+ - $ref: '#/parameters/FlagConfigScheduledChangesPatchBody'
531
+ - $ref: '#/parameters/EnvironmentKey'
532
+ - $ref: '#/parameters/ScheduledChangeId'
533
+ responses:
534
+ '201':
535
+ description: A Scheduled change for feature flag response.
536
+ schema:
537
+ $ref: '#/definitions/FeatureFlagScheduledChange'
538
+ '400':
539
+ $ref: '#/responses/Standard400'
540
+ '401':
541
+ $ref: '#/responses/Standard401'
542
+ '409':
543
+ $ref: '#/responses/Standard409'
544
+ tags:
545
+ - Feature flags
546
+ delete:
547
+ summary: Delete a scheduled change on a feature flag in an environment.
548
+ operationId: deleteFlagConfigScheduledChanges
549
+ parameters:
550
+ - $ref: '#/parameters/ProjectKey'
551
+ - $ref: '#/parameters/FeatureFlagKey'
552
+ - $ref: '#/parameters/EnvironmentKey'
553
+ - $ref: '#/parameters/ScheduledChangeId'
554
+ responses:
555
+ '204':
556
+ $ref: '#/responses/Standard204'
557
+ '401':
558
+ $ref: '#/responses/Standard401'
559
+ '404':
560
+ $ref: '#/responses/Standard404'
561
+ tags:
562
+ - Feature flags
563
+ '/projects/{projectKey}/flags/{featureFlagKey}/environments/{environmentKey}/approval-requests':
564
+ get:
565
+ operationId: getApprovalRequests
566
+ summary: Get all approval requests for a feature flag config
567
+ parameters:
568
+ - $ref: '#/parameters/ProjectKey'
569
+ - $ref: '#/parameters/FeatureFlagKey'
570
+ - $ref: '#/parameters/EnvironmentKey'
571
+ responses:
572
+ '200':
573
+ schema:
574
+ $ref: '#/definitions/ApprovalRequests'
575
+ description: Approval requests response
576
+ '401':
577
+ $ref: '#/responses/Standard401'
578
+ '404':
579
+ $ref: '#/responses/Standard404'
580
+ tags:
581
+ - Feature flags
582
+ '/projects/{projectKey}/flags/{featureFlagKey}/environments/{environmentKey}/approval-requests/{approvalRequestId}':
583
+ get:
584
+ operationId: getApprovalRequest
585
+ summary: Get a single approval request for a feature flag config
586
+ parameters:
587
+ - $ref: '#/parameters/ProjectKey'
588
+ - $ref: '#/parameters/FeatureFlagKey'
589
+ - $ref: '#/parameters/EnvironmentKey'
590
+ - $ref: '#/parameters/ApprovalRequestId'
591
+ responses:
592
+ '200':
593
+ schema:
594
+ $ref: '#/definitions/ApprovalRequests'
595
+ description: Approval request response
490
596
  '401':
491
597
  $ref: '#/responses/Standard401'
492
598
  '404':
493
599
  $ref: '#/responses/Standard404'
494
600
  tags:
495
601
  - Feature flags
496
- '/projects/{projectKey}/flags/{featureFlagKey}/environments/{environmentKey}/approval-requests/{featureFlagChangeRequestId}/apply':
497
602
  post:
498
- operationId: postApplyFeatureFlagChangeRequest
499
- summary: Apply change request for a feature flag
603
+ operationId: postApprovalRequest
604
+ summary: Create an approval request for a feature flag config
500
605
  parameters:
501
606
  - $ref: '#/parameters/ProjectKey'
502
607
  - $ref: '#/parameters/FeatureFlagKey'
503
608
  - $ref: '#/parameters/EnvironmentKey'
504
- - $ref: '#/parameters/FeatureFlagChangeRequestId'
505
- - $ref: '#/parameters/FeatureFlagChangeRequestApplyPostRequest'
609
+ - $ref: '#/parameters/ApprovalRequestId'
610
+ - $ref: '#/parameters/ApprovalRequestPostRequest'
506
611
  responses:
507
612
  '200':
508
613
  schema:
509
- $ref: '#/definitions/FeatureFlagChangeRequests'
510
- description: Feature flag change request applied response
614
+ $ref: '#/definitions/ApprovalRequest'
615
+ description: Approval request response
511
616
  '401':
512
617
  $ref: '#/responses/Standard401'
513
618
  '404':
514
619
  $ref: '#/responses/Standard404'
515
620
  tags:
516
621
  - Feature flags
517
- '/projects/{projectKey}/flags/{featureFlagKey}/environments/{environmentKey}/approval-requests/{featureFlagChangeRequestId}/review':
622
+ delete:
623
+ operationId: deleteApprovalRequest
624
+ summary: Delete an approval request for a feature flag config
625
+ parameters:
626
+ - $ref: '#/parameters/ProjectKey'
627
+ - $ref: '#/parameters/EnvironmentKey'
628
+ - $ref: '#/parameters/FeatureFlagKey'
629
+ - $ref: '#/parameters/ApprovalRequestId'
630
+ - $ref: '#/parameters/ApprovalRequestPostRequest'
631
+ responses:
632
+ '204':
633
+ $ref: '#/responses/Standard204'
634
+ '401':
635
+ $ref: '#/responses/Standard401'
636
+ '404':
637
+ $ref: '#/responses/Standard404'
638
+ tags:
639
+ - Feature flags
640
+ '/projects/{projectKey}/flags/{featureFlagKey}/environments/{environmentKey}/approval-requests/{approvalRequestId}/apply':
518
641
  post:
519
- operationId: postReviewFeatureFlagChangeRequest
520
- summary: Review change request for a feature flag
642
+ operationId: postApplyApprovalRequest
643
+ summary: Apply approval request for a feature flag config
521
644
  parameters:
522
645
  - $ref: '#/parameters/ProjectKey'
523
646
  - $ref: '#/parameters/FeatureFlagKey'
524
647
  - $ref: '#/parameters/EnvironmentKey'
525
- - $ref: '#/parameters/FeatureFlagChangeRequestId'
526
- - $ref: '#/parameters/FeatureFlagChangeRequestReviewPostRequest'
648
+ - $ref: '#/parameters/ApprovalRequestId'
649
+ - $ref: '#/parameters/ApprovalRequestApplyPostRequest'
527
650
  responses:
528
651
  '200':
529
652
  schema:
530
- $ref: '#/definitions/FeatureFlagChangeRequests'
531
- description: Feature flag change request reviewed response
653
+ $ref: '#/definitions/ApprovalRequests'
654
+ description: Approval request applied response
655
+ '401':
656
+ $ref: '#/responses/Standard401'
657
+ '404':
658
+ $ref: '#/responses/Standard404'
659
+ tags:
660
+ - Feature flags
661
+ '/projects/{projectKey}/flags/{featureFlagKey}/environments/{environmentKey}/approval-requests/{approvalRequestId}/review':
662
+ post:
663
+ operationId: postReviewApprovalRequest
664
+ summary: Review approval request for a feature flag config
665
+ parameters:
666
+ - $ref: '#/parameters/ProjectKey'
667
+ - $ref: '#/parameters/FeatureFlagKey'
668
+ - $ref: '#/parameters/EnvironmentKey'
669
+ - $ref: '#/parameters/ApprovalRequestId'
670
+ - $ref: '#/parameters/ApprovalRequestReviewPostRequest'
671
+ responses:
672
+ '200':
673
+ schema:
674
+ $ref: '#/definitions/ApprovalRequests'
675
+ description: Approval request reviewed response
532
676
  '401':
533
677
  $ref: '#/responses/Standard401'
534
678
  '404':
@@ -666,15 +810,15 @@ paths:
666
810
  $ref: '#/responses/Standard409'
667
811
  tags:
668
812
  - User segments
669
- '/segments/{projectKey}/{environmentKey}/{userSegmentKey}/unbounded-users':
813
+ '/segments/{projectKey}/{environmentKey}/{userSegmentKey}/users':
670
814
  post:
671
- summary: Update targets included or excluded in an unbounded segment
672
- operationId: updatedUnboundedSegmentTargets
815
+ summary: Update targets included or excluded in a big segment
816
+ operationId: updatedBigSegmentTargets
673
817
  parameters:
674
818
  - $ref: '#/parameters/ProjectKey'
675
819
  - $ref: '#/parameters/EnvironmentKey'
676
820
  - $ref: '#/parameters/UserSegmentKey'
677
- - $ref: '#/parameters/UnboundedSegmentTargetsPostRequest'
821
+ - $ref: '#/parameters/BigSegmentTargetsPostRequest'
678
822
  responses:
679
823
  '204':
680
824
  $ref: '#/responses/Standard204'
@@ -743,7 +887,7 @@ paths:
743
887
  '200':
744
888
  description: User response.
745
889
  schema:
746
- $ref: '#/definitions/User'
890
+ $ref: '#/definitions/UserRecord'
747
891
  '401':
748
892
  $ref: '#/responses/Standard401'
749
893
  '404':
@@ -1911,6 +2055,23 @@ definitions:
1911
2055
  type: array
1912
2056
  items:
1913
2057
  $ref: '#/definitions/Id'
2058
+ _lastSeen:
2059
+ type: integer
2060
+ format: int64
2061
+ example: 1469326565348
2062
+ description: >-
2063
+ A unix epoch time in milliseconds specifying the last time this member
2064
+ was active in LaunchDarkly.
2065
+ _lastSeenMetadata:
2066
+ type: object
2067
+ properties:
2068
+ tokenId:
2069
+ type: string
2070
+ example: 5fd2a1ee05600316d5cb3e96
2071
+ description: >-
2072
+ If the last time this member accessed LaunchDarkly was using the
2073
+ REST API, this value will be set to the ID of the personal access
2074
+ token used.
1914
2075
  Members:
1915
2076
  type: object
1916
2077
  properties:
@@ -2127,7 +2288,7 @@ definitions:
2127
2288
  reason:
2128
2289
  type: string
2129
2290
  description: Feature flag scheduled change conflict reason
2130
- FeatureFlagChangeRequests:
2291
+ ApprovalRequests:
2131
2292
  type: object
2132
2293
  properties:
2133
2294
  _links:
@@ -2135,8 +2296,8 @@ definitions:
2135
2296
  items:
2136
2297
  type: array
2137
2298
  items:
2138
- $ref: '#/definitions/FeatureFlagChangeRequest'
2139
- FeatureFlagChangeRequest:
2299
+ $ref: '#/definitions/ApprovalRequest'
2300
+ ApprovalRequest:
2140
2301
  type: object
2141
2302
  properties:
2142
2303
  _id:
@@ -2146,46 +2307,46 @@ definitions:
2146
2307
  creationDate:
2147
2308
  type: integer
2148
2309
  description: >-
2149
- A unix epoch time in milliseconds specifying the date the change
2310
+ A unix epoch time in milliseconds specifying the date the approval
2150
2311
  request was requested
2151
2312
  requestorId:
2152
2313
  type: string
2153
2314
  description: The id of the member that requested the change
2154
2315
  reviewStatus:
2155
- $ref: '#/definitions/FeatureFlagChangeRequestReviewStatus'
2316
+ $ref: '#/definitions/ApprovalRequestReviewStatus'
2156
2317
  status:
2157
2318
  type: string
2158
2319
  description: >
2159
- | Name | Description |
2320
+ | Name | Description |
2160
2321
 
2161
- | --------:| ----------- |
2322
+ | ---------:| ----------- |
2323
+
2324
+ | pending | the approval request has not been applied yet |
2162
2325
 
2163
- | pending | the feature flag change request has not been applied yet
2164
- |
2326
+ | completed | the approval request has been applied successfully |
2165
2327
 
2166
- | completed| the feature flag change request has been applied
2167
- successfully |
2328
+ | scheduled | the approval request for a scheduled change has been
2329
+ applied successfully |
2168
2330
 
2169
- | failed | the feature flag change request has been applied but the
2170
- changes were not applied successfully |
2331
+ | failed | the approval request has been applied but the changes
2332
+ were not applied successfully |
2171
2333
  enum:
2172
2334
  - pending
2173
2335
  - completed
2336
+ - scheduled
2174
2337
  - failed
2175
2338
  appliedByMemberID:
2176
2339
  type: string
2177
- description: The id of the member that applied the change request
2340
+ description: The id of the member that applied the approval request
2178
2341
  appliedDate:
2179
2342
  type: integer
2180
2343
  description: >-
2181
- A unix epoch time in milliseconds specifying the date the change
2344
+ A unix epoch time in milliseconds specifying the date the approval
2182
2345
  request was applied
2183
- currentReviewsByMemberId:
2184
- $ref: '#/definitions/FeatureFlagChangeRequestReview'
2185
2346
  allReviews:
2186
2347
  type: array
2187
2348
  items:
2188
- $ref: '#/definitions/FeatureFlagChangeRequestReview'
2349
+ $ref: '#/definitions/ApprovalRequestReview'
2189
2350
  notifyMemberIds:
2190
2351
  type: array
2191
2352
  items:
@@ -2195,34 +2356,41 @@ definitions:
2195
2356
  - memberId2
2196
2357
  instructions:
2197
2358
  $ref: '#/definitions/SemanticPatchInstruction'
2198
- FeatureFlagChangeRequestReview:
2359
+ executionDate:
2360
+ type: integer
2361
+ format: int64
2362
+ description: Timestamp for when instructions will be executed
2363
+ operatingOnId:
2364
+ type: string
2365
+ description: ID of scheduled change to edit or delete
2366
+ ApprovalRequestReview:
2199
2367
  type: object
2200
2368
  properties:
2201
2369
  creationDate:
2202
2370
  type: integer
2203
2371
  description: >-
2204
- A unix epoch time in milliseconds specifying the date the change
2372
+ A unix epoch time in milliseconds specifying the date the approval
2205
2373
  request was reviewed
2206
2374
  kind:
2207
- $ref: '#/definitions/FeatureFlagChangeRequestReviewStatus'
2375
+ $ref: '#/definitions/ApprovalRequestReviewStatus'
2208
2376
  memberId:
2209
2377
  $ref: '#/definitions/Id'
2210
2378
  _id:
2211
2379
  $ref: '#/definitions/Id'
2212
- FeatureFlagChangeRequestReviewStatus:
2380
+ ApprovalRequestReviewStatus:
2213
2381
  type: string
2214
2382
  description: >
2215
2383
  | Name | Description |
2216
2384
 
2217
2385
  | --------:| ----------- |
2218
2386
 
2219
- | pending | the feature flag change request has not been reviewed yet |
2387
+ | pending | the approval request has not been reviewed yet |
2220
2388
 
2221
- | approved | the feature flag change request has been approved and can now
2222
- be applied |
2389
+ | approved | the approval request has been approved and can now be applied
2390
+ |
2223
2391
 
2224
- | declined | the feature flag change request has been declined and cannot
2225
- be applied |
2392
+ | declined | the approval request has been declined and cannot be applied
2393
+ |
2226
2394
  enum:
2227
2395
  - pending
2228
2396
  - approved
@@ -2273,12 +2441,12 @@ definitions:
2273
2441
  default:
2274
2442
  type: object
2275
2443
  _links:
2276
- $ref: '#/definitions/Links'
2444
+ $ref: '#/definitions/FeatureFlagStatusLinks'
2277
2445
  FeatureFlagStatuses:
2278
2446
  type: object
2279
2447
  properties:
2280
2448
  _links:
2281
- $ref: '#/definitions/Links'
2449
+ $ref: '#/definitions/FeatureFlagStatusLinks'
2282
2450
  items:
2283
2451
  type: array
2284
2452
  items:
@@ -2319,13 +2487,20 @@ definitions:
2319
2487
  type: object
2320
2488
  properties:
2321
2489
  _links:
2322
- $ref: '#/definitions/Links'
2490
+ $ref: '#/definitions/FeatureFlagStatusLinks'
2323
2491
  key:
2324
2492
  type: string
2325
2493
  environments:
2326
2494
  type: object
2327
2495
  additionalProperties:
2328
2496
  $ref: '#/definitions/FeatureFlagStatusForQueriedEnvironment'
2497
+ FeatureFlagStatusLinks:
2498
+ type: object
2499
+ properties:
2500
+ parent:
2501
+ $ref: '#/definitions/Link'
2502
+ self:
2503
+ $ref: '#/definitions/Link'
2329
2504
  UserTargetingExpirationForFlags:
2330
2505
  type: object
2331
2506
  properties:
@@ -2460,9 +2635,10 @@ definitions:
2460
2635
  type: boolean
2461
2636
  example: false
2462
2637
  description: >-
2463
- Controls whether this segment can support unlimited numbers of users.
2464
- Requires the beta API and additional setup. Include/exclude lists in
2465
- this payload are not used in unbounded segments.
2638
+ Controls whether this is considered a "big segment" which can support
2639
+ an unlimited numbers of users. Include/exclude lists sent with this
2640
+ payload are not used in big segments. Contact your account manager for
2641
+ early access to this feature.
2466
2642
  version:
2467
2643
  type: integer
2468
2644
  _links:
@@ -2492,7 +2668,7 @@ definitions:
2492
2668
  type: array
2493
2669
  items:
2494
2670
  $ref: '#/definitions/UserSegment'
2495
- UnboundedSegmentTargetChanges:
2671
+ BigSegmentTargetChanges:
2496
2672
  type: object
2497
2673
  properties:
2498
2674
  add:
@@ -2688,6 +2864,40 @@ definitions:
2688
2864
  description: >-
2689
2865
  Determines if this environment requires confirmation for flag and
2690
2866
  segment changes.
2867
+ approvalSettings:
2868
+ type: object
2869
+ description: >-
2870
+ Approval settings for an environment. Only appears if the approvals
2871
+ feature is enabled.
2872
+ properties:
2873
+ serviceKind:
2874
+ type: string
2875
+ description: The approvals system used.
2876
+ enum:
2877
+ - launchdarkly
2878
+ - service-now
2879
+ required:
2880
+ type: boolean
2881
+ description: >-
2882
+ Whether any changes to flags in this environment will require
2883
+ approval.
2884
+ canReviewOwnRequest:
2885
+ type: boolean
2886
+ description: >-
2887
+ Whether requesters can approve or decline their own request. They
2888
+ may always comment.
2889
+ minNumApprovals:
2890
+ type: integer
2891
+ format: int64
2892
+ description: >-
2893
+ The number of approvals required before an approval request can be
2894
+ applied.
2895
+ example: 2
2896
+ canApplyDeclinedChanges:
2897
+ type: boolean
2898
+ description: >-
2899
+ Whether changes can be applied as long as minNumApprovals is met,
2900
+ regardless of if any reviewers have declined a request.
2691
2901
  EnvironmentPost:
2692
2902
  type: object
2693
2903
  properties:
@@ -3734,14 +3944,40 @@ parameters:
3734
3944
  - name
3735
3945
  - key
3736
3946
  - variations
3737
- ScheduledFeatureFlagChangesPostRequest:
3738
- name: scheduledFeatureFlagChangesBody
3947
+ ScheduledChangeId:
3948
+ name: scheduledChangeId
3949
+ in: path
3950
+ required: true
3951
+ description: The id of the scheduled change
3952
+ type: string
3953
+ FlagConfigScheduledChangesConflictsBody:
3954
+ name: flagConfigScheduledChangesConflictsBody
3955
+ in: body
3956
+ required: true
3957
+ description: >-
3958
+ Used to determine if a semantic patch will result in conflicts with
3959
+ scheduled changes on a feature flag.
3960
+ schema:
3961
+ type: object
3962
+ properties:
3963
+ executionDate:
3964
+ type: integer
3965
+ description: >-
3966
+ A unix epoch time in milliseconds specifying the date the scheduled
3967
+ changes will be applied
3968
+ instructions:
3969
+ $ref: '#/definitions/SemanticPatchInstruction'
3970
+ FlagConfigScheduledChangesPostBody:
3971
+ name: flagConfigScheduledChangesPostBody
3739
3972
  in: body
3740
3973
  required: true
3741
3974
  description: Create scheduled changes on a feature flag.
3742
3975
  schema:
3743
3976
  type: object
3744
3977
  properties:
3978
+ comment:
3979
+ type: string
3980
+ description: Used to describe the scheduled changes.
3745
3981
  executionDate:
3746
3982
  type: integer
3747
3983
  description: >-
@@ -3749,6 +3985,19 @@ parameters:
3749
3985
  changes will be applied
3750
3986
  instructions:
3751
3987
  $ref: '#/definitions/SemanticPatchInstruction'
3988
+ FlagConfigScheduledChangesPatchBody:
3989
+ name: flagConfigScheduledChangesPatchBody
3990
+ in: body
3991
+ required: true
3992
+ description: Update scheduled changes on a feature flag.
3993
+ schema:
3994
+ type: object
3995
+ properties:
3996
+ comment:
3997
+ type: string
3998
+ description: Used to describe the scheduled changes.
3999
+ instructions:
4000
+ $ref: '#/definitions/SemanticPatchInstruction'
3752
4001
  DestinationPostRequest:
3753
4002
  name: destinationBody
3754
4003
  in: body
@@ -3812,9 +4061,10 @@ parameters:
3812
4061
  type: boolean
3813
4062
  example: false
3814
4063
  description: >-
3815
- Controls whether this segment can support unlimited numbers of
3816
- users. Requires the beta API and additional setup. Include/exclude
3817
- lists in this payload are not used in unbounded segments.
4064
+ Controls whether this is considered a "big segment" which can
4065
+ support an unlimited numbers of users. Include/exclude lists sent
4066
+ with this payload are not used in big segments. Contact your account
4067
+ manager for early access to this feature.
3818
4068
  tags:
3819
4069
  type: array
3820
4070
  items:
@@ -3824,20 +4074,20 @@ parameters:
3824
4074
  required:
3825
4075
  - name
3826
4076
  - key
3827
- UnboundedSegmentTargetsPostRequest:
3828
- name: unboundedSegmentTargetsBody
4077
+ BigSegmentTargetsPostRequest:
4078
+ name: bigSegmentTargetsBody
3829
4079
  in: body
3830
4080
  required: true
3831
4081
  description: >-
3832
- Add or remove user targets to the included or excluded lists on an
3833
- unbounded segment
4082
+ Add or remove user targets to the included or excluded lists on a big
4083
+ segment. Contact your account manager for early access to this feature.
3834
4084
  schema:
3835
4085
  type: object
3836
4086
  properties:
3837
4087
  included:
3838
- $ref: '#/definitions/UnboundedSegmentTargetChanges'
4088
+ $ref: '#/definitions/BigSegmentTargetChanges'
3839
4089
  excluded:
3840
- $ref: '#/definitions/UnboundedSegmentTargetChanges'
4090
+ $ref: '#/definitions/BigSegmentTargetChanges'
3841
4091
  ProjectPostRequest:
3842
4092
  name: projectBody
3843
4093
  in: body
@@ -4344,16 +4594,16 @@ parameters:
4344
4594
  An expiration time for the old relay proxy configuration key, expressed as
4345
4595
  a Unix epoch time in milliseconds. By default, the relay proxy
4346
4596
  configuration will expire immediately
4347
- FeatureFlagChangeRequestId:
4348
- name: featureFlagChangeRequestId
4597
+ ApprovalRequestId:
4598
+ name: approvalRequestId
4349
4599
  in: path
4350
4600
  required: true
4351
- description: The feature flag change request ID
4601
+ description: The approval request ID
4352
4602
  type: string
4353
- FeatureFlagChangeRequestPostRequest:
4354
- name: featureFlagChangeRequestConfigBody
4603
+ ApprovalRequestPostRequest:
4604
+ name: approvalRequestConfigBody
4355
4605
  in: body
4356
- description: Create a new feature flag change request
4606
+ description: Create a new approval request
4357
4607
  schema:
4358
4608
  type: object
4359
4609
  properties:
@@ -4374,24 +4624,32 @@ parameters:
4374
4624
  comment:
4375
4625
  type: string
4376
4626
  description: comment will be included in audit log item for change.
4627
+ executionDate:
4628
+ type: integer
4629
+ format: int64
4630
+ description: Timestamp for when instructions will be executed
4631
+ operatingOnId:
4632
+ type: string
4633
+ description: ID of scheduled change to edit or delete
4377
4634
  required:
4378
4635
  - description
4379
4636
  - instructions
4380
4637
  - notifyMemberIds
4381
- FeatureFlagChangeRequestReviewPostRequest:
4382
- name: featureFlagChangeRequestReviewConfigBody
4638
+ ApprovalRequestReviewPostRequest:
4639
+ name: approvalRequestReviewConfigBody
4383
4640
  in: body
4384
4641
  required: true
4385
- description: Review a feature flag change request
4642
+ description: Review an approval request
4386
4643
  schema:
4387
4644
  type: object
4388
4645
  properties:
4389
4646
  kind:
4390
4647
  type: string
4391
- description: Either approve or decline change request
4648
+ description: 'One of approve, decline, or comment.'
4392
4649
  enum:
4393
4650
  - approve
4394
4651
  - decline
4652
+ - comment
4395
4653
  example: approve
4396
4654
  comment:
4397
4655
  type: string
@@ -4399,11 +4657,11 @@ parameters:
4399
4657
  example: This is a comment string
4400
4658
  required:
4401
4659
  - kind
4402
- FeatureFlagChangeRequestApplyPostRequest:
4403
- name: featureFlagChangeRequestApplyConfigBody
4660
+ ApprovalRequestApplyPostRequest:
4661
+ name: approvalRequestApplyConfigBody
4404
4662
  in: body
4405
4663
  required: true
4406
- description: Apply a new feature flag change request
4664
+ description: Apply an approval request
4407
4665
  schema:
4408
4666
  type: object
4409
4667
  properties: