launchdarkly_api 3.9.2 → 5.0.2

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 (319) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -1
  3. data/README.md +236 -224
  4. data/docs/ApprovalRequest.md +18 -0
  5. data/docs/{FeatureFlagChangeRequestApplyConfigBody.md → ApprovalRequestApplyConfigBody.md} +1 -1
  6. data/docs/{FeatureFlagChangeRequestConfigBody.md → ApprovalRequestConfigBody.md} +1 -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/Environment.md +1 -0
  12. data/docs/EnvironmentApprovalSettings.md +12 -0
  13. data/docs/FeatureFlagConfig.md +2 -0
  14. data/docs/FeatureFlagsApi.md +517 -77
  15. data/docs/FlagConfigScheduledChangesConflictsBody.md +9 -0
  16. data/docs/FlagConfigScheduledChangesPatchBody.md +9 -0
  17. data/docs/FlagConfigScheduledChangesPostBody.md +10 -0
  18. data/docs/Member.md +2 -0
  19. data/docs/MemberLastSeenMetadata.md +8 -0
  20. data/docs/UsersApi.md +2 -2
  21. data/launchdarkly_api.gemspec +3 -2
  22. data/lib/launchdarkly_api.rb +14 -9
  23. data/lib/launchdarkly_api/api/access_tokens_api.rb +2 -2
  24. data/lib/launchdarkly_api/api/audit_log_api.rb +2 -2
  25. data/lib/launchdarkly_api/api/custom_roles_api.rb +2 -2
  26. data/lib/launchdarkly_api/api/customer_metrics_api.rb +2 -2
  27. data/lib/launchdarkly_api/api/data_export_destinations_api.rb +2 -2
  28. data/lib/launchdarkly_api/api/environments_api.rb +2 -2
  29. data/lib/launchdarkly_api/api/feature_flags_api.rb +640 -142
  30. data/lib/launchdarkly_api/api/integrations_api.rb +2 -2
  31. data/lib/launchdarkly_api/api/projects_api.rb +2 -2
  32. data/lib/launchdarkly_api/api/relay_proxy_configurations_api.rb +2 -2
  33. data/lib/launchdarkly_api/api/root_api.rb +2 -2
  34. data/lib/launchdarkly_api/api/team_members_api.rb +2 -2
  35. data/lib/launchdarkly_api/api/user_segments_api.rb +2 -2
  36. data/lib/launchdarkly_api/api/user_settings_api.rb +2 -2
  37. data/lib/launchdarkly_api/api/users_api.rb +5 -5
  38. data/lib/launchdarkly_api/api/webhooks_api.rb +2 -2
  39. data/lib/launchdarkly_api/api_client.rb +7 -5
  40. data/lib/launchdarkly_api/api_error.rb +2 -2
  41. data/lib/launchdarkly_api/configuration.rb +4 -4
  42. data/lib/launchdarkly_api/models/{feature_flag_change_request.rb → approval_request.rb} +12 -20
  43. data/lib/launchdarkly_api/models/{feature_flag_change_request_apply_config_body.rb → approval_request_apply_config_body.rb} +5 -4
  44. data/lib/launchdarkly_api/models/{feature_flag_change_request_config_body.rb → approval_request_config_body.rb} +5 -4
  45. data/lib/launchdarkly_api/models/{feature_flag_change_request_review.rb → approval_request_review.rb} +7 -6
  46. data/lib/launchdarkly_api/models/{feature_flag_change_request_review_config_body.rb → approval_request_review_config_body.rb} +8 -7
  47. data/lib/launchdarkly_api/models/{feature_flag_change_request_review_status.rb → approval_request_review_status.rb} +5 -5
  48. data/lib/launchdarkly_api/models/{feature_flag_change_requests.rb → approval_requests.rb} +6 -5
  49. data/lib/launchdarkly_api/models/audit_log_entries.rb +4 -3
  50. data/lib/launchdarkly_api/models/audit_log_entry.rb +4 -3
  51. data/lib/launchdarkly_api/models/audit_log_entry_target.rb +4 -3
  52. data/lib/launchdarkly_api/models/clause.rb +4 -3
  53. data/lib/launchdarkly_api/models/client_side_availability.rb +4 -3
  54. data/lib/launchdarkly_api/models/copy_actions.rb +2 -2
  55. data/lib/launchdarkly_api/models/custom_property.rb +4 -3
  56. data/lib/launchdarkly_api/models/custom_property_values.rb +4 -3
  57. data/lib/launchdarkly_api/models/custom_role.rb +4 -3
  58. data/lib/launchdarkly_api/models/custom_role_body.rb +4 -3
  59. data/lib/launchdarkly_api/models/custom_roles.rb +4 -3
  60. data/lib/launchdarkly_api/models/defaults.rb +4 -3
  61. data/lib/launchdarkly_api/models/destination.rb +4 -3
  62. data/lib/launchdarkly_api/models/destination_amazon_kinesis.rb +4 -3
  63. data/lib/launchdarkly_api/models/destination_body.rb +4 -3
  64. data/lib/launchdarkly_api/models/destination_google_pub_sub.rb +4 -3
  65. data/lib/launchdarkly_api/models/destination_m_particle.rb +4 -3
  66. data/lib/launchdarkly_api/models/destination_segment.rb +4 -3
  67. data/lib/launchdarkly_api/models/destinations.rb +4 -3
  68. data/lib/launchdarkly_api/models/environment.rb +17 -7
  69. data/lib/launchdarkly_api/models/environment_approval_settings.rb +260 -0
  70. data/lib/launchdarkly_api/models/environment_post.rb +4 -3
  71. data/lib/launchdarkly_api/models/evaluation_usage_error.rb +4 -3
  72. data/lib/launchdarkly_api/models/events.rb +4 -3
  73. data/lib/launchdarkly_api/models/fallthrough.rb +4 -3
  74. data/lib/launchdarkly_api/models/feature_flag.rb +4 -3
  75. data/lib/launchdarkly_api/models/feature_flag_body.rb +4 -3
  76. data/lib/launchdarkly_api/models/feature_flag_config.rb +26 -7
  77. data/lib/launchdarkly_api/models/feature_flag_copy_body.rb +4 -3
  78. data/lib/launchdarkly_api/models/feature_flag_copy_object.rb +4 -3
  79. data/lib/launchdarkly_api/models/feature_flag_scheduled_change.rb +4 -3
  80. data/lib/launchdarkly_api/models/feature_flag_scheduled_changes.rb +4 -3
  81. data/lib/launchdarkly_api/models/feature_flag_scheduled_changes_conflicts.rb +4 -3
  82. data/lib/launchdarkly_api/models/feature_flag_scheduled_changes_conflicts_instructions.rb +4 -3
  83. data/lib/launchdarkly_api/models/feature_flag_status.rb +4 -3
  84. data/lib/launchdarkly_api/models/feature_flag_status_across_environments.rb +4 -3
  85. data/lib/launchdarkly_api/models/feature_flag_status_for_queried_environment.rb +4 -3
  86. data/lib/launchdarkly_api/models/feature_flag_statuses.rb +4 -3
  87. data/lib/launchdarkly_api/models/feature_flags.rb +4 -3
  88. data/lib/launchdarkly_api/models/flag_config_scheduled_changes_conflicts_body.rb +194 -0
  89. data/lib/launchdarkly_api/models/flag_config_scheduled_changes_patch_body.rb +194 -0
  90. data/lib/launchdarkly_api/models/flag_config_scheduled_changes_post_body.rb +204 -0
  91. data/lib/launchdarkly_api/models/flag_list_item.rb +4 -3
  92. data/lib/launchdarkly_api/models/hierarchical_links.rb +4 -3
  93. data/lib/launchdarkly_api/models/id.rb +4 -3
  94. data/lib/launchdarkly_api/models/integration.rb +4 -3
  95. data/lib/launchdarkly_api/models/integration__links.rb +4 -3
  96. data/lib/launchdarkly_api/models/integration_subscription.rb +4 -3
  97. data/lib/launchdarkly_api/models/integration_subscription__status.rb +4 -3
  98. data/lib/launchdarkly_api/models/integrations.rb +4 -3
  99. data/lib/launchdarkly_api/models/link.rb +4 -3
  100. data/lib/launchdarkly_api/models/links.rb +4 -3
  101. data/lib/launchdarkly_api/models/ma_uby_category.rb +4 -3
  102. data/lib/launchdarkly_api/models/mau.rb +4 -3
  103. data/lib/launchdarkly_api/models/mau_metadata.rb +4 -3
  104. data/lib/launchdarkly_api/models/member.rb +27 -7
  105. data/lib/launchdarkly_api/models/member__last_seen_metadata.rb +185 -0
  106. data/lib/launchdarkly_api/models/members.rb +4 -3
  107. data/lib/launchdarkly_api/models/members_body.rb +4 -3
  108. data/lib/launchdarkly_api/models/patch_comment.rb +4 -3
  109. data/lib/launchdarkly_api/models/patch_operation.rb +4 -3
  110. data/lib/launchdarkly_api/models/policy.rb +4 -3
  111. data/lib/launchdarkly_api/models/prerequisite.rb +4 -3
  112. data/lib/launchdarkly_api/models/project.rb +4 -3
  113. data/lib/launchdarkly_api/models/project_body.rb +4 -3
  114. data/lib/launchdarkly_api/models/projects.rb +4 -3
  115. data/lib/launchdarkly_api/models/relay_proxy_config.rb +4 -3
  116. data/lib/launchdarkly_api/models/relay_proxy_config_body.rb +4 -3
  117. data/lib/launchdarkly_api/models/relay_proxy_configs.rb +4 -3
  118. data/lib/launchdarkly_api/models/role.rb +2 -2
  119. data/lib/launchdarkly_api/models/rollout.rb +4 -3
  120. data/lib/launchdarkly_api/models/rule.rb +4 -3
  121. data/lib/launchdarkly_api/models/scheduled_changes_feature_flag_conflict.rb +4 -3
  122. data/lib/launchdarkly_api/models/semantic_patch_instruction.rb +4 -3
  123. data/lib/launchdarkly_api/models/semantic_patch_instruction_inner.rb +4 -3
  124. data/lib/launchdarkly_api/models/semantic_patch_operation.rb +4 -3
  125. data/lib/launchdarkly_api/models/site.rb +4 -3
  126. data/lib/launchdarkly_api/models/statement.rb +4 -3
  127. data/lib/launchdarkly_api/models/stream.rb +4 -3
  128. data/lib/launchdarkly_api/models/stream_by_sdk.rb +4 -3
  129. data/lib/launchdarkly_api/models/stream_by_sdk_links.rb +4 -3
  130. data/lib/launchdarkly_api/models/stream_by_sdk_links_metadata.rb +4 -3
  131. data/lib/launchdarkly_api/models/stream_links.rb +4 -3
  132. data/lib/launchdarkly_api/models/stream_sdk_version.rb +4 -3
  133. data/lib/launchdarkly_api/models/stream_sdk_version_data.rb +4 -3
  134. data/lib/launchdarkly_api/models/stream_usage_error.rb +4 -3
  135. data/lib/launchdarkly_api/models/stream_usage_links.rb +4 -3
  136. data/lib/launchdarkly_api/models/stream_usage_metadata.rb +4 -3
  137. data/lib/launchdarkly_api/models/stream_usage_series.rb +4 -3
  138. data/lib/launchdarkly_api/models/streams.rb +4 -3
  139. data/lib/launchdarkly_api/models/subscription_body.rb +4 -3
  140. data/lib/launchdarkly_api/models/target.rb +4 -3
  141. data/lib/launchdarkly_api/models/token.rb +4 -3
  142. data/lib/launchdarkly_api/models/token_body.rb +4 -3
  143. data/lib/launchdarkly_api/models/tokens.rb +4 -3
  144. data/lib/launchdarkly_api/models/unbounded_segment_target_changes.rb +4 -3
  145. data/lib/launchdarkly_api/models/unbounded_segment_targets_body.rb +4 -3
  146. data/lib/launchdarkly_api/models/usage.rb +4 -3
  147. data/lib/launchdarkly_api/models/usage_error.rb +4 -3
  148. data/lib/launchdarkly_api/models/usage_links.rb +4 -3
  149. data/lib/launchdarkly_api/models/user.rb +4 -3
  150. data/lib/launchdarkly_api/models/user_flag_setting.rb +4 -3
  151. data/lib/launchdarkly_api/models/user_flag_settings.rb +4 -3
  152. data/lib/launchdarkly_api/models/user_record.rb +4 -3
  153. data/lib/launchdarkly_api/models/user_segment.rb +4 -3
  154. data/lib/launchdarkly_api/models/user_segment_body.rb +4 -3
  155. data/lib/launchdarkly_api/models/user_segment_rule.rb +4 -3
  156. data/lib/launchdarkly_api/models/user_segments.rb +4 -3
  157. data/lib/launchdarkly_api/models/user_settings_body.rb +4 -3
  158. data/lib/launchdarkly_api/models/user_targeting_expiration_for_flag.rb +4 -3
  159. data/lib/launchdarkly_api/models/user_targeting_expiration_for_flags.rb +4 -3
  160. data/lib/launchdarkly_api/models/user_targeting_expiration_for_segment.rb +4 -3
  161. data/lib/launchdarkly_api/models/user_targeting_expiration_on_flags_for_user.rb +4 -3
  162. data/lib/launchdarkly_api/models/user_targeting_expiration_resource_id_for_flag.rb +4 -3
  163. data/lib/launchdarkly_api/models/users.rb +4 -3
  164. data/lib/launchdarkly_api/models/variation.rb +4 -3
  165. data/lib/launchdarkly_api/models/webhook.rb +4 -3
  166. data/lib/launchdarkly_api/models/webhook_body.rb +4 -3
  167. data/lib/launchdarkly_api/models/webhooks.rb +4 -3
  168. data/lib/launchdarkly_api/models/weighted_variation.rb +4 -3
  169. data/lib/launchdarkly_api/version.rb +3 -3
  170. data/openapi.yml +306 -71
  171. data/spec/api/access_tokens_api_spec.rb +2 -2
  172. data/spec/api/audit_log_api_spec.rb +2 -2
  173. data/spec/api/custom_roles_api_spec.rb +2 -2
  174. data/spec/api/customer_metrics_api_spec.rb +2 -2
  175. data/spec/api/data_export_destinations_api_spec.rb +2 -2
  176. data/spec/api/environments_api_spec.rb +2 -2
  177. data/spec/api/feature_flags_api_spec.rb +139 -38
  178. data/spec/api/integrations_api_spec.rb +2 -2
  179. data/spec/api/projects_api_spec.rb +2 -2
  180. data/spec/api/relay_proxy_configurations_api_spec.rb +2 -2
  181. data/spec/api/root_api_spec.rb +2 -2
  182. data/spec/api/team_members_api_spec.rb +2 -2
  183. data/spec/api/user_segments_api_spec.rb +2 -2
  184. data/spec/api/user_settings_api_spec.rb +2 -2
  185. data/spec/api/users_api_spec.rb +3 -3
  186. data/spec/api/webhooks_api_spec.rb +2 -2
  187. data/spec/api_client_spec.rb +19 -2
  188. data/spec/configuration_spec.rb +2 -2
  189. data/spec/models/{feature_flag_change_request_apply_config_body_spec.rb → approval_request_apply_config_body_spec.rb} +8 -8
  190. data/spec/models/{feature_flag_change_request_config_body_spec.rb → approval_request_config_body_spec.rb} +8 -8
  191. data/spec/models/{feature_flag_change_request_review_config_body_spec.rb → approval_request_review_config_body_spec.rb} +9 -9
  192. data/spec/models/{feature_flag_change_request_review_spec.rb → approval_request_review_spec.rb} +8 -8
  193. data/spec/models/approval_request_review_status_spec.rb +35 -0
  194. data/spec/models/{feature_flag_change_request_spec.rb → approval_request_spec.rb} +8 -14
  195. data/spec/models/{feature_flag_change_requests_spec.rb → approval_requests_spec.rb} +8 -8
  196. data/spec/models/audit_log_entries_spec.rb +2 -2
  197. data/spec/models/audit_log_entry_spec.rb +2 -2
  198. data/spec/models/audit_log_entry_target_spec.rb +2 -2
  199. data/spec/models/clause_spec.rb +2 -2
  200. data/spec/models/client_side_availability_spec.rb +2 -2
  201. data/spec/models/copy_actions_spec.rb +2 -2
  202. data/spec/models/custom_property_spec.rb +2 -2
  203. data/spec/models/custom_property_values_spec.rb +2 -2
  204. data/spec/models/custom_role_body_spec.rb +2 -2
  205. data/spec/models/custom_role_spec.rb +2 -2
  206. data/spec/models/custom_roles_spec.rb +2 -2
  207. data/spec/models/defaults_spec.rb +2 -2
  208. data/spec/models/destination_amazon_kinesis_spec.rb +2 -2
  209. data/spec/models/destination_body_spec.rb +2 -2
  210. data/spec/models/destination_google_pub_sub_spec.rb +2 -2
  211. data/spec/models/destination_m_particle_spec.rb +2 -2
  212. data/spec/models/destination_segment_spec.rb +2 -2
  213. data/spec/models/destination_spec.rb +2 -2
  214. data/spec/models/destinations_spec.rb +2 -2
  215. data/spec/models/environment_approval_settings_spec.rb +69 -0
  216. data/spec/models/environment_post_spec.rb +2 -2
  217. data/spec/models/environment_spec.rb +8 -2
  218. data/spec/models/evaluation_usage_error_spec.rb +2 -2
  219. data/spec/models/events_spec.rb +2 -2
  220. data/spec/models/fallthrough_spec.rb +2 -2
  221. data/spec/models/feature_flag_body_spec.rb +2 -2
  222. data/spec/models/feature_flag_config_spec.rb +14 -2
  223. data/spec/models/feature_flag_copy_body_spec.rb +2 -2
  224. data/spec/models/feature_flag_copy_object_spec.rb +2 -2
  225. data/spec/models/feature_flag_scheduled_change_spec.rb +2 -2
  226. data/spec/models/feature_flag_scheduled_changes_conflicts_instructions_spec.rb +2 -2
  227. data/spec/models/feature_flag_scheduled_changes_conflicts_spec.rb +2 -2
  228. data/spec/models/feature_flag_scheduled_changes_spec.rb +2 -2
  229. data/spec/models/feature_flag_spec.rb +2 -2
  230. data/spec/models/feature_flag_status_across_environments_spec.rb +2 -2
  231. data/spec/models/feature_flag_status_for_queried_environment_spec.rb +2 -2
  232. data/spec/models/feature_flag_status_spec.rb +2 -2
  233. data/spec/models/feature_flag_statuses_spec.rb +2 -2
  234. data/spec/models/feature_flags_spec.rb +2 -2
  235. data/spec/models/flag_config_scheduled_changes_conflicts_body_spec.rb +47 -0
  236. data/spec/models/flag_config_scheduled_changes_patch_body_spec.rb +47 -0
  237. data/spec/models/flag_config_scheduled_changes_post_body_spec.rb +53 -0
  238. data/spec/models/flag_list_item_spec.rb +2 -2
  239. data/spec/models/hierarchical_links_spec.rb +2 -2
  240. data/spec/models/id_spec.rb +2 -2
  241. data/spec/models/integration__links_spec.rb +2 -2
  242. data/spec/models/integration_spec.rb +2 -2
  243. data/spec/models/integration_subscription__status_spec.rb +2 -2
  244. data/spec/models/integration_subscription_spec.rb +2 -2
  245. data/spec/models/integrations_spec.rb +2 -2
  246. data/spec/models/link_spec.rb +2 -2
  247. data/spec/models/links_spec.rb +2 -2
  248. data/spec/models/ma_uby_category_spec.rb +2 -2
  249. data/spec/models/mau_metadata_spec.rb +2 -2
  250. data/spec/models/mau_spec.rb +2 -2
  251. data/spec/models/member__last_seen_metadata_spec.rb +41 -0
  252. data/spec/models/member_spec.rb +14 -2
  253. data/spec/models/members_body_spec.rb +2 -2
  254. data/spec/models/members_spec.rb +2 -2
  255. data/spec/models/patch_comment_spec.rb +2 -2
  256. data/spec/models/patch_operation_spec.rb +2 -2
  257. data/spec/models/policy_spec.rb +2 -2
  258. data/spec/models/prerequisite_spec.rb +2 -2
  259. data/spec/models/project_body_spec.rb +2 -2
  260. data/spec/models/project_spec.rb +2 -2
  261. data/spec/models/projects_spec.rb +2 -2
  262. data/spec/models/relay_proxy_config_body_spec.rb +2 -2
  263. data/spec/models/relay_proxy_config_spec.rb +2 -2
  264. data/spec/models/relay_proxy_configs_spec.rb +2 -2
  265. data/spec/models/role_spec.rb +2 -2
  266. data/spec/models/rollout_spec.rb +2 -2
  267. data/spec/models/rule_spec.rb +2 -2
  268. data/spec/models/scheduled_changes_feature_flag_conflict_spec.rb +2 -2
  269. data/spec/models/semantic_patch_instruction_inner_spec.rb +2 -2
  270. data/spec/models/semantic_patch_instruction_spec.rb +2 -2
  271. data/spec/models/semantic_patch_operation_spec.rb +2 -2
  272. data/spec/models/site_spec.rb +2 -2
  273. data/spec/models/statement_spec.rb +2 -2
  274. data/spec/models/stream_by_sdk_links_metadata_spec.rb +2 -2
  275. data/spec/models/stream_by_sdk_links_spec.rb +2 -2
  276. data/spec/models/stream_by_sdk_spec.rb +2 -2
  277. data/spec/models/stream_links_spec.rb +2 -2
  278. data/spec/models/stream_sdk_version_data_spec.rb +2 -2
  279. data/spec/models/stream_sdk_version_spec.rb +2 -2
  280. data/spec/models/stream_spec.rb +2 -2
  281. data/spec/models/stream_usage_error_spec.rb +2 -2
  282. data/spec/models/stream_usage_links_spec.rb +2 -2
  283. data/spec/models/stream_usage_metadata_spec.rb +2 -2
  284. data/spec/models/stream_usage_series_spec.rb +2 -2
  285. data/spec/models/streams_spec.rb +2 -2
  286. data/spec/models/subscription_body_spec.rb +2 -2
  287. data/spec/models/target_spec.rb +2 -2
  288. data/spec/models/token_body_spec.rb +2 -2
  289. data/spec/models/token_spec.rb +2 -2
  290. data/spec/models/tokens_spec.rb +2 -2
  291. data/spec/models/unbounded_segment_target_changes_spec.rb +2 -2
  292. data/spec/models/unbounded_segment_targets_body_spec.rb +2 -2
  293. data/spec/models/usage_error_spec.rb +2 -2
  294. data/spec/models/usage_links_spec.rb +2 -2
  295. data/spec/models/usage_spec.rb +2 -2
  296. data/spec/models/user_flag_setting_spec.rb +2 -2
  297. data/spec/models/user_flag_settings_spec.rb +2 -2
  298. data/spec/models/user_record_spec.rb +2 -2
  299. data/spec/models/user_segment_body_spec.rb +2 -2
  300. data/spec/models/user_segment_rule_spec.rb +2 -2
  301. data/spec/models/user_segment_spec.rb +2 -2
  302. data/spec/models/user_segments_spec.rb +2 -2
  303. data/spec/models/user_settings_body_spec.rb +2 -2
  304. data/spec/models/user_spec.rb +2 -2
  305. data/spec/models/user_targeting_expiration_for_flag_spec.rb +2 -2
  306. data/spec/models/user_targeting_expiration_for_flags_spec.rb +2 -2
  307. data/spec/models/user_targeting_expiration_for_segment_spec.rb +2 -2
  308. data/spec/models/user_targeting_expiration_on_flags_for_user_spec.rb +2 -2
  309. data/spec/models/user_targeting_expiration_resource_id_for_flag_spec.rb +2 -2
  310. data/spec/models/users_spec.rb +2 -2
  311. data/spec/models/variation_spec.rb +2 -2
  312. data/spec/models/webhook_body_spec.rb +2 -2
  313. data/spec/models/webhook_spec.rb +2 -2
  314. data/spec/models/webhooks_spec.rb +2 -2
  315. data/spec/models/weighted_variation_spec.rb +2 -2
  316. data/spec/spec_helper.rb +2 -2
  317. metadata +180 -140
  318. data/docs/FeatureFlagChangeRequest.md +0 -19
  319. 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.9.2
6
+ OpenAPI spec version: 5.0.2
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.9.2
6
+ OpenAPI spec version: 5.0.2
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.9.2
6
+ OpenAPI spec version: 5.0.2
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.9.2
6
+ OpenAPI spec version: 5.0.2
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.9.2
6
+ OpenAPI spec version: 5.0.2
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.9.2
6
+ OpenAPI spec version: 5.0.2
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.9.2
6
+ OpenAPI spec version: 5.0.2
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.9.2
6
+ OpenAPI spec version: 5.0.2
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.9.2
6
+ OpenAPI spec version: 5.0.2
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.9.2
6
+ OpenAPI spec version: 5.0.2
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.9.2
6
+ OpenAPI spec version: 5.0.2
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.9.2
6
+ OpenAPI spec version: 5.0.2
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.9.2
6
+ OpenAPI spec version: 5.0.2
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.9.2
6
+ OpenAPI spec version: 5.0.2
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.9.2'
14
+ VERSION = '5.0.2'
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.9.2
13
+ version: 5.0.2
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':
641
+ post:
642
+ operationId: postApplyApprovalRequest
643
+ summary: Apply approval request for a feature flag config
644
+ parameters:
645
+ - $ref: '#/parameters/ProjectKey'
646
+ - $ref: '#/parameters/FeatureFlagKey'
647
+ - $ref: '#/parameters/EnvironmentKey'
648
+ - $ref: '#/parameters/ApprovalRequestId'
649
+ - $ref: '#/parameters/ApprovalRequestApplyPostRequest'
650
+ responses:
651
+ '200':
652
+ schema:
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':
518
662
  post:
519
- operationId: postReviewFeatureFlagChangeRequest
520
- summary: Review change request for a feature flag
663
+ operationId: postReviewApprovalRequest
664
+ summary: Review approval request for a feature flag config
521
665
  parameters:
522
666
  - $ref: '#/parameters/ProjectKey'
523
667
  - $ref: '#/parameters/FeatureFlagKey'
524
668
  - $ref: '#/parameters/EnvironmentKey'
525
- - $ref: '#/parameters/FeatureFlagChangeRequestId'
526
- - $ref: '#/parameters/FeatureFlagChangeRequestReviewPostRequest'
669
+ - $ref: '#/parameters/ApprovalRequestId'
670
+ - $ref: '#/parameters/ApprovalRequestReviewPostRequest'
527
671
  responses:
528
672
  '200':
529
673
  schema:
530
- $ref: '#/definitions/FeatureFlagChangeRequests'
531
- description: Feature flag change request reviewed response
674
+ $ref: '#/definitions/ApprovalRequests'
675
+ description: Approval request reviewed response
532
676
  '401':
533
677
  $ref: '#/responses/Standard401'
534
678
  '404':
@@ -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:
@@ -1968,6 +2129,10 @@ definitions:
1968
2129
  description: >-
1969
2130
  Set to true to send detailed event information when targeting is
1970
2131
  enabled but no individual targeting rule is matched.
2132
+ _site:
2133
+ $ref: '#/definitions/Site'
2134
+ _environmentName:
2135
+ type: string
1971
2136
  Target:
1972
2137
  type: object
1973
2138
  properties:
@@ -2123,7 +2288,7 @@ definitions:
2123
2288
  reason:
2124
2289
  type: string
2125
2290
  description: Feature flag scheduled change conflict reason
2126
- FeatureFlagChangeRequests:
2291
+ ApprovalRequests:
2127
2292
  type: object
2128
2293
  properties:
2129
2294
  _links:
@@ -2131,8 +2296,8 @@ definitions:
2131
2296
  items:
2132
2297
  type: array
2133
2298
  items:
2134
- $ref: '#/definitions/FeatureFlagChangeRequest'
2135
- FeatureFlagChangeRequest:
2299
+ $ref: '#/definitions/ApprovalRequest'
2300
+ ApprovalRequest:
2136
2301
  type: object
2137
2302
  properties:
2138
2303
  _id:
@@ -2142,13 +2307,13 @@ definitions:
2142
2307
  creationDate:
2143
2308
  type: integer
2144
2309
  description: >-
2145
- A unix epoch time in milliseconds specifying the date the change
2310
+ A unix epoch time in milliseconds specifying the date the approval
2146
2311
  request was requested
2147
2312
  requestorId:
2148
2313
  type: string
2149
2314
  description: The id of the member that requested the change
2150
2315
  reviewStatus:
2151
- $ref: '#/definitions/FeatureFlagChangeRequestReviewStatus'
2316
+ $ref: '#/definitions/ApprovalRequestReviewStatus'
2152
2317
  status:
2153
2318
  type: string
2154
2319
  description: >
@@ -2156,32 +2321,28 @@ definitions:
2156
2321
 
2157
2322
  | --------:| ----------- |
2158
2323
 
2159
- | pending | the feature flag change request has not been applied yet
2160
- |
2324
+ | pending | the approval request has not been applied yet |
2161
2325
 
2162
- | completed| the feature flag change request has been applied
2163
- successfully |
2326
+ | completed| the approval request has been applied successfully |
2164
2327
 
2165
- | failed | the feature flag change request has been applied but the
2166
- changes were not applied successfully |
2328
+ | failed | the approval request has been applied but the changes
2329
+ were not applied successfully |
2167
2330
  enum:
2168
2331
  - pending
2169
2332
  - completed
2170
2333
  - failed
2171
2334
  appliedByMemberID:
2172
2335
  type: string
2173
- description: The id of the member that applied the change request
2336
+ description: The id of the member that applied the approval request
2174
2337
  appliedDate:
2175
2338
  type: integer
2176
2339
  description: >-
2177
- A unix epoch time in milliseconds specifying the date the change
2340
+ A unix epoch time in milliseconds specifying the date the approval
2178
2341
  request was applied
2179
- currentReviewsByMemberId:
2180
- $ref: '#/definitions/FeatureFlagChangeRequestReview'
2181
2342
  allReviews:
2182
2343
  type: array
2183
2344
  items:
2184
- $ref: '#/definitions/FeatureFlagChangeRequestReview'
2345
+ $ref: '#/definitions/ApprovalRequestReview'
2185
2346
  notifyMemberIds:
2186
2347
  type: array
2187
2348
  items:
@@ -2191,34 +2352,34 @@ definitions:
2191
2352
  - memberId2
2192
2353
  instructions:
2193
2354
  $ref: '#/definitions/SemanticPatchInstruction'
2194
- FeatureFlagChangeRequestReview:
2355
+ ApprovalRequestReview:
2195
2356
  type: object
2196
2357
  properties:
2197
2358
  creationDate:
2198
2359
  type: integer
2199
2360
  description: >-
2200
- A unix epoch time in milliseconds specifying the date the change
2361
+ A unix epoch time in milliseconds specifying the date the approval
2201
2362
  request was reviewed
2202
2363
  kind:
2203
- $ref: '#/definitions/FeatureFlagChangeRequestReviewStatus'
2364
+ $ref: '#/definitions/ApprovalRequestReviewStatus'
2204
2365
  memberId:
2205
2366
  $ref: '#/definitions/Id'
2206
2367
  _id:
2207
2368
  $ref: '#/definitions/Id'
2208
- FeatureFlagChangeRequestReviewStatus:
2369
+ ApprovalRequestReviewStatus:
2209
2370
  type: string
2210
2371
  description: >
2211
2372
  | Name | Description |
2212
2373
 
2213
2374
  | --------:| ----------- |
2214
2375
 
2215
- | pending | the feature flag change request has not been reviewed yet |
2376
+ | pending | the approval request has not been reviewed yet |
2216
2377
 
2217
- | approved | the feature flag change request has been approved and can now
2218
- be applied |
2378
+ | approved | the approval request has been approved and can now be applied
2379
+ |
2219
2380
 
2220
- | declined | the feature flag change request has been declined and cannot
2221
- be applied |
2381
+ | declined | the approval request has been declined and cannot be applied
2382
+ |
2222
2383
  enum:
2223
2384
  - pending
2224
2385
  - approved
@@ -2684,6 +2845,40 @@ definitions:
2684
2845
  description: >-
2685
2846
  Determines if this environment requires confirmation for flag and
2686
2847
  segment changes.
2848
+ approvalSettings:
2849
+ type: object
2850
+ description: >-
2851
+ Approval settings for an environment. Only appears if the approvals
2852
+ feature is enabled.
2853
+ properties:
2854
+ serviceKind:
2855
+ type: string
2856
+ description: The approvals system used.
2857
+ enum:
2858
+ - launchdarkly
2859
+ - service-now
2860
+ required:
2861
+ type: boolean
2862
+ description: >-
2863
+ Whether any changes to flags in this environment will require
2864
+ approval.
2865
+ canReviewOwnRequest:
2866
+ type: boolean
2867
+ description: >-
2868
+ Whether requesters can approve or decline their own request. They
2869
+ may always comment.
2870
+ minNumApprovals:
2871
+ type: integer
2872
+ format: int64
2873
+ description: >-
2874
+ The number of approvals required before an approval request can be
2875
+ applied.
2876
+ example: 2
2877
+ canApplyDeclinedChanges:
2878
+ type: boolean
2879
+ description: >-
2880
+ Whether changes can be applied as long as minNumApprovals is met,
2881
+ regardless of if any reviewers have declined a request.
2687
2882
  EnvironmentPost:
2688
2883
  type: object
2689
2884
  properties:
@@ -3730,14 +3925,40 @@ parameters:
3730
3925
  - name
3731
3926
  - key
3732
3927
  - variations
3733
- ScheduledFeatureFlagChangesPostRequest:
3734
- name: scheduledFeatureFlagChangesBody
3928
+ ScheduledChangeId:
3929
+ name: scheduledChangeId
3930
+ in: path
3931
+ required: true
3932
+ description: The id of the scheduled change
3933
+ type: string
3934
+ FlagConfigScheduledChangesConflictsBody:
3935
+ name: flagConfigScheduledChangesConflictsBody
3936
+ in: body
3937
+ required: true
3938
+ description: >-
3939
+ Used to determine if a semantic patch will result in conflicts with
3940
+ scheduled changes on a feature flag.
3941
+ schema:
3942
+ type: object
3943
+ properties:
3944
+ executionDate:
3945
+ type: integer
3946
+ description: >-
3947
+ A unix epoch time in milliseconds specifying the date the scheduled
3948
+ changes will be applied
3949
+ instructions:
3950
+ $ref: '#/definitions/SemanticPatchInstruction'
3951
+ FlagConfigScheduledChangesPostBody:
3952
+ name: flagConfigScheduledChangesPostBody
3735
3953
  in: body
3736
3954
  required: true
3737
3955
  description: Create scheduled changes on a feature flag.
3738
3956
  schema:
3739
3957
  type: object
3740
3958
  properties:
3959
+ comment:
3960
+ type: string
3961
+ description: Used to describe the scheduled changes.
3741
3962
  executionDate:
3742
3963
  type: integer
3743
3964
  description: >-
@@ -3745,6 +3966,19 @@ parameters:
3745
3966
  changes will be applied
3746
3967
  instructions:
3747
3968
  $ref: '#/definitions/SemanticPatchInstruction'
3969
+ FlagConfigScheduledChangesPatchBody:
3970
+ name: flagConfigScheduledChangesPatchBody
3971
+ in: body
3972
+ required: true
3973
+ description: Update scheduled changes on a feature flag.
3974
+ schema:
3975
+ type: object
3976
+ properties:
3977
+ comment:
3978
+ type: string
3979
+ description: Used to describe the scheduled changes.
3980
+ instructions:
3981
+ $ref: '#/definitions/SemanticPatchInstruction'
3748
3982
  DestinationPostRequest:
3749
3983
  name: destinationBody
3750
3984
  in: body
@@ -4340,16 +4574,16 @@ parameters:
4340
4574
  An expiration time for the old relay proxy configuration key, expressed as
4341
4575
  a Unix epoch time in milliseconds. By default, the relay proxy
4342
4576
  configuration will expire immediately
4343
- FeatureFlagChangeRequestId:
4344
- name: featureFlagChangeRequestId
4577
+ ApprovalRequestId:
4578
+ name: approvalRequestId
4345
4579
  in: path
4346
4580
  required: true
4347
- description: The feature flag change request ID
4581
+ description: The approval request ID
4348
4582
  type: string
4349
- FeatureFlagChangeRequestPostRequest:
4350
- name: featureFlagChangeRequestConfigBody
4583
+ ApprovalRequestPostRequest:
4584
+ name: approvalRequestConfigBody
4351
4585
  in: body
4352
- description: Create a new feature flag change request
4586
+ description: Create a new approval request
4353
4587
  schema:
4354
4588
  type: object
4355
4589
  properties:
@@ -4374,20 +4608,21 @@ parameters:
4374
4608
  - description
4375
4609
  - instructions
4376
4610
  - notifyMemberIds
4377
- FeatureFlagChangeRequestReviewPostRequest:
4378
- name: featureFlagChangeRequestReviewConfigBody
4611
+ ApprovalRequestReviewPostRequest:
4612
+ name: approvalRequestReviewConfigBody
4379
4613
  in: body
4380
4614
  required: true
4381
- description: Review a feature flag change request
4615
+ description: Review an approval request
4382
4616
  schema:
4383
4617
  type: object
4384
4618
  properties:
4385
4619
  kind:
4386
4620
  type: string
4387
- description: Either approve or decline change request
4621
+ description: 'One of approve, decline, or comment.'
4388
4622
  enum:
4389
4623
  - approve
4390
4624
  - decline
4625
+ - comment
4391
4626
  example: approve
4392
4627
  comment:
4393
4628
  type: string
@@ -4395,11 +4630,11 @@ parameters:
4395
4630
  example: This is a comment string
4396
4631
  required:
4397
4632
  - kind
4398
- FeatureFlagChangeRequestApplyPostRequest:
4399
- name: featureFlagChangeRequestApplyConfigBody
4633
+ ApprovalRequestApplyPostRequest:
4634
+ name: approvalRequestApplyConfigBody
4400
4635
  in: body
4401
4636
  required: true
4402
- description: Apply a new feature flag change request
4637
+ description: Apply an approval request
4403
4638
  schema:
4404
4639
  type: object
4405
4640
  properties: