late-sdk 0.0.908 → 0.0.910

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 (64) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +32 -19
  3. data/docs/AdAccountsApi.md +92 -16
  4. data/docs/AdCampaignsApi.md +20 -20
  5. data/docs/AdCreativesApi.md +222 -0
  6. data/docs/AdInsightsApi.md +16 -16
  7. data/docs/AdTargetingApi.md +4 -4
  8. data/docs/CheckPhoneNumberAvailability200Response.md +1 -1
  9. data/docs/ConversionsApi.md +8 -8
  10. data/docs/GetAdComments200ResponseMeta.md +1 -1
  11. data/docs/ListPartnershipAdContent200Response.md +18 -0
  12. data/docs/ListPartnershipAdContent200ResponseMediaInner.md +30 -0
  13. data/docs/ListPartnershipAdPermissions200Response.md +18 -0
  14. data/docs/ListPartnershipAdPermissions200ResponsePermissionsInner.md +22 -0
  15. data/docs/ListPhoneNumberCountries200ResponseCountriesInnerTypesInner.md +1 -1
  16. data/docs/ListTikTokAdPixels200Response.md +20 -0
  17. data/docs/ListTikTokAdPixels200ResponsePixelsInner.md +26 -0
  18. data/docs/ListTikTokAdPixels200ResponsePixelsInnerEventDetailsInner.md +22 -0
  19. data/docs/ReachAndFrequencyApi.md +16 -16
  20. data/docs/SetPartnershipAdPermission200Response.md +18 -0
  21. data/docs/SetPartnershipAdPermissionRequest.md +22 -0
  22. data/docs/SubmitPhoneNumberKyc200Response.md +1 -1
  23. data/lib/zernio-sdk/api/ad_accounts_api.rb +89 -14
  24. data/lib/zernio-sdk/api/ad_campaigns_api.rb +10 -10
  25. data/lib/zernio-sdk/api/ad_creatives_api.rb +218 -0
  26. data/lib/zernio-sdk/api/ad_insights_api.rb +8 -8
  27. data/lib/zernio-sdk/api/ad_targeting_api.rb +2 -2
  28. data/lib/zernio-sdk/api/conversions_api.rb +4 -4
  29. data/lib/zernio-sdk/api/reach_and_frequency_api.rb +8 -8
  30. data/lib/zernio-sdk/models/check_phone_number_availability200_response.rb +1 -1
  31. data/lib/zernio-sdk/models/get_ad_comments200_response_meta.rb +1 -1
  32. data/lib/zernio-sdk/models/list_partnership_ad_content200_response.rb +149 -0
  33. data/lib/zernio-sdk/models/list_partnership_ad_content200_response_media_inner.rb +205 -0
  34. data/lib/zernio-sdk/models/list_partnership_ad_permissions200_response.rb +149 -0
  35. data/lib/zernio-sdk/models/list_partnership_ad_permissions200_response_permissions_inner.rb +165 -0
  36. data/lib/zernio-sdk/models/list_phone_number_countries200_response_countries_inner_types_inner.rb +1 -1
  37. data/lib/zernio-sdk/models/list_tik_tok_ad_pixels200_response.rb +158 -0
  38. data/lib/zernio-sdk/models/list_tik_tok_ad_pixels200_response_pixels_inner.rb +187 -0
  39. data/lib/zernio-sdk/models/list_tik_tok_ad_pixels200_response_pixels_inner_event_details_inner.rb +166 -0
  40. data/lib/zernio-sdk/models/set_partnership_ad_permission200_response.rb +147 -0
  41. data/lib/zernio-sdk/models/set_partnership_ad_permission_request.rb +219 -0
  42. data/lib/zernio-sdk/models/submit_phone_number_kyc200_response.rb +1 -1
  43. data/lib/zernio-sdk/version.rb +1 -1
  44. data/lib/zernio-sdk.rb +9 -0
  45. data/openapi.yaml +675 -171
  46. data/spec/api/ad_accounts_api_spec.rb +21 -7
  47. data/spec/api/ad_campaigns_api_spec.rb +5 -5
  48. data/spec/api/ad_creatives_api_spec.rb +40 -0
  49. data/spec/api/ad_insights_api_spec.rb +4 -4
  50. data/spec/api/ad_targeting_api_spec.rb +1 -1
  51. data/spec/api/conversions_api_spec.rb +2 -2
  52. data/spec/api/reach_and_frequency_api_spec.rb +4 -4
  53. data/spec/models/list_partnership_ad_content200_response_media_inner_spec.rb +72 -0
  54. data/spec/models/list_partnership_ad_content200_response_spec.rb +36 -0
  55. data/spec/models/list_partnership_ad_permissions200_response_permissions_inner_spec.rb +48 -0
  56. data/spec/models/list_partnership_ad_permissions200_response_spec.rb +36 -0
  57. data/spec/models/list_tik_tok_ad_pixels200_response_pixels_inner_event_details_inner_spec.rb +48 -0
  58. data/spec/models/list_tik_tok_ad_pixels200_response_pixels_inner_spec.rb +60 -0
  59. data/spec/models/list_tik_tok_ad_pixels200_response_spec.rb +42 -0
  60. data/spec/models/set_partnership_ad_permission200_response_spec.rb +36 -0
  61. data/spec/models/set_partnership_ad_permission_request_spec.rb +48 -0
  62. data/zernio-sdk-0.0.910.gem +0 -0
  63. metadata +38 -2
  64. data/zernio-sdk-0.0.908.gem +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 62dbb90fbfabfd6315efd18af91db31687d9f771780b8c2b1fb8d285846a6bda
4
- data.tar.gz: 18586efd5787dbcee4024e1c6e02e816118284413b822f4be0ef504050488fe0
3
+ metadata.gz: d8b5b6b0da37896e132765ad4f3c90961929b0b7f59003bc75dcd462ebb41b69
4
+ data.tar.gz: 37ad86e5f98091654f15428cb3f00289e84f4f5723eaf04fb4dac9400ef472e0
5
5
  SHA512:
6
- metadata.gz: 38912882c7da96bd189576b840f9680fd7a7989dac260f83a03179a2863c6ec4fa5238c3f88f65c9009f8256c9e265e822c1e72a4b04d42de51c37f6c8007f87
7
- data.tar.gz: e5a9cd81e4db3687695af930b796beaf6096ce5ea5a044e90fc059aed4217e96a73ddfdd43bbae19d327889c73ad89113993dce7c96ad76c84001377bba45027
6
+ metadata.gz: 477bc2945e8131ad0d412d2c550ddfa3f98090f7db6a8e7c9db22027736a4b4d2300a02879f01f699c11b364c3fe972bdab7c34f718aa1d85fe25825c7a674db
7
+ data.tar.gz: dfb4399f8cf49afe535a24133e969d2378a0307cf2e95dab5cda71eb5f959bee92fd386294c279634114d8b2916b37fee7cbe66eec104da73bfc1db1424c7734
data/README.md CHANGED
@@ -111,7 +111,7 @@ Class | Method | HTTP request | Description
111
111
  *Zernio::AdAccountsApi* | [**add_account_structured_snippets**](docs/AdAccountsApi.md#add_account_structured_snippets) | **POST** /v1/ads/accounts/structured-snippets | Add account snippets
112
112
  *Zernio::AdAccountsApi* | [**create_ad_account**](docs/AdAccountsApi.md#create_ad_account) | **POST** /v1/ads/accounts | Create Meta ad account
113
113
  *Zernio::AdAccountsApi* | [**create_ad_negative_keyword_list**](docs/AdAccountsApi.md#create_ad_negative_keyword_list) | **POST** /v1/ads/accounts/negative-keyword-lists | Create a negative keyword list
114
- *Zernio::AdAccountsApi* | [**create_custom_conversion**](docs/AdAccountsApi.md#create_custom_conversion) | **POST** /v1/accounts/{accountId}/custom-conversions | Create or reuse a custom conversion
114
+ *Zernio::AdAccountsApi* | [**create_custom_conversion**](docs/AdAccountsApi.md#create_custom_conversion) | **POST** /v1/accounts/{accountId}/custom-conversions | Create custom conversion
115
115
  *Zernio::AdAccountsApi* | [**create_high_demand_period**](docs/AdAccountsApi.md#create_high_demand_period) | **POST** /v1/ads/high-demand-periods | Schedule a budget increase
116
116
  *Zernio::AdAccountsApi* | [**create_value_rule_set**](docs/AdAccountsApi.md#create_value_rule_set) | **POST** /v1/ads/value-rule-sets | Create a value rule set
117
117
  *Zernio::AdAccountsApi* | [**delete_ad_comment**](docs/AdAccountsApi.md#delete_ad_comment) | **DELETE** /v1/ads/{adId}/comments/{commentId} | Delete an ad comment
@@ -122,7 +122,7 @@ Class | Method | HTTP request | Description
122
122
  *Zernio::AdAccountsApi* | [**get_ad_negative_keyword_list**](docs/AdAccountsApi.md#get_ad_negative_keyword_list) | **GET** /v1/ads/accounts/negative-keyword-lists/{listId} | Get a negative keyword list
123
123
  *Zernio::AdAccountsApi* | [**get_ads_activity_log**](docs/AdAccountsApi.md#get_ads_activity_log) | **GET** /v1/ads/activity | Ad account change / audit log
124
124
  *Zernio::AdAccountsApi* | [**get_dsa_defaults**](docs/AdAccountsApi.md#get_dsa_defaults) | **GET** /v1/ads/dsa-defaults | Get ad account DSA defaults
125
- *Zernio::AdAccountsApi* | [**get_dsa_recommendations**](docs/AdAccountsApi.md#get_dsa_recommendations) | **GET** /v1/ads/dsa-recommendations | List DSA beneficiary/payor suggestions
125
+ *Zernio::AdAccountsApi* | [**get_dsa_recommendations**](docs/AdAccountsApi.md#get_dsa_recommendations) | **GET** /v1/ads/dsa-recommendations | Get DSA recommendations
126
126
  *Zernio::AdAccountsApi* | [**get_ios_fourteen_campaign_limits**](docs/AdAccountsApi.md#get_ios_fourteen_campaign_limits) | **GET** /v1/ads/ios-fourteen-campaign-limits | Get iOS 14 campaign limits
127
127
  *Zernio::AdAccountsApi* | [**get_value_rule_set**](docs/AdAccountsApi.md#get_value_rule_set) | **GET** /v1/ads/value-rule-sets/{valueRuleSetId} | Read a value rule set
128
128
  *Zernio::AdAccountsApi* | [**hide_ad_comment**](docs/AdAccountsApi.md#hide_ad_comment) | **POST** /v1/ads/{adId}/comments/{commentId}/hide | Hide or unhide an ad comment
@@ -137,8 +137,9 @@ Class | Method | HTTP request | Description
137
137
  *Zernio::AdAccountsApi* | [**list_ads_instagram_accounts**](docs/AdAccountsApi.md#list_ads_instagram_accounts) | **GET** /v1/ads/instagram-accounts | List Instagram ad identities
138
138
  *Zernio::AdAccountsApi* | [**list_advertisable_applications**](docs/AdAccountsApi.md#list_advertisable_applications) | **GET** /v1/ads/advertisable-applications | List advertisable apps
139
139
  *Zernio::AdAccountsApi* | [**list_custom_conversions**](docs/AdAccountsApi.md#list_custom_conversions) | **GET** /v1/accounts/{accountId}/custom-conversions | List custom conversions
140
- *Zernio::AdAccountsApi* | [**list_high_demand_periods**](docs/AdAccountsApi.md#list_high_demand_periods) | **GET** /v1/ads/high-demand-periods | High demand periods / budget schedules
140
+ *Zernio::AdAccountsApi* | [**list_high_demand_periods**](docs/AdAccountsApi.md#list_high_demand_periods) | **GET** /v1/ads/high-demand-periods | List high-demand periods
141
141
  *Zernio::AdAccountsApi* | [**list_meta_businesses**](docs/AdAccountsApi.md#list_meta_businesses) | **GET** /v1/ads/businesses | Businesses list
142
+ *Zernio::AdAccountsApi* | [**list_tik_tok_ad_pixels**](docs/AdAccountsApi.md#list_tik_tok_ad_pixels) | **GET** /v1/ads/pixels | List TikTok ad pixels
142
143
  *Zernio::AdAccountsApi* | [**list_value_rule_sets**](docs/AdAccountsApi.md#list_value_rule_sets) | **GET** /v1/ads/value-rule-sets | List value rule sets
143
144
  *Zernio::AdAccountsApi* | [**remove_account_callout**](docs/AdAccountsApi.md#remove_account_callout) | **DELETE** /v1/ads/accounts/callouts | Remove account callout
144
145
  *Zernio::AdAccountsApi* | [**remove_account_sitelink**](docs/AdAccountsApi.md#remove_account_sitelink) | **DELETE** /v1/ads/accounts/sitelinks | Remove account sitelink
@@ -158,14 +159,14 @@ Class | Method | HTTP request | Description
158
159
  *Zernio::AdAudiencesApi* | [**list_ad_audiences**](docs/AdAudiencesApi.md#list_ad_audiences) | **GET** /v1/ads/audiences | List custom audiences
159
160
  *Zernio::AdAudiencesApi* | [**replace_ad_audience_companies**](docs/AdAudiencesApi.md#replace_ad_audience_companies) | **POST** /v1/ads/audiences/{audienceId}/companies | Replace audience companies
160
161
  *Zernio::AdAudiencesApi* | [**update_ad_audience**](docs/AdAudiencesApi.md#update_ad_audience) | **PUT** /v1/ads/audiences/{audienceId} | Update an audience
161
- *Zernio::AdCampaignsApi* | [**add_ad_keywords**](docs/AdCampaignsApi.md#add_ad_keywords) | **POST** /v1/ads/keywords | Add Search keywords to an ad group
162
+ *Zernio::AdCampaignsApi* | [**add_ad_keywords**](docs/AdCampaignsApi.md#add_ad_keywords) | **POST** /v1/ads/keywords | Add Search ad-group keywords
162
163
  *Zernio::AdCampaignsApi* | [**attach_ad_group_assets**](docs/AdCampaignsApi.md#attach_ad_group_assets) | **POST** /v1/ads/ad-sets/{adSetId}/assets | Attach ad-group assets
163
164
  *Zernio::AdCampaignsApi* | [**attach_campaign_assets**](docs/AdCampaignsApi.md#attach_campaign_assets) | **POST** /v1/ads/campaigns/{campaignId}/assets | Attach campaign assets
164
165
  *Zernio::AdCampaignsApi* | [**boost_post**](docs/AdCampaignsApi.md#boost_post) | **POST** /v1/ads/boost | Boost post as ad
165
166
  *Zernio::AdCampaignsApi* | [**bulk_update_ad_campaign_status**](docs/AdCampaignsApi.md#bulk_update_ad_campaign_status) | **POST** /v1/ads/campaigns/bulk-status | Pause or resume many campaigns
166
167
  *Zernio::AdCampaignsApi* | [**create_ad_campaign**](docs/AdCampaignsApi.md#create_ad_campaign) | **POST** /v1/ads/campaigns | Create a standalone campaign
167
168
  *Zernio::AdCampaignsApi* | [**create_ad_set**](docs/AdCampaignsApi.md#create_ad_set) | **POST** /v1/ads/ad-sets | Create a standalone ad group
168
- *Zernio::AdCampaignsApi* | [**create_bid_strategy**](docs/AdCampaignsApi.md#create_bid_strategy) | **POST** /v1/ads/bid-strategies | Create a Google Ads portfolio bid strategy
169
+ *Zernio::AdCampaignsApi* | [**create_bid_strategy**](docs/AdCampaignsApi.md#create_bid_strategy) | **POST** /v1/ads/bid-strategies | Create portfolio bid strategy
169
170
  *Zernio::AdCampaignsApi* | [**create_standalone_ad**](docs/AdCampaignsApi.md#create_standalone_ad) | **POST** /v1/ads/create | Create standalone ad
170
171
  *Zernio::AdCampaignsApi* | [**delete_ad**](docs/AdCampaignsApi.md#delete_ad) | **DELETE** /v1/ads/{adId} | Cancel an ad
171
172
  *Zernio::AdCampaignsApi* | [**delete_ad_campaign**](docs/AdCampaignsApi.md#delete_ad_campaign) | **DELETE** /v1/ads/campaigns/{campaignId} | Delete a campaign
@@ -174,7 +175,7 @@ Class | Method | HTTP request | Description
174
175
  *Zernio::AdCampaignsApi* | [**duplicate_ad_campaign**](docs/AdCampaignsApi.md#duplicate_ad_campaign) | **POST** /v1/ads/campaigns/{campaignId}/duplicate | Duplicate a campaign
175
176
  *Zernio::AdCampaignsApi* | [**duplicate_ad_set**](docs/AdCampaignsApi.md#duplicate_ad_set) | **POST** /v1/ads/ad-sets/{adSetId}/duplicate | Duplicate an ad set
176
177
  *Zernio::AdCampaignsApi* | [**get_ad**](docs/AdCampaignsApi.md#get_ad) | **GET** /v1/ads/{adId} | Get ad details
177
- *Zernio::AdCampaignsApi* | [**get_ad_set_details**](docs/AdCampaignsApi.md#get_ad_set_details) | **GET** /v1/ads/ad-sets/{adSetId} | Live ad-set details incl. learning phase
178
+ *Zernio::AdCampaignsApi* | [**get_ad_set_details**](docs/AdCampaignsApi.md#get_ad_set_details) | **GET** /v1/ads/ad-sets/{adSetId} | Get live ad-set details
178
179
  *Zernio::AdCampaignsApi* | [**get_ad_tree**](docs/AdCampaignsApi.md#get_ad_tree) | **GET** /v1/ads/tree | Get campaign tree
179
180
  *Zernio::AdCampaignsApi* | [**get_ads_timeline**](docs/AdCampaignsApi.md#get_ads_timeline) | **GET** /v1/ads/timeline | Get daily account metrics
180
181
  *Zernio::AdCampaignsApi* | [**get_campaign_bidding**](docs/AdCampaignsApi.md#get_campaign_bidding) | **GET** /v1/ads/campaigns/{campaignId}/bidding | Read a campaign's current bidding
@@ -184,7 +185,7 @@ Class | Method | HTTP request | Description
184
185
  *Zernio::AdCampaignsApi* | [**list_ad_keywords**](docs/AdCampaignsApi.md#list_ad_keywords) | **GET** /v1/ads/keywords | List Search keywords
185
186
  *Zernio::AdCampaignsApi* | [**list_ad_sets**](docs/AdCampaignsApi.md#list_ad_sets) | **GET** /v1/ads/ad-sets | List ad sets
186
187
  *Zernio::AdCampaignsApi* | [**list_ads**](docs/AdCampaignsApi.md#list_ads) | **GET** /v1/ads | List ads
187
- *Zernio::AdCampaignsApi* | [**list_bid_strategies**](docs/AdCampaignsApi.md#list_bid_strategies) | **GET** /v1/ads/bid-strategies | List Google Ads portfolio bid strategies
188
+ *Zernio::AdCampaignsApi* | [**list_bid_strategies**](docs/AdCampaignsApi.md#list_bid_strategies) | **GET** /v1/ads/bid-strategies | List portfolio bid strategies
188
189
  *Zernio::AdCampaignsApi* | [**list_campaign_assets**](docs/AdCampaignsApi.md#list_campaign_assets) | **GET** /v1/ads/campaigns/{campaignId}/assets | List campaign assets
189
190
  *Zernio::AdCampaignsApi* | [**list_campaign_negative_keyword_lists**](docs/AdCampaignsApi.md#list_campaign_negative_keyword_lists) | **GET** /v1/ads/campaigns/{campaignId}/negative-keyword-lists | List campaign negative lists
190
191
  *Zernio::AdCampaignsApi* | [**list_campaign_negative_keywords**](docs/AdCampaignsApi.md#list_campaign_negative_keywords) | **GET** /v1/ads/campaigns/{campaignId}/negative-keywords | List campaign-level negative keywords
@@ -202,7 +203,7 @@ Class | Method | HTTP request | Description
202
203
  *Zernio::AdCampaignsApi* | [**update_ad_set**](docs/AdCampaignsApi.md#update_ad_set) | **PUT** /v1/ads/ad-sets/{adSetId} | Update an ad set
203
204
  *Zernio::AdCampaignsApi* | [**update_ad_set_status**](docs/AdCampaignsApi.md#update_ad_set_status) | **PUT** /v1/ads/ad-sets/{adSetId}/status | Pause or resume a single ad set
204
205
  *Zernio::AdCampaignsApi* | [**update_ad_status**](docs/AdCampaignsApi.md#update_ad_status) | **PUT** /v1/ads/{adId}/status | Pause or resume a single ad
205
- *Zernio::AdCampaignsApi* | [**update_bid_strategy**](docs/AdCampaignsApi.md#update_bid_strategy) | **PATCH** /v1/ads/bid-strategies/{strategyId} | Update a Google Ads portfolio bid strategy
206
+ *Zernio::AdCampaignsApi* | [**update_bid_strategy**](docs/AdCampaignsApi.md#update_bid_strategy) | **PATCH** /v1/ads/bid-strategies/{strategyId} | Update portfolio bid strategy
206
207
  *Zernio::AdCampaignsApi* | [**update_campaign_assets**](docs/AdCampaignsApi.md#update_campaign_assets) | **PUT** /v1/ads/campaigns/{campaignId}/assets | Update campaign assets
207
208
  *Zernio::AdCampaignsApi* | [**update_campaign_targeting**](docs/AdCampaignsApi.md#update_campaign_targeting) | **PUT** /v1/ads/campaigns/{campaignId}/targeting | Edit a Google campaign's device, location, or language targeting
208
209
  *Zernio::AdCreativesApi* | [**create_ad_creative**](docs/AdCreativesApi.md#create_ad_creative) | **POST** /v1/ads/creatives | Create a standalone creative
@@ -217,23 +218,26 @@ Class | Method | HTTP request | Description
217
218
  *Zernio::AdCreativesApi* | [**list_ad_creatives**](docs/AdCreativesApi.md#list_ad_creatives) | **GET** /v1/ads/creatives | Creative library
218
219
  *Zernio::AdCreativesApi* | [**list_ad_images**](docs/AdCreativesApi.md#list_ad_images) | **GET** /v1/ads/images | Ad image library
219
220
  *Zernio::AdCreativesApi* | [**list_ad_videos**](docs/AdCreativesApi.md#list_ad_videos) | **GET** /v1/ads/videos | Ad video library
221
+ *Zernio::AdCreativesApi* | [**list_partnership_ad_content**](docs/AdCreativesApi.md#list_partnership_ad_content) | **GET** /v1/ads/partnership-content | List partnership ad content
222
+ *Zernio::AdCreativesApi* | [**list_partnership_ad_permissions**](docs/AdCreativesApi.md#list_partnership_ad_permissions) | **GET** /v1/ads/partnership-permissions | List partnership permissions
223
+ *Zernio::AdCreativesApi* | [**set_partnership_ad_permission**](docs/AdCreativesApi.md#set_partnership_ad_permission) | **POST** /v1/ads/partnership-permissions | Set partnership permission
220
224
  *Zernio::AdCreativesApi* | [**update_ad_creative**](docs/AdCreativesApi.md#update_ad_creative) | **PUT** /v1/ads/creatives/{creativeId} | Rename a creative
221
225
  *Zernio::AdCreativesApi* | [**upload_ad_image**](docs/AdCreativesApi.md#upload_ad_image) | **POST** /v1/ads/images | Upload an ad image from base64
222
226
  *Zernio::AdCreativesApi* | [**upload_ad_video**](docs/AdCreativesApi.md#upload_ad_video) | **POST** /v1/ads/videos | Upload an ad video
223
- *Zernio::AdInsightsApi* | [**create_ad_insights_report**](docs/AdInsightsApi.md#create_ad_insights_report) | **POST** /v1/ads/insights/reports | Submit an async insights report run
224
- *Zernio::AdInsightsApi* | [**generate_keyword_historical_metrics**](docs/AdInsightsApi.md#generate_keyword_historical_metrics) | **POST** /v1/ads/keywords/historical-metrics | Historical keyword metrics (Google Keyword Planner)
225
- *Zernio::AdInsightsApi* | [**generate_keyword_ideas**](docs/AdInsightsApi.md#generate_keyword_ideas) | **POST** /v1/ads/keywords/ideas | Generate keyword ideas (Google Keyword Planner)
227
+ *Zernio::AdInsightsApi* | [**create_ad_insights_report**](docs/AdInsightsApi.md#create_ad_insights_report) | **POST** /v1/ads/insights/reports | Submit async insights report
228
+ *Zernio::AdInsightsApi* | [**generate_keyword_historical_metrics**](docs/AdInsightsApi.md#generate_keyword_historical_metrics) | **POST** /v1/ads/keywords/historical-metrics | Get historical keyword metrics
229
+ *Zernio::AdInsightsApi* | [**generate_keyword_ideas**](docs/AdInsightsApi.md#generate_keyword_ideas) | **POST** /v1/ads/keywords/ideas | Generate keyword ideas
226
230
  *Zernio::AdInsightsApi* | [**get_ad_analytics**](docs/AdInsightsApi.md#get_ad_analytics) | **GET** /v1/ads/{adId}/analytics | Get ad analytics
227
231
  *Zernio::AdInsightsApi* | [**get_ad_insights_report**](docs/AdInsightsApi.md#get_ad_insights_report) | **GET** /v1/ads/insights/reports/{reportRunId} | Poll an async insights report run
228
232
  *Zernio::AdInsightsApi* | [**get_ads_search_terms**](docs/AdInsightsApi.md#get_ads_search_terms) | **GET** /v1/ads/search-terms | Google Ads search terms report
229
233
  *Zernio::AdInsightsApi* | [**get_campaign_analytics**](docs/AdInsightsApi.md#get_campaign_analytics) | **GET** /v1/ads/campaigns/{campaignId}/analytics | Get campaign analytics
230
- *Zernio::AdInsightsApi* | [**list_local_services_lead_conversations**](docs/AdInsightsApi.md#list_local_services_lead_conversations) | **GET** /v1/ads/local-services/leads/{leadId}/conversations | Conversations of a Local Services lead
234
+ *Zernio::AdInsightsApi* | [**list_local_services_lead_conversations**](docs/AdInsightsApi.md#list_local_services_lead_conversations) | **GET** /v1/ads/local-services/leads/{leadId}/conversations | List lead conversations
231
235
  *Zernio::AdInsightsApi* | [**list_local_services_leads**](docs/AdInsightsApi.md#list_local_services_leads) | **GET** /v1/ads/local-services/leads | Google Local Services Ads leads
232
236
  *Zernio::AdInsightsApi* | [**query_ad_insights**](docs/AdInsightsApi.md#query_ad_insights) | **GET** /v1/ads/insights | Flexible live insights query
233
237
  *Zernio::AdLibraryApi* | [**search_ad_library**](docs/AdLibraryApi.md#search_ad_library) | **GET** /v1/ads/library | Search the public Ad Library
234
238
  *Zernio::AdTargetingApi* | [**estimate_ad_reach**](docs/AdTargetingApi.md#estimate_ad_reach) | **POST** /v1/ads/targeting/reach-estimate | Estimate audience reach
235
239
  *Zernio::AdTargetingApi* | [**get_linked_in_bid_pricing**](docs/AdTargetingApi.md#get_linked_in_bid_pricing) | **POST** /v1/ads/targeting/bid-pricing | Suggested bid and budget bounds
236
- *Zernio::AdTargetingApi* | [**get_linked_in_supply_forecast**](docs/AdTargetingApi.md#get_linked_in_supply_forecast) | **POST** /v1/ads/targeting/supply-forecast | Impressions, clicks and spend forecast
240
+ *Zernio::AdTargetingApi* | [**get_linked_in_supply_forecast**](docs/AdTargetingApi.md#get_linked_in_supply_forecast) | **POST** /v1/ads/targeting/supply-forecast | Forecast ad delivery
237
241
  *Zernio::AdTargetingApi* | [**search_ad_interests**](docs/AdTargetingApi.md#search_ad_interests) | **GET** /v1/ads/interests | Search targeting interests
238
242
  *Zernio::AdTargetingApi* | [**search_ad_targeting**](docs/AdTargetingApi.md#search_ad_targeting) | **GET** /v1/ads/targeting/search | Search targeting options
239
243
  *Zernio::AnalyticsApi* | [**get_analytics**](docs/AnalyticsApi.md#get_analytics) | **GET** /v1/analytics | Get post analytics
@@ -422,13 +426,13 @@ Class | Method | HTTP request | Description
422
426
  *Zernio::ContactsApi* | [**update_contact**](docs/ContactsApi.md#update_contact) | **PATCH** /v1/contacts/{contactId} | Update contact
423
427
  *Zernio::ConversionsApi* | [**add_conversion_associations**](docs/ConversionsApi.md#add_conversion_associations) | **POST** /v1/accounts/{accountId}/conversion-destinations/{destinationId}/associations | Associate campaigns
424
428
  *Zernio::ConversionsApi* | [**adjust_conversions**](docs/ConversionsApi.md#adjust_conversions) | **POST** /v1/ads/conversions/adjustments | Adjust uploaded conversions
425
- *Zernio::ConversionsApi* | [**create_conversion_action**](docs/ConversionsApi.md#create_conversion_action) | **POST** /v1/ads/conversions/actions | Create a website conversion action
429
+ *Zernio::ConversionsApi* | [**create_conversion_action**](docs/ConversionsApi.md#create_conversion_action) | **POST** /v1/ads/conversions/actions | Create website conversion action
426
430
  *Zernio::ConversionsApi* | [**create_conversion_destination**](docs/ConversionsApi.md#create_conversion_destination) | **POST** /v1/accounts/{accountId}/conversion-destinations | Create a conversion destination
427
431
  *Zernio::ConversionsApi* | [**delete_conversion_destination**](docs/ConversionsApi.md#delete_conversion_destination) | **DELETE** /v1/accounts/{accountId}/conversion-destinations/{destinationId} | Delete a conversion destination
428
432
  *Zernio::ConversionsApi* | [**get_conversion_destination**](docs/ConversionsApi.md#get_conversion_destination) | **GET** /v1/accounts/{accountId}/conversion-destinations/{destinationId} | Get a conversion destination
429
433
  *Zernio::ConversionsApi* | [**get_conversion_metrics**](docs/ConversionsApi.md#get_conversion_metrics) | **GET** /v1/accounts/{accountId}/conversion-destinations/{destinationId}/metrics | Get attribution metrics
430
434
  *Zernio::ConversionsApi* | [**get_conversions_quality**](docs/ConversionsApi.md#get_conversions_quality) | **GET** /v1/ads/conversions/quality | Get Event Match Quality
431
- *Zernio::ConversionsApi* | [**list_conversion_actions**](docs/ConversionsApi.md#list_conversion_actions) | **GET** /v1/ads/conversions/actions | List conversion actions and their tag snippets
435
+ *Zernio::ConversionsApi* | [**list_conversion_actions**](docs/ConversionsApi.md#list_conversion_actions) | **GET** /v1/ads/conversions/actions | List conversion actions
432
436
  *Zernio::ConversionsApi* | [**list_conversion_associations**](docs/ConversionsApi.md#list_conversion_associations) | **GET** /v1/accounts/{accountId}/conversion-destinations/{destinationId}/associations | List associated campaigns
433
437
  *Zernio::ConversionsApi* | [**list_conversion_destinations**](docs/ConversionsApi.md#list_conversion_destinations) | **GET** /v1/accounts/{accountId}/conversion-destinations | List conversion destinations
434
438
  *Zernio::ConversionsApi* | [**remove_conversion_associations**](docs/ConversionsApi.md#remove_conversion_associations) | **DELETE** /v1/accounts/{accountId}/conversion-destinations/{destinationId}/associations | Remove associated campaigns
@@ -582,10 +586,10 @@ Class | Method | HTTP request | Description
582
586
  *Zernio::QueueApi* | [**list_queue_slots**](docs/QueueApi.md#list_queue_slots) | **GET** /v1/queue/slots | List schedules
583
587
  *Zernio::QueueApi* | [**preview_queue**](docs/QueueApi.md#preview_queue) | **GET** /v1/queue/preview | Preview upcoming slots
584
588
  *Zernio::QueueApi* | [**update_queue_slot**](docs/QueueApi.md#update_queue_slot) | **PUT** /v1/queue/slots | Update schedule
585
- *Zernio::ReachAndFrequencyApi* | [**cancel_rf_reservation**](docs/ReachAndFrequencyApi.md#cancel_rf_reservation) | **DELETE** /v1/ads/rf-predictions/{predictionId} | Cancel a Reach & Frequency reservation
586
- *Zernio::ReachAndFrequencyApi* | [**create_rf_prediction**](docs/ReachAndFrequencyApi.md#create_rf_prediction) | **POST** /v1/ads/rf-predictions | Create a Reach & Frequency prediction
587
- *Zernio::ReachAndFrequencyApi* | [**get_rf_prediction**](docs/ReachAndFrequencyApi.md#get_rf_prediction) | **GET** /v1/ads/rf-predictions/{predictionId} | Read a Reach & Frequency prediction
588
- *Zernio::ReachAndFrequencyApi* | [**reserve_rf_prediction**](docs/ReachAndFrequencyApi.md#reserve_rf_prediction) | **POST** /v1/ads/rf-predictions/{predictionId}/reserve | Reserve a Reach & Frequency prediction
589
+ *Zernio::ReachAndFrequencyApi* | [**cancel_rf_reservation**](docs/ReachAndFrequencyApi.md#cancel_rf_reservation) | **DELETE** /v1/ads/rf-predictions/{predictionId} | Cancel reach-frequency booking
590
+ *Zernio::ReachAndFrequencyApi* | [**create_rf_prediction**](docs/ReachAndFrequencyApi.md#create_rf_prediction) | **POST** /v1/ads/rf-predictions | Create reach-frequency prediction
591
+ *Zernio::ReachAndFrequencyApi* | [**get_rf_prediction**](docs/ReachAndFrequencyApi.md#get_rf_prediction) | **GET** /v1/ads/rf-predictions/{predictionId} | Get reach-frequency prediction
592
+ *Zernio::ReachAndFrequencyApi* | [**reserve_rf_prediction**](docs/ReachAndFrequencyApi.md#reserve_rf_prediction) | **POST** /v1/ads/rf-predictions/{predictionId}/reserve | Reserve reach-frequency inventory
589
593
  *Zernio::RedditSearchApi* | [**get_reddit_feed**](docs/RedditSearchApi.md#get_reddit_feed) | **GET** /v1/reddit/feed | Get subreddit feed
590
594
  *Zernio::RedditSearchApi* | [**search_reddit**](docs/RedditSearchApi.md#search_reddit) | **GET** /v1/reddit/search | Search posts
591
595
  *Zernio::ReviewsApi* | [**delete_inbox_review_reply**](docs/ReviewsApi.md#delete_inbox_review_reply) | **DELETE** /v1/inbox/reviews/{reviewId}/reply | Delete review reply
@@ -1931,6 +1935,10 @@ Class | Method | HTTP request | Description
1931
1935
  - [Zernio::ListLogs200ResponseLogsInner](docs/ListLogs200ResponseLogsInner.md)
1932
1936
  - [Zernio::ListLogs200ResponsePagination](docs/ListLogs200ResponsePagination.md)
1933
1937
  - [Zernio::ListMetaBusinesses200Response](docs/ListMetaBusinesses200Response.md)
1938
+ - [Zernio::ListPartnershipAdContent200Response](docs/ListPartnershipAdContent200Response.md)
1939
+ - [Zernio::ListPartnershipAdContent200ResponseMediaInner](docs/ListPartnershipAdContent200ResponseMediaInner.md)
1940
+ - [Zernio::ListPartnershipAdPermissions200Response](docs/ListPartnershipAdPermissions200Response.md)
1941
+ - [Zernio::ListPartnershipAdPermissions200ResponsePermissionsInner](docs/ListPartnershipAdPermissions200ResponsePermissionsInner.md)
1934
1942
  - [Zernio::ListPhoneNumberCountries200Response](docs/ListPhoneNumberCountries200Response.md)
1935
1943
  - [Zernio::ListPhoneNumberCountries200ResponseCountriesInner](docs/ListPhoneNumberCountries200ResponseCountriesInner.md)
1936
1944
  - [Zernio::ListPhoneNumberCountries200ResponseCountriesInnerTypesInner](docs/ListPhoneNumberCountries200ResponseCountriesInnerTypesInner.md)
@@ -1967,6 +1975,9 @@ Class | Method | HTTP request | Description
1967
1975
  - [Zernio::ListSmsSenderIds200ResponseSenderIdsInner](docs/ListSmsSenderIds200ResponseSenderIdsInner.md)
1968
1976
  - [Zernio::ListSnapchatProfiles200Response](docs/ListSnapchatProfiles200Response.md)
1969
1977
  - [Zernio::ListSnapchatProfiles200ResponsePublicProfilesInner](docs/ListSnapchatProfiles200ResponsePublicProfilesInner.md)
1978
+ - [Zernio::ListTikTokAdPixels200Response](docs/ListTikTokAdPixels200Response.md)
1979
+ - [Zernio::ListTikTokAdPixels200ResponsePixelsInner](docs/ListTikTokAdPixels200ResponsePixelsInner.md)
1980
+ - [Zernio::ListTikTokAdPixels200ResponsePixelsInnerEventDetailsInner](docs/ListTikTokAdPixels200ResponsePixelsInnerEventDetailsInner.md)
1970
1981
  - [Zernio::ListTrackingTagSharedAccounts200Response](docs/ListTrackingTagSharedAccounts200Response.md)
1971
1982
  - [Zernio::ListTrackingTags200Response](docs/ListTrackingTags200Response.md)
1972
1983
  - [Zernio::ListUsers200Response](docs/ListUsers200Response.md)
@@ -2313,6 +2324,8 @@ Class | Method | HTTP request | Description
2313
2324
  - [Zernio::SetInstagramIceBreakersRequest](docs/SetInstagramIceBreakersRequest.md)
2314
2325
  - [Zernio::SetInstagramIceBreakersRequestIceBreakersInner](docs/SetInstagramIceBreakersRequestIceBreakersInner.md)
2315
2326
  - [Zernio::SetMessengerMenuRequest](docs/SetMessengerMenuRequest.md)
2327
+ - [Zernio::SetPartnershipAdPermission200Response](docs/SetPartnershipAdPermission200Response.md)
2328
+ - [Zernio::SetPartnershipAdPermissionRequest](docs/SetPartnershipAdPermissionRequest.md)
2316
2329
  - [Zernio::SetRedditPostFlairRequest](docs/SetRedditPostFlairRequest.md)
2317
2330
  - [Zernio::SetTelegramCommandsRequest](docs/SetTelegramCommandsRequest.md)
2318
2331
  - [Zernio::SetTelegramCommandsRequestCommandsInner](docs/SetTelegramCommandsRequestCommandsInner.md)
@@ -9,7 +9,7 @@ All URIs are relative to *https://zernio.com/api*
9
9
  | [**add_account_structured_snippets**](AdAccountsApi.md#add_account_structured_snippets) | **POST** /v1/ads/accounts/structured-snippets | Add account snippets |
10
10
  | [**create_ad_account**](AdAccountsApi.md#create_ad_account) | **POST** /v1/ads/accounts | Create Meta ad account |
11
11
  | [**create_ad_negative_keyword_list**](AdAccountsApi.md#create_ad_negative_keyword_list) | **POST** /v1/ads/accounts/negative-keyword-lists | Create a negative keyword list |
12
- | [**create_custom_conversion**](AdAccountsApi.md#create_custom_conversion) | **POST** /v1/accounts/{accountId}/custom-conversions | Create or reuse a custom conversion |
12
+ | [**create_custom_conversion**](AdAccountsApi.md#create_custom_conversion) | **POST** /v1/accounts/{accountId}/custom-conversions | Create custom conversion |
13
13
  | [**create_high_demand_period**](AdAccountsApi.md#create_high_demand_period) | **POST** /v1/ads/high-demand-periods | Schedule a budget increase |
14
14
  | [**create_value_rule_set**](AdAccountsApi.md#create_value_rule_set) | **POST** /v1/ads/value-rule-sets | Create a value rule set |
15
15
  | [**delete_ad_comment**](AdAccountsApi.md#delete_ad_comment) | **DELETE** /v1/ads/{adId}/comments/{commentId} | Delete an ad comment |
@@ -20,7 +20,7 @@ All URIs are relative to *https://zernio.com/api*
20
20
  | [**get_ad_negative_keyword_list**](AdAccountsApi.md#get_ad_negative_keyword_list) | **GET** /v1/ads/accounts/negative-keyword-lists/{listId} | Get a negative keyword list |
21
21
  | [**get_ads_activity_log**](AdAccountsApi.md#get_ads_activity_log) | **GET** /v1/ads/activity | Ad account change / audit log |
22
22
  | [**get_dsa_defaults**](AdAccountsApi.md#get_dsa_defaults) | **GET** /v1/ads/dsa-defaults | Get ad account DSA defaults |
23
- | [**get_dsa_recommendations**](AdAccountsApi.md#get_dsa_recommendations) | **GET** /v1/ads/dsa-recommendations | List DSA beneficiary/payor suggestions |
23
+ | [**get_dsa_recommendations**](AdAccountsApi.md#get_dsa_recommendations) | **GET** /v1/ads/dsa-recommendations | Get DSA recommendations |
24
24
  | [**get_ios_fourteen_campaign_limits**](AdAccountsApi.md#get_ios_fourteen_campaign_limits) | **GET** /v1/ads/ios-fourteen-campaign-limits | Get iOS 14 campaign limits |
25
25
  | [**get_value_rule_set**](AdAccountsApi.md#get_value_rule_set) | **GET** /v1/ads/value-rule-sets/{valueRuleSetId} | Read a value rule set |
26
26
  | [**hide_ad_comment**](AdAccountsApi.md#hide_ad_comment) | **POST** /v1/ads/{adId}/comments/{commentId}/hide | Hide or unhide an ad comment |
@@ -35,8 +35,9 @@ All URIs are relative to *https://zernio.com/api*
35
35
  | [**list_ads_instagram_accounts**](AdAccountsApi.md#list_ads_instagram_accounts) | **GET** /v1/ads/instagram-accounts | List Instagram ad identities |
36
36
  | [**list_advertisable_applications**](AdAccountsApi.md#list_advertisable_applications) | **GET** /v1/ads/advertisable-applications | List advertisable apps |
37
37
  | [**list_custom_conversions**](AdAccountsApi.md#list_custom_conversions) | **GET** /v1/accounts/{accountId}/custom-conversions | List custom conversions |
38
- | [**list_high_demand_periods**](AdAccountsApi.md#list_high_demand_periods) | **GET** /v1/ads/high-demand-periods | High demand periods / budget schedules |
38
+ | [**list_high_demand_periods**](AdAccountsApi.md#list_high_demand_periods) | **GET** /v1/ads/high-demand-periods | List high-demand periods |
39
39
  | [**list_meta_businesses**](AdAccountsApi.md#list_meta_businesses) | **GET** /v1/ads/businesses | Businesses list |
40
+ | [**list_tik_tok_ad_pixels**](AdAccountsApi.md#list_tik_tok_ad_pixels) | **GET** /v1/ads/pixels | List TikTok ad pixels |
40
41
  | [**list_value_rule_sets**](AdAccountsApi.md#list_value_rule_sets) | **GET** /v1/ads/value-rule-sets | List value rule sets |
41
42
  | [**remove_account_callout**](AdAccountsApi.md#remove_account_callout) | **DELETE** /v1/ads/accounts/callouts | Remove account callout |
42
43
  | [**remove_account_sitelink**](AdAccountsApi.md#remove_account_sitelink) | **DELETE** /v1/ads/accounts/sitelinks | Remove account sitelink |
@@ -400,7 +401,7 @@ end
400
401
 
401
402
  > <CustomConversionResult> create_custom_conversion(account_id, create_custom_conversion_request)
402
403
 
403
- Create or reuse a custom conversion
404
+ Create custom conversion
404
405
 
405
406
  Provision the Meta custom conversion an ads flow optimises toward, and hand back the `customConversionId` for `promotedObject.customConversionId` on POST /v1/ads/create. Removes the manual \"create it in Ads Manager first\" step. **Reuse is ours, not Meta's.** Meta's create is not idempotent, so a retried request would otherwise mint a duplicate carrying none of the original's optimisation history. A non-archived conversion with the same `name` on the same `pixelId` is returned instead of created, with `reused: true` and a 200 rather than a 201. `rule` is forwarded verbatim in Meta's own grammar (e.g. `{\"url\": {\"i_contains\": \"thank-you\"}}`); Meta validates it and rejects a malformed one with \"A conversion rule is required at creation time\".
406
407
 
@@ -420,7 +421,7 @@ account_id = 'account_id_example' # String | Meta ads SocialAccount id.
420
421
  create_custom_conversion_request = Zernio::CreateCustomConversionRequest.new({ad_account_id: 'ad_account_id_example', name: 'name_example', pixel_id: 'pixel_id_example', custom_event_type: 'custom_event_type_example', rule: 3.56}) # CreateCustomConversionRequest |
421
422
 
422
423
  begin
423
- # Create or reuse a custom conversion
424
+ # Create custom conversion
424
425
  result = api_instance.create_custom_conversion(account_id, create_custom_conversion_request)
425
426
  p result
426
427
  rescue Zernio::ApiError => e
@@ -436,7 +437,7 @@ This returns an Array which contains the response data, status code and headers.
436
437
 
437
438
  ```ruby
438
439
  begin
439
- # Create or reuse a custom conversion
440
+ # Create custom conversion
440
441
  data, status_code, headers = api_instance.create_custom_conversion_with_http_info(account_id, create_custom_conversion_request)
441
442
  p status_code # => 2xx
442
443
  p headers # => { ... }
@@ -611,7 +612,7 @@ end
611
612
 
612
613
  Delete an ad comment
613
614
 
614
- Delete your own TikTok ad comment or reply. TikTok must return can_delete=true for the comment. Other users' comments can be hidden instead. Requires Ads access. The ad is resolved within the caller's accessible profiles. Before moderation, Zernio verifies that the comment belongs to this ad using TikTok's ad-group comment listing. The default search window is the last 30 days. Use since/until for older comments, with at most 30 days between the dates. Lookups scan at most 2,000 ad-group comments; narrow the date window if exceeded. Meta returns 501 feature_not_available with guidance to use the existing inbox comment endpoints and the account/post IDs from GET /v1/ads/{adId}/comments.
615
+ Delete your own TikTok ad comment or reply. TikTok must return can_delete=true for the comment. Other users' comments can be hidden instead. Unknown identity and video item fields are resolved only when needed for this action, then persisted for reuse. Comment-specific fields take precedence. If TikTok no longer returns the ad needed to resolve identity, 404 ad_not_found directs you to check deletion or archival in TikTok Ads Manager. Listing can still succeed. Unsupported or unavailable identity returns 403 feature_not_available. Denied access to ad details returns 403 insufficient_permissions with reconnect guidance and the upstream platformError. Requires Ads access. The ad is resolved within the caller's accessible profiles. Before moderation, Zernio verifies that the comment belongs to this ad using TikTok's ad-group comment listing. The default search window is the last 30 days. Use since/until for older comments, with at most 30 days between the dates. Lookups scan at most 2,000 ad-group comments; narrow the date window if exceeded. Meta returns 501 feature_not_available with guidance to use the existing inbox comment endpoints and the account/post IDs from GET /v1/ads/{adId}/comments.
615
616
 
616
617
  ### Examples
617
618
 
@@ -907,7 +908,7 @@ end
907
908
 
908
909
  List comments on an ad
909
910
 
910
- Returns comments on an ad's underlying creative post. Useful for moderating or analyzing engagement on dark posts (ad creatives that never went live organically), which the regular GET /v1/inbox/comments/{postId} endpoint cannot serve because dark posts are not in Zernio's post database. An ad that runs on both Facebook feed and Instagram feed has two separate underlying posts with separate comment threads (the creative's effective_object_story_id and effective_instagram_media_id). Use the `placement` query param to pick one; with no param the Instagram side is returned when it exists, otherwise Facebook. The identifiers are read from the ad record (persisted during sync) with a Marketing-API fallback for ads that predate the field. For Instagram-placed comments, the Instagram account that runs the ad must be connected to Zernio, because those comments are read through that account's token. If no connected Instagram account on the profile can read the ad's media, the call returns ads_connection_required (the Facebook side, if any, is still readable via ?placement=facebook). TikTok uses the connected TikTok Ads advertiser token and supports both paid video ads and Spark Ads. `since` and `until` select a date window of at most 30 days; the default is the last 30 days. TikTok searches by ad group, so Zernio filters each page to this ad. A page can be empty while `pagination.hasMore` is true. Reuse `pagination.cursor` with the same `limit`; the cursor retains the date window. `placement` is Meta-only and returns a 400 for TikTok. TikTok returns replies as separate comments with `parentId`; nested reply fetching is not supported. `canReply` requires a first-level comment and an identity with comment-management permission. `canDelete` reflects TikTok's own-comment deletion capability. `canHide` is supported and `canLike` is false. Use the ad comment reply, hide and delete operations below to moderate TikTok comments. Other platforms return feature_not_available. Requires the Ads add-on. Response shape matches GET /v1/inbox/comments/{postId}. The `{adId}` path segment accepts any identifier dialect Zernio indexes for the ad: Zernio internal `_id` (24-char hex), the numeric `platformAdId` (the value shipped in `comment.received` webhooks as `comment.ad.id`), or the creative's `effective_object_story_id` / `effective_instagram_media_id`. Caller doesn't need a translation step.
911
+ Returns comments on an ad's underlying creative post. Useful for moderating or analyzing engagement on dark posts (ad creatives that never went live organically), which the regular GET /v1/inbox/comments/{postId} endpoint cannot serve because dark posts are not in Zernio's post database. An ad that runs on both Facebook feed and Instagram feed has two separate underlying posts with separate comment threads (the creative's effective_object_story_id and effective_instagram_media_id). Use the `placement` query param to pick one; with no param the Instagram side is returned when it exists, otherwise Facebook. The identifiers are read from the ad record (persisted during sync) with a Marketing-API fallback for ads that predate the field. For Instagram-placed comments, the Instagram account that runs the ad must be connected to Zernio, because those comments are read through that account's token. If no connected Instagram account on the profile can read the ad's media, the call returns ads_connection_required (the Facebook side, if any, is still readable via ?placement=facebook). TikTok uses the connected TikTok Ads advertiser token and supports both paid video ads and Spark Ads. `since` and `until` select a date window of at most 30 days; the default is the last 30 days. TikTok searches by ad group, so Zernio filters each page to this ad. A page can be empty while `pagination.hasMore` is true. Reuse `pagination.cursor` with the same `limit`; the cursor retains the date window. `placement` is Meta-only and returns a 400 for TikTok. Listing needs no identity or video item ID. When the ad group is stored, each page makes one comment-list call and no ad-detail lookup, including for external ads that TikTok no longer returns from ad details. `meta.tiktokItemId: null` does not prevent listing. If the ad group is missing, Zernio fetches ad details; unavailable details return 404 ad_not_found, and no ad group returns 400 ad_not_commentable. TikTok returns replies as separate comments with `parentId`; nested reply fetching is not supported. `canReply` requires a first-level comment, comment-management permission, a video item ID and a supported TT_USER or CUSTOMIZED_USER identity. `canDelete` requires TikTok's own-comment deletion capability, a video item ID and a supported identity. Both flags are false when identity or item is unknown. Listing uses stored and comment-specific fields without fetching identity. A direct reply or delete request can lazily resolve missing fields and succeed even after a false flag. `canHide` is true because visibility changes need only advertiser and comment IDs. `canLike` is false. Use the ad comment reply, hide and delete operations below to moderate TikTok comments. Other platforms return feature_not_available. Requires the Ads add-on. Response shape matches GET /v1/inbox/comments/{postId}. The `{adId}` path segment accepts any identifier dialect Zernio indexes for the ad: Zernio internal `_id` (24-char hex), the numeric `platformAdId` (the value shipped in `comment.received` webhooks as `comment.ad.id`), or the creative's `effective_object_story_id` / `effective_instagram_media_id`. Caller doesn't need a translation step.
911
912
 
912
913
  ### Examples
913
914
 
@@ -1217,7 +1218,7 @@ end
1217
1218
 
1218
1219
  > <GetDsaRecommendations200Response> get_dsa_recommendations(account_id, ad_account_id)
1219
1220
 
1220
- List DSA beneficiary/payor suggestions
1221
+ Get DSA recommendations
1221
1222
 
1222
1223
  Returns Meta's suggested beneficiary/payor names for an ad account, derived by Meta from the account's recent activity. Useful for prefilling `dsaBeneficiary`/`dsaPayor` inputs, or the defaults sent to `PATCH /v1/ads/accounts`, in your own UI. Meta returns a single flat list. Entries are not labeled as beneficiary or payor, and since these are legal disclosures Zernio never applies them automatically: let your user pick the right entity. The list may be empty for accounts with little activity. Meta accounts only.
1223
1224
 
@@ -1237,7 +1238,7 @@ account_id = 'account_id_example' # String | Account ID (metaads, or a facebook/
1237
1238
  ad_account_id = 'ad_account_id_example' # String | Meta ad account ID (act_...)
1238
1239
 
1239
1240
  begin
1240
- # List DSA beneficiary/payor suggestions
1241
+ # Get DSA recommendations
1241
1242
  result = api_instance.get_dsa_recommendations(account_id, ad_account_id)
1242
1243
  p result
1243
1244
  rescue Zernio::ApiError => e
@@ -1253,7 +1254,7 @@ This returns an Array which contains the response data, status code and headers.
1253
1254
 
1254
1255
  ```ruby
1255
1256
  begin
1256
- # List DSA beneficiary/payor suggestions
1257
+ # Get DSA recommendations
1257
1258
  data, status_code, headers = api_instance.get_dsa_recommendations_with_http_info(account_id, ad_account_id)
1258
1259
  p status_code # => 2xx
1259
1260
  p headers # => { ... }
@@ -1434,7 +1435,7 @@ end
1434
1435
 
1435
1436
  Hide or unhide an ad comment
1436
1437
 
1437
- Hide or restore a TikTok ad comment. Send hidden=true to hide it or hidden=false to make it public again. Requires Ads access. The ad is resolved within the caller's accessible profiles. Before moderation, Zernio verifies that the comment belongs to this ad using TikTok's ad-group comment listing. The default search window is the last 30 days. Use since/until for older comments, with at most 30 days between the dates. Lookups scan at most 2,000 ad-group comments; narrow the date window if exceeded. Meta returns 501 feature_not_available with guidance to use the existing inbox comment endpoints and the account/post IDs from GET /v1/ads/{adId}/comments.
1438
+ Hide or restore a TikTok ad comment. Send hidden=true to hide it or hidden=false to make it public again. Identity and video item ID are not required; no identity lookup is performed. Requires Ads access. The ad is resolved within the caller's accessible profiles. Before moderation, Zernio verifies that the comment belongs to this ad using TikTok's ad-group comment listing. The default search window is the last 30 days. Use since/until for older comments, with at most 30 days between the dates. Lookups scan at most 2,000 ad-group comments; narrow the date window if exceeded. Meta returns 501 feature_not_available with guidance to use the existing inbox comment endpoints and the account/post IDs from GET /v1/ads/{adId}/comments.
1438
1439
 
1439
1440
  ### Examples
1440
1441
 
@@ -2318,7 +2319,7 @@ end
2318
2319
 
2319
2320
  > <ListHighDemandPeriods200Response> list_high_demand_periods(account_id, opts)
2320
2321
 
2321
- High demand periods / budget schedules
2322
+ List high-demand periods
2322
2323
 
2323
2324
  Scheduled budget increases (Meta's budget-scheduling API). The Graph edge lives on the campaign and ad-set nodes only, so exactly one of `campaignId` / `adSetId` (platform ids) is required. Rows returned verbatim (budget_value, budget_value_type, time window, recurrence).
2324
2325
 
@@ -2343,7 +2344,7 @@ opts = {
2343
2344
  }
2344
2345
 
2345
2346
  begin
2346
- # High demand periods / budget schedules
2347
+ # List high-demand periods
2347
2348
  result = api_instance.list_high_demand_periods(account_id, opts)
2348
2349
  p result
2349
2350
  rescue Zernio::ApiError => e
@@ -2359,7 +2360,7 @@ This returns an Array which contains the response data, status code and headers.
2359
2360
 
2360
2361
  ```ruby
2361
2362
  begin
2362
- # High demand periods / budget schedules
2363
+ # List high-demand periods
2363
2364
  data, status_code, headers = api_instance.list_high_demand_periods_with_http_info(account_id, opts)
2364
2365
  p status_code # => 2xx
2365
2366
  p headers # => { ... }
@@ -2468,6 +2469,81 @@ end
2468
2469
  - **Accept**: application/json
2469
2470
 
2470
2471
 
2472
+ ## list_tik_tok_ad_pixels
2473
+
2474
+ > <ListTikTokAdPixels200Response> list_tik_tok_ad_pixels(account_id, opts)
2475
+
2476
+ List TikTok ad pixels
2477
+
2478
+ Lists pixels and their supported optimization events for a connected TikTok Ads account. The advertiser defaults to the first advertiser on the connection. Reconnect if Pixel Management permission has not been granted.
2479
+
2480
+ ### Examples
2481
+
2482
+ ```ruby
2483
+ require 'time'
2484
+ require 'zernio-sdk'
2485
+ # setup authorization
2486
+ Zernio.configure do |config|
2487
+ # Configure Bearer authorization (JWT): bearerAuth
2488
+ config.access_token = 'YOUR_BEARER_TOKEN'
2489
+ end
2490
+
2491
+ api_instance = Zernio::AdAccountsApi.new
2492
+ account_id = 'account_id_example' # String | Zernio SocialAccount ID.
2493
+ opts = {
2494
+ advertiser_id: 'advertiser_id_example', # String | Advertiser belonging to this connection.
2495
+ code: 'code_example' # String | Filter by a Pixel Code.
2496
+ }
2497
+
2498
+ begin
2499
+ # List TikTok ad pixels
2500
+ result = api_instance.list_tik_tok_ad_pixels(account_id, opts)
2501
+ p result
2502
+ rescue Zernio::ApiError => e
2503
+ puts "Error when calling AdAccountsApi->list_tik_tok_ad_pixels: #{e}"
2504
+ end
2505
+ ```
2506
+
2507
+ #### Using the list_tik_tok_ad_pixels_with_http_info variant
2508
+
2509
+ This returns an Array which contains the response data, status code and headers.
2510
+
2511
+ > <Array(<ListTikTokAdPixels200Response>, Integer, Hash)> list_tik_tok_ad_pixels_with_http_info(account_id, opts)
2512
+
2513
+ ```ruby
2514
+ begin
2515
+ # List TikTok ad pixels
2516
+ data, status_code, headers = api_instance.list_tik_tok_ad_pixels_with_http_info(account_id, opts)
2517
+ p status_code # => 2xx
2518
+ p headers # => { ... }
2519
+ p data # => <ListTikTokAdPixels200Response>
2520
+ rescue Zernio::ApiError => e
2521
+ puts "Error when calling AdAccountsApi->list_tik_tok_ad_pixels_with_http_info: #{e}"
2522
+ end
2523
+ ```
2524
+
2525
+ ### Parameters
2526
+
2527
+ | Name | Type | Description | Notes |
2528
+ | ---- | ---- | ----------- | ----- |
2529
+ | **account_id** | **String** | Zernio SocialAccount ID. | |
2530
+ | **advertiser_id** | **String** | Advertiser belonging to this connection. | [optional] |
2531
+ | **code** | **String** | Filter by a Pixel Code. | [optional] |
2532
+
2533
+ ### Return type
2534
+
2535
+ [**ListTikTokAdPixels200Response**](ListTikTokAdPixels200Response.md)
2536
+
2537
+ ### Authorization
2538
+
2539
+ [bearerAuth](../README.md#bearerAuth)
2540
+
2541
+ ### HTTP request headers
2542
+
2543
+ - **Content-Type**: Not defined
2544
+ - **Accept**: application/json
2545
+
2546
+
2471
2547
  ## list_value_rule_sets
2472
2548
 
2473
2549
  > <ListValueRuleSets200Response> list_value_rule_sets(account_id, ad_account_id, opts)
@@ -2829,7 +2905,7 @@ end
2829
2905
 
2830
2906
  Reply to an ad comment
2831
2907
 
2832
- Reply to a first-level TikTok ad comment. Requires a TT_USER or CUSTOMIZED_USER identity with comment-management permission. Replies to replies are rejected. The response commentId identifies the new reply. This operation is not idempotent; do not blindly retry an uncertain response. Requires Ads access. The ad is resolved within the caller's accessible profiles. Before moderation, Zernio verifies that the comment belongs to this ad using TikTok's ad-group comment listing. The default search window is the last 30 days. Use since/until for older comments, with at most 30 days between the dates. Lookups scan at most 2,000 ad-group comments; narrow the date window if exceeded. Meta returns 501 feature_not_available with guidance to use the existing inbox comment endpoints and the account/post IDs from GET /v1/ads/{adId}/comments.
2908
+ Reply to a first-level TikTok ad comment. Requires a TT_USER or CUSTOMIZED_USER identity with comment-management permission. Replies to replies are rejected. The response commentId identifies the new reply. This operation is not idempotent; do not blindly retry an uncertain response. Unknown identity and video item fields are resolved only when needed for this action, then persisted for reuse. Comment-specific fields take precedence. If TikTok no longer returns the ad needed to resolve identity, 404 ad_not_found directs you to check deletion or archival in TikTok Ads Manager. Listing can still succeed. Unsupported or unavailable identity returns 403 feature_not_available. Denied access to ad details returns 403 insufficient_permissions with reconnect guidance and the upstream platformError. Requires Ads access. The ad is resolved within the caller's accessible profiles. Before moderation, Zernio verifies that the comment belongs to this ad using TikTok's ad-group comment listing. The default search window is the last 30 days. Use since/until for older comments, with at most 30 days between the dates. Lookups scan at most 2,000 ad-group comments; narrow the date window if exceeded. Meta returns 501 feature_not_available with guidance to use the existing inbox comment endpoints and the account/post IDs from GET /v1/ads/{adId}/comments.
2833
2909
 
2834
2910
  ### Examples
2835
2911
 
@@ -4,14 +4,14 @@ All URIs are relative to *https://zernio.com/api*
4
4
 
5
5
  | Method | HTTP request | Description |
6
6
  | ------ | ------------ | ----------- |
7
- | [**add_ad_keywords**](AdCampaignsApi.md#add_ad_keywords) | **POST** /v1/ads/keywords | Add Search keywords to an ad group |
7
+ | [**add_ad_keywords**](AdCampaignsApi.md#add_ad_keywords) | **POST** /v1/ads/keywords | Add Search ad-group keywords |
8
8
  | [**attach_ad_group_assets**](AdCampaignsApi.md#attach_ad_group_assets) | **POST** /v1/ads/ad-sets/{adSetId}/assets | Attach ad-group assets |
9
9
  | [**attach_campaign_assets**](AdCampaignsApi.md#attach_campaign_assets) | **POST** /v1/ads/campaigns/{campaignId}/assets | Attach campaign assets |
10
10
  | [**boost_post**](AdCampaignsApi.md#boost_post) | **POST** /v1/ads/boost | Boost post as ad |
11
11
  | [**bulk_update_ad_campaign_status**](AdCampaignsApi.md#bulk_update_ad_campaign_status) | **POST** /v1/ads/campaigns/bulk-status | Pause or resume many campaigns |
12
12
  | [**create_ad_campaign**](AdCampaignsApi.md#create_ad_campaign) | **POST** /v1/ads/campaigns | Create a standalone campaign |
13
13
  | [**create_ad_set**](AdCampaignsApi.md#create_ad_set) | **POST** /v1/ads/ad-sets | Create a standalone ad group |
14
- | [**create_bid_strategy**](AdCampaignsApi.md#create_bid_strategy) | **POST** /v1/ads/bid-strategies | Create a Google Ads portfolio bid strategy |
14
+ | [**create_bid_strategy**](AdCampaignsApi.md#create_bid_strategy) | **POST** /v1/ads/bid-strategies | Create portfolio bid strategy |
15
15
  | [**create_standalone_ad**](AdCampaignsApi.md#create_standalone_ad) | **POST** /v1/ads/create | Create standalone ad |
16
16
  | [**delete_ad**](AdCampaignsApi.md#delete_ad) | **DELETE** /v1/ads/{adId} | Cancel an ad |
17
17
  | [**delete_ad_campaign**](AdCampaignsApi.md#delete_ad_campaign) | **DELETE** /v1/ads/campaigns/{campaignId} | Delete a campaign |
@@ -20,7 +20,7 @@ All URIs are relative to *https://zernio.com/api*
20
20
  | [**duplicate_ad_campaign**](AdCampaignsApi.md#duplicate_ad_campaign) | **POST** /v1/ads/campaigns/{campaignId}/duplicate | Duplicate a campaign |
21
21
  | [**duplicate_ad_set**](AdCampaignsApi.md#duplicate_ad_set) | **POST** /v1/ads/ad-sets/{adSetId}/duplicate | Duplicate an ad set |
22
22
  | [**get_ad**](AdCampaignsApi.md#get_ad) | **GET** /v1/ads/{adId} | Get ad details |
23
- | [**get_ad_set_details**](AdCampaignsApi.md#get_ad_set_details) | **GET** /v1/ads/ad-sets/{adSetId} | Live ad-set details incl. learning phase |
23
+ | [**get_ad_set_details**](AdCampaignsApi.md#get_ad_set_details) | **GET** /v1/ads/ad-sets/{adSetId} | Get live ad-set details |
24
24
  | [**get_ad_tree**](AdCampaignsApi.md#get_ad_tree) | **GET** /v1/ads/tree | Get campaign tree |
25
25
  | [**get_ads_timeline**](AdCampaignsApi.md#get_ads_timeline) | **GET** /v1/ads/timeline | Get daily account metrics |
26
26
  | [**get_campaign_bidding**](AdCampaignsApi.md#get_campaign_bidding) | **GET** /v1/ads/campaigns/{campaignId}/bidding | Read a campaign&#39;s current bidding |
@@ -30,7 +30,7 @@ All URIs are relative to *https://zernio.com/api*
30
30
  | [**list_ad_keywords**](AdCampaignsApi.md#list_ad_keywords) | **GET** /v1/ads/keywords | List Search keywords |
31
31
  | [**list_ad_sets**](AdCampaignsApi.md#list_ad_sets) | **GET** /v1/ads/ad-sets | List ad sets |
32
32
  | [**list_ads**](AdCampaignsApi.md#list_ads) | **GET** /v1/ads | List ads |
33
- | [**list_bid_strategies**](AdCampaignsApi.md#list_bid_strategies) | **GET** /v1/ads/bid-strategies | List Google Ads portfolio bid strategies |
33
+ | [**list_bid_strategies**](AdCampaignsApi.md#list_bid_strategies) | **GET** /v1/ads/bid-strategies | List portfolio bid strategies |
34
34
  | [**list_campaign_assets**](AdCampaignsApi.md#list_campaign_assets) | **GET** /v1/ads/campaigns/{campaignId}/assets | List campaign assets |
35
35
  | [**list_campaign_negative_keyword_lists**](AdCampaignsApi.md#list_campaign_negative_keyword_lists) | **GET** /v1/ads/campaigns/{campaignId}/negative-keyword-lists | List campaign negative lists |
36
36
  | [**list_campaign_negative_keywords**](AdCampaignsApi.md#list_campaign_negative_keywords) | **GET** /v1/ads/campaigns/{campaignId}/negative-keywords | List campaign-level negative keywords |
@@ -48,7 +48,7 @@ All URIs are relative to *https://zernio.com/api*
48
48
  | [**update_ad_set**](AdCampaignsApi.md#update_ad_set) | **PUT** /v1/ads/ad-sets/{adSetId} | Update an ad set |
49
49
  | [**update_ad_set_status**](AdCampaignsApi.md#update_ad_set_status) | **PUT** /v1/ads/ad-sets/{adSetId}/status | Pause or resume a single ad set |
50
50
  | [**update_ad_status**](AdCampaignsApi.md#update_ad_status) | **PUT** /v1/ads/{adId}/status | Pause or resume a single ad |
51
- | [**update_bid_strategy**](AdCampaignsApi.md#update_bid_strategy) | **PATCH** /v1/ads/bid-strategies/{strategyId} | Update a Google Ads portfolio bid strategy |
51
+ | [**update_bid_strategy**](AdCampaignsApi.md#update_bid_strategy) | **PATCH** /v1/ads/bid-strategies/{strategyId} | Update portfolio bid strategy |
52
52
  | [**update_campaign_assets**](AdCampaignsApi.md#update_campaign_assets) | **PUT** /v1/ads/campaigns/{campaignId}/assets | Update campaign assets |
53
53
  | [**update_campaign_targeting**](AdCampaignsApi.md#update_campaign_targeting) | **PUT** /v1/ads/campaigns/{campaignId}/targeting | Edit a Google campaign&#39;s device, location, or language targeting |
54
54
 
@@ -57,7 +57,7 @@ All URIs are relative to *https://zernio.com/api*
57
57
 
58
58
  > <AddAdKeywords201Response> add_ad_keywords(add_ad_keywords_request)
59
59
 
60
- Add Search keywords to an ad group
60
+ Add Search ad-group keywords
61
61
 
62
62
  Adds one or more keyword criteria to an existing Google Search ad group, without touching the keywords already there (unlike the whole-set diff on `PUT /v1/ads/{adId}`, `keywords`/`negativeKeywords` in `platformSpecificData`, which replaces the set). Set `negative: true` to add ad-group-level negatives instead of positive keywords.
63
63
 
@@ -76,7 +76,7 @@ api_instance = Zernio::AdCampaignsApi.new
76
76
  add_ad_keywords_request = Zernio::AddAdKeywordsRequest.new({account_id: 'account_id_example', ad_set_id: 'ad_set_id_example', keywords: [Zernio::AddAdKeywordsRequestKeywordsInner.new({text: 'text_example'})]}) # AddAdKeywordsRequest |
77
77
 
78
78
  begin
79
- # Add Search keywords to an ad group
79
+ # Add Search ad-group keywords
80
80
  result = api_instance.add_ad_keywords(add_ad_keywords_request)
81
81
  p result
82
82
  rescue Zernio::ApiError => e
@@ -92,7 +92,7 @@ This returns an Array which contains the response data, status code and headers.
92
92
 
93
93
  ```ruby
94
94
  begin
95
- # Add Search keywords to an ad group
95
+ # Add Search ad-group keywords
96
96
  data, status_code, headers = api_instance.add_ad_keywords_with_http_info(add_ad_keywords_request)
97
97
  p status_code # => 2xx
98
98
  p headers # => { ... }
@@ -556,7 +556,7 @@ end
556
556
 
557
557
  > <CreateBidStrategy201Response> create_bid_strategy(create_bid_strategy_request)
558
558
 
559
- Create a Google Ads portfolio bid strategy
559
+ Create portfolio bid strategy
560
560
 
561
561
  Creates a standalone bid strategy shared across campaigns. Attach it to a campaign with `portfolioBidStrategyId` on POST /v1/ads/create, PUT /v1/ads/campaigns/{campaignId}, or PUT /v1/ads/ad-sets/{adSetId}. Attaching a strategy aligned to a shared budget fails there with a 400 (Google's `BIDDING_STRATEGY_AND_BUDGET_MUST_BE_ALIGNED`); this is not retryable.
562
562
 
@@ -575,7 +575,7 @@ api_instance = Zernio::AdCampaignsApi.new
575
575
  create_bid_strategy_request = Zernio::CreateBidStrategyRequest.new({account_id: 'account_id_example', name: 'name_example', type: 'TARGET_CPA'}) # CreateBidStrategyRequest |
576
576
 
577
577
  begin
578
- # Create a Google Ads portfolio bid strategy
578
+ # Create portfolio bid strategy
579
579
  result = api_instance.create_bid_strategy(create_bid_strategy_request)
580
580
  p result
581
581
  rescue Zernio::ApiError => e
@@ -591,7 +591,7 @@ This returns an Array which contains the response data, status code and headers.
591
591
 
592
592
  ```ruby
593
593
  begin
594
- # Create a Google Ads portfolio bid strategy
594
+ # Create portfolio bid strategy
595
595
  data, status_code, headers = api_instance.create_bid_strategy_with_http_info(create_bid_strategy_request)
596
596
  p status_code # => 2xx
597
597
  p headers # => { ... }
@@ -1205,7 +1205,7 @@ end
1205
1205
 
1206
1206
  > <GetAdSetDetails200Response> get_ad_set_details(ad_set_id, account_id, opts)
1207
1207
 
1208
- Live ad-set details incl. learning phase
1208
+ Get live ad-set details
1209
1209
 
1210
1210
  Reads the ad set live from Meta, returned verbatim. The default projection includes `learning_stage_info` (learning-phase status: LEARNING / SUCCESS / FAIL / WAIVING; Meta omits its `status` key on paused ad sets), delivery settings, budgets, schedule and targeting. `fields` is a raw-passthrough override; unknown fields return Meta's 400 verbatim.
1211
1211
 
@@ -1228,7 +1228,7 @@ opts = {
1228
1228
  }
1229
1229
 
1230
1230
  begin
1231
- # Live ad-set details incl. learning phase
1231
+ # Get live ad-set details
1232
1232
  result = api_instance.get_ad_set_details(ad_set_id, account_id, opts)
1233
1233
  p result
1234
1234
  rescue Zernio::ApiError => e
@@ -1244,7 +1244,7 @@ This returns an Array which contains the response data, status code and headers.
1244
1244
 
1245
1245
  ```ruby
1246
1246
  begin
1247
- # Live ad-set details incl. learning phase
1247
+ # Get live ad-set details
1248
1248
  data, status_code, headers = api_instance.get_ad_set_details_with_http_info(ad_set_id, account_id, opts)
1249
1249
  p status_code # => 2xx
1250
1250
  p headers # => { ... }
@@ -2051,7 +2051,7 @@ end
2051
2051
 
2052
2052
  > <ListBidStrategies200Response> list_bid_strategies(account_id, opts)
2053
2053
 
2054
- List Google Ads portfolio bid strategies
2054
+ List portfolio bid strategies
2055
2055
 
2056
2056
  Bidding strategy report: type, status, campaign count, clicks, cost, cost per conversion, impressions, average CPC and conversions over the date range (default last 30 days). Reads Google's `bidding_strategy` resource, cached for the quota window. Draws on the shared Google Ads operations budget. The response carries `cachedAt` and `stale`, set when a quota-exhausted call falls back to the last-good copy instead of a live read.
2057
2057
 
@@ -2075,7 +2075,7 @@ opts = {
2075
2075
  }
2076
2076
 
2077
2077
  begin
2078
- # List Google Ads portfolio bid strategies
2078
+ # List portfolio bid strategies
2079
2079
  result = api_instance.list_bid_strategies(account_id, opts)
2080
2080
  p result
2081
2081
  rescue Zernio::ApiError => e
@@ -2091,7 +2091,7 @@ This returns an Array which contains the response data, status code and headers.
2091
2091
 
2092
2092
  ```ruby
2093
2093
  begin
2094
- # List Google Ads portfolio bid strategies
2094
+ # List portfolio bid strategies
2095
2095
  data, status_code, headers = api_instance.list_bid_strategies_with_http_info(account_id, opts)
2096
2096
  p status_code # => 2xx
2097
2097
  p headers # => { ... }
@@ -3339,7 +3339,7 @@ end
3339
3339
 
3340
3340
  > <UpdateBidStrategy200Response> update_bid_strategy(strategy_id, update_bid_strategy_request)
3341
3341
 
3342
- Update a Google Ads portfolio bid strategy
3342
+ Update portfolio bid strategy
3343
3343
 
3344
3344
  Renames or retargets a portfolio bid strategy. The strategy's status is output only on Google's side, so it cannot be changed here; remove a strategy in Google Ads. `type` is only needed alongside `targetCpa`/`targetRoas` to disambiguate the field Google writes to (TARGET_CPA and MAXIMIZE_CONVERSIONS both take a target CPA; TARGET_ROAS and MAXIMIZE_CONVERSION_VALUE both take a target ROAS); the strategy's family is otherwise immutable once created.
3345
3345
 
@@ -3359,7 +3359,7 @@ strategy_id = 'strategy_id_example' # String | Numeric Google Ads bid strategy i
3359
3359
  update_bid_strategy_request = Zernio::UpdateBidStrategyRequest.new({account_id: 'account_id_example'}) # UpdateBidStrategyRequest |
3360
3360
 
3361
3361
  begin
3362
- # Update a Google Ads portfolio bid strategy
3362
+ # Update portfolio bid strategy
3363
3363
  result = api_instance.update_bid_strategy(strategy_id, update_bid_strategy_request)
3364
3364
  p result
3365
3365
  rescue Zernio::ApiError => e
@@ -3375,7 +3375,7 @@ This returns an Array which contains the response data, status code and headers.
3375
3375
 
3376
3376
  ```ruby
3377
3377
  begin
3378
- # Update a Google Ads portfolio bid strategy
3378
+ # Update portfolio bid strategy
3379
3379
  data, status_code, headers = api_instance.update_bid_strategy_with_http_info(strategy_id, update_bid_strategy_request)
3380
3380
  p status_code # => 2xx
3381
3381
  p headers # => { ... }