launchdarkly_api 3.10.0 → 5.0.3

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 (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: