late-sdk 0.0.601 → 0.0.603

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 370af23549131aa6bf98edc57f1fa3371c6d161822ddbc2a3e62b343c5556e86
4
- data.tar.gz: 6537dc82a43d5795d2bfbb99905a39bbf7bf3057fdd261fbb7dc894962a65aad
3
+ metadata.gz: 9aeba17905946cf73caedb905b1502fc7b4afb5e30c525ec206f58f896d7bf78
4
+ data.tar.gz: 959be2fdd4ec82f58a0476d9c17f91b77058b0575d06a41cefb5a09bad8588fd
5
5
  SHA512:
6
- metadata.gz: 1cc5ec2513503e1fb1dd511b4f27908bb50a0d811098877147337691b3851f589b66bc3debfdb651c112dad53e3ca12fa1f8e99c85160baa03a0b371c2e2382f
7
- data.tar.gz: 30112525b28ae2519a4a9e21364cebe3c6c9ff67d6acedfb27af4b3d29e47bc3d89d6612c1e907fe1c065391b35c0c180ecaff2dfb8ef8cd56bab7988153e5e4
6
+ metadata.gz: 85d900771d6ed7aaa8e852ee8532f5550c13da223774f0bcec0a69eaf4571e8bd5efb5787bb3b19dc299fb3afefaba797305b528aaeeab1fc5bf2b026174bca4
7
+ data.tar.gz: 310dd72b8ef3eca9b69f58ca8ce960f4c05a8e69a7798aad03a2ad4f6ef70777e12f2d25d5e17ee58f849a5e7da5f82e5cdac7020b9c761ab8d9d0bd58d0c524
data/README.md CHANGED
@@ -1676,6 +1676,7 @@ Class | Method | HTTP request | Description
1676
1676
  - [Zernio::SearchReddit200Response](docs/SearchReddit200Response.md)
1677
1677
  - [Zernio::SearchTweets200Response](docs/SearchTweets200Response.md)
1678
1678
  - [Zernio::SearchTweets200ResponseMeta](docs/SearchTweets200ResponseMeta.md)
1679
+ - [Zernio::SearchTweets200ResponsePagination](docs/SearchTweets200ResponsePagination.md)
1679
1680
  - [Zernio::SearchTweets200ResponseTweetsInner](docs/SearchTweets200ResponseTweetsInner.md)
1680
1681
  - [Zernio::SearchTweets200ResponseTweetsInnerAuthor](docs/SearchTweets200ResponseTweetsInnerAuthor.md)
1681
1682
  - [Zernio::SelectFacebookPage200Response](docs/SelectFacebookPage200Response.md)
data/docs/AnalyticsApi.md CHANGED
@@ -1831,7 +1831,7 @@ end
1831
1831
 
1832
1832
  Sync an external post
1833
1833
 
1834
- Fetch an account's latest external posts (published directly on the platform, not through Zernio) on demand, so a just-published post is retrievable within seconds instead of waiting for the background sync (which refreshes each account at most every ~90 minutes). Primary use case: verifying a submitted post. When a user publishes on the platform and immediately pastes the post URL into your app, call this with `accountId` plus `url` (or `postId`) to confirm the post exists and return its metadata. Behavior: - We check our stored copy first and return immediately if the post is already known (no platform call). - Otherwise we fetch the account's latest posts live from the platform, then match and return the submitted post. - Requests are debounced per account (~15s): if the account was just synced, the live fetch is skipped. `accountId` is required — a post URL or id alone cannot be resolved to an account, and the account must be connected to Zernio (we use its token to read the platform). Supported for every platform with a listing API (Instagram, Facebook, TikTok, YouTube, X, Threads, Pinterest, Reddit, Bluesky, Google Business, and LinkedIn organization accounts; LinkedIn personal accounts are not supported). `url` accepts any format the platform uses (e.g. `instagram.com/p/…`, `instagram.com/reel/…`, `youtu.be/…`, `youtube.com/shorts/…`, `tiktok.com/@user/video/…`, and `vm.tiktok.com` short links). Pass `postId` (the platform media/video id) as an alternative locator. Note: post-level analytics (reach, impressions) still carry the platform's own delay (e.g. ~24h on Instagram). This endpoint confirms the post exists and returns its metadata plus basic engagement (likes, comments), not delayed insights.
1834
+ Fetch an account's latest external posts (published directly on the platform, not through Zernio) on demand, so a just-published post is retrievable within seconds instead of waiting for the background sync (which refreshes each account at most every ~90 minutes). Primary use case: verifying a submitted post. When a user publishes on the platform and immediately pastes the post URL into your app, call this with `accountId` plus `url` (or `postId`) to confirm the post exists and return its metadata. Behavior: - We check our stored copy first and return immediately if the post is already known (no platform call). - Otherwise we fetch the account's latest posts live from the platform, then match and return the submitted post. - Requests are debounced per account (~15s): if the account was just synced, the live fetch is skipped. `accountId` is required — a post URL or id alone cannot be resolved to an account, and the account must be connected to Zernio (we use its token to read the platform). Supported for every platform with a listing API (Instagram, Facebook, TikTok, YouTube, X, Threads, Pinterest, Reddit, Bluesky, Google Business, and LinkedIn organization accounts). LinkedIn personal profiles: LinkedIn has no listing API for personal profiles, so a `url` is REQUIRED and imports that single post. Pass any LinkedIn post URL (`linkedin.com/posts/…`, `linkedin.com/feed/update/urn:li:activity:…`) or a `urn:li:share:…` / `urn:li:ugcPost:…` URN. Works for posts published outside Zernio and before the account was connected, any age; the post must be authored by the connected member. Imported posts return full analytics (impressions, reach, reactions, comments, reshares, saves) and keep refreshing on the background analytics cycle, but carry no content/media (LinkedIn does not expose them for personal profiles). `url` accepts any format the platform uses (e.g. `instagram.com/p/…`, `instagram.com/reel/…`, `youtu.be/…`, `youtube.com/shorts/…`, `tiktok.com/@user/video/…`, and `vm.tiktok.com` short links). Pass `postId` (the platform media/video id) as an alternative locator. Note: post-level analytics (reach, impressions) still carry the platform's own delay (e.g. ~24h on Instagram). This endpoint confirms the post exists and returns its metadata plus basic engagement (likes, comments), not delayed insights.
1835
1835
 
1836
1836
  ### Examples
1837
1837
 
data/docs/CommentsApi.md CHANGED
@@ -396,7 +396,7 @@ end
396
396
 
397
397
  List commented posts
398
398
 
399
- Returns posts with comment counts from all connected accounts. Aggregates data across multiple accounts. For users with the Ads add-on (Metronome plans always qualify), the user's Meta ads (boosted/dark posts) are included too. There's one row per (ad, placement-with-comments): an ad that runs on both Facebook feed and Instagram feed produces up to two rows (the Page dark post and the IG media have separate comment threads), each flagged `isAd: true` with `adId` and `placement` (`id` is `{adId}:{placement}`). Use `?platform=metaads` to return *only* ad rows; passing `facebook`/`instagram` returns *organic* posts only (no ads); omitting `platform` returns both. Fetch a row's thread from GET /v1/ads/{adId}/comments?placement={placement}. Ad comment counts are read with the Marketing API token (Facebook side) or the connected Instagram account's token (Instagram side); a row whose count can't be read is omitted.
399
+ Returns posts with comment counts from all connected accounts. Aggregates data across multiple accounts. For users with the Ads add-on (Metronome plans always qualify), the user's Meta ads (boosted/dark posts) are included too. There's one row per (ad, placement-with-comments): an ad that runs on both Facebook feed and Instagram feed produces up to two rows (the Page dark post and the IG media have separate comment threads), each flagged `isAd: true` with `adId` and `placement` (`id` is `{adId}:{placement}`). Use `?platform=metaads` to return *only* ad rows; passing `facebook`/`instagram` returns *organic* posts only (no ads); omitting `platform` returns both. Fetch a row's thread from GET /v1/ads/{adId}/comments?placement={placement}. Ad comment counts are read with the Marketing API token (Facebook side) or the connected Instagram account's token (Instagram side); a row whose count can't be read is omitted. Pagination walks each account's platform listing. Following `nextCursor` reaches past the first page on Facebook and Instagram only, since they are the platforms that support a server-side date window; on the others the listing stops at its first page.
400
400
 
401
401
  ### Examples
402
402
 
@@ -5,7 +5,7 @@
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
7
  | **has_more** | **Boolean** | | [optional] |
8
- | **cursor** | **String** | | [optional] |
8
+ | **cursor** | **String** | Only present when hasMore is true. Absent on the last page, so treat its absence as the end of the thread. | [optional] |
9
9
 
10
10
  ## Example
11
11
 
@@ -6,7 +6,7 @@
6
6
  | ---- | ---- | ----------- | ----- |
7
7
  | **status** | **String** | | [optional] |
8
8
  | **leads** | [**Array<ListFormLeads200ResponseLeadsInner>**](ListFormLeads200ResponseLeadsInner.md) | | [optional] |
9
- | **pagination** | [**GetInboxPostComments200ResponsePagination**](GetInboxPostComments200ResponsePagination.md) | | [optional] |
9
+ | **pagination** | [**SearchTweets200ResponsePagination**](SearchTweets200ResponsePagination.md) | | [optional] |
10
10
 
11
11
  ## Example
12
12
 
@@ -5,7 +5,7 @@
5
5
  | Name | Type | Description | Notes |
6
6
  | ---- | ---- | ----------- | ----- |
7
7
  | **data** | [**Array<ListInboxMentions200ResponseDataInner>**](ListInboxMentions200ResponseDataInner.md) | | [optional] |
8
- | **pagination** | [**GetInboxPostComments200ResponsePagination**](GetInboxPostComments200ResponsePagination.md) | | [optional] |
8
+ | **pagination** | [**SearchTweets200ResponsePagination**](SearchTweets200ResponsePagination.md) | | [optional] |
9
9
  | **meta** | [**ListInboxMentions200ResponseMeta**](ListInboxMentions200ResponseMeta.md) | | [optional] |
10
10
 
11
11
  ## Example
@@ -6,7 +6,7 @@
6
6
  | ---- | ---- | ----------- | ----- |
7
7
  | **status** | **String** | | [optional] |
8
8
  | **forms** | **Array<Object>** | | [optional] |
9
- | **pagination** | [**GetInboxPostComments200ResponsePagination**](GetInboxPostComments200ResponsePagination.md) | | [optional] |
9
+ | **pagination** | [**SearchTweets200ResponsePagination**](SearchTweets200ResponsePagination.md) | | [optional] |
10
10
 
11
11
  ## Example
12
12
 
@@ -6,7 +6,7 @@
6
6
  | ---- | ---- | ----------- | ----- |
7
7
  | **status** | **String** | | [optional] |
8
8
  | **leads** | [**Array<ListLeads200ResponseLeadsInner>**](ListLeads200ResponseLeadsInner.md) | | [optional] |
9
- | **pagination** | [**GetInboxPostComments200ResponsePagination**](GetInboxPostComments200ResponsePagination.md) | | [optional] |
9
+ | **pagination** | [**SearchTweets200ResponsePagination**](SearchTweets200ResponsePagination.md) | | [optional] |
10
10
 
11
11
  ## Example
12
12
 
@@ -6,7 +6,7 @@
6
6
  | ---- | ---- | ----------- | ----- |
7
7
  | **status** | **String** | | [optional] |
8
8
  | **tweets** | [**Array<SearchTweets200ResponseTweetsInner>**](SearchTweets200ResponseTweetsInner.md) | | [optional] |
9
- | **pagination** | [**GetInboxPostComments200ResponsePagination**](GetInboxPostComments200ResponsePagination.md) | | [optional] |
9
+ | **pagination** | [**SearchTweets200ResponsePagination**](SearchTweets200ResponsePagination.md) | | [optional] |
10
10
  | **meta** | [**SearchTweets200ResponseMeta**](SearchTweets200ResponseMeta.md) | | [optional] |
11
11
 
12
12
  ## Example
@@ -0,0 +1,20 @@
1
+ # Zernio::SearchTweets200ResponsePagination
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **has_more** | **Boolean** | | [optional] |
8
+ | **cursor** | **String** | | [optional] |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'zernio-sdk'
14
+
15
+ instance = Zernio::SearchTweets200ResponsePagination.new(
16
+ has_more: null,
17
+ cursor: null
18
+ )
19
+ ```
20
+
@@ -1844,7 +1844,7 @@ module Zernio
1844
1844
  end
1845
1845
 
1846
1846
  # Sync an external post
1847
- # Fetch an account's latest external posts (published directly on the platform, not through Zernio) on demand, so a just-published post is retrievable within seconds instead of waiting for the background sync (which refreshes each account at most every ~90 minutes). Primary use case: verifying a submitted post. When a user publishes on the platform and immediately pastes the post URL into your app, call this with `accountId` plus `url` (or `postId`) to confirm the post exists and return its metadata. Behavior: - We check our stored copy first and return immediately if the post is already known (no platform call). - Otherwise we fetch the account's latest posts live from the platform, then match and return the submitted post. - Requests are debounced per account (~15s): if the account was just synced, the live fetch is skipped. `accountId` is required — a post URL or id alone cannot be resolved to an account, and the account must be connected to Zernio (we use its token to read the platform). Supported for every platform with a listing API (Instagram, Facebook, TikTok, YouTube, X, Threads, Pinterest, Reddit, Bluesky, Google Business, and LinkedIn organization accounts; LinkedIn personal accounts are not supported). `url` accepts any format the platform uses (e.g. `instagram.com/p/…`, `instagram.com/reel/…`, `youtu.be/…`, `youtube.com/shorts/…`, `tiktok.com/@user/video/…`, and `vm.tiktok.com` short links). Pass `postId` (the platform media/video id) as an alternative locator. Note: post-level analytics (reach, impressions) still carry the platform's own delay (e.g. ~24h on Instagram). This endpoint confirms the post exists and returns its metadata plus basic engagement (likes, comments), not delayed insights.
1847
+ # Fetch an account's latest external posts (published directly on the platform, not through Zernio) on demand, so a just-published post is retrievable within seconds instead of waiting for the background sync (which refreshes each account at most every ~90 minutes). Primary use case: verifying a submitted post. When a user publishes on the platform and immediately pastes the post URL into your app, call this with `accountId` plus `url` (or `postId`) to confirm the post exists and return its metadata. Behavior: - We check our stored copy first and return immediately if the post is already known (no platform call). - Otherwise we fetch the account's latest posts live from the platform, then match and return the submitted post. - Requests are debounced per account (~15s): if the account was just synced, the live fetch is skipped. `accountId` is required — a post URL or id alone cannot be resolved to an account, and the account must be connected to Zernio (we use its token to read the platform). Supported for every platform with a listing API (Instagram, Facebook, TikTok, YouTube, X, Threads, Pinterest, Reddit, Bluesky, Google Business, and LinkedIn organization accounts). LinkedIn personal profiles: LinkedIn has no listing API for personal profiles, so a `url` is REQUIRED and imports that single post. Pass any LinkedIn post URL (`linkedin.com/posts/…`, `linkedin.com/feed/update/urn:li:activity:…`) or a `urn:li:share:…` / `urn:li:ugcPost:…` URN. Works for posts published outside Zernio and before the account was connected, any age; the post must be authored by the connected member. Imported posts return full analytics (impressions, reach, reactions, comments, reshares, saves) and keep refreshing on the background analytics cycle, but carry no content/media (LinkedIn does not expose them for personal profiles). `url` accepts any format the platform uses (e.g. `instagram.com/p/…`, `instagram.com/reel/…`, `youtu.be/…`, `youtube.com/shorts/…`, `tiktok.com/@user/video/…`, and `vm.tiktok.com` short links). Pass `postId` (the platform media/video id) as an alternative locator. Note: post-level analytics (reach, impressions) still carry the platform's own delay (e.g. ~24h on Instagram). This endpoint confirms the post exists and returns its metadata plus basic engagement (likes, comments), not delayed insights.
1848
1848
  # @param sync_external_posts_request [SyncExternalPostsRequest]
1849
1849
  # @param [Hash] opts the optional parameters
1850
1850
  # @return [SyncExternalPosts200Response]
@@ -1854,7 +1854,7 @@ module Zernio
1854
1854
  end
1855
1855
 
1856
1856
  # Sync an external post
1857
- # Fetch an account's latest external posts (published directly on the platform, not through Zernio) on demand, so a just-published post is retrievable within seconds instead of waiting for the background sync (which refreshes each account at most every ~90 minutes). Primary use case: verifying a submitted post. When a user publishes on the platform and immediately pastes the post URL into your app, call this with `accountId` plus `url` (or `postId`) to confirm the post exists and return its metadata. Behavior: - We check our stored copy first and return immediately if the post is already known (no platform call). - Otherwise we fetch the account's latest posts live from the platform, then match and return the submitted post. - Requests are debounced per account (~15s): if the account was just synced, the live fetch is skipped. `accountId` is required — a post URL or id alone cannot be resolved to an account, and the account must be connected to Zernio (we use its token to read the platform). Supported for every platform with a listing API (Instagram, Facebook, TikTok, YouTube, X, Threads, Pinterest, Reddit, Bluesky, Google Business, and LinkedIn organization accounts; LinkedIn personal accounts are not supported). `url` accepts any format the platform uses (e.g. `instagram.com/p/…`, `instagram.com/reel/…`, `youtu.be/…`, `youtube.com/shorts/…`, `tiktok.com/@user/video/…`, and `vm.tiktok.com` short links). Pass `postId` (the platform media/video id) as an alternative locator. Note: post-level analytics (reach, impressions) still carry the platform's own delay (e.g. ~24h on Instagram). This endpoint confirms the post exists and returns its metadata plus basic engagement (likes, comments), not delayed insights.
1857
+ # Fetch an account's latest external posts (published directly on the platform, not through Zernio) on demand, so a just-published post is retrievable within seconds instead of waiting for the background sync (which refreshes each account at most every ~90 minutes). Primary use case: verifying a submitted post. When a user publishes on the platform and immediately pastes the post URL into your app, call this with `accountId` plus `url` (or `postId`) to confirm the post exists and return its metadata. Behavior: - We check our stored copy first and return immediately if the post is already known (no platform call). - Otherwise we fetch the account's latest posts live from the platform, then match and return the submitted post. - Requests are debounced per account (~15s): if the account was just synced, the live fetch is skipped. `accountId` is required — a post URL or id alone cannot be resolved to an account, and the account must be connected to Zernio (we use its token to read the platform). Supported for every platform with a listing API (Instagram, Facebook, TikTok, YouTube, X, Threads, Pinterest, Reddit, Bluesky, Google Business, and LinkedIn organization accounts). LinkedIn personal profiles: LinkedIn has no listing API for personal profiles, so a `url` is REQUIRED and imports that single post. Pass any LinkedIn post URL (`linkedin.com/posts/…`, `linkedin.com/feed/update/urn:li:activity:…`) or a `urn:li:share:…` / `urn:li:ugcPost:…` URN. Works for posts published outside Zernio and before the account was connected, any age; the post must be authored by the connected member. Imported posts return full analytics (impressions, reach, reactions, comments, reshares, saves) and keep refreshing on the background analytics cycle, but carry no content/media (LinkedIn does not expose them for personal profiles). `url` accepts any format the platform uses (e.g. `instagram.com/p/…`, `instagram.com/reel/…`, `youtu.be/…`, `youtube.com/shorts/…`, `tiktok.com/@user/video/…`, and `vm.tiktok.com` short links). Pass `postId` (the platform media/video id) as an alternative locator. Note: post-level analytics (reach, impressions) still carry the platform's own delay (e.g. ~24h on Instagram). This endpoint confirms the post exists and returns its metadata plus basic engagement (likes, comments), not delayed insights.
1858
1858
  # @param sync_external_posts_request [SyncExternalPostsRequest]
1859
1859
  # @param [Hash] opts the optional parameters
1860
1860
  # @return [Array<(SyncExternalPosts200Response, Integer, Hash)>] SyncExternalPosts200Response data, response status code and response headers
@@ -427,7 +427,7 @@ module Zernio
427
427
  end
428
428
 
429
429
  # List commented posts
430
- # Returns posts with comment counts from all connected accounts. Aggregates data across multiple accounts. For users with the Ads add-on (Metronome plans always qualify), the user's Meta ads (boosted/dark posts) are included too. There's one row per (ad, placement-with-comments): an ad that runs on both Facebook feed and Instagram feed produces up to two rows (the Page dark post and the IG media have separate comment threads), each flagged `isAd: true` with `adId` and `placement` (`id` is `{adId}:{placement}`). Use `?platform=metaads` to return *only* ad rows; passing `facebook`/`instagram` returns *organic* posts only (no ads); omitting `platform` returns both. Fetch a row's thread from GET /v1/ads/{adId}/comments?placement={placement}. Ad comment counts are read with the Marketing API token (Facebook side) or the connected Instagram account's token (Instagram side); a row whose count can't be read is omitted.
430
+ # Returns posts with comment counts from all connected accounts. Aggregates data across multiple accounts. For users with the Ads add-on (Metronome plans always qualify), the user's Meta ads (boosted/dark posts) are included too. There's one row per (ad, placement-with-comments): an ad that runs on both Facebook feed and Instagram feed produces up to two rows (the Page dark post and the IG media have separate comment threads), each flagged `isAd: true` with `adId` and `placement` (`id` is `{adId}:{placement}`). Use `?platform=metaads` to return *only* ad rows; passing `facebook`/`instagram` returns *organic* posts only (no ads); omitting `platform` returns both. Fetch a row's thread from GET /v1/ads/{adId}/comments?placement={placement}. Ad comment counts are read with the Marketing API token (Facebook side) or the connected Instagram account's token (Instagram side); a row whose count can't be read is omitted. Pagination walks each account's platform listing. Following `nextCursor` reaches past the first page on Facebook and Instagram only, since they are the platforms that support a server-side date window; on the others the listing stops at its first page.
431
431
  # @param [Hash] opts the optional parameters
432
432
  # @option opts [String] :profile_id Filter by profile ID
433
433
  # @option opts [String] :platform Filter by platform. &#x60;metaads&#x60; is a synthetic value meaning the user&#39;s ads (boosted/dark posts) only; &#x60;facebook&#x60;/&#x60;instagram&#x60; return organic posts only.
@@ -445,7 +445,7 @@ module Zernio
445
445
  end
446
446
 
447
447
  # List commented posts
448
- # Returns posts with comment counts from all connected accounts. Aggregates data across multiple accounts. For users with the Ads add-on (Metronome plans always qualify), the user&#39;s Meta ads (boosted/dark posts) are included too. There&#39;s one row per (ad, placement-with-comments): an ad that runs on both Facebook feed and Instagram feed produces up to two rows (the Page dark post and the IG media have separate comment threads), each flagged &#x60;isAd: true&#x60; with &#x60;adId&#x60; and &#x60;placement&#x60; (&#x60;id&#x60; is &#x60;{adId}:{placement}&#x60;). Use &#x60;?platform&#x3D;metaads&#x60; to return *only* ad rows; passing &#x60;facebook&#x60;/&#x60;instagram&#x60; returns *organic* posts only (no ads); omitting &#x60;platform&#x60; returns both. Fetch a row&#39;s thread from GET /v1/ads/{adId}/comments?placement&#x3D;{placement}. Ad comment counts are read with the Marketing API token (Facebook side) or the connected Instagram account&#39;s token (Instagram side); a row whose count can&#39;t be read is omitted.
448
+ # Returns posts with comment counts from all connected accounts. Aggregates data across multiple accounts. For users with the Ads add-on (Metronome plans always qualify), the user&#39;s Meta ads (boosted/dark posts) are included too. There&#39;s one row per (ad, placement-with-comments): an ad that runs on both Facebook feed and Instagram feed produces up to two rows (the Page dark post and the IG media have separate comment threads), each flagged &#x60;isAd: true&#x60; with &#x60;adId&#x60; and &#x60;placement&#x60; (&#x60;id&#x60; is &#x60;{adId}:{placement}&#x60;). Use &#x60;?platform&#x3D;metaads&#x60; to return *only* ad rows; passing &#x60;facebook&#x60;/&#x60;instagram&#x60; returns *organic* posts only (no ads); omitting &#x60;platform&#x60; returns both. Fetch a row&#39;s thread from GET /v1/ads/{adId}/comments?placement&#x3D;{placement}. Ad comment counts are read with the Marketing API token (Facebook side) or the connected Instagram account&#39;s token (Instagram side); a row whose count can&#39;t be read is omitted. Pagination walks each account&#39;s platform listing. Following &#x60;nextCursor&#x60; reaches past the first page on Facebook and Instagram only, since they are the platforms that support a server-side date window; on the others the listing stops at its first page.
449
449
  # @param [Hash] opts the optional parameters
450
450
  # @option opts [String] :profile_id Filter by profile ID
451
451
  # @option opts [String] :platform Filter by platform. &#x60;metaads&#x60; is a synthetic value meaning the user&#39;s ads (boosted/dark posts) only; &#x60;facebook&#x60;/&#x60;instagram&#x60; return organic posts only.
@@ -17,6 +17,7 @@ module Zernio
17
17
  class GetInboxPostComments200ResponsePagination < ApiModelBase
18
18
  attr_accessor :has_more
19
19
 
20
+ # Only present when hasMore is true. Absent on the last page, so treat its absence as the end of the thread.
20
21
  attr_accessor :cursor
21
22
 
22
23
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -45,7 +45,7 @@ module Zernio
45
45
  {
46
46
  :'status' => :'String',
47
47
  :'leads' => :'Array<ListFormLeads200ResponseLeadsInner>',
48
- :'pagination' => :'GetInboxPostComments200ResponsePagination'
48
+ :'pagination' => :'SearchTweets200ResponsePagination'
49
49
  }
50
50
  end
51
51
 
@@ -44,7 +44,7 @@ module Zernio
44
44
  def self.openapi_types
45
45
  {
46
46
  :'data' => :'Array<ListInboxMentions200ResponseDataInner>',
47
- :'pagination' => :'GetInboxPostComments200ResponsePagination',
47
+ :'pagination' => :'SearchTweets200ResponsePagination',
48
48
  :'meta' => :'ListInboxMentions200ResponseMeta'
49
49
  }
50
50
  end
@@ -45,7 +45,7 @@ module Zernio
45
45
  {
46
46
  :'status' => :'String',
47
47
  :'forms' => :'Array<Object>',
48
- :'pagination' => :'GetInboxPostComments200ResponsePagination'
48
+ :'pagination' => :'SearchTweets200ResponsePagination'
49
49
  }
50
50
  end
51
51
 
@@ -45,7 +45,7 @@ module Zernio
45
45
  {
46
46
  :'status' => :'String',
47
47
  :'leads' => :'Array<ListLeads200ResponseLeadsInner>',
48
- :'pagination' => :'GetInboxPostComments200ResponsePagination'
48
+ :'pagination' => :'SearchTweets200ResponsePagination'
49
49
  }
50
50
  end
51
51
 
@@ -48,7 +48,7 @@ module Zernio
48
48
  {
49
49
  :'status' => :'String',
50
50
  :'tweets' => :'Array<SearchTweets200ResponseTweetsInner>',
51
- :'pagination' => :'GetInboxPostComments200ResponsePagination',
51
+ :'pagination' => :'SearchTweets200ResponsePagination',
52
52
  :'meta' => :'SearchTweets200ResponseMeta'
53
53
  }
54
54
  end
@@ -0,0 +1,157 @@
1
+ =begin
2
+ #Zernio API
3
+
4
+ #API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api
5
+
6
+ The version of the OpenAPI document: 1.0.4
7
+ Contact: support@zernio.com
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.19.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Zernio
17
+ class SearchTweets200ResponsePagination < ApiModelBase
18
+ attr_accessor :has_more
19
+
20
+ attr_accessor :cursor
21
+
22
+ # Attribute mapping from ruby-style variable name to JSON key.
23
+ def self.attribute_map
24
+ {
25
+ :'has_more' => :'hasMore',
26
+ :'cursor' => :'cursor'
27
+ }
28
+ end
29
+
30
+ # Returns attribute mapping this model knows about
31
+ def self.acceptable_attribute_map
32
+ attribute_map
33
+ end
34
+
35
+ # Returns all the JSON keys this model knows about
36
+ def self.acceptable_attributes
37
+ acceptable_attribute_map.values
38
+ end
39
+
40
+ # Attribute type mapping.
41
+ def self.openapi_types
42
+ {
43
+ :'has_more' => :'Boolean',
44
+ :'cursor' => :'String'
45
+ }
46
+ end
47
+
48
+ # List of attributes with nullable: true
49
+ def self.openapi_nullable
50
+ Set.new([
51
+ :'cursor'
52
+ ])
53
+ end
54
+
55
+ # Initializes the object
56
+ # @param [Hash] attributes Model attributes in the form of hash
57
+ def initialize(attributes = {})
58
+ if (!attributes.is_a?(Hash))
59
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Zernio::SearchTweets200ResponsePagination` initialize method"
60
+ end
61
+
62
+ # check to see if the attribute exists and convert string to symbol for hash key
63
+ acceptable_attribute_map = self.class.acceptable_attribute_map
64
+ attributes = attributes.each_with_object({}) { |(k, v), h|
65
+ if (!acceptable_attribute_map.key?(k.to_sym))
66
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Zernio::SearchTweets200ResponsePagination`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
67
+ end
68
+ h[k.to_sym] = v
69
+ }
70
+
71
+ if attributes.key?(:'has_more')
72
+ self.has_more = attributes[:'has_more']
73
+ end
74
+
75
+ if attributes.key?(:'cursor')
76
+ self.cursor = attributes[:'cursor']
77
+ end
78
+ end
79
+
80
+ # Show invalid properties with the reasons. Usually used together with valid?
81
+ # @return Array for valid properties with the reasons
82
+ def list_invalid_properties
83
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
84
+ invalid_properties = Array.new
85
+ invalid_properties
86
+ end
87
+
88
+ # Check to see if the all the properties in the model are valid
89
+ # @return true if the model is valid
90
+ def valid?
91
+ warn '[DEPRECATED] the `valid?` method is obsolete'
92
+ true
93
+ end
94
+
95
+ # Checks equality by comparing each attribute.
96
+ # @param [Object] Object to be compared
97
+ def ==(o)
98
+ return true if self.equal?(o)
99
+ self.class == o.class &&
100
+ has_more == o.has_more &&
101
+ cursor == o.cursor
102
+ end
103
+
104
+ # @see the `==` method
105
+ # @param [Object] Object to be compared
106
+ def eql?(o)
107
+ self == o
108
+ end
109
+
110
+ # Calculates hash code according to all attributes.
111
+ # @return [Integer] Hash code
112
+ def hash
113
+ [has_more, cursor].hash
114
+ end
115
+
116
+ # Builds the object from hash
117
+ # @param [Hash] attributes Model attributes in the form of hash
118
+ # @return [Object] Returns the model itself
119
+ def self.build_from_hash(attributes)
120
+ return nil unless attributes.is_a?(Hash)
121
+ attributes = attributes.transform_keys(&:to_sym)
122
+ transformed_hash = {}
123
+ openapi_types.each_pair do |key, type|
124
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
125
+ transformed_hash["#{key}"] = nil
126
+ elsif type =~ /\AArray<(.*)>/i
127
+ # check to ensure the input is an array given that the attribute
128
+ # is documented as an array but the input is not
129
+ if attributes[attribute_map[key]].is_a?(Array)
130
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
131
+ end
132
+ elsif !attributes[attribute_map[key]].nil?
133
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
134
+ end
135
+ end
136
+ new(transformed_hash)
137
+ end
138
+
139
+ # Returns the object in the form of hash
140
+ # @return [Hash] Returns the object in the form of hash
141
+ def to_hash
142
+ hash = {}
143
+ self.class.attribute_map.each_pair do |attr, param|
144
+ value = self.send(attr)
145
+ if value.nil?
146
+ is_nullable = self.class.openapi_nullable.include?(attr)
147
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
148
+ end
149
+
150
+ hash[param] = _to_hash(value)
151
+ end
152
+ hash
153
+ end
154
+
155
+ end
156
+
157
+ end
@@ -11,5 +11,5 @@ Generator version: 7.19.0
11
11
  =end
12
12
 
13
13
  module Zernio
14
- VERSION = '0.0.601'
14
+ VERSION = '0.0.603'
15
15
  end
data/lib/zernio-sdk.rb CHANGED
@@ -1097,6 +1097,7 @@ require 'zernio-sdk/models/search_inbox_conversations200_response_meta_failed_ac
1097
1097
  require 'zernio-sdk/models/search_reddit200_response'
1098
1098
  require 'zernio-sdk/models/search_tweets200_response'
1099
1099
  require 'zernio-sdk/models/search_tweets200_response_meta'
1100
+ require 'zernio-sdk/models/search_tweets200_response_pagination'
1100
1101
  require 'zernio-sdk/models/search_tweets200_response_tweets_inner'
1101
1102
  require 'zernio-sdk/models/search_tweets200_response_tweets_inner_author'
1102
1103
  require 'zernio-sdk/models/select_facebook_page200_response'
data/openapi.yaml CHANGED
@@ -12559,7 +12559,9 @@ paths:
12559
12559
  - Otherwise we fetch the account's latest posts live from the platform, then match and return the submitted post.
12560
12560
  - Requests are debounced per account (~15s): if the account was just synced, the live fetch is skipped.
12561
12561
 
12562
- `accountId` is required — a post URL or id alone cannot be resolved to an account, and the account must be connected to Zernio (we use its token to read the platform). Supported for every platform with a listing API (Instagram, Facebook, TikTok, YouTube, X, Threads, Pinterest, Reddit, Bluesky, Google Business, and LinkedIn organization accounts; LinkedIn personal accounts are not supported).
12562
+ `accountId` is required — a post URL or id alone cannot be resolved to an account, and the account must be connected to Zernio (we use its token to read the platform). Supported for every platform with a listing API (Instagram, Facebook, TikTok, YouTube, X, Threads, Pinterest, Reddit, Bluesky, Google Business, and LinkedIn organization accounts).
12563
+
12564
+ LinkedIn personal profiles: LinkedIn has no listing API for personal profiles, so a `url` is REQUIRED and imports that single post. Pass any LinkedIn post URL (`linkedin.com/posts/…`, `linkedin.com/feed/update/urn:li:activity:…`) or a `urn:li:share:…` / `urn:li:ugcPost:…` URN. Works for posts published outside Zernio and before the account was connected, any age; the post must be authored by the connected member. Imported posts return full analytics (impressions, reach, reactions, comments, reshares, saves) and keep refreshing on the background analytics cycle, but carry no content/media (LinkedIn does not expose them for personal profiles).
12563
12565
 
12564
12566
  `url` accepts any format the platform uses (e.g. `instagram.com/p/…`, `instagram.com/reel/…`, `youtu.be/…`, `youtube.com/shorts/…`, `tiktok.com/@user/video/…`, and `vm.tiktok.com` short links). Pass `postId` (the platform media/video id) as an alternative locator.
12565
12567
 
@@ -23695,6 +23697,10 @@ paths:
23695
23697
  from GET /v1/ads/{adId}/comments?placement={placement}. Ad comment counts are read with
23696
23698
  the Marketing API token (Facebook side) or the connected Instagram account's token
23697
23699
  (Instagram side); a row whose count can't be read is omitted.
23700
+
23701
+ Pagination walks each account's platform listing. Following `nextCursor` reaches past
23702
+ the first page on Facebook and Instagram only, since they are the platforms that
23703
+ support a server-side date window; on the others the listing stops at its first page.
23698
23704
  tags: [Comments]
23699
23705
  security: [{ bearerAuth: [] }]
23700
23706
  parameters:
@@ -23895,7 +23901,7 @@ paths:
23895
23901
  type: object
23896
23902
  properties:
23897
23903
  hasMore: { type: boolean }
23898
- cursor: { type: [string, "null"] }
23904
+ cursor: { type: [string, "null"], description: 'Only present when hasMore is true. Absent on the last page, so treat its absence as the end of the thread.' }
23899
23905
  meta:
23900
23906
  type: object
23901
23907
  properties:
@@ -393,7 +393,7 @@ describe 'AnalyticsApi' do
393
393
 
394
394
  # unit tests for sync_external_posts
395
395
  # Sync an external post
396
- # Fetch an account&#39;s latest external posts (published directly on the platform, not through Zernio) on demand, so a just-published post is retrievable within seconds instead of waiting for the background sync (which refreshes each account at most every ~90 minutes). Primary use case: verifying a submitted post. When a user publishes on the platform and immediately pastes the post URL into your app, call this with &#x60;accountId&#x60; plus &#x60;url&#x60; (or &#x60;postId&#x60;) to confirm the post exists and return its metadata. Behavior: - We check our stored copy first and return immediately if the post is already known (no platform call). - Otherwise we fetch the account&#39;s latest posts live from the platform, then match and return the submitted post. - Requests are debounced per account (~15s): if the account was just synced, the live fetch is skipped. &#x60;accountId&#x60; is required — a post URL or id alone cannot be resolved to an account, and the account must be connected to Zernio (we use its token to read the platform). Supported for every platform with a listing API (Instagram, Facebook, TikTok, YouTube, X, Threads, Pinterest, Reddit, Bluesky, Google Business, and LinkedIn organization accounts; LinkedIn personal accounts are not supported). &#x60;url&#x60; accepts any format the platform uses (e.g. &#x60;instagram.com/p/…&#x60;, &#x60;instagram.com/reel/…&#x60;, &#x60;youtu.be/…&#x60;, &#x60;youtube.com/shorts/…&#x60;, &#x60;tiktok.com/@user/video/…&#x60;, and &#x60;vm.tiktok.com&#x60; short links). Pass &#x60;postId&#x60; (the platform media/video id) as an alternative locator. Note: post-level analytics (reach, impressions) still carry the platform&#39;s own delay (e.g. ~24h on Instagram). This endpoint confirms the post exists and returns its metadata plus basic engagement (likes, comments), not delayed insights.
396
+ # Fetch an account&#39;s latest external posts (published directly on the platform, not through Zernio) on demand, so a just-published post is retrievable within seconds instead of waiting for the background sync (which refreshes each account at most every ~90 minutes). Primary use case: verifying a submitted post. When a user publishes on the platform and immediately pastes the post URL into your app, call this with &#x60;accountId&#x60; plus &#x60;url&#x60; (or &#x60;postId&#x60;) to confirm the post exists and return its metadata. Behavior: - We check our stored copy first and return immediately if the post is already known (no platform call). - Otherwise we fetch the account&#39;s latest posts live from the platform, then match and return the submitted post. - Requests are debounced per account (~15s): if the account was just synced, the live fetch is skipped. &#x60;accountId&#x60; is required — a post URL or id alone cannot be resolved to an account, and the account must be connected to Zernio (we use its token to read the platform). Supported for every platform with a listing API (Instagram, Facebook, TikTok, YouTube, X, Threads, Pinterest, Reddit, Bluesky, Google Business, and LinkedIn organization accounts). LinkedIn personal profiles: LinkedIn has no listing API for personal profiles, so a &#x60;url&#x60; is REQUIRED and imports that single post. Pass any LinkedIn post URL (&#x60;linkedin.com/posts/…&#x60;, &#x60;linkedin.com/feed/update/urn:li:activity:…&#x60;) or a &#x60;urn:li:share:…&#x60; / &#x60;urn:li:ugcPost:…&#x60; URN. Works for posts published outside Zernio and before the account was connected, any age; the post must be authored by the connected member. Imported posts return full analytics (impressions, reach, reactions, comments, reshares, saves) and keep refreshing on the background analytics cycle, but carry no content/media (LinkedIn does not expose them for personal profiles). &#x60;url&#x60; accepts any format the platform uses (e.g. &#x60;instagram.com/p/…&#x60;, &#x60;instagram.com/reel/…&#x60;, &#x60;youtu.be/…&#x60;, &#x60;youtube.com/shorts/…&#x60;, &#x60;tiktok.com/@user/video/…&#x60;, and &#x60;vm.tiktok.com&#x60; short links). Pass &#x60;postId&#x60; (the platform media/video id) as an alternative locator. Note: post-level analytics (reach, impressions) still carry the platform&#39;s own delay (e.g. ~24h on Instagram). This endpoint confirms the post exists and returns its metadata plus basic engagement (likes, comments), not delayed insights.
397
397
  # @param sync_external_posts_request
398
398
  # @param [Hash] opts the optional parameters
399
399
  # @return [SyncExternalPosts200Response]
@@ -107,7 +107,7 @@ describe 'CommentsApi' do
107
107
 
108
108
  # unit tests for list_inbox_comments
109
109
  # List commented posts
110
- # Returns posts with comment counts from all connected accounts. Aggregates data across multiple accounts. For users with the Ads add-on (Metronome plans always qualify), the user&#39;s Meta ads (boosted/dark posts) are included too. There&#39;s one row per (ad, placement-with-comments): an ad that runs on both Facebook feed and Instagram feed produces up to two rows (the Page dark post and the IG media have separate comment threads), each flagged &#x60;isAd: true&#x60; with &#x60;adId&#x60; and &#x60;placement&#x60; (&#x60;id&#x60; is &#x60;{adId}:{placement}&#x60;). Use &#x60;?platform&#x3D;metaads&#x60; to return *only* ad rows; passing &#x60;facebook&#x60;/&#x60;instagram&#x60; returns *organic* posts only (no ads); omitting &#x60;platform&#x60; returns both. Fetch a row&#39;s thread from GET /v1/ads/{adId}/comments?placement&#x3D;{placement}. Ad comment counts are read with the Marketing API token (Facebook side) or the connected Instagram account&#39;s token (Instagram side); a row whose count can&#39;t be read is omitted.
110
+ # Returns posts with comment counts from all connected accounts. Aggregates data across multiple accounts. For users with the Ads add-on (Metronome plans always qualify), the user&#39;s Meta ads (boosted/dark posts) are included too. There&#39;s one row per (ad, placement-with-comments): an ad that runs on both Facebook feed and Instagram feed produces up to two rows (the Page dark post and the IG media have separate comment threads), each flagged &#x60;isAd: true&#x60; with &#x60;adId&#x60; and &#x60;placement&#x60; (&#x60;id&#x60; is &#x60;{adId}:{placement}&#x60;). Use &#x60;?platform&#x3D;metaads&#x60; to return *only* ad rows; passing &#x60;facebook&#x60;/&#x60;instagram&#x60; returns *organic* posts only (no ads); omitting &#x60;platform&#x60; returns both. Fetch a row&#39;s thread from GET /v1/ads/{adId}/comments?placement&#x3D;{placement}. Ad comment counts are read with the Marketing API token (Facebook side) or the connected Instagram account&#39;s token (Instagram side); a row whose count can&#39;t be read is omitted. Pagination walks each account&#39;s platform listing. Following &#x60;nextCursor&#x60; reaches past the first page on Facebook and Instagram only, since they are the platforms that support a server-side date window; on the others the listing stops at its first page.
111
111
  # @param [Hash] opts the optional parameters
112
112
  # @option opts [String] :profile_id Filter by profile ID
113
113
  # @option opts [String] :platform Filter by platform. &#x60;metaads&#x60; is a synthetic value meaning the user&#39;s ads (boosted/dark posts) only; &#x60;facebook&#x60;/&#x60;instagram&#x60; return organic posts only.
@@ -0,0 +1,42 @@
1
+ =begin
2
+ #Zernio API
3
+
4
+ #API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api
5
+
6
+ The version of the OpenAPI document: 1.0.4
7
+ Contact: support@zernio.com
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.19.0
10
+
11
+ =end
12
+
13
+ require 'spec_helper'
14
+ require 'json'
15
+ require 'date'
16
+
17
+ # Unit tests for Zernio::SearchTweets200ResponsePagination
18
+ # Automatically generated by openapi-generator (https://openapi-generator.tech)
19
+ # Please update as you see appropriate
20
+ describe Zernio::SearchTweets200ResponsePagination do
21
+ #let(:instance) { Zernio::SearchTweets200ResponsePagination.new }
22
+
23
+ describe 'test an instance of SearchTweets200ResponsePagination' do
24
+ it 'should create an instance of SearchTweets200ResponsePagination' do
25
+ # uncomment below to test the instance creation
26
+ #expect(instance).to be_instance_of(Zernio::SearchTweets200ResponsePagination)
27
+ end
28
+ end
29
+
30
+ describe 'test attribute "has_more"' do
31
+ it 'should work' do
32
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
33
+ end
34
+ end
35
+
36
+ describe 'test attribute "cursor"' do
37
+ it 'should work' do
38
+ # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/
39
+ end
40
+ end
41
+
42
+ end
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: late-sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.601
4
+ version: 0.0.603
5
5
  platform: ruby
6
6
  authors:
7
7
  - OpenAPI-Generator
@@ -1188,6 +1188,7 @@ files:
1188
1188
  - docs/SearchReddit200Response.md
1189
1189
  - docs/SearchTweets200Response.md
1190
1190
  - docs/SearchTweets200ResponseMeta.md
1191
+ - docs/SearchTweets200ResponsePagination.md
1191
1192
  - docs/SearchTweets200ResponseTweetsInner.md
1192
1193
  - docs/SearchTweets200ResponseTweetsInnerAuthor.md
1193
1194
  - docs/SelectFacebookPage200Response.md
@@ -2808,6 +2809,7 @@ files:
2808
2809
  - lib/zernio-sdk/models/search_reddit200_response.rb
2809
2810
  - lib/zernio-sdk/models/search_tweets200_response.rb
2810
2811
  - lib/zernio-sdk/models/search_tweets200_response_meta.rb
2812
+ - lib/zernio-sdk/models/search_tweets200_response_pagination.rb
2811
2813
  - lib/zernio-sdk/models/search_tweets200_response_tweets_inner.rb
2812
2814
  - lib/zernio-sdk/models/search_tweets200_response_tweets_inner_author.rb
2813
2815
  - lib/zernio-sdk/models/select_facebook_page200_response.rb
@@ -4404,6 +4406,7 @@ files:
4404
4406
  - spec/models/search_inbox_conversations200_response_spec.rb
4405
4407
  - spec/models/search_reddit200_response_spec.rb
4406
4408
  - spec/models/search_tweets200_response_meta_spec.rb
4409
+ - spec/models/search_tweets200_response_pagination_spec.rb
4407
4410
  - spec/models/search_tweets200_response_spec.rb
4408
4411
  - spec/models/search_tweets200_response_tweets_inner_author_spec.rb
4409
4412
  - spec/models/search_tweets200_response_tweets_inner_spec.rb
@@ -4859,7 +4862,7 @@ files:
4859
4862
  - spec/models/you_tube_video_retention_response_retention_curve_inner_spec.rb
4860
4863
  - spec/models/you_tube_video_retention_response_spec.rb
4861
4864
  - spec/spec_helper.rb
4862
- - zernio-sdk-0.0.601.gem
4865
+ - zernio-sdk-0.0.603.gem
4863
4866
  - zernio-sdk.gemspec
4864
4867
  homepage: https://openapi-generator.tech
4865
4868
  licenses:
@@ -5414,6 +5417,7 @@ test_files:
5414
5417
  - spec/models/edit_inbox_message200_response_spec.rb
5415
5418
  - spec/models/preflight_sms_registration200_response_advisories_inner_spec.rb
5416
5419
  - spec/models/create_pinterest_board_request_spec.rb
5420
+ - spec/models/search_tweets200_response_pagination_spec.rb
5417
5421
  - spec/models/list_broadcast_recipients200_response_recipients_inner_spec.rb
5418
5422
  - spec/models/webhook_payload_message_message_attachments_inner_spec.rb
5419
5423
  - spec/models/create_standalone_ad_request_placement_assets_spec.rb
Binary file