onesignal 5.6.0 → 5.8.0

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 (224) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +13 -0
  3. data/Gemfile.lock +2 -2
  4. data/README.md +3 -3
  5. data/docs/CreateNotificationSuccessResponse.md +1 -1
  6. data/docs/DefaultApi.md +499 -90
  7. data/docs/NotificationSlice.md +4 -0
  8. data/lib/onesignal/api/default_api.rb +4 -1
  9. data/lib/onesignal/api_client.rb +2 -2
  10. data/lib/onesignal/api_error.rb +50 -1
  11. data/lib/onesignal/configuration.rb +1 -1
  12. data/lib/onesignal/errors.rb +23 -0
  13. data/lib/onesignal/helpers.rb +116 -0
  14. data/lib/onesignal/models/api_key_token.rb +1 -1
  15. data/lib/onesignal/models/api_key_tokens_list_response.rb +1 -1
  16. data/lib/onesignal/models/app.rb +1 -1
  17. data/lib/onesignal/models/basic_notification.rb +1 -1
  18. data/lib/onesignal/models/basic_notification_all_of.rb +1 -1
  19. data/lib/onesignal/models/basic_notification_all_of_android_background_layout.rb +1 -1
  20. data/lib/onesignal/models/button.rb +1 -1
  21. data/lib/onesignal/models/copy_template_request.rb +1 -1
  22. data/lib/onesignal/models/create_api_key_request.rb +1 -1
  23. data/lib/onesignal/models/create_api_key_response.rb +1 -1
  24. data/lib/onesignal/models/create_notification_success_response.rb +2 -2
  25. data/lib/onesignal/models/create_segment_conflict_response.rb +1 -1
  26. data/lib/onesignal/models/create_segment_success_response.rb +1 -1
  27. data/lib/onesignal/models/create_template_request.rb +1 -1
  28. data/lib/onesignal/models/create_user_conflict_response.rb +1 -1
  29. data/lib/onesignal/models/create_user_conflict_response_errors_inner.rb +1 -1
  30. data/lib/onesignal/models/create_user_conflict_response_errors_items_meta.rb +1 -1
  31. data/lib/onesignal/models/custom_event.rb +1 -1
  32. data/lib/onesignal/models/custom_events_request.rb +1 -1
  33. data/lib/onesignal/models/delivery_data.rb +1 -1
  34. data/lib/onesignal/models/export_events_success_response.rb +1 -1
  35. data/lib/onesignal/models/export_subscriptions_request_body.rb +1 -1
  36. data/lib/onesignal/models/export_subscriptions_success_response.rb +1 -1
  37. data/lib/onesignal/models/filter.rb +1 -1
  38. data/lib/onesignal/models/filter_expression.rb +1 -1
  39. data/lib/onesignal/models/generic_error.rb +1 -1
  40. data/lib/onesignal/models/generic_success_bool_response.rb +1 -1
  41. data/lib/onesignal/models/get_notification_history_request_body.rb +1 -1
  42. data/lib/onesignal/models/get_segments_success_response.rb +1 -1
  43. data/lib/onesignal/models/language_string_map.rb +1 -1
  44. data/lib/onesignal/models/notification.rb +1 -1
  45. data/lib/onesignal/models/notification_all_of.rb +1 -1
  46. data/lib/onesignal/models/notification_history_success_response.rb +1 -1
  47. data/lib/onesignal/models/notification_slice.rb +22 -2
  48. data/lib/onesignal/models/notification_target.rb +1 -1
  49. data/lib/onesignal/models/notification_with_meta.rb +1 -1
  50. data/lib/onesignal/models/notification_with_meta_all_of.rb +1 -1
  51. data/lib/onesignal/models/operator.rb +1 -1
  52. data/lib/onesignal/models/outcome_data.rb +1 -1
  53. data/lib/onesignal/models/outcomes_data.rb +1 -1
  54. data/lib/onesignal/models/platform_delivery_data.rb +1 -1
  55. data/lib/onesignal/models/platform_delivery_data_email_all_of.rb +1 -1
  56. data/lib/onesignal/models/platform_delivery_data_sms_all_of.rb +1 -1
  57. data/lib/onesignal/models/properties_body.rb +1 -1
  58. data/lib/onesignal/models/properties_deltas.rb +1 -1
  59. data/lib/onesignal/models/properties_object.rb +1 -1
  60. data/lib/onesignal/models/purchase.rb +1 -1
  61. data/lib/onesignal/models/rate_limit_error.rb +1 -1
  62. data/lib/onesignal/models/segment.rb +1 -1
  63. data/lib/onesignal/models/segment_data.rb +1 -1
  64. data/lib/onesignal/models/segment_notification_target.rb +1 -1
  65. data/lib/onesignal/models/start_live_activity_request.rb +1 -1
  66. data/lib/onesignal/models/start_live_activity_success_response.rb +1 -1
  67. data/lib/onesignal/models/subscription.rb +1 -1
  68. data/lib/onesignal/models/subscription_body.rb +1 -1
  69. data/lib/onesignal/models/subscription_notification_target.rb +1 -1
  70. data/lib/onesignal/models/template_resource.rb +1 -1
  71. data/lib/onesignal/models/templates_list_response.rb +1 -1
  72. data/lib/onesignal/models/transfer_subscription_request_body.rb +1 -1
  73. data/lib/onesignal/models/update_api_key_request.rb +1 -1
  74. data/lib/onesignal/models/update_live_activity_request.rb +1 -1
  75. data/lib/onesignal/models/update_live_activity_success_response.rb +1 -1
  76. data/lib/onesignal/models/update_template_request.rb +1 -1
  77. data/lib/onesignal/models/update_user_request.rb +1 -1
  78. data/lib/onesignal/models/user.rb +1 -1
  79. data/lib/onesignal/models/user_identity_body.rb +1 -1
  80. data/lib/onesignal/models/web_button.rb +1 -1
  81. data/lib/onesignal/version.rb +2 -2
  82. data/lib/onesignal.rb +3 -1
  83. data/onesignal.gemspec +1 -1
  84. data/spec/api/default_api_spec.rb +2 -1
  85. data/spec/api_client_spec.rb +1 -1
  86. data/spec/configuration_spec.rb +1 -1
  87. data/spec/models/api_key_token_spec.rb +1 -1
  88. data/spec/models/api_key_tokens_list_response_spec.rb +1 -1
  89. data/spec/models/app_spec.rb +1 -1
  90. data/spec/models/basic_notification_all_of_android_background_layout_spec.rb +1 -1
  91. data/spec/models/basic_notification_all_of_spec.rb +1 -1
  92. data/spec/models/basic_notification_spec.rb +1 -1
  93. data/spec/models/button_spec.rb +1 -1
  94. data/spec/models/copy_template_request_spec.rb +1 -1
  95. data/spec/models/create_api_key_request_spec.rb +1 -1
  96. data/spec/models/create_api_key_response_spec.rb +1 -1
  97. data/spec/models/create_notification_success_response_spec.rb +1 -1
  98. data/spec/models/create_segment_conflict_response_spec.rb +1 -1
  99. data/spec/models/create_segment_success_response_spec.rb +1 -1
  100. data/spec/models/create_template_request_spec.rb +1 -1
  101. data/spec/models/create_user_conflict_response_errors_inner_spec.rb +1 -1
  102. data/spec/models/create_user_conflict_response_errors_items_meta_spec.rb +1 -1
  103. data/spec/models/create_user_conflict_response_spec.rb +1 -1
  104. data/spec/models/custom_event_spec.rb +1 -1
  105. data/spec/models/custom_events_request_spec.rb +1 -1
  106. data/spec/models/delivery_data_spec.rb +1 -1
  107. data/spec/models/export_events_success_response_spec.rb +1 -1
  108. data/spec/models/export_subscriptions_request_body_spec.rb +1 -1
  109. data/spec/models/export_subscriptions_success_response_spec.rb +1 -1
  110. data/spec/models/filter_expression_spec.rb +1 -1
  111. data/spec/models/filter_spec.rb +1 -1
  112. data/spec/models/generic_error_spec.rb +1 -1
  113. data/spec/models/generic_success_bool_response_spec.rb +1 -1
  114. data/spec/models/get_notification_history_request_body_spec.rb +1 -1
  115. data/spec/models/get_segments_success_response_spec.rb +1 -1
  116. data/spec/models/language_string_map_spec.rb +1 -1
  117. data/spec/models/notification_all_of_spec.rb +1 -1
  118. data/spec/models/notification_history_success_response_spec.rb +1 -1
  119. data/spec/models/notification_slice_spec.rb +13 -1
  120. data/spec/models/notification_spec.rb +1 -1
  121. data/spec/models/notification_target_spec.rb +1 -1
  122. data/spec/models/notification_with_meta_all_of_spec.rb +1 -1
  123. data/spec/models/notification_with_meta_spec.rb +1 -1
  124. data/spec/models/operator_spec.rb +1 -1
  125. data/spec/models/outcome_data_spec.rb +1 -1
  126. data/spec/models/outcomes_data_spec.rb +1 -1
  127. data/spec/models/platform_delivery_data_email_all_of_spec.rb +1 -1
  128. data/spec/models/platform_delivery_data_sms_all_of_spec.rb +1 -1
  129. data/spec/models/platform_delivery_data_spec.rb +1 -1
  130. data/spec/models/properties_body_spec.rb +1 -1
  131. data/spec/models/properties_deltas_spec.rb +1 -1
  132. data/spec/models/properties_object_spec.rb +1 -1
  133. data/spec/models/purchase_spec.rb +1 -1
  134. data/spec/models/rate_limit_error_spec.rb +1 -1
  135. data/spec/models/segment_data_spec.rb +1 -1
  136. data/spec/models/segment_notification_target_spec.rb +1 -1
  137. data/spec/models/segment_spec.rb +1 -1
  138. data/spec/models/start_live_activity_request_spec.rb +1 -1
  139. data/spec/models/start_live_activity_success_response_spec.rb +1 -1
  140. data/spec/models/subscription_body_spec.rb +1 -1
  141. data/spec/models/subscription_notification_target_spec.rb +1 -1
  142. data/spec/models/subscription_spec.rb +1 -1
  143. data/spec/models/template_resource_spec.rb +1 -1
  144. data/spec/models/templates_list_response_spec.rb +1 -1
  145. data/spec/models/transfer_subscription_request_body_spec.rb +1 -1
  146. data/spec/models/update_api_key_request_spec.rb +1 -1
  147. data/spec/models/update_live_activity_request_spec.rb +1 -1
  148. data/spec/models/update_live_activity_success_response_spec.rb +1 -1
  149. data/spec/models/update_template_request_spec.rb +1 -1
  150. data/spec/models/update_user_request_spec.rb +1 -1
  151. data/spec/models/user_identity_body_spec.rb +1 -1
  152. data/spec/models/user_spec.rb +1 -1
  153. data/spec/models/web_button_spec.rb +1 -1
  154. data/spec/spec_helper.rb +1 -1
  155. data/vendor/bundle/ruby/3.2.0/cache/psych-5.4.0.gem +0 -0
  156. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/byebug-13.0.0/gem_make.out +5 -5
  157. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/date-3.5.1/gem_make.out +5 -5
  158. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/io-console-0.8.2/gem_make.out +5 -5
  159. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/io-console-0.8.2/mkmf.log +3 -3
  160. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/jaro_winkler-1.5.6/gem_make.out +5 -5
  161. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/psych-5.4.0/gem_make.out +28 -0
  162. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/{psych-5.3.1 → psych-5.4.0}/psych.so +0 -0
  163. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/racc-1.8.1/gem_make.out +5 -5
  164. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/stringio-3.2.0/gem_make.out +5 -5
  165. data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/README.md +2 -2
  166. data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/ext/psych/psych_parser.c +14 -3
  167. data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/versions.rb +1 -1
  168. data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych.so +0 -0
  169. data/vendor/bundle/ruby/3.2.0/specifications/{psych-5.3.1.gemspec → psych-5.4.0.gemspec} +2 -2
  170. metadata +114 -112
  171. data/vendor/bundle/ruby/3.2.0/cache/psych-5.3.1.gem +0 -0
  172. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/psych-5.3.1/gem_make.out +0 -28
  173. /data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/{psych-5.3.1 → psych-5.4.0}/gem.build_complete +0 -0
  174. /data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/{psych-5.3.1 → psych-5.4.0}/mkmf.log +0 -0
  175. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/CONTRIBUTING.md +0 -0
  176. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/LICENSE +0 -0
  177. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/ext/psych/Makefile +0 -0
  178. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/ext/psych/depend +0 -0
  179. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/ext/psych/extconf.rb +0 -0
  180. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/ext/psych/psych.c +0 -0
  181. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/ext/psych/psych.h +0 -0
  182. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/ext/psych/psych_emitter.c +0 -0
  183. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/ext/psych/psych_emitter.h +0 -0
  184. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/ext/psych/psych_parser.h +0 -0
  185. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/ext/psych/psych_to_ruby.c +0 -0
  186. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/ext/psych/psych_to_ruby.h +0 -0
  187. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/ext/psych/psych_yaml_tree.c +0 -0
  188. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/ext/psych/psych_yaml_tree.h +0 -0
  189. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/class_loader.rb +0 -0
  190. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/coder.rb +0 -0
  191. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/core_ext.rb +0 -0
  192. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/exception.rb +0 -0
  193. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/handler.rb +0 -0
  194. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/handlers/document_stream.rb +0 -0
  195. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/handlers/recorder.rb +0 -0
  196. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/json/ruby_events.rb +0 -0
  197. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/json/stream.rb +0 -0
  198. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/json/tree_builder.rb +0 -0
  199. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/json/yaml_events.rb +0 -0
  200. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/nodes/alias.rb +0 -0
  201. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/nodes/document.rb +0 -0
  202. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/nodes/mapping.rb +0 -0
  203. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/nodes/node.rb +0 -0
  204. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/nodes/scalar.rb +0 -0
  205. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/nodes/sequence.rb +0 -0
  206. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/nodes/stream.rb +0 -0
  207. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/nodes.rb +0 -0
  208. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/omap.rb +0 -0
  209. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/parser.rb +0 -0
  210. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/scalar_scanner.rb +0 -0
  211. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/set.rb +0 -0
  212. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/stream.rb +0 -0
  213. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/streaming.rb +0 -0
  214. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/syntax_error.rb +0 -0
  215. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/tree_builder.rb +0 -0
  216. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/visitors/depth_first.rb +0 -0
  217. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/visitors/emitter.rb +0 -0
  218. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/visitors/json_tree.rb +0 -0
  219. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/visitors/to_ruby.rb +0 -0
  220. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/visitors/visitor.rb +0 -0
  221. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/visitors/yaml_tree.rb +0 -0
  222. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/visitors.rb +0 -0
  223. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych/y.rb +0 -0
  224. /data/vendor/bundle/ruby/3.2.0/gems/{psych-5.3.1 → psych-5.4.0}/lib/psych.rb +0 -0
@@ -7,6 +7,8 @@
7
7
  | **total_count** | **Integer** | | [optional] |
8
8
  | **offset** | **Integer** | | [optional] |
9
9
  | **limit** | **Integer** | | [optional] |
10
+ | **time_offset** | **String** | The time_offset cursor specified in the request, if any. | [optional] |
11
+ | **next_time_offset** | **String** | An opaque Base64 cursor token representing the next page of messages to fetch. Present when time_offset was provided in the request. Pass this value as time_offset on the next request to continue paginating. | [optional] |
10
12
  | **notifications** | [**Array<NotificationWithMeta>**](NotificationWithMeta.md) | | [optional] |
11
13
 
12
14
  ## Example
@@ -18,6 +20,8 @@ instance = OneSignal::NotificationSlice.new(
18
20
  total_count: null,
19
21
  offset: null,
20
22
  limit: null,
23
+ time_offset: null,
24
+ next_time_offset: null,
21
25
  notifications: null
22
26
  )
23
27
  ```
@@ -3,7 +3,7 @@
3
3
 
4
4
  #A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
5
5
 
6
- The version of the OpenAPI document: 5.6.0
6
+ The version of the OpenAPI document: 5.8.0
7
7
  Contact: devrel@onesignal.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 6.0.0-SNAPSHOT
@@ -1888,6 +1888,7 @@ module OneSignal
1888
1888
  # @option opts [Integer] :limit How many notifications to return. Max is 50. Default is 50.
1889
1889
  # @option opts [Integer] :offset Page offset. Default is 0. Results are sorted by queued_at in descending order. queued_at is a representation of the time that the notification was queued at.
1890
1890
  # @option opts [Integer] :kind Kind of notifications returned: * unset - All notification types (default) * `0` - Dashboard only * `1` - API only * `3` - Automated only
1891
+ # @option opts [String] :time_offset Time-offset pagination cursor for sequential pulls of all messages. Accepts either an ISO 8601 formatted timestamp (e.g. `2025-01-01T00:00:00.000Z`) or the opaque Base64 cursor token returned as `next_time_offset` in a prior response. When set, results are sorted ascending by send_after and the standard `offset` parameter cannot be used. Repeat the request with each `next_time_offset` until an empty notifications array is returned.
1891
1892
  # @return [NotificationSlice]
1892
1893
  def get_notifications(app_id, opts = {})
1893
1894
  data, _status_code, _headers = get_notifications_with_http_info(app_id, opts)
@@ -1901,6 +1902,7 @@ module OneSignal
1901
1902
  # @option opts [Integer] :limit How many notifications to return. Max is 50. Default is 50.
1902
1903
  # @option opts [Integer] :offset Page offset. Default is 0. Results are sorted by queued_at in descending order. queued_at is a representation of the time that the notification was queued at.
1903
1904
  # @option opts [Integer] :kind Kind of notifications returned: * unset - All notification types (default) * `0` - Dashboard only * `1` - API only * `3` - Automated only
1905
+ # @option opts [String] :time_offset Time-offset pagination cursor for sequential pulls of all messages. Accepts either an ISO 8601 formatted timestamp (e.g. `2025-01-01T00:00:00.000Z`) or the opaque Base64 cursor token returned as `next_time_offset` in a prior response. When set, results are sorted ascending by send_after and the standard `offset` parameter cannot be used. Repeat the request with each `next_time_offset` until an empty notifications array is returned.
1904
1906
  # @return [Array<(NotificationSlice, Integer, Hash)>] NotificationSlice data, response status code and response headers
1905
1907
  def get_notifications_with_http_info(app_id, opts = {})
1906
1908
  if @api_client.config.debugging
@@ -1923,6 +1925,7 @@ module OneSignal
1923
1925
  query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
1924
1926
  query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil?
1925
1927
  query_params[:'kind'] = opts[:'kind'] if !opts[:'kind'].nil?
1928
+ query_params[:'time_offset'] = opts[:'time_offset'] if !opts[:'time_offset'].nil?
1926
1929
 
1927
1930
  # header parameters
1928
1931
  header_params = opts[:header_params] || {}
@@ -3,7 +3,7 @@
3
3
 
4
4
  #A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
5
5
 
6
- The version of the OpenAPI document: 5.6.0
6
+ The version of the OpenAPI document: 5.8.0
7
7
  Contact: devrel@onesignal.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 6.0.0-SNAPSHOT
@@ -90,7 +90,7 @@ module OneSignal
90
90
  url = build_request_url(path, opts)
91
91
  http_method = http_method.to_sym.downcase
92
92
 
93
- opts[:header_params]['OS-Usage-Data'] = 'kind=sdk, sdk-name=onesignal-ruby, version=5.6.0'
93
+ opts[:header_params]['OS-Usage-Data'] = 'kind=sdk, sdk-name=onesignal-ruby, version=5.8.0'
94
94
  header_params = @default_headers.merge(opts[:header_params] || {})
95
95
  query_params = opts[:query_params] || {}
96
96
  form_params = opts[:form_params] || {}
@@ -3,13 +3,15 @@
3
3
 
4
4
  #A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
5
5
 
6
- The version of the OpenAPI document: 5.6.0
6
+ The version of the OpenAPI document: 5.8.0
7
7
  Contact: devrel@onesignal.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 6.0.0-SNAPSHOT
10
10
 
11
11
  =end
12
12
 
13
+ require 'json'
14
+
13
15
  module OneSignal
14
16
  class ApiError < StandardError
15
17
  attr_reader :code, :response_headers, :response_body
@@ -53,5 +55,52 @@ module OneSignal
53
55
 
54
56
  msg
55
57
  end
58
+
59
+ # The error messages carried by the response body, normalized to a flat
60
+ # Array<String> regardless of which envelope shape the API returned
61
+ # (`{ errors: "..." }`, `{ errors: ["..."] }`, `{ errors: [{ code:, title: }] }`,
62
+ # or an object map such as `{ errors: { invalid_aliases: {...} } }`, surfaced
63
+ # as `"<key>: <value>"` entries). Returns an empty array when the body is not
64
+ # a recognizable error envelope. The raw body remains on +response_body+.
65
+ #
66
+ # @return [Array<String>]
67
+ def error_messages
68
+ parsed = if response_body.is_a?(String)
69
+ begin
70
+ JSON.parse(response_body)
71
+ rescue JSON::ParserError, TypeError
72
+ nil
73
+ end
74
+ else
75
+ response_body
76
+ end
77
+ return [] unless parsed.is_a?(Hash)
78
+
79
+ errors = parsed['errors'] || parsed[:errors]
80
+ case errors
81
+ when String
82
+ [errors]
83
+ when Array
84
+ errors.map do |e|
85
+ if e.is_a?(String)
86
+ e
87
+ elsif e.is_a?(Hash)
88
+ title = e['title'] || e[:title]
89
+ title = nil if title == ''
90
+ title || e['code'] || e[:code]
91
+ end
92
+ end.compact
93
+ when Hash
94
+ # Object-shaped envelopes (e.g. { invalid_aliases: {...} }) carry data
95
+ # under arbitrary keys; surface each so it isn't silently dropped. Key
96
+ # order is unspecified, so sort for deterministic output.
97
+ errors.map do |key, value|
98
+ rendered = value.is_a?(String) ? value : value.to_json
99
+ "#{key}: #{rendered}"
100
+ end.sort
101
+ else
102
+ []
103
+ end
104
+ end
56
105
  end
57
106
  end
@@ -3,7 +3,7 @@
3
3
 
4
4
  #A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
5
5
 
6
- The version of the OpenAPI document: 5.6.0
6
+ The version of the OpenAPI document: 5.8.0
7
7
  Contact: devrel@onesignal.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 6.0.0-SNAPSHOT
@@ -0,0 +1,23 @@
1
+ # Generated from inputs/api/error-catalog.json. Do not edit by hand.
2
+
3
+ module OneSignal
4
+ # Sentinel error message strings the OneSignal API can return. Each
5
+ # constant equals the literal message the server emits, so you can test
6
+ # membership against ApiError#error_messages (e.g. NO_TARGETING_SPECIFIED).
7
+ #
8
+ # Note: 200-status sentinels such as NO_SUBSCRIBERS arrive on a successful
9
+ # response, not via the exception accessor — read the response's errors
10
+ # field for those.
11
+ module Errors
12
+ # HTTP 403 | retryable: no | emitted by: any API-key-authenticated endpoint (REST or Organization key) | note: Generic auth-failure message the public api.onesignal.com edge returns for any invalid or mismatched key — REST or Organization — so a single sentinel covers both. Supersedes the Rails-monolith INVALID_REST_API_KEY / INVALID_USER_AUTH_KEY strings, which the public host no longer returns verbatim. Note the double space after 'denied.'
13
+ INVALID_API_KEY = 'Access denied. Please include an \'Authorization: ...\' header with a valid API key (https://documentation.onesignal.com/docs/en/keys-and-ids#api-keys).'.freeze
14
+ # HTTP 400, 404 | retryable: no | emitted by: POST /notifications/{id}/history, POST /notifications/{id}/messages, GET /notifications/{id} (export) | note: Verified live 2026-06-16: GET /notifications/{bogus-uuid} returns 404 with this exact message.
15
+ NOTIFICATION_NOT_FOUND = 'Notification not found'.freeze
16
+ # HTTP 200 | retryable: no | emitted by: POST /notifications | note: Returned with HTTP 200 OK (id is empty), not an error status. The flagship case for the errorMessages accessor — lets callers distinguish a sent notification from a no-op without parsing the polymorphic 200 body.
17
+ NO_SUBSCRIBERS = 'All included players are not subscribed'.freeze
18
+ # HTTP 400 | retryable: no | emitted by: POST /notifications | note: Verified live 2026-06-16: a no-targeting POST /notifications returns 400 with this exact message.
19
+ NO_TARGETING_SPECIFIED = 'You must include which players, segments, or tags you wish to send this notification to.'.freeze
20
+ # HTTP 503 | retryable: yes | emitted by: any endpoint (pgbouncer rejection) | note: Transient DB/pgbouncer failure — the canonical retryable sentinel.
21
+ SERVICE_UNAVAILABLE = 'Service temporarily unavailable'.freeze
22
+ end
23
+ end
@@ -0,0 +1,116 @@
1
+ require 'securerandom'
2
+
3
+ module OneSignal
4
+ # Helpers for common OneSignal API usage patterns.
5
+ module Helpers
6
+ CreateNotificationWithRetryResult = Struct.new(:response, :was_replayed)
7
+
8
+ RETRYABLE_CODES = [429, 503].freeze
9
+ MIN_BASE_DELAY = 1.0
10
+ MAX_BASE_DELAY = 60.0
11
+
12
+ # Create a notification with safe, idempotent retries.
13
+ #
14
+ # Ensures +notification.idempotency_key+ is set (generating a UUIDv4 when
15
+ # absent) so the server can deduplicate, then calls +create_notification+.
16
+ # Transient failures (HTTP 429, HTTP 503, or connection-level errors) are
17
+ # retried up to +max_retries+ times with the SAME idempotency key,
18
+ # honoring the +Retry-After+ response header when present and falling back
19
+ # to exponential backoff (+base_delay * 2**attempt+ seconds) otherwise.
20
+ # Other errors are raised immediately.
21
+ #
22
+ # @param api [DefaultApi] the API instance to call through
23
+ # @param notification [Notification] an existing idempotency_key is
24
+ # respected, never overwritten
25
+ # @param max_retries [Integer] retries after the initial attempt
26
+ # @param base_delay [Float] backoff base in seconds when Retry-After is
27
+ # absent; clamped to [1.0, 60.0]
28
+ # @return [CreateNotificationWithRetryResult] +response+ holds the
29
+ # CreateNotificationSuccessResponse; +was_replayed+ is true when the
30
+ # server answered from a previously completed request, as signaled by
31
+ # the +Idempotent-Replayed+ response header
32
+ def self.create_notification_with_retry(api, notification, max_retries: 3, base_delay: 1.0)
33
+ if notification.idempotency_key.nil? || notification.idempotency_key.to_s.empty?
34
+ notification.idempotency_key = SecureRandom.uuid
35
+ end
36
+
37
+ # Clamp the backoff base so a stray value can neither hammer the API
38
+ # (too small) nor stall the caller for an unbounded stretch (too large).
39
+ base_delay = [[base_delay, MIN_BASE_DELAY].max, MAX_BASE_DELAY].min
40
+
41
+ attempt = 0
42
+ begin
43
+ data, _status, headers = api.create_notification_with_http_info(notification)
44
+ CreateNotificationWithRetryResult.new(data, replayed?(headers))
45
+ rescue ApiError => e
46
+ # code nil/0 covers connection timeouts and libcurl-level failures.
47
+ retryable = e.code.nil? || e.code.zero? || RETRYABLE_CODES.include?(e.code)
48
+ raise if !retryable || attempt >= max_retries
49
+
50
+ delay = retry_delay(e.response_headers, attempt, base_delay)
51
+ sleep(delay) if delay > 0
52
+ attempt += 1
53
+ retry
54
+ end
55
+ end
56
+
57
+ # Whether a POST /notifications 200 response is the "message sent" branch.
58
+ #
59
+ # POST /notifications returns 200 in two cases that share the
60
+ # CreateNotificationSuccessResponse shape: a notification was created
61
+ # (non-empty +id+), or none was (empty +id+, with +errors+ carrying the
62
+ # reason). Prefer this guard over inspecting +id+ directly.
63
+ #
64
+ # @param response [CreateNotificationSuccessResponse]
65
+ # @return [Boolean] true when a notification was created
66
+ def self.message_sent?(response)
67
+ id = response.respond_to?(:id) ? response.id : nil
68
+ id.is_a?(String) && !id.empty?
69
+ end
70
+
71
+ # Whether a POST /notifications 200 response is the "message not sent"
72
+ # branch -- no notification was created (+id+ absent or empty); inspect
73
+ # +errors+ for why.
74
+ #
75
+ # @param response [CreateNotificationSuccessResponse]
76
+ # @return [Boolean] true when no notification was created
77
+ def self.message_not_sent?(response)
78
+ !message_sent?(response)
79
+ end
80
+
81
+ def self.header_value(headers, name)
82
+ return nil unless headers.respond_to?(:each_pair)
83
+
84
+ headers.each_pair do |key, value|
85
+ return value if key.to_s.downcase == name
86
+ end
87
+ nil
88
+ end
89
+ private_class_method :header_value
90
+
91
+ def self.replayed?(headers)
92
+ header_value(headers, 'idempotent-replayed').to_s.strip.downcase == 'true'
93
+ end
94
+ private_class_method :replayed?
95
+
96
+ def self.retry_delay(headers, attempt, base_delay)
97
+ retry_after = header_value(headers, 'retry-after')
98
+ if retry_after && retry_after.to_s.strip.match?(/\A\d+(\.\d+)?\z/)
99
+ return retry_after.to_f
100
+ end
101
+
102
+ base_delay * (2**attempt)
103
+ end
104
+ private_class_method :retry_delay
105
+ end
106
+
107
+ # Surface the idempotent-retry helper as an instance method so the call
108
+ # mirrors +create_notification+. Delegates to Helpers (single source of
109
+ # truth); reopening is load-order independent since the body runs at call
110
+ # time. See Helpers.create_notification_with_retry for the full contract.
111
+ class DefaultApi
112
+ def create_notification_with_retry(notification, max_retries: 3, base_delay: 1.0)
113
+ Helpers.create_notification_with_retry(self, notification, max_retries: max_retries, base_delay: base_delay)
114
+ end
115
+ end
116
+ end
@@ -3,7 +3,7 @@
3
3
 
4
4
  #A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
5
5
 
6
- The version of the OpenAPI document: 5.6.0
6
+ The version of the OpenAPI document: 5.8.0
7
7
  Contact: devrel@onesignal.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 6.0.0-SNAPSHOT
@@ -3,7 +3,7 @@
3
3
 
4
4
  #A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
5
5
 
6
- The version of the OpenAPI document: 5.6.0
6
+ The version of the OpenAPI document: 5.8.0
7
7
  Contact: devrel@onesignal.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 6.0.0-SNAPSHOT
@@ -3,7 +3,7 @@
3
3
 
4
4
  #A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
5
5
 
6
- The version of the OpenAPI document: 5.6.0
6
+ The version of the OpenAPI document: 5.8.0
7
7
  Contact: devrel@onesignal.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 6.0.0-SNAPSHOT
@@ -3,7 +3,7 @@
3
3
 
4
4
  #A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
5
5
 
6
- The version of the OpenAPI document: 5.6.0
6
+ The version of the OpenAPI document: 5.8.0
7
7
  Contact: devrel@onesignal.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 6.0.0-SNAPSHOT
@@ -3,7 +3,7 @@
3
3
 
4
4
  #A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
5
5
 
6
- The version of the OpenAPI document: 5.6.0
6
+ The version of the OpenAPI document: 5.8.0
7
7
  Contact: devrel@onesignal.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 6.0.0-SNAPSHOT
@@ -3,7 +3,7 @@
3
3
 
4
4
  #A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
5
5
 
6
- The version of the OpenAPI document: 5.6.0
6
+ The version of the OpenAPI document: 5.8.0
7
7
  Contact: devrel@onesignal.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 6.0.0-SNAPSHOT
@@ -3,7 +3,7 @@
3
3
 
4
4
  #A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
5
5
 
6
- The version of the OpenAPI document: 5.6.0
6
+ The version of the OpenAPI document: 5.8.0
7
7
  Contact: devrel@onesignal.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 6.0.0-SNAPSHOT
@@ -3,7 +3,7 @@
3
3
 
4
4
  #A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
5
5
 
6
- The version of the OpenAPI document: 5.6.0
6
+ The version of the OpenAPI document: 5.8.0
7
7
  Contact: devrel@onesignal.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 6.0.0-SNAPSHOT
@@ -3,7 +3,7 @@
3
3
 
4
4
  #A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
5
5
 
6
- The version of the OpenAPI document: 5.6.0
6
+ The version of the OpenAPI document: 5.8.0
7
7
  Contact: devrel@onesignal.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 6.0.0-SNAPSHOT
@@ -3,7 +3,7 @@
3
3
 
4
4
  #A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
5
5
 
6
- The version of the OpenAPI document: 5.6.0
6
+ The version of the OpenAPI document: 5.8.0
7
7
  Contact: devrel@onesignal.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 6.0.0-SNAPSHOT
@@ -3,7 +3,7 @@
3
3
 
4
4
  #A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
5
5
 
6
- The version of the OpenAPI document: 5.6.0
6
+ The version of the OpenAPI document: 5.8.0
7
7
  Contact: devrel@onesignal.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 6.0.0-SNAPSHOT
@@ -15,7 +15,7 @@ require 'time'
15
15
 
16
16
  module OneSignal
17
17
  class CreateNotificationSuccessResponse
18
- # Notification identifier when the request created a notification. An empty string means no notification was created; read `errors` for details (HTTP may still be 200).
18
+ # Notification identifier when the request created a notification. An empty string means no notification was created; read `errors` for details (HTTP may still be 200). All OneSignal server SDKs expose message-sent / message-not-sent narrowing helpers (named idiomatically per language — e.g. `isMessageSent`, `is_message_sent`, `message_sent?`); prefer them over comparing `id` directly.
19
19
  attr_accessor :id
20
20
 
21
21
  # Optional correlation / idempotency-related value from the API response. This is not the end-user External ID used for targeting recipients (that lives under `include_aliases.external_id`).
@@ -3,7 +3,7 @@
3
3
 
4
4
  #A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
5
5
 
6
- The version of the OpenAPI document: 5.6.0
6
+ The version of the OpenAPI document: 5.8.0
7
7
  Contact: devrel@onesignal.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 6.0.0-SNAPSHOT
@@ -3,7 +3,7 @@
3
3
 
4
4
  #A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
5
5
 
6
- The version of the OpenAPI document: 5.6.0
6
+ The version of the OpenAPI document: 5.8.0
7
7
  Contact: devrel@onesignal.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 6.0.0-SNAPSHOT
@@ -3,7 +3,7 @@
3
3
 
4
4
  #A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
5
5
 
6
- The version of the OpenAPI document: 5.6.0
6
+ The version of the OpenAPI document: 5.8.0
7
7
  Contact: devrel@onesignal.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 6.0.0-SNAPSHOT
@@ -3,7 +3,7 @@
3
3
 
4
4
  #A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
5
5
 
6
- The version of the OpenAPI document: 5.6.0
6
+ The version of the OpenAPI document: 5.8.0
7
7
  Contact: devrel@onesignal.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 6.0.0-SNAPSHOT
@@ -3,7 +3,7 @@
3
3
 
4
4
  #A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
5
5
 
6
- The version of the OpenAPI document: 5.6.0
6
+ The version of the OpenAPI document: 5.8.0
7
7
  Contact: devrel@onesignal.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 6.0.0-SNAPSHOT
@@ -3,7 +3,7 @@
3
3
 
4
4
  #A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
5
5
 
6
- The version of the OpenAPI document: 5.6.0
6
+ The version of the OpenAPI document: 5.8.0
7
7
  Contact: devrel@onesignal.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 6.0.0-SNAPSHOT
@@ -3,7 +3,7 @@
3
3
 
4
4
  #A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
5
5
 
6
- The version of the OpenAPI document: 5.6.0
6
+ The version of the OpenAPI document: 5.8.0
7
7
  Contact: devrel@onesignal.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 6.0.0-SNAPSHOT
@@ -3,7 +3,7 @@
3
3
 
4
4
  #A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
5
5
 
6
- The version of the OpenAPI document: 5.6.0
6
+ The version of the OpenAPI document: 5.8.0
7
7
  Contact: devrel@onesignal.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 6.0.0-SNAPSHOT
@@ -3,7 +3,7 @@
3
3
 
4
4
  #A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
5
5
 
6
- The version of the OpenAPI document: 5.6.0
6
+ The version of the OpenAPI document: 5.8.0
7
7
  Contact: devrel@onesignal.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 6.0.0-SNAPSHOT
@@ -3,7 +3,7 @@
3
3
 
4
4
  #A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
5
5
 
6
- The version of the OpenAPI document: 5.6.0
6
+ The version of the OpenAPI document: 5.8.0
7
7
  Contact: devrel@onesignal.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 6.0.0-SNAPSHOT
@@ -3,7 +3,7 @@
3
3
 
4
4
  #A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
5
5
 
6
- The version of the OpenAPI document: 5.6.0
6
+ The version of the OpenAPI document: 5.8.0
7
7
  Contact: devrel@onesignal.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 6.0.0-SNAPSHOT
@@ -3,7 +3,7 @@
3
3
 
4
4
  #A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
5
5
 
6
- The version of the OpenAPI document: 5.6.0
6
+ The version of the OpenAPI document: 5.8.0
7
7
  Contact: devrel@onesignal.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 6.0.0-SNAPSHOT
@@ -3,7 +3,7 @@
3
3
 
4
4
  #A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
5
5
 
6
- The version of the OpenAPI document: 5.6.0
6
+ The version of the OpenAPI document: 5.8.0
7
7
  Contact: devrel@onesignal.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 6.0.0-SNAPSHOT
@@ -3,7 +3,7 @@
3
3
 
4
4
  #A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
5
5
 
6
- The version of the OpenAPI document: 5.6.0
6
+ The version of the OpenAPI document: 5.8.0
7
7
  Contact: devrel@onesignal.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 6.0.0-SNAPSHOT
@@ -3,7 +3,7 @@
3
3
 
4
4
  #A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
5
5
 
6
- The version of the OpenAPI document: 5.6.0
6
+ The version of the OpenAPI document: 5.8.0
7
7
  Contact: devrel@onesignal.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 6.0.0-SNAPSHOT
@@ -3,7 +3,7 @@
3
3
 
4
4
  #A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
5
5
 
6
- The version of the OpenAPI document: 5.6.0
6
+ The version of the OpenAPI document: 5.8.0
7
7
  Contact: devrel@onesignal.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 6.0.0-SNAPSHOT
@@ -3,7 +3,7 @@
3
3
 
4
4
  #A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
5
5
 
6
- The version of the OpenAPI document: 5.6.0
6
+ The version of the OpenAPI document: 5.8.0
7
7
  Contact: devrel@onesignal.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 6.0.0-SNAPSHOT
@@ -3,7 +3,7 @@
3
3
 
4
4
  #A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
5
5
 
6
- The version of the OpenAPI document: 5.6.0
6
+ The version of the OpenAPI document: 5.8.0
7
7
  Contact: devrel@onesignal.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 6.0.0-SNAPSHOT
@@ -3,7 +3,7 @@
3
3
 
4
4
  #A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
5
5
 
6
- The version of the OpenAPI document: 5.6.0
6
+ The version of the OpenAPI document: 5.8.0
7
7
  Contact: devrel@onesignal.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 6.0.0-SNAPSHOT
@@ -3,7 +3,7 @@
3
3
 
4
4
  #A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
5
5
 
6
- The version of the OpenAPI document: 5.6.0
6
+ The version of the OpenAPI document: 5.8.0
7
7
  Contact: devrel@onesignal.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 6.0.0-SNAPSHOT
@@ -3,7 +3,7 @@
3
3
 
4
4
  #A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
5
5
 
6
- The version of the OpenAPI document: 5.6.0
6
+ The version of the OpenAPI document: 5.8.0
7
7
  Contact: devrel@onesignal.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 6.0.0-SNAPSHOT
@@ -3,7 +3,7 @@
3
3
 
4
4
  #A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
5
5
 
6
- The version of the OpenAPI document: 5.6.0
6
+ The version of the OpenAPI document: 5.8.0
7
7
  Contact: devrel@onesignal.com
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 6.0.0-SNAPSHOT