onesignal 5.15.0 → 5.17.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 (53) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +14 -0
  3. data/Gemfile.lock +2 -2
  4. data/README.md +3 -3
  5. data/docs/DefaultApi.md +166 -6
  6. data/docs/DuplicateJourneyOverrides.md +30 -0
  7. data/docs/DuplicateJourneyRequest.md +18 -0
  8. data/docs/EmailReputationResponse.md +22 -0
  9. data/docs/EmailReputationWindow.md +20 -0
  10. data/docs/JourneyNode.md +2 -2
  11. data/docs/UpdateJourneyNodeRequest.md +2 -2
  12. data/lib/onesignal/api/default_api.rb +145 -6
  13. data/lib/onesignal/api_client.rb +1 -1
  14. data/lib/onesignal/models/duplicate_journey_overrides.rb +282 -0
  15. data/lib/onesignal/models/duplicate_journey_request.rb +219 -0
  16. data/lib/onesignal/models/email_reputation_response.rb +237 -0
  17. data/lib/onesignal/models/email_reputation_window.rb +230 -0
  18. data/lib/onesignal/models/journey.rb +1 -1
  19. data/lib/onesignal/models/journey_node.rb +2 -2
  20. data/lib/onesignal/models/update_journey_node_request.rb +2 -2
  21. data/lib/onesignal/version.rb +1 -1
  22. data/lib/onesignal.rb +4 -0
  23. data/spec/api/default_api_spec.rb +29 -3
  24. data/spec/models/duplicate_journey_overrides_spec.rb +69 -0
  25. data/spec/models/duplicate_journey_request_spec.rb +33 -0
  26. data/spec/models/email_reputation_response_spec.rb +45 -0
  27. data/spec/models/email_reputation_window_spec.rb +39 -0
  28. data/vendor/bundle/ruby/3.2.0/cache/io-console-0.9.4.gem +0 -0
  29. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/byebug-13.0.0/gem_make.out +5 -5
  30. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/date-3.5.1/gem_make.out +5 -5
  31. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/{io-console-0.9.2 → io-console-0.9.4}/gem_make.out +12 -10
  32. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/io-console-0.9.4/io/console.so +0 -0
  33. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/{io-console-0.9.2 → io-console-0.9.4}/mkmf.log +33 -6
  34. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/jaro_winkler-1.5.6/gem_make.out +5 -5
  35. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/psych-5.5.0/gem_make.out +5 -5
  36. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/racc-1.8.1/gem_make.out +5 -5
  37. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/stringio-3.2.0/gem_make.out +5 -5
  38. data/vendor/bundle/ruby/3.2.0/gems/{io-console-0.9.2 → io-console-0.9.4}/ext/io/console/Makefile +3 -3
  39. data/vendor/bundle/ruby/3.2.0/gems/{io-console-0.9.2 → io-console-0.9.4}/ext/io/console/console.c +101 -13
  40. data/vendor/bundle/ruby/3.2.0/gems/{io-console-0.9.2 → io-console-0.9.4}/ext/io/console/extconf.rb +27 -2
  41. data/vendor/bundle/ruby/3.2.0/gems/{io-console-0.9.2 → io-console-0.9.4}/lib/io/console/size.rb +4 -2
  42. data/vendor/bundle/ruby/3.2.0/gems/io-console-0.9.4/lib/io/console.so +0 -0
  43. data/vendor/bundle/ruby/3.2.0/specifications/{io-console-0.9.2.gemspec → io-console-0.9.4.gemspec} +3 -3
  44. metadata +125 -109
  45. data/vendor/bundle/ruby/3.2.0/cache/io-console-0.9.2.gem +0 -0
  46. data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/io-console-0.9.2/io/console.so +0 -0
  47. data/vendor/bundle/ruby/3.2.0/gems/io-console-0.9.2/lib/io/console.so +0 -0
  48. /data/vendor/bundle/ruby/3.2.0/extensions/x86_64-linux/3.2.0/{io-console-0.9.2 → io-console-0.9.4}/gem.build_complete +0 -0
  49. /data/vendor/bundle/ruby/3.2.0/gems/{io-console-0.9.2 → io-console-0.9.4}/.document +0 -0
  50. /data/vendor/bundle/ruby/3.2.0/gems/{io-console-0.9.2 → io-console-0.9.4}/BSDL +0 -0
  51. /data/vendor/bundle/ruby/3.2.0/gems/{io-console-0.9.2 → io-console-0.9.4}/COPYING +0 -0
  52. /data/vendor/bundle/ruby/3.2.0/gems/{io-console-0.9.2 → io-console-0.9.4}/README.md +0 -0
  53. /data/vendor/bundle/ruby/3.2.0/gems/{io-console-0.9.2 → io-console-0.9.4}/ext/io/console/win32_vk.inc +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0b42ceaf3b0e632fc98ee99283fa94b807d0f50f90f77b33286030005ee274c7
4
- data.tar.gz: e7cb4a761b751cfc90ad4d95daa1e87a7954878a669696572974a3471da5bfbf
3
+ metadata.gz: 1b41bdc34e70437322c8bb7db670c5686f9832af8e78035907534a721c0e59d3
4
+ data.tar.gz: 2b1582c9da87273abced5b74127f9bfaeffda11354123cb342f6d2801656a556
5
5
  SHA512:
6
- metadata.gz: 8889f13555a918742eab686312061d53501d20e76d65d7e4f495cf41d009885ffc1b9d52158c6e557efc489317dfa93438d903142419f565779fbcd625089f64
7
- data.tar.gz: b55524df6758ae04f50cc30f2b08fc723fa5fcf451d37d6326420603cb1f417912052c4bbd33b3421a182b7498c9c6de4a001d41448c468b911d92971645f347
6
+ metadata.gz: 6457110df5fc0f411892d777064ef6c26b101d3b532482eb2fb8b01ef30c8d21a3780bf5ee9e84581f44bd0d21056764084224889f080cdedcaddda943b2e5e6
7
+ data.tar.gz: 53c79da8af5027cb2415d14fe086b5280d702c1e3650ebfb148cd4400c3c0d52ae5424d79d0e667e5b9ed7ef0d8fbb6a71c339ae2138dd568908f9451039c876
data/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## [5.16.0](https://github.com/OneSignal/onesignal-ruby-api/compare/v5.15.0...v5.16.0) (2026-09-09)
4
+
5
+ ### Features
6
+
7
+ * add v5.16.0 package updates ([9a42499](https://github.com/OneSignal/onesignal-ruby-api/commit/9a4249909ed463768b54175a70c5d0e4edf66af4))
8
+ * add v5.16.0 package updates ([#131](https://github.com/OneSignal/onesignal-ruby-api/issues/131)) ([bd77ccc](https://github.com/OneSignal/onesignal-ruby-api/commit/bd77cccc3f4d95dabaa99cc5a5d4d35f690666b4)), closes [OneSignal/api-client-libraries#464](https://github.com/OneSignal/api-client-libraries/issues/464) [OneSignal/api-client-libraries#465](https://github.com/OneSignal/api-client-libraries/issues/465)
9
+
10
+ ## [5.15.0](https://github.com/OneSignal/onesignal-ruby-api/compare/v5.14.0...v5.15.0) (2026-08-31)
11
+
12
+ ### Features
13
+
14
+ * add v5.15.0 package updates ([0d7db86](https://github.com/OneSignal/onesignal-ruby-api/commit/0d7db869ab72f1a7d32eb9ff1d35af94b5c0f705))
15
+ * add v5.15.0 package updates ([#128](https://github.com/OneSignal/onesignal-ruby-api/issues/128)) ([eca3f92](https://github.com/OneSignal/onesignal-ruby-api/commit/eca3f92f539d3dbb7833bff193ff7430177a32f2)), closes [OneSignal/api-client-libraries#459](https://github.com/OneSignal/api-client-libraries/issues/459)
16
+
3
17
  ## [5.14.0](https://github.com/OneSignal/onesignal-ruby-api/compare/v5.13.0...v5.14.0) (2026-08-28)
4
18
 
5
19
  ### Features
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- onesignal (5.15.0)
4
+ onesignal (5.17.0)
5
5
  typhoeus (~> 1.0, >= 1.0.1)
6
6
 
7
7
  GEM
@@ -17,7 +17,7 @@ GEM
17
17
  ffi (>= 1.15.0)
18
18
  logger
19
19
  ffi (1.17.4-x86_64-linux-gnu)
20
- io-console (0.9.2)
20
+ io-console (0.9.4)
21
21
  jaro_winkler (1.5.6)
22
22
  logger (1.7.0)
23
23
  method_source (1.1.0)
data/README.md CHANGED
@@ -6,15 +6,15 @@ OneSignal - the Ruby gem for OneSignal
6
6
 
7
7
  A powerful way to send personalized messages at scale and build effective customer engagement strategies. Learn more at onesignal.com
8
8
 
9
- - API version: 5.15.0
10
- - Package version: 5.15.0
9
+ - API version: 5.17.0
10
+ - Package version: 5.17.0
11
11
 
12
12
  ## Installation
13
13
 
14
14
  Add to your `Gemfile`:
15
15
 
16
16
  ```ruby
17
- gem 'onesignal', '~> 5.15.0'
17
+ gem 'onesignal', '~> 5.17.0'
18
18
  ```
19
19
 
20
20
  Then run `bundle install`.
data/docs/DefaultApi.md CHANGED
@@ -24,6 +24,7 @@ All URIs are relative to *https://api.onesignal.com*
24
24
  | [**delete_subscription**](DefaultApi.md#delete_subscription) | **DELETE** /apps/{app_id}/subscriptions/{subscription_id} | |
25
25
  | [**delete_template**](DefaultApi.md#delete_template) | **DELETE** /templates/{template_id} | Delete template |
26
26
  | [**delete_user**](DefaultApi.md#delete_user) | **DELETE** /apps/{app_id}/users/by/{alias_label}/{alias_id} | |
27
+ | [**duplicate_journey**](DefaultApi.md#duplicate_journey) | **POST** /apps/{app_id}/journeys/{journey_id}/duplicate | Duplicate journey |
27
28
  | [**estimate_notification_recipients**](DefaultApi.md#estimate_notification_recipients) | **POST** /notifications/count-unsaved | Estimate notification recipients |
28
29
  | [**export_events**](DefaultApi.md#export_events) | **POST** /notifications/{notification_id}/export_events | Export CSV of Events |
29
30
  | [**export_subscriptions**](DefaultApi.md#export_subscriptions) | **POST** /players/csv_export?app_id={app_id} | Export CSV of Subscriptions |
@@ -31,6 +32,7 @@ All URIs are relative to *https://api.onesignal.com*
31
32
  | [**get_aliases_by_subscription**](DefaultApi.md#get_aliases_by_subscription) | **GET** /apps/{app_id}/subscriptions/{subscription_id}/user/identity | |
32
33
  | [**get_app**](DefaultApi.md#get_app) | **GET** /apps/{app_id} | View an app |
33
34
  | [**get_apps**](DefaultApi.md#get_apps) | **GET** /apps | View apps |
35
+ | [**get_email_reputation**](DefaultApi.md#get_email_reputation) | **GET** /apps/{app_id}/email_analytics/delivery_metrics | Get email reputation statistics |
34
36
  | [**get_notification**](DefaultApi.md#get_notification) | **GET** /notifications/{notification_id} | View notification |
35
37
  | [**get_notification_history**](DefaultApi.md#get_notification_history) | **POST** /notifications/{notification_id}/history | Notification History |
36
38
  | [**get_notifications**](DefaultApi.md#get_notifications) | **GET** /notifications | View notifications |
@@ -1447,7 +1449,7 @@ end
1447
1449
 
1448
1450
  api_instance = OneSignal::DefaultApi.new
1449
1451
  app_id = 'YOUR_APP_ID' # String | The OneSignal App ID for your app. Available in Keys & IDs.
1450
- segment_id = 'd6c5a3e1-9f17-44a1-9d10-7c0e4a2b1c8e' # String | The segment_id can be found in the URL of the segment when viewing it in the dashboard.
1452
+ segment_id = 'd6c5a3e1-9f17-44a1-9d10-7c0e4a2b1c8e' # String | The segment's unique identifier. In the dashboard, go to Audience > Segments, open the segment's options menu, and select Copy segment ID. You can also get it from the View Segments API or the segment's URL in the dashboard.
1451
1453
 
1452
1454
  begin
1453
1455
  # Delete Segment
@@ -1488,7 +1490,7 @@ end
1488
1490
  | Name | Type | Description | Notes |
1489
1491
  | ---- | ---- | ----------- | ----- |
1490
1492
  | **app_id** | **String** | The OneSignal App ID for your app. Available in Keys & IDs. | |
1491
- | **segment_id** | **String** | The segment_id can be found in the URL of the segment when viewing it in the dashboard. | |
1493
+ | **segment_id** | **String** | The segment's unique identifier. In the dashboard, go to Audience > Segments, open the segment's options menu, and select Copy segment ID. You can also get it from the View Segments API or the segment's URL in the dashboard. | |
1492
1494
 
1493
1495
  ### Return type
1494
1496
 
@@ -1738,6 +1740,88 @@ nil (empty response body)
1738
1740
  - **Accept**: application/json
1739
1741
 
1740
1742
 
1743
+ ## duplicate_journey
1744
+
1745
+ > <Journey> duplicate_journey(app_id, journey_id, opts)
1746
+
1747
+ Duplicate journey
1748
+
1749
+ The Journeys API is in beta. Endpoints and response fields can still change. Copy an existing journey into a new draft. The source does not change. The copy is always a draft, and started_at and archived_at are null. If you omit the body, or omit overrides, the copy keeps the source description, audience, nodes, early_exit, and reentry_rules. The copy takes the source name plus \" (Copy)\". The copy does not keep schedule. Send schedule under overrides to set it. Server-controlled fields are rejected with 400. The authenticated App API key must have permission to create journeys.
1750
+
1751
+ ### Examples
1752
+
1753
+ ```ruby
1754
+ require 'onesignal'
1755
+ # setup authorization
1756
+ OneSignal.configure do |config|
1757
+ # Configure Bearer authorization: rest_api_key
1758
+ config.rest_api_key = 'YOUR_REST_API_KEY'
1759
+
1760
+ end
1761
+
1762
+ api_instance = OneSignal::DefaultApi.new
1763
+ app_id = 'YOUR_APP_ID' # String | Your OneSignal App ID in UUID v4 format.
1764
+ journey_id = 'YOUR_JOURNEY_ID' # String | UUID of the journey to copy.
1765
+ opts = {
1766
+ duplicate_journey_request: OneSignal::DuplicateJourneyRequest.new # DuplicateJourneyRequest |
1767
+ }
1768
+
1769
+ begin
1770
+ # Duplicate journey
1771
+ result = api_instance.duplicate_journey(app_id, journey_id, opts)
1772
+ p result
1773
+ rescue OneSignal::ApiError => e
1774
+ puts "Error when calling DefaultApi->duplicate_journey: #{e}"
1775
+ puts "Status Code: #{e.code}"
1776
+ # `e.error_messages` flattens any error-envelope shape to an Array<String>;
1777
+ # the raw body remains on `e.response_body`.
1778
+ puts "Error Messages: #{e.error_messages}"
1779
+ puts "Response Body: #{e.response_body}"
1780
+ end
1781
+ ```
1782
+
1783
+ #### Using the duplicate_journey_with_http_info variant
1784
+
1785
+ This returns an Array which contains the response data, status code and headers.
1786
+
1787
+ > <Array(<Journey>, Integer, Hash)> duplicate_journey_with_http_info(app_id, journey_id, opts)
1788
+
1789
+ ```ruby
1790
+ begin
1791
+ # Duplicate journey
1792
+ data, status_code, headers = api_instance.duplicate_journey_with_http_info(app_id, journey_id, opts)
1793
+ p status_code # => 2xx
1794
+ p headers # => { ... }
1795
+ p data # => <Journey>
1796
+ rescue OneSignal::ApiError => e
1797
+ puts "Error when calling DefaultApi->duplicate_journey_with_http_info: #{e}"
1798
+ puts "Status Code: #{e.code}"
1799
+ puts "Response Body: #{e.response_body}"
1800
+ end
1801
+ ```
1802
+
1803
+ ### Parameters
1804
+
1805
+ | Name | Type | Description | Notes |
1806
+ | ---- | ---- | ----------- | ----- |
1807
+ | **app_id** | **String** | Your OneSignal App ID in UUID v4 format. | |
1808
+ | **journey_id** | **String** | UUID of the journey to copy. | |
1809
+ | **duplicate_journey_request** | [**DuplicateJourneyRequest**](DuplicateJourneyRequest.md) | | [optional] |
1810
+
1811
+ ### Return type
1812
+
1813
+ [**Journey**](Journey.md)
1814
+
1815
+ ### Authorization
1816
+
1817
+ [rest_api_key](https://github.com/OneSignal/onesignal-ruby-api#configuration)
1818
+
1819
+ ### HTTP request headers
1820
+
1821
+ - **Content-Type**: application/json
1822
+ - **Accept**: application/json
1823
+
1824
+
1741
1825
  ## estimate_notification_recipients
1742
1826
 
1743
1827
  > <EstimateNotificationRecipientsSuccessResponse> estimate_notification_recipients(estimate_notification_recipients_request)
@@ -2279,6 +2363,82 @@ This endpoint does not need any parameter.
2279
2363
  - **Accept**: application/json
2280
2364
 
2281
2365
 
2366
+ ## get_email_reputation
2367
+
2368
+ > <EmailReputationResponse> get_email_reputation(app_id)
2369
+
2370
+ Get email reputation statistics
2371
+
2372
+ The email bounce and spam complaint rates received for the app over the last 24 hours, 7 days, and 30 days. Rates are expressed as fractions of successfully delivered emails (for example, `0.02` means 2%). A window reports `0` for both rates when the app has not successfully delivered any email in that period.
2373
+
2374
+ ### Examples
2375
+
2376
+ ```ruby
2377
+ require 'onesignal'
2378
+ # setup authorization
2379
+ OneSignal.configure do |config|
2380
+ # Configure Bearer authorization: rest_api_key
2381
+ config.rest_api_key = 'YOUR_REST_API_KEY'
2382
+
2383
+ end
2384
+
2385
+ api_instance = OneSignal::DefaultApi.new
2386
+ app_id = 'YOUR_APP_ID' # String | Your OneSignal App ID in UUID v4 format.
2387
+
2388
+ begin
2389
+ # Get email reputation statistics
2390
+ result = api_instance.get_email_reputation(app_id)
2391
+ p result
2392
+ rescue OneSignal::ApiError => e
2393
+ puts "Error when calling DefaultApi->get_email_reputation: #{e}"
2394
+ puts "Status Code: #{e.code}"
2395
+ # `e.error_messages` flattens any error-envelope shape to an Array<String>;
2396
+ # the raw body remains on `e.response_body`.
2397
+ puts "Error Messages: #{e.error_messages}"
2398
+ puts "Response Body: #{e.response_body}"
2399
+ end
2400
+ ```
2401
+
2402
+ #### Using the get_email_reputation_with_http_info variant
2403
+
2404
+ This returns an Array which contains the response data, status code and headers.
2405
+
2406
+ > <Array(<EmailReputationResponse>, Integer, Hash)> get_email_reputation_with_http_info(app_id)
2407
+
2408
+ ```ruby
2409
+ begin
2410
+ # Get email reputation statistics
2411
+ data, status_code, headers = api_instance.get_email_reputation_with_http_info(app_id)
2412
+ p status_code # => 2xx
2413
+ p headers # => { ... }
2414
+ p data # => <EmailReputationResponse>
2415
+ rescue OneSignal::ApiError => e
2416
+ puts "Error when calling DefaultApi->get_email_reputation_with_http_info: #{e}"
2417
+ puts "Status Code: #{e.code}"
2418
+ puts "Response Body: #{e.response_body}"
2419
+ end
2420
+ ```
2421
+
2422
+ ### Parameters
2423
+
2424
+ | Name | Type | Description | Notes |
2425
+ | ---- | ---- | ----------- | ----- |
2426
+ | **app_id** | **String** | Your OneSignal App ID in UUID v4 format. | |
2427
+
2428
+ ### Return type
2429
+
2430
+ [**EmailReputationResponse**](EmailReputationResponse.md)
2431
+
2432
+ ### Authorization
2433
+
2434
+ [rest_api_key](https://github.com/OneSignal/onesignal-ruby-api#configuration)
2435
+
2436
+ ### HTTP request headers
2437
+
2438
+ - **Content-Type**: Not defined
2439
+ - **Accept**: application/json
2440
+
2441
+
2282
2442
  ## get_notification
2283
2443
 
2284
2444
  > <NotificationWithMeta> get_notification(app_id, notification_id)
@@ -2630,7 +2790,7 @@ end
2630
2790
 
2631
2791
  api_instance = OneSignal::DefaultApi.new
2632
2792
  app_id = 'YOUR_APP_ID' # String | The OneSignal App ID for your app. Available in Keys & IDs.
2633
- segment_id = 'd6c5a3e1-9f17-44a1-9d10-7c0e4a2b1c8e' # String | The segment's unique identifier. Can be found using the View Segments API or in the URL of the segment when viewing it in the dashboard.
2793
+ segment_id = 'd6c5a3e1-9f17-44a1-9d10-7c0e4a2b1c8e' # String | The segment's unique identifier. In the dashboard, go to Audience > Segments, open the segment's options menu, and select Copy segment ID. You can also get it from the View Segments API or the segment's URL in the dashboard.
2634
2794
  opts = {
2635
2795
  include_segment_detail: true # Boolean | Set to true to include segment metadata and filters in the response.
2636
2796
  }
@@ -2674,7 +2834,7 @@ end
2674
2834
  | Name | Type | Description | Notes |
2675
2835
  | ---- | ---- | ----------- | ----- |
2676
2836
  | **app_id** | **String** | The OneSignal App ID for your app. Available in Keys &amp; IDs. | |
2677
- | **segment_id** | **String** | The segment&#39;s unique identifier. Can be found using the View Segments API or in the URL of the segment when viewing it in the dashboard. | |
2837
+ | **segment_id** | **String** | The segment&#39;s unique identifier. In the dashboard, go to Audience &gt; Segments, open the segment&#39;s options menu, and select Copy segment ID. You can also get it from the View Segments API or the segment&#39;s URL in the dashboard. | |
2678
2838
  | **include_segment_detail** | **Boolean** | Set to true to include segment metadata and filters in the response. | [optional] |
2679
2839
 
2680
2840
  ### Return type
@@ -3692,7 +3852,7 @@ end
3692
3852
 
3693
3853
  api_instance = OneSignal::DefaultApi.new
3694
3854
  app_id = 'YOUR_APP_ID' # String | The OneSignal App ID for your app. Available in Keys & IDs.
3695
- segment_id = 'd6c5a3e1-9f17-44a1-9d10-7c0e4a2b1c8e' # String | The segment's unique identifier. Can be found using the View Segments API or in the URL of the segment when viewing it in the dashboard.
3855
+ segment_id = 'd6c5a3e1-9f17-44a1-9d10-7c0e4a2b1c8e' # String | The segment's unique identifier. In the dashboard, go to Audience > Segments, open the segment's options menu, and select Copy segment ID. You can also get it from the View Segments API or the segment's URL in the dashboard.
3696
3856
  opts = {
3697
3857
  update_segment_request: OneSignal::UpdateSegmentRequest.new({name: 'name_example'}) # UpdateSegmentRequest |
3698
3858
  }
@@ -3736,7 +3896,7 @@ end
3736
3896
  | Name | Type | Description | Notes |
3737
3897
  | ---- | ---- | ----------- | ----- |
3738
3898
  | **app_id** | **String** | The OneSignal App ID for your app. Available in Keys &amp; IDs. | |
3739
- | **segment_id** | **String** | The segment&#39;s unique identifier. Can be found using the View Segments API or in the URL of the segment when viewing it in the dashboard. | |
3899
+ | **segment_id** | **String** | The segment&#39;s unique identifier. In the dashboard, go to Audience &gt; Segments, open the segment&#39;s options menu, and select Copy segment ID. You can also get it from the View Segments API or the segment&#39;s URL in the dashboard. | |
3740
3900
  | **update_segment_request** | [**UpdateSegmentRequest**](UpdateSegmentRequest.md) | | [optional] |
3741
3901
 
3742
3902
  ### Return type
@@ -0,0 +1,30 @@
1
+ # OneSignal::DuplicateJourneyOverrides
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **name** | **String** | Name for the copy, up to 300 characters. If you omit it, the copy takes the name of the source plus \&quot; (Copy)\&quot;. | [optional] |
8
+ | **description** | **String** | Optional journey description, up to 1024 characters. If you omit it, the copy takes the description of the source. Send null to clear it. | [optional] |
9
+ | **audience** | [**JourneyAudience**](JourneyAudience.md) | | [optional] |
10
+ | **early_exit** | [**JourneyEarlyExit**](JourneyEarlyExit.md) | | [optional] |
11
+ | **reentry_rules** | [**JourneyReentryRules**](JourneyReentryRules.md) | | [optional] |
12
+ | **schedule** | [**JourneySchedule**](JourneySchedule.md) | | [optional] |
13
+ | **nodes** | [**Array&lt;JourneyNode&gt;**](JourneyNode.md) | Full ordered list of nodes. Replaces the copied graph. Server-assigned id fields are rejected. | [optional] |
14
+
15
+ ## Example
16
+
17
+ ```ruby
18
+ require 'onesignal'
19
+
20
+ instance = OneSignal::DuplicateJourneyOverrides.new(
21
+ name: nil,
22
+ description: nil,
23
+ audience: nil,
24
+ early_exit: nil,
25
+ reentry_rules: nil,
26
+ schedule: nil,
27
+ nodes: nil
28
+ )
29
+ ```
30
+
@@ -0,0 +1,18 @@
1
+ # OneSignal::DuplicateJourneyRequest
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **overrides** | [**DuplicateJourneyOverrides**](DuplicateJourneyOverrides.md) | | [optional] |
8
+
9
+ ## Example
10
+
11
+ ```ruby
12
+ require 'onesignal'
13
+
14
+ instance = OneSignal::DuplicateJourneyRequest.new(
15
+ overrides: nil
16
+ )
17
+ ```
18
+
@@ -0,0 +1,22 @@
1
+ # OneSignal::EmailReputationResponse
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **last_24_hours** | [**EmailReputationWindow**](EmailReputationWindow.md) | | [optional] |
8
+ | **last_7_days** | [**EmailReputationWindow**](EmailReputationWindow.md) | | [optional] |
9
+ | **last_30_days** | [**EmailReputationWindow**](EmailReputationWindow.md) | | [optional] |
10
+
11
+ ## Example
12
+
13
+ ```ruby
14
+ require 'onesignal'
15
+
16
+ instance = OneSignal::EmailReputationResponse.new(
17
+ last_24_hours: nil,
18
+ last_7_days: nil,
19
+ last_30_days: nil
20
+ )
21
+ ```
22
+
@@ -0,0 +1,20 @@
1
+ # OneSignal::EmailReputationWindow
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **bounce_rate** | **Float** | The fraction of successfully delivered emails that hard or soft bounced during the window. | [optional] |
8
+ | **complaint_rate** | **Float** | The fraction of successfully delivered emails that recipients reported as spam during the window. | [optional] |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'onesignal'
14
+
15
+ instance = OneSignal::EmailReputationWindow.new(
16
+ bounce_rate: 0.02,
17
+ complaint_rate: 0.001
18
+ )
19
+ ```
20
+
data/docs/JourneyNode.md CHANGED
@@ -7,7 +7,7 @@
7
7
  | **id** | **String** | Server-assigned node UUID. Returned on reads. Required on update to keep an existing node. Rejected on create with a 400 validation error. | [optional] |
8
8
  | **kind** | **String** | Node kind. Selects which other fields apply. | |
9
9
  | **client_node_id** | **String** | Optional client-assigned identifier, unique within the journey. Use it to reference this node from elsewhere in the same request. Persisted and returned on reads. | [optional] |
10
- | **annotation** | **String** | Optional free-text label, up to 255 characters. Stored and returned as-is with no effect on journey behavior. | [optional] |
10
+ | **annotation** | **String** | Optional free-text label, up to 1024 characters. Stored and returned as-is with no effect on journey behavior. | [optional] |
11
11
  | **duration_seconds** | **Integer** | wait nodes: seconds to hold the user. Minimum 60, maximum 31556952 (1 year). | [optional] |
12
12
  | **relative_to** | **String** | time_window nodes: schedule_in_timezone uses the configured windows; last_active_time holds relative to the user&#39;s last active time. | [optional] |
13
13
  | **windows** | [**Array&lt;JourneyTimeWindow&gt;**](JourneyTimeWindow.md) | time_window nodes: one or more time windows. A window with no day_of_week applies to every day. Required when relative_to is schedule_in_timezone; omit when it is last_active_time. | [optional] |
@@ -19,7 +19,7 @@
19
19
  | **webhook_id** | **String** | send_webhook nodes: UUID of the webhook to send. | [optional] |
20
20
  | **assignments** | **Hash&lt;String, String&gt;** | tag nodes: tag key-value pairs to assign. An empty string value removes the tag. Keys are limited to 255 characters and values to 1024. | [optional] |
21
21
  | **randomize_on_entry** | **Boolean** | split_range nodes: when true, assigns each user to a branch at random on entry. Defaults to false. | [optional] |
22
- | **branches** | [**Array&lt;JourneyBranch&gt;**](JourneyBranch.md) | Branching nodes: nested branches. split_range requires 2-20 weighted branches that sum to 100. yes_no requires exactly 2 branches. wait_until requires 1-10 condition branches. | [optional] |
22
+ | **branches** | [**Array&lt;JourneyBranch&gt;**](JourneyBranch.md) | Branching nodes: nested branches. split_range requires 2-25 weighted branches that sum to 100. yes_no requires exactly 2 branches. wait_until requires 1-25 condition branches. | [optional] |
23
23
  | **expiration** | [**JourneyWaitUntilExpiration**](JourneyWaitUntilExpiration.md) | | [optional] |
24
24
 
25
25
  ## Example
@@ -5,7 +5,7 @@
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
7
  | **client_node_id** | **String** | Optional client-assigned identifier, unique within the journey. Use it to reference this node from elsewhere in the same request. Persisted and returned on reads. | [optional] |
8
- | **annotation** | **String** | Optional free-text label, up to 255 characters. Stored and returned as-is with no effect on journey behavior. | [optional] |
8
+ | **annotation** | **String** | Optional free-text label, up to 1024 characters. Stored and returned as-is with no effect on journey behavior. | [optional] |
9
9
  | **duration_seconds** | **Integer** | wait nodes: seconds to hold the user. Minimum 60, maximum 31556952 (1 year). | [optional] |
10
10
  | **relative_to** | **String** | time_window nodes: schedule_in_timezone uses the configured windows; last_active_time holds relative to the user&#39;s last active time. | [optional] |
11
11
  | **windows** | [**Array&lt;JourneyTimeWindow&gt;**](JourneyTimeWindow.md) | time_window nodes: one or more time windows. A window with no day_of_week applies to every day. Required when relative_to is schedule_in_timezone; omit when it is last_active_time. | [optional] |
@@ -17,7 +17,7 @@
17
17
  | **webhook_id** | **String** | send_webhook nodes: UUID of the webhook to send. | [optional] |
18
18
  | **assignments** | **Hash&lt;String, String&gt;** | tag nodes: tag key-value pairs to assign. An empty string value removes the tag. Keys are limited to 255 characters and values to 1024. | [optional] |
19
19
  | **randomize_on_entry** | **Boolean** | split_range nodes: when true, assigns each user to a branch at random on entry. Defaults to false. | [optional] |
20
- | **branches** | [**Array&lt;JourneyBranch&gt;**](JourneyBranch.md) | Branching nodes: nested branches. split_range requires 2-20 weighted branches that sum to 100. yes_no requires exactly 2 branches. wait_until requires 1-10 condition branches. | [optional] |
20
+ | **branches** | [**Array&lt;JourneyBranch&gt;**](JourneyBranch.md) | Branching nodes: nested branches. split_range requires 2-25 weighted branches that sum to 100. yes_no requires exactly 2 branches. wait_until requires 1-25 condition branches. | [optional] |
21
21
  | **expiration** | [**JourneyWaitUntilExpiration**](JourneyWaitUntilExpiration.md) | | [optional] |
22
22
  | **concurrency_key** | **String** | Optional optimistic-concurrency token. Pass the concurrency_key from a prior fetch to reject the update with 409 if the journey changed. Omit to skip the check. It is not merged onto the node. | [optional] |
23
23