late-sdk 0.0.899 → 0.0.901

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 (223) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +81 -8
  3. data/docs/AdAccountsApi.md +1375 -277
  4. data/docs/AdCampaignsApi.md +525 -13
  5. data/docs/AdCreative.md +6 -0
  6. data/docs/AdTracking.md +20 -0
  7. data/docs/AddAccountCalloutsRequest.md +3 -3
  8. data/docs/AddAccountSitelinks201Response.md +20 -0
  9. data/docs/AddAccountSitelinks201ResponseSitelinksInner.md +26 -0
  10. data/docs/AddAccountSitelinksRequest.md +22 -0
  11. data/docs/AddAccountStructuredSnippets201Response.md +20 -0
  12. data/docs/AddAccountStructuredSnippets201ResponseStructuredSnippetsInner.md +22 -0
  13. data/docs/AddAccountStructuredSnippetsRequest.md +22 -0
  14. data/docs/AttachAdGroupAssets201Response.md +24 -0
  15. data/docs/AttachCampaignAssetsRequest.md +4 -4
  16. data/docs/CreateAdCampaign200Response.md +26 -0
  17. data/docs/CreateAdCampaignRequest.md +8 -0
  18. data/docs/CreateCallAdRequest.md +2 -0
  19. data/docs/CreateMessagingAdRequest.md +2 -0
  20. data/docs/CreateStandaloneAdRequest.md +15 -7
  21. data/docs/CreateStandaloneAdRequestAdditionalDescriptionsInner.md +49 -0
  22. data/docs/CreateStandaloneAdRequestAdditionalHeadlinesInner.md +49 -0
  23. data/docs/CtwaAdRequestBody.md +2 -0
  24. data/docs/GetAd200Response.md +5 -1
  25. data/docs/GetAdComments200ResponseMeta.md +10 -4
  26. data/docs/GetIosFourteenCampaignLimits200Response.md +18 -0
  27. data/docs/GetIosFourteenCampaignLimits200ResponseLimits.md +22 -0
  28. data/docs/GoogleAssetUpdate.md +26 -0
  29. data/docs/GoogleRsaDescription.md +20 -0
  30. data/docs/GoogleRsaHeadline.md +20 -0
  31. data/docs/{AttachCampaignAssetsRequestSitelinksInner.md → GoogleSitelink.md} +2 -2
  32. data/docs/{AttachCampaignAssetsRequestStructuredSnippetsInner.md → GoogleStructuredSnippet.md} +2 -2
  33. data/docs/HideAdComment200Response.md +22 -0
  34. data/docs/HideAdCommentRequest.md +18 -0
  35. data/docs/ListAccountCallouts200Response.md +2 -2
  36. data/docs/ListAccountCallouts200ResponseCalloutsInner.md +3 -3
  37. data/docs/ListAccountSitelinks200Response.md +24 -0
  38. data/docs/ListAccountSitelinks200ResponseSitelinksInner.md +32 -0
  39. data/docs/ListAccountStructuredSnippets200Response.md +24 -0
  40. data/docs/ListAccountStructuredSnippets200ResponseStructuredSnippetsInner.md +28 -0
  41. data/docs/ListAdGroupAssets200Response.md +28 -0
  42. data/docs/ListAdGroupAssets200ResponseCalloutsInner.md +22 -0
  43. data/docs/ListAdGroupAssets200ResponseSitelinksInner.md +28 -0
  44. data/docs/ListAdGroupAssets200ResponseStructuredSnippetsInner.md +24 -0
  45. data/docs/ListAdsInstagramAccounts200Response.md +22 -0
  46. data/docs/ListAdsInstagramAccounts200ResponseAccountsInner.md +26 -0
  47. data/docs/ListAdsInstagramAccounts200ResponsePagesInner.md +24 -0
  48. data/docs/ListAdsInstagramAccounts200ResponseResolved.md +22 -0
  49. data/docs/ListAdvertisableApplications200Response.md +18 -0
  50. data/docs/ListAdvertisableApplications200ResponseApplicationsInner.md +24 -0
  51. data/docs/ListCampaignAssets200Response.md +28 -0
  52. data/docs/ListCampaignAssets200ResponseCalloutsInner.md +22 -0
  53. data/docs/ListCampaignAssets200ResponseSitelinksInner.md +28 -0
  54. data/docs/ListCampaignAssets200ResponseStructuredSnippetsInner.md +24 -0
  55. data/docs/MetaInstagramIdentityRef.md +22 -0
  56. data/docs/RemoveAccountCalloutRequest.md +3 -3
  57. data/docs/RemoveAdGroupAssetsRequest.md +24 -0
  58. data/docs/RemoveCampaignAssets200Response.md +18 -0
  59. data/docs/RemoveCampaignAssetsRequest.md +24 -0
  60. data/docs/ReplyToAdComment200Response.md +20 -0
  61. data/docs/ReplyToAdCommentRequest.md +18 -0
  62. data/docs/TargetingSpec.md +4 -0
  63. data/docs/UpdateAccountCallouts200Response.md +20 -0
  64. data/docs/UpdateAccountCalloutsRequest.md +22 -0
  65. data/docs/UpdateAccountCalloutsRequestUpdatesInner.md +20 -0
  66. data/docs/UpdateAccountCalloutsRequestUpdatesInnerCalloutAsset.md +18 -0
  67. data/docs/UpdateAccountSitelinksRequest.md +22 -0
  68. data/docs/UpdateAccountSitelinksRequestUpdatesInner.md +22 -0
  69. data/docs/UpdateAccountSitelinksRequestUpdatesInnerSitelinkAsset.md +24 -0
  70. data/docs/UpdateAccountStructuredSnippetsRequest.md +22 -0
  71. data/docs/UpdateAccountStructuredSnippetsRequestUpdatesInner.md +20 -0
  72. data/docs/UpdateAdRequest.md +6 -0
  73. data/docs/UpdateCampaignAssets200Response.md +18 -0
  74. data/docs/UpdateCampaignAssetsRequest.md +22 -0
  75. data/lib/zernio-sdk/api/ad_accounts_api.rb +1511 -363
  76. data/lib/zernio-sdk/api/ad_campaigns_api.rb +589 -13
  77. data/lib/zernio-sdk/models/ad_creative.rb +112 -1
  78. data/lib/zernio-sdk/models/{create_standalone_ad_request_tracking.rb → ad_tracking.rb} +5 -5
  79. data/lib/zernio-sdk/models/add_account_callouts_request.rb +34 -3
  80. data/lib/zernio-sdk/models/add_account_sitelinks201_response.rb +158 -0
  81. data/lib/zernio-sdk/models/add_account_sitelinks201_response_sitelinks_inner.rb +267 -0
  82. data/lib/zernio-sdk/models/add_account_sitelinks_request.rb +253 -0
  83. data/lib/zernio-sdk/models/add_account_structured_snippets201_response.rb +158 -0
  84. data/lib/zernio-sdk/models/add_account_structured_snippets201_response_structured_snippets_inner.rb +229 -0
  85. data/lib/zernio-sdk/models/add_account_structured_snippets_request.rb +253 -0
  86. data/lib/zernio-sdk/models/attach_ad_group_assets201_response.rb +180 -0
  87. data/lib/zernio-sdk/models/attach_campaign_assets_request.rb +37 -5
  88. data/lib/zernio-sdk/models/create_ad_campaign200_response.rb +231 -0
  89. data/lib/zernio-sdk/models/create_ad_campaign_request.rb +52 -1
  90. data/lib/zernio-sdk/models/create_call_ad_request.rb +10 -1
  91. data/lib/zernio-sdk/models/create_messaging_ad_request.rb +10 -1
  92. data/lib/zernio-sdk/models/create_standalone_ad_request.rb +102 -8
  93. data/lib/zernio-sdk/models/create_standalone_ad_request_additional_descriptions_inner.rb +104 -0
  94. data/lib/zernio-sdk/models/create_standalone_ad_request_additional_headlines_inner.rb +104 -0
  95. data/lib/zernio-sdk/models/ctwa_ad_request_body.rb +10 -1
  96. data/lib/zernio-sdk/models/get_ad200_response.rb +25 -4
  97. data/lib/zernio-sdk/models/get_ad_comments200_response_meta.rb +36 -46
  98. data/lib/zernio-sdk/models/get_ios_fourteen_campaign_limits200_response.rb +164 -0
  99. data/lib/zernio-sdk/models/get_ios_fourteen_campaign_limits200_response_limits.rb +172 -0
  100. data/lib/zernio-sdk/models/google_asset_update.rb +234 -0
  101. data/lib/zernio-sdk/models/google_rsa_description.rb +226 -0
  102. data/lib/zernio-sdk/models/google_rsa_headline.rb +226 -0
  103. data/lib/zernio-sdk/models/{attach_campaign_assets_request_sitelinks_inner.rb → google_sitelink.rb} +3 -3
  104. data/lib/zernio-sdk/models/{attach_campaign_assets_request_structured_snippets_inner.rb → google_structured_snippet.rb} +3 -3
  105. data/lib/zernio-sdk/models/hide_ad_comment200_response.rb +225 -0
  106. data/lib/zernio-sdk/models/hide_ad_comment_request.rb +165 -0
  107. data/lib/zernio-sdk/models/list_account_callouts200_response.rb +2 -2
  108. data/lib/zernio-sdk/models/list_account_callouts200_response_callouts_inner.rb +13 -14
  109. data/lib/zernio-sdk/models/list_account_sitelinks200_response.rb +179 -0
  110. data/lib/zernio-sdk/models/list_account_sitelinks200_response_sitelinks_inner.rb +210 -0
  111. data/lib/zernio-sdk/models/list_account_structured_snippets200_response.rb +179 -0
  112. data/lib/zernio-sdk/models/list_account_structured_snippets200_response_structured_snippets_inner.rb +194 -0
  113. data/lib/zernio-sdk/models/list_ad_group_assets200_response.rb +201 -0
  114. data/lib/zernio-sdk/models/list_ad_group_assets200_response_callouts_inner.rb +165 -0
  115. data/lib/zernio-sdk/models/list_ad_group_assets200_response_sitelinks_inner.rb +192 -0
  116. data/lib/zernio-sdk/models/list_ad_group_assets200_response_structured_snippets_inner.rb +176 -0
  117. data/lib/zernio-sdk/models/list_ads_instagram_accounts200_response.rb +220 -0
  118. data/lib/zernio-sdk/models/list_ads_instagram_accounts200_response_accounts_inner.rb +287 -0
  119. data/lib/zernio-sdk/models/list_ads_instagram_accounts200_response_pages_inner.rb +210 -0
  120. data/lib/zernio-sdk/models/list_ads_instagram_accounts200_response_resolved.rb +211 -0
  121. data/lib/zernio-sdk/models/list_advertisable_applications200_response.rb +166 -0
  122. data/lib/zernio-sdk/models/list_advertisable_applications200_response_applications_inner.rb +250 -0
  123. data/lib/zernio-sdk/models/list_campaign_assets200_response.rb +201 -0
  124. data/lib/zernio-sdk/models/list_campaign_assets200_response_callouts_inner.rb +165 -0
  125. data/lib/zernio-sdk/models/list_campaign_assets200_response_sitelinks_inner.rb +192 -0
  126. data/lib/zernio-sdk/models/list_campaign_assets200_response_structured_snippets_inner.rb +176 -0
  127. data/lib/zernio-sdk/models/meta_instagram_identity_ref.rb +202 -0
  128. data/lib/zernio-sdk/models/remove_account_callout_request.rb +45 -3
  129. data/lib/zernio-sdk/models/remove_ad_group_assets_request.rb +281 -0
  130. data/lib/zernio-sdk/models/remove_campaign_assets200_response.rb +147 -0
  131. data/lib/zernio-sdk/models/remove_campaign_assets_request.rb +281 -0
  132. data/lib/zernio-sdk/models/reply_to_ad_comment200_response.rb +215 -0
  133. data/lib/zernio-sdk/models/reply_to_ad_comment_request.rb +174 -0
  134. data/lib/zernio-sdk/models/targeting_spec.rb +63 -1
  135. data/lib/zernio-sdk/models/update_account_callouts200_response.rb +156 -0
  136. data/lib/zernio-sdk/models/update_account_callouts_request.rb +253 -0
  137. data/lib/zernio-sdk/models/update_account_callouts_request_updates_inner.rb +186 -0
  138. data/lib/zernio-sdk/models/update_account_callouts_request_updates_inner_callout_asset.rb +182 -0
  139. data/lib/zernio-sdk/models/update_account_sitelinks_request.rb +253 -0
  140. data/lib/zernio-sdk/models/update_account_sitelinks_request_updates_inner.rb +216 -0
  141. data/lib/zernio-sdk/models/update_account_sitelinks_request_updates_inner_sitelink_asset.rb +241 -0
  142. data/lib/zernio-sdk/models/update_account_structured_snippets_request.rb +253 -0
  143. data/lib/zernio-sdk/models/update_account_structured_snippets_request_updates_inner.rb +186 -0
  144. data/lib/zernio-sdk/models/update_ad_request.rb +112 -1
  145. data/lib/zernio-sdk/models/update_campaign_assets200_response.rb +147 -0
  146. data/lib/zernio-sdk/models/update_campaign_assets_request.rb +253 -0
  147. data/lib/zernio-sdk/version.rb +1 -1
  148. data/lib/zernio-sdk.rb +55 -4
  149. data/openapi.yaml +2898 -733
  150. data/spec/api/ad_accounts_api_spec.rb +209 -10
  151. data/spec/api/ad_campaigns_api_spec.rb +99 -6
  152. data/spec/models/ad_creative_spec.rb +18 -0
  153. data/spec/models/{create_standalone_ad_request_tracking_spec.rb → ad_tracking_spec.rb} +6 -6
  154. data/spec/models/add_account_sitelinks201_response_sitelinks_inner_spec.rb +60 -0
  155. data/spec/models/add_account_sitelinks201_response_spec.rb +42 -0
  156. data/spec/models/add_account_sitelinks_request_spec.rb +48 -0
  157. data/spec/models/add_account_structured_snippets201_response_spec.rb +42 -0
  158. data/spec/models/add_account_structured_snippets201_response_structured_snippets_inner_spec.rb +52 -0
  159. data/spec/models/add_account_structured_snippets_request_spec.rb +48 -0
  160. data/spec/models/attach_ad_group_assets201_response_spec.rb +54 -0
  161. data/spec/models/create_ad_campaign200_response_spec.rb +68 -0
  162. data/spec/models/create_ad_campaign_request_spec.rb +28 -0
  163. data/spec/models/create_call_ad_request_spec.rb +6 -0
  164. data/spec/models/create_messaging_ad_request_spec.rb +6 -0
  165. data/spec/models/create_standalone_ad_request_additional_descriptions_inner_spec.rb +32 -0
  166. data/spec/models/create_standalone_ad_request_additional_headlines_inner_spec.rb +32 -0
  167. data/spec/models/create_standalone_ad_request_spec.rb +28 -0
  168. data/spec/models/ctwa_ad_request_body_spec.rb +6 -0
  169. data/spec/models/get_ad200_response_spec.rb +12 -0
  170. data/spec/models/get_ad_comments200_response_meta_spec.rb +19 -1
  171. data/spec/models/get_ios_fourteen_campaign_limits200_response_limits_spec.rb +48 -0
  172. data/spec/models/get_ios_fourteen_campaign_limits200_response_spec.rb +36 -0
  173. data/spec/models/google_asset_update_spec.rb +60 -0
  174. data/spec/models/google_rsa_description_spec.rb +46 -0
  175. data/spec/models/google_rsa_headline_spec.rb +46 -0
  176. data/spec/models/{attach_campaign_assets_request_sitelinks_inner_spec.rb → google_sitelink_spec.rb} +6 -6
  177. data/spec/models/{attach_campaign_assets_request_structured_snippets_inner_spec.rb → google_structured_snippet_spec.rb} +6 -6
  178. data/spec/models/hide_ad_comment200_response_spec.rb +52 -0
  179. data/spec/models/hide_ad_comment_request_spec.rb +36 -0
  180. data/spec/models/list_account_callouts200_response_callouts_inner_spec.rb +2 -2
  181. data/spec/models/{create_standalone_ad_request_promoted_object_spec.rb → list_account_sitelinks200_response_sitelinks_inner_spec.rb} +14 -32
  182. data/spec/models/list_account_sitelinks200_response_spec.rb +54 -0
  183. data/spec/models/list_account_structured_snippets200_response_spec.rb +54 -0
  184. data/spec/models/list_account_structured_snippets200_response_structured_snippets_inner_spec.rb +66 -0
  185. data/spec/models/list_ad_group_assets200_response_callouts_inner_spec.rb +48 -0
  186. data/spec/models/list_ad_group_assets200_response_sitelinks_inner_spec.rb +66 -0
  187. data/spec/models/list_ad_group_assets200_response_spec.rb +66 -0
  188. data/spec/models/list_ad_group_assets200_response_structured_snippets_inner_spec.rb +54 -0
  189. data/spec/models/list_ads_instagram_accounts200_response_accounts_inner_spec.rb +64 -0
  190. data/spec/models/list_ads_instagram_accounts200_response_pages_inner_spec.rb +54 -0
  191. data/spec/models/list_ads_instagram_accounts200_response_resolved_spec.rb +52 -0
  192. data/spec/models/list_ads_instagram_accounts200_response_spec.rb +48 -0
  193. data/spec/models/list_advertisable_applications200_response_applications_inner_spec.rb +54 -0
  194. data/spec/models/list_advertisable_applications200_response_spec.rb +36 -0
  195. data/spec/models/list_campaign_assets200_response_callouts_inner_spec.rb +48 -0
  196. data/spec/models/list_campaign_assets200_response_sitelinks_inner_spec.rb +66 -0
  197. data/spec/models/list_campaign_assets200_response_spec.rb +66 -0
  198. data/spec/models/list_campaign_assets200_response_structured_snippets_inner_spec.rb +54 -0
  199. data/spec/models/meta_instagram_identity_ref_spec.rb +48 -0
  200. data/spec/models/remove_ad_group_assets_request_spec.rb +54 -0
  201. data/spec/models/remove_campaign_assets200_response_spec.rb +36 -0
  202. data/spec/models/remove_campaign_assets_request_spec.rb +54 -0
  203. data/spec/models/reply_to_ad_comment200_response_spec.rb +46 -0
  204. data/spec/models/reply_to_ad_comment_request_spec.rb +36 -0
  205. data/spec/models/targeting_spec_spec.rb +12 -0
  206. data/spec/models/update_account_callouts200_response_spec.rb +42 -0
  207. data/spec/models/update_account_callouts_request_spec.rb +48 -0
  208. data/spec/models/update_account_callouts_request_updates_inner_callout_asset_spec.rb +36 -0
  209. data/spec/models/update_account_callouts_request_updates_inner_spec.rb +42 -0
  210. data/spec/models/update_account_sitelinks_request_spec.rb +48 -0
  211. data/spec/models/update_account_sitelinks_request_updates_inner_sitelink_asset_spec.rb +54 -0
  212. data/spec/models/update_account_sitelinks_request_updates_inner_spec.rb +48 -0
  213. data/spec/models/update_account_structured_snippets_request_spec.rb +48 -0
  214. data/spec/models/update_account_structured_snippets_request_updates_inner_spec.rb +42 -0
  215. data/spec/models/update_ad_request_spec.rb +18 -0
  216. data/spec/models/update_campaign_assets200_response_spec.rb +36 -0
  217. data/spec/models/update_campaign_assets_request_spec.rb +48 -0
  218. data/zernio-sdk-0.0.901.gem +0 -0
  219. metadata +222 -18
  220. data/docs/CreateStandaloneAdRequestPromotedObject.md +0 -38
  221. data/docs/CreateStandaloneAdRequestTracking.md +0 -20
  222. data/lib/zernio-sdk/models/create_standalone_ad_request_promoted_object.rb +0 -249
  223. data/zernio-sdk-0.0.899.gem +0 -0
@@ -4,11 +4,14 @@ All URIs are relative to *https://zernio.com/api*
4
4
 
5
5
  | Method | HTTP request | Description |
6
6
  | ------ | ------------ | ----------- |
7
- | [**add_account_callouts**](AdAccountsApi.md#add_account_callouts) | **POST** /v1/ads/accounts/callouts | Add account-level callout extensions |
7
+ | [**add_account_callouts**](AdAccountsApi.md#add_account_callouts) | **POST** /v1/ads/accounts/callouts | Add account callouts |
8
+ | [**add_account_sitelinks**](AdAccountsApi.md#add_account_sitelinks) | **POST** /v1/ads/accounts/sitelinks | Add account sitelinks |
9
+ | [**add_account_structured_snippets**](AdAccountsApi.md#add_account_structured_snippets) | **POST** /v1/ads/accounts/structured-snippets | Add account snippets |
8
10
  | [**create_ad_negative_keyword_list**](AdAccountsApi.md#create_ad_negative_keyword_list) | **POST** /v1/ads/accounts/negative-keyword-lists | Create a negative keyword list |
9
11
  | [**create_custom_conversion**](AdAccountsApi.md#create_custom_conversion) | **POST** /v1/accounts/{accountId}/custom-conversions | Create or reuse a custom conversion |
10
12
  | [**create_high_demand_period**](AdAccountsApi.md#create_high_demand_period) | **POST** /v1/ads/high-demand-periods | Schedule a budget increase |
11
13
  | [**create_value_rule_set**](AdAccountsApi.md#create_value_rule_set) | **POST** /v1/ads/value-rule-sets | Create a value rule set |
14
+ | [**delete_ad_comment**](AdAccountsApi.md#delete_ad_comment) | **DELETE** /v1/ads/{adId}/comments/{commentId} | Delete an ad comment |
12
15
  | [**delete_ad_negative_keyword_list**](AdAccountsApi.md#delete_ad_negative_keyword_list) | **DELETE** /v1/ads/accounts/negative-keyword-lists/{listId} | Delete a negative keyword list |
13
16
  | [**delete_value_rule_set**](AdAccountsApi.md#delete_value_rule_set) | **DELETE** /v1/ads/value-rule-sets/{valueRuleSetId} | Delete a value rule set |
14
17
  | [**get_ad_account_finance**](AdAccountsApi.md#get_ad_account_finance) | **GET** /v1/ads/accounts/finance | Ad account finances |
@@ -17,19 +20,31 @@ All URIs are relative to *https://zernio.com/api*
17
20
  | [**get_ads_activity_log**](AdAccountsApi.md#get_ads_activity_log) | **GET** /v1/ads/activity | Ad account change / audit log |
18
21
  | [**get_dsa_defaults**](AdAccountsApi.md#get_dsa_defaults) | **GET** /v1/ads/dsa-defaults | Get ad account DSA defaults |
19
22
  | [**get_dsa_recommendations**](AdAccountsApi.md#get_dsa_recommendations) | **GET** /v1/ads/dsa-recommendations | List DSA beneficiary/payor suggestions |
23
+ | [**get_ios_fourteen_campaign_limits**](AdAccountsApi.md#get_ios_fourteen_campaign_limits) | **GET** /v1/ads/ios-fourteen-campaign-limits | Get iOS 14 campaign limits |
20
24
  | [**get_value_rule_set**](AdAccountsApi.md#get_value_rule_set) | **GET** /v1/ads/value-rule-sets/{valueRuleSetId} | Read a value rule set |
21
- | [**list_account_callouts**](AdAccountsApi.md#list_account_callouts) | **GET** /v1/ads/accounts/callouts | List account-level callout extensions |
25
+ | [**hide_ad_comment**](AdAccountsApi.md#hide_ad_comment) | **POST** /v1/ads/{adId}/comments/{commentId}/hide | Hide or unhide an ad comment |
26
+ | [**list_account_callouts**](AdAccountsApi.md#list_account_callouts) | **GET** /v1/ads/accounts/callouts | List account callouts |
27
+ | [**list_account_sitelinks**](AdAccountsApi.md#list_account_sitelinks) | **GET** /v1/ads/accounts/sitelinks | List account sitelinks |
28
+ | [**list_account_structured_snippets**](AdAccountsApi.md#list_account_structured_snippets) | **GET** /v1/ads/accounts/structured-snippets | List account snippets |
22
29
  | [**list_ad_accounts**](AdAccountsApi.md#list_ad_accounts) | **GET** /v1/ads/accounts | List ad accounts |
23
30
  | [**list_ad_labels**](AdAccountsApi.md#list_ad_labels) | **GET** /v1/ads/labels | Ad labels |
24
31
  | [**list_ad_negative_keyword_lists**](AdAccountsApi.md#list_ad_negative_keyword_lists) | **GET** /v1/ads/accounts/negative-keyword-lists | List negative keyword lists |
25
32
  | [**list_ad_studies**](AdAccountsApi.md#list_ad_studies) | **GET** /v1/ads/studies | A/B tests and lift studies |
26
33
  | [**list_ads_business_centers**](AdAccountsApi.md#list_ads_business_centers) | **GET** /v1/ads/business-centers | List TikTok Business Centers |
34
+ | [**list_ads_instagram_accounts**](AdAccountsApi.md#list_ads_instagram_accounts) | **GET** /v1/ads/instagram-accounts | List Instagram ad identities |
35
+ | [**list_advertisable_applications**](AdAccountsApi.md#list_advertisable_applications) | **GET** /v1/ads/advertisable-applications | List advertisable apps |
27
36
  | [**list_custom_conversions**](AdAccountsApi.md#list_custom_conversions) | **GET** /v1/accounts/{accountId}/custom-conversions | List custom conversions |
28
37
  | [**list_high_demand_periods**](AdAccountsApi.md#list_high_demand_periods) | **GET** /v1/ads/high-demand-periods | High demand periods / budget schedules |
29
38
  | [**list_meta_businesses**](AdAccountsApi.md#list_meta_businesses) | **GET** /v1/ads/businesses | Businesses list |
30
39
  | [**list_value_rule_sets**](AdAccountsApi.md#list_value_rule_sets) | **GET** /v1/ads/value-rule-sets | List value rule sets |
31
- | [**remove_account_callout**](AdAccountsApi.md#remove_account_callout) | **DELETE** /v1/ads/accounts/callouts | Remove an account-level callout extension |
40
+ | [**remove_account_callout**](AdAccountsApi.md#remove_account_callout) | **DELETE** /v1/ads/accounts/callouts | Remove account callout |
41
+ | [**remove_account_sitelink**](AdAccountsApi.md#remove_account_sitelink) | **DELETE** /v1/ads/accounts/sitelinks | Remove account sitelink |
42
+ | [**remove_account_structured_snippet**](AdAccountsApi.md#remove_account_structured_snippet) | **DELETE** /v1/ads/accounts/structured-snippets | Remove account snippet |
32
43
  | [**replace_ad_negative_keyword_list_keywords**](AdAccountsApi.md#replace_ad_negative_keyword_list_keywords) | **PUT** /v1/ads/accounts/negative-keyword-lists/{listId}/keywords | Replace negative list keywords |
44
+ | [**reply_to_ad_comment**](AdAccountsApi.md#reply_to_ad_comment) | **POST** /v1/ads/{adId}/comments/{commentId}/reply | Reply to an ad comment |
45
+ | [**update_account_callouts**](AdAccountsApi.md#update_account_callouts) | **PUT** /v1/ads/accounts/callouts | Update account callouts |
46
+ | [**update_account_sitelinks**](AdAccountsApi.md#update_account_sitelinks) | **PUT** /v1/ads/accounts/sitelinks | Update account sitelinks |
47
+ | [**update_account_structured_snippets**](AdAccountsApi.md#update_account_structured_snippets) | **PUT** /v1/ads/accounts/structured-snippets | Update account snippets |
33
48
  | [**update_ad_account**](AdAccountsApi.md#update_ad_account) | **PATCH** /v1/ads/accounts | Update ad account settings |
34
49
  | [**update_ad_negative_keyword_list**](AdAccountsApi.md#update_ad_negative_keyword_list) | **PUT** /v1/ads/accounts/negative-keyword-lists/{listId} | Rename a negative keyword list |
35
50
  | [**update_value_rule_set**](AdAccountsApi.md#update_value_rule_set) | **PUT** /v1/ads/value-rule-sets/{valueRuleSetId} | Replace a value rule set |
@@ -39,9 +54,9 @@ All URIs are relative to *https://zernio.com/api*
39
54
 
40
55
  > <AddAccountCallouts201Response> add_account_callouts(add_account_callouts_request)
41
56
 
42
- Add account-level callout extensions
57
+ Add account callouts
43
58
 
44
- Creates one asset plus one `customerAsset` link (field type CALLOUT) per callout text, in a single mutate. Google only; every other platform returns 501.
59
+ Creates assets and customer_asset links for this Google customer. Links apply at account level.
45
60
 
46
61
  ### Examples
47
62
 
@@ -58,7 +73,7 @@ api_instance = Zernio::AdAccountsApi.new
58
73
  add_account_callouts_request = Zernio::AddAccountCalloutsRequest.new({account_id: 'account_id_example', callouts: ['callouts_example']}) # AddAccountCalloutsRequest |
59
74
 
60
75
  begin
61
- # Add account-level callout extensions
76
+ # Add account callouts
62
77
  result = api_instance.add_account_callouts(add_account_callouts_request)
63
78
  p result
64
79
  rescue Zernio::ApiError => e
@@ -74,7 +89,7 @@ This returns an Array which contains the response data, status code and headers.
74
89
 
75
90
  ```ruby
76
91
  begin
77
- # Add account-level callout extensions
92
+ # Add account callouts
78
93
  data, status_code, headers = api_instance.add_account_callouts_with_http_info(add_account_callouts_request)
79
94
  p status_code # => 2xx
80
95
  p headers # => { ... }
@@ -104,6 +119,144 @@ end
104
119
  - **Accept**: application/json
105
120
 
106
121
 
122
+ ## add_account_sitelinks
123
+
124
+ > <AddAccountSitelinks201Response> add_account_sitelinks(add_account_sitelinks_request)
125
+
126
+ Add account sitelinks
127
+
128
+ Creates assets and customer_asset links for this Google customer. Links apply at account level.
129
+
130
+ ### Examples
131
+
132
+ ```ruby
133
+ require 'time'
134
+ require 'zernio-sdk'
135
+ # setup authorization
136
+ Zernio.configure do |config|
137
+ # Configure Bearer authorization (JWT): bearerAuth
138
+ config.access_token = 'YOUR_BEARER_TOKEN'
139
+ end
140
+
141
+ api_instance = Zernio::AdAccountsApi.new
142
+ add_account_sitelinks_request = Zernio::AddAccountSitelinksRequest.new({account_id: 'account_id_example', sitelinks: [Zernio::GoogleSitelink.new({text: 'text_example', link_url: 'link_url_example'})]}) # AddAccountSitelinksRequest |
143
+
144
+ begin
145
+ # Add account sitelinks
146
+ result = api_instance.add_account_sitelinks(add_account_sitelinks_request)
147
+ p result
148
+ rescue Zernio::ApiError => e
149
+ puts "Error when calling AdAccountsApi->add_account_sitelinks: #{e}"
150
+ end
151
+ ```
152
+
153
+ #### Using the add_account_sitelinks_with_http_info variant
154
+
155
+ This returns an Array which contains the response data, status code and headers.
156
+
157
+ > <Array(<AddAccountSitelinks201Response>, Integer, Hash)> add_account_sitelinks_with_http_info(add_account_sitelinks_request)
158
+
159
+ ```ruby
160
+ begin
161
+ # Add account sitelinks
162
+ data, status_code, headers = api_instance.add_account_sitelinks_with_http_info(add_account_sitelinks_request)
163
+ p status_code # => 2xx
164
+ p headers # => { ... }
165
+ p data # => <AddAccountSitelinks201Response>
166
+ rescue Zernio::ApiError => e
167
+ puts "Error when calling AdAccountsApi->add_account_sitelinks_with_http_info: #{e}"
168
+ end
169
+ ```
170
+
171
+ ### Parameters
172
+
173
+ | Name | Type | Description | Notes |
174
+ | ---- | ---- | ----------- | ----- |
175
+ | **add_account_sitelinks_request** | [**AddAccountSitelinksRequest**](AddAccountSitelinksRequest.md) | | |
176
+
177
+ ### Return type
178
+
179
+ [**AddAccountSitelinks201Response**](AddAccountSitelinks201Response.md)
180
+
181
+ ### Authorization
182
+
183
+ [bearerAuth](../README.md#bearerAuth)
184
+
185
+ ### HTTP request headers
186
+
187
+ - **Content-Type**: application/json
188
+ - **Accept**: application/json
189
+
190
+
191
+ ## add_account_structured_snippets
192
+
193
+ > <AddAccountStructuredSnippets201Response> add_account_structured_snippets(add_account_structured_snippets_request)
194
+
195
+ Add account snippets
196
+
197
+ Creates assets and customer_asset links for this Google customer. Links apply at account level.
198
+
199
+ ### Examples
200
+
201
+ ```ruby
202
+ require 'time'
203
+ require 'zernio-sdk'
204
+ # setup authorization
205
+ Zernio.configure do |config|
206
+ # Configure Bearer authorization (JWT): bearerAuth
207
+ config.access_token = 'YOUR_BEARER_TOKEN'
208
+ end
209
+
210
+ api_instance = Zernio::AdAccountsApi.new
211
+ add_account_structured_snippets_request = Zernio::AddAccountStructuredSnippetsRequest.new({account_id: 'account_id_example', structured_snippets: [Zernio::GoogleStructuredSnippet.new({header: 'Amenities', values: ['values_example']})]}) # AddAccountStructuredSnippetsRequest |
212
+
213
+ begin
214
+ # Add account snippets
215
+ result = api_instance.add_account_structured_snippets(add_account_structured_snippets_request)
216
+ p result
217
+ rescue Zernio::ApiError => e
218
+ puts "Error when calling AdAccountsApi->add_account_structured_snippets: #{e}"
219
+ end
220
+ ```
221
+
222
+ #### Using the add_account_structured_snippets_with_http_info variant
223
+
224
+ This returns an Array which contains the response data, status code and headers.
225
+
226
+ > <Array(<AddAccountStructuredSnippets201Response>, Integer, Hash)> add_account_structured_snippets_with_http_info(add_account_structured_snippets_request)
227
+
228
+ ```ruby
229
+ begin
230
+ # Add account snippets
231
+ data, status_code, headers = api_instance.add_account_structured_snippets_with_http_info(add_account_structured_snippets_request)
232
+ p status_code # => 2xx
233
+ p headers # => { ... }
234
+ p data # => <AddAccountStructuredSnippets201Response>
235
+ rescue Zernio::ApiError => e
236
+ puts "Error when calling AdAccountsApi->add_account_structured_snippets_with_http_info: #{e}"
237
+ end
238
+ ```
239
+
240
+ ### Parameters
241
+
242
+ | Name | Type | Description | Notes |
243
+ | ---- | ---- | ----------- | ----- |
244
+ | **add_account_structured_snippets_request** | [**AddAccountStructuredSnippetsRequest**](AddAccountStructuredSnippetsRequest.md) | | |
245
+
246
+ ### Return type
247
+
248
+ [**AddAccountStructuredSnippets201Response**](AddAccountStructuredSnippets201Response.md)
249
+
250
+ ### Authorization
251
+
252
+ [bearerAuth](../README.md#bearerAuth)
253
+
254
+ ### HTTP request headers
255
+
256
+ - **Content-Type**: application/json
257
+ - **Accept**: application/json
258
+
259
+
107
260
  ## create_ad_negative_keyword_list
108
261
 
109
262
  > <CreateAdNegativeKeywordList201Response> create_ad_negative_keyword_list(create_ad_negative_keyword_list_request)
@@ -382,6 +535,83 @@ end
382
535
  - **Accept**: application/json
383
536
 
384
537
 
538
+ ## delete_ad_comment
539
+
540
+ > <ReplyToAdComment200Response> delete_ad_comment(ad_id, comment_id, opts)
541
+
542
+ Delete an ad comment
543
+
544
+ 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.
545
+
546
+ ### Examples
547
+
548
+ ```ruby
549
+ require 'time'
550
+ require 'zernio-sdk'
551
+ # setup authorization
552
+ Zernio.configure do |config|
553
+ # Configure Bearer authorization (JWT): bearerAuth
554
+ config.access_token = 'YOUR_BEARER_TOKEN'
555
+ end
556
+
557
+ api_instance = Zernio::AdAccountsApi.new
558
+ ad_id = 'ad_id_example' # String | Internal Zernio ad ID or indexed platform ad ID.
559
+ comment_id = 'comment_id_example' # String | TikTok comment ID from the ad comment listing.
560
+ opts = {
561
+ since: Date.parse('2013-10-20'), # Date | Start date of the comment lookup window. Defaults to 30 days before until.
562
+ _until: Date.parse('2013-10-20') # Date | End date of the comment lookup window. Defaults to today in UTC.
563
+ }
564
+
565
+ begin
566
+ # Delete an ad comment
567
+ result = api_instance.delete_ad_comment(ad_id, comment_id, opts)
568
+ p result
569
+ rescue Zernio::ApiError => e
570
+ puts "Error when calling AdAccountsApi->delete_ad_comment: #{e}"
571
+ end
572
+ ```
573
+
574
+ #### Using the delete_ad_comment_with_http_info variant
575
+
576
+ This returns an Array which contains the response data, status code and headers.
577
+
578
+ > <Array(<ReplyToAdComment200Response>, Integer, Hash)> delete_ad_comment_with_http_info(ad_id, comment_id, opts)
579
+
580
+ ```ruby
581
+ begin
582
+ # Delete an ad comment
583
+ data, status_code, headers = api_instance.delete_ad_comment_with_http_info(ad_id, comment_id, opts)
584
+ p status_code # => 2xx
585
+ p headers # => { ... }
586
+ p data # => <ReplyToAdComment200Response>
587
+ rescue Zernio::ApiError => e
588
+ puts "Error when calling AdAccountsApi->delete_ad_comment_with_http_info: #{e}"
589
+ end
590
+ ```
591
+
592
+ ### Parameters
593
+
594
+ | Name | Type | Description | Notes |
595
+ | ---- | ---- | ----------- | ----- |
596
+ | **ad_id** | **String** | Internal Zernio ad ID or indexed platform ad ID. | |
597
+ | **comment_id** | **String** | TikTok comment ID from the ad comment listing. | |
598
+ | **since** | **Date** | Start date of the comment lookup window. Defaults to 30 days before until. | [optional] |
599
+ | **_until** | **Date** | End date of the comment lookup window. Defaults to today in UTC. | [optional] |
600
+
601
+ ### Return type
602
+
603
+ [**ReplyToAdComment200Response**](ReplyToAdComment200Response.md)
604
+
605
+ ### Authorization
606
+
607
+ [bearerAuth](../README.md#bearerAuth)
608
+
609
+ ### HTTP request headers
610
+
611
+ - **Content-Type**: Not defined
612
+ - **Accept**: application/json
613
+
614
+
385
615
  ## delete_ad_negative_keyword_list
386
616
 
387
617
  > <DeleteAdNegativeKeywordList200Response> delete_ad_negative_keyword_list(list_id, account_id, opts)
@@ -607,7 +837,7 @@ end
607
837
 
608
838
  List comments on an ad
609
839
 
610
- 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). Meta-only for now. Other ad platforms (TikTok, LinkedIn, Pinterest, Google, X) are not wired to this endpoint and 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), Meta's 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.
840
+ 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.
611
841
 
612
842
  ### Examples
613
843
 
@@ -621,10 +851,12 @@ Zernio.configure do |config|
621
851
  end
622
852
 
623
853
  api_instance = Zernio::AdAccountsApi.new
624
- ad_id = 'ad_id_example' # String | Internal Zernio ad ID (ObjectId).
854
+ ad_id = 'ad_id_example' # String | Internal Zernio ad ID or indexed platform ad/post ID.
625
855
  opts = {
626
856
  placement: 'facebook', # String | Which side of the ad to return comments for. Omit to default to the Instagram side when present, else Facebook. Returns ad_not_commentable if the ad has no such placement.
627
857
  limit: 56, # Integer |
858
+ since: Date.parse('2013-10-20'), # Date | TikTok-only start date. Defaults to 30 days before until. Maximum window is 30 days.
859
+ _until: Date.parse('2013-10-20'), # Date | TikTok-only end date. Defaults to today in UTC.
628
860
  cursor: 'cursor_example' # String | Pagination cursor from a previous response.
629
861
  }
630
862
 
@@ -659,9 +891,11 @@ end
659
891
 
660
892
  | Name | Type | Description | Notes |
661
893
  | ---- | ---- | ----------- | ----- |
662
- | **ad_id** | **String** | Internal Zernio ad ID (ObjectId). | |
894
+ | **ad_id** | **String** | Internal Zernio ad ID or indexed platform ad/post ID. | |
663
895
  | **placement** | **String** | Which side of the ad to return comments for. Omit to default to the Instagram side when present, else Facebook. Returns ad_not_commentable if the ad has no such placement. | [optional] |
664
896
  | **limit** | **Integer** | | [optional][default to 25] |
897
+ | **since** | **Date** | TikTok-only start date. Defaults to 30 days before until. Maximum window is 30 days. | [optional] |
898
+ | **_until** | **Date** | TikTok-only end date. Defaults to today in UTC. | [optional] |
665
899
  | **cursor** | **String** | Pagination cursor from a previous response. | [optional] |
666
900
 
667
901
  ### Return type
@@ -980,13 +1214,13 @@ end
980
1214
  - **Accept**: application/json
981
1215
 
982
1216
 
983
- ## get_value_rule_set
1217
+ ## get_ios_fourteen_campaign_limits
984
1218
 
985
- > <GetValueRuleSet200Response> get_value_rule_set(value_rule_set_id, account_id)
1219
+ > <GetIosFourteenCampaignLimits200Response> get_ios_fourteen_campaign_limits(account_id, ad_account_id, application_id)
986
1220
 
987
- Read a value rule set
1221
+ Get iOS 14 campaign limits
988
1222
 
989
- Reads one value rule set including every nested rule id and criterion id. This is step one of any edit: `PUT` is a full replace, so you need the ids before you can keep the objects you are not changing. Meta's own read returns `GENDER` values lowercase (`\"male\"`) while writes require `\"MALE\"`. Values are passed through untouched, so never case-compare a stored rule against a fetched one.
1223
+ Reads Meta iOS 14 campaign limits for an application on an ad account. applicationId is sent as Meta app_id. This read does not establish that the application is configured for iOS promotion.
990
1224
 
991
1225
  ### Examples
992
1226
 
@@ -1000,33 +1234,34 @@ Zernio.configure do |config|
1000
1234
  end
1001
1235
 
1002
1236
  api_instance = Zernio::AdAccountsApi.new
1003
- value_rule_set_id = 'value_rule_set_id_example' # String | Platform value rule set id.
1004
- account_id = 'account_id_example' # String | Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token.
1237
+ account_id = 'account_id_example' # String | Zernio Meta Ads or Facebook SocialAccount ID.
1238
+ ad_account_id = 'ad_account_id_example' # String | Meta ad account ID including the act_ prefix.
1239
+ application_id = 'application_id_example' # String | Meta application ID from advertisable-applications.
1005
1240
 
1006
1241
  begin
1007
- # Read a value rule set
1008
- result = api_instance.get_value_rule_set(value_rule_set_id, account_id)
1242
+ # Get iOS 14 campaign limits
1243
+ result = api_instance.get_ios_fourteen_campaign_limits(account_id, ad_account_id, application_id)
1009
1244
  p result
1010
1245
  rescue Zernio::ApiError => e
1011
- puts "Error when calling AdAccountsApi->get_value_rule_set: #{e}"
1246
+ puts "Error when calling AdAccountsApi->get_ios_fourteen_campaign_limits: #{e}"
1012
1247
  end
1013
1248
  ```
1014
1249
 
1015
- #### Using the get_value_rule_set_with_http_info variant
1250
+ #### Using the get_ios_fourteen_campaign_limits_with_http_info variant
1016
1251
 
1017
1252
  This returns an Array which contains the response data, status code and headers.
1018
1253
 
1019
- > <Array(<GetValueRuleSet200Response>, Integer, Hash)> get_value_rule_set_with_http_info(value_rule_set_id, account_id)
1254
+ > <Array(<GetIosFourteenCampaignLimits200Response>, Integer, Hash)> get_ios_fourteen_campaign_limits_with_http_info(account_id, ad_account_id, application_id)
1020
1255
 
1021
1256
  ```ruby
1022
1257
  begin
1023
- # Read a value rule set
1024
- data, status_code, headers = api_instance.get_value_rule_set_with_http_info(value_rule_set_id, account_id)
1258
+ # Get iOS 14 campaign limits
1259
+ data, status_code, headers = api_instance.get_ios_fourteen_campaign_limits_with_http_info(account_id, ad_account_id, application_id)
1025
1260
  p status_code # => 2xx
1026
1261
  p headers # => { ... }
1027
- p data # => <GetValueRuleSet200Response>
1262
+ p data # => <GetIosFourteenCampaignLimits200Response>
1028
1263
  rescue Zernio::ApiError => e
1029
- puts "Error when calling AdAccountsApi->get_value_rule_set_with_http_info: #{e}"
1264
+ puts "Error when calling AdAccountsApi->get_ios_fourteen_campaign_limits_with_http_info: #{e}"
1030
1265
  end
1031
1266
  ```
1032
1267
 
@@ -1034,12 +1269,13 @@ end
1034
1269
 
1035
1270
  | Name | Type | Description | Notes |
1036
1271
  | ---- | ---- | ----------- | ----- |
1037
- | **value_rule_set_id** | **String** | Platform value rule set id. | |
1038
- | **account_id** | **String** | Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token. | |
1272
+ | **account_id** | **String** | Zernio Meta Ads or Facebook SocialAccount ID. | |
1273
+ | **ad_account_id** | **String** | Meta ad account ID including the act_ prefix. | |
1274
+ | **application_id** | **String** | Meta application ID from advertisable-applications. | |
1039
1275
 
1040
1276
  ### Return type
1041
1277
 
1042
- [**GetValueRuleSet200Response**](GetValueRuleSet200Response.md)
1278
+ [**GetIosFourteenCampaignLimits200Response**](GetIosFourteenCampaignLimits200Response.md)
1043
1279
 
1044
1280
  ### Authorization
1045
1281
 
@@ -1051,13 +1287,13 @@ end
1051
1287
  - **Accept**: application/json
1052
1288
 
1053
1289
 
1054
- ## list_account_callouts
1290
+ ## get_value_rule_set
1055
1291
 
1056
- > <ListAccountCallouts200Response> list_account_callouts(account_id, opts)
1292
+ > <GetValueRuleSet200Response> get_value_rule_set(value_rule_set_id, account_id)
1057
1293
 
1058
- List account-level callout extensions
1294
+ Read a value rule set
1059
1295
 
1060
- Google Ads compliance row C.75: callout assets linked at the CUSTOMER level via `customer_asset` (not a campaign or ad group), so they serve fleet-wide across the account. Google only; every other platform returns 501. Cached for the quota window (10 minutes fresh, up to 7 days last-good), and gated by the shared Google Ads operations budget on a cache miss. The response carries `cachedAt` and `stale`, set when a quota-exhausted call falls back to the last-good copy instead of a live read.
1296
+ Reads one value rule set including every nested rule id and criterion id. This is step one of any edit: `PUT` is a full replace, so you need the ids before you can keep the objects you are not changing. Meta's own read returns `GENDER` values lowercase (`\"male\"`) while writes require `\"MALE\"`. Values are passed through untouched, so never case-compare a stored rule against a fetched one.
1061
1297
 
1062
1298
  ### Examples
1063
1299
 
@@ -1071,35 +1307,33 @@ Zernio.configure do |config|
1071
1307
  end
1072
1308
 
1073
1309
  api_instance = Zernio::AdAccountsApi.new
1074
- account_id = 'account_id_example' # String | Google ads SocialAccount id.
1075
- opts = {
1076
- customer_id: 'customer_id_example' # String | Numeric Google Ads customer id (no dashes). Defaults to the account's connected customer.
1077
- }
1310
+ value_rule_set_id = 'value_rule_set_id_example' # String | Platform value rule set id.
1311
+ account_id = 'account_id_example' # String | Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token.
1078
1312
 
1079
1313
  begin
1080
- # List account-level callout extensions
1081
- result = api_instance.list_account_callouts(account_id, opts)
1314
+ # Read a value rule set
1315
+ result = api_instance.get_value_rule_set(value_rule_set_id, account_id)
1082
1316
  p result
1083
1317
  rescue Zernio::ApiError => e
1084
- puts "Error when calling AdAccountsApi->list_account_callouts: #{e}"
1318
+ puts "Error when calling AdAccountsApi->get_value_rule_set: #{e}"
1085
1319
  end
1086
1320
  ```
1087
1321
 
1088
- #### Using the list_account_callouts_with_http_info variant
1322
+ #### Using the get_value_rule_set_with_http_info variant
1089
1323
 
1090
1324
  This returns an Array which contains the response data, status code and headers.
1091
1325
 
1092
- > <Array(<ListAccountCallouts200Response>, Integer, Hash)> list_account_callouts_with_http_info(account_id, opts)
1326
+ > <Array(<GetValueRuleSet200Response>, Integer, Hash)> get_value_rule_set_with_http_info(value_rule_set_id, account_id)
1093
1327
 
1094
1328
  ```ruby
1095
1329
  begin
1096
- # List account-level callout extensions
1097
- data, status_code, headers = api_instance.list_account_callouts_with_http_info(account_id, opts)
1330
+ # Read a value rule set
1331
+ data, status_code, headers = api_instance.get_value_rule_set_with_http_info(value_rule_set_id, account_id)
1098
1332
  p status_code # => 2xx
1099
1333
  p headers # => { ... }
1100
- p data # => <ListAccountCallouts200Response>
1334
+ p data # => <GetValueRuleSet200Response>
1101
1335
  rescue Zernio::ApiError => e
1102
- puts "Error when calling AdAccountsApi->list_account_callouts_with_http_info: #{e}"
1336
+ puts "Error when calling AdAccountsApi->get_value_rule_set_with_http_info: #{e}"
1103
1337
  end
1104
1338
  ```
1105
1339
 
@@ -1107,12 +1341,12 @@ end
1107
1341
 
1108
1342
  | Name | Type | Description | Notes |
1109
1343
  | ---- | ---- | ----------- | ----- |
1110
- | **account_id** | **String** | Google ads SocialAccount id. | |
1111
- | **customer_id** | **String** | Numeric Google Ads customer id (no dashes). Defaults to the account&#39;s connected customer. | [optional] |
1344
+ | **value_rule_set_id** | **String** | Platform value rule set id. | |
1345
+ | **account_id** | **String** | Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token. | |
1112
1346
 
1113
1347
  ### Return type
1114
1348
 
1115
- [**ListAccountCallouts200Response**](ListAccountCallouts200Response.md)
1349
+ [**GetValueRuleSet200Response**](GetValueRuleSet200Response.md)
1116
1350
 
1117
1351
  ### Authorization
1118
1352
 
@@ -1124,13 +1358,13 @@ end
1124
1358
  - **Accept**: application/json
1125
1359
 
1126
1360
 
1127
- ## list_ad_accounts
1361
+ ## hide_ad_comment
1128
1362
 
1129
- > <ListAdAccounts200Response> list_ad_accounts(account_id, opts)
1363
+ > <HideAdComment200Response> hide_ad_comment(ad_id, comment_id, hide_ad_comment_request, opts)
1130
1364
 
1131
- List ad accounts
1365
+ Hide or unhide an ad comment
1132
1366
 
1133
- Returns the platform ad accounts available for the given account (e.g. Meta ad accounts, TikTok advertiser IDs, Google Ads customer IDs). For TikTok agencies: enumerates every advertiser under every Business Center the token can read (paginated server-side), then chunks the lookup against TikTok's `/advertiser/info/` endpoint (which has a per-call cap of ≤100 IDs). Solo advertisers without a BC fall back to the OAuth-time `advertiser_ids` list. Cached for 1h on the SocialAccount; lazy-refreshed on first call after expiry. For Google Ads: responds `429` when Google's API quota is temporarily exhausted (instead of an empty list). Retry after a delay.
1367
+ 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.
1134
1368
 
1135
1369
  ### Examples
1136
1370
 
@@ -1144,36 +1378,38 @@ Zernio.configure do |config|
1144
1378
  end
1145
1379
 
1146
1380
  api_instance = Zernio::AdAccountsApi.new
1147
- account_id = 'account_id_example' # String | Account ID
1381
+ ad_id = 'ad_id_example' # String | Internal Zernio ad ID or indexed platform ad ID.
1382
+ comment_id = 'comment_id_example' # String | TikTok comment ID from the ad comment listing.
1383
+ hide_ad_comment_request = Zernio::HideAdCommentRequest.new({hidden: false}) # HideAdCommentRequest |
1148
1384
  opts = {
1149
- ad_account_id: 'ad_account_id_example', # String | Filter response to a single platform ad account ID (e.g. `act_123` for Meta, advertiser_id for TikTok). Returns at most one item.
1150
- limit: 56 # Integer | Clamp the returned `accounts[]` length. Useful for typeahead pickers on agency tokens with hundreds of advertisers.
1385
+ since: Date.parse('2013-10-20'), # Date | Start date of the comment lookup window. Defaults to 30 days before until.
1386
+ _until: Date.parse('2013-10-20') # Date | End date of the comment lookup window. Defaults to today in UTC.
1151
1387
  }
1152
1388
 
1153
1389
  begin
1154
- # List ad accounts
1155
- result = api_instance.list_ad_accounts(account_id, opts)
1390
+ # Hide or unhide an ad comment
1391
+ result = api_instance.hide_ad_comment(ad_id, comment_id, hide_ad_comment_request, opts)
1156
1392
  p result
1157
1393
  rescue Zernio::ApiError => e
1158
- puts "Error when calling AdAccountsApi->list_ad_accounts: #{e}"
1394
+ puts "Error when calling AdAccountsApi->hide_ad_comment: #{e}"
1159
1395
  end
1160
1396
  ```
1161
1397
 
1162
- #### Using the list_ad_accounts_with_http_info variant
1398
+ #### Using the hide_ad_comment_with_http_info variant
1163
1399
 
1164
1400
  This returns an Array which contains the response data, status code and headers.
1165
1401
 
1166
- > <Array(<ListAdAccounts200Response>, Integer, Hash)> list_ad_accounts_with_http_info(account_id, opts)
1402
+ > <Array(<HideAdComment200Response>, Integer, Hash)> hide_ad_comment_with_http_info(ad_id, comment_id, hide_ad_comment_request, opts)
1167
1403
 
1168
1404
  ```ruby
1169
1405
  begin
1170
- # List ad accounts
1171
- data, status_code, headers = api_instance.list_ad_accounts_with_http_info(account_id, opts)
1406
+ # Hide or unhide an ad comment
1407
+ data, status_code, headers = api_instance.hide_ad_comment_with_http_info(ad_id, comment_id, hide_ad_comment_request, opts)
1172
1408
  p status_code # => 2xx
1173
1409
  p headers # => { ... }
1174
- p data # => <ListAdAccounts200Response>
1410
+ p data # => <HideAdComment200Response>
1175
1411
  rescue Zernio::ApiError => e
1176
- puts "Error when calling AdAccountsApi->list_ad_accounts_with_http_info: #{e}"
1412
+ puts "Error when calling AdAccountsApi->hide_ad_comment_with_http_info: #{e}"
1177
1413
  end
1178
1414
  ```
1179
1415
 
@@ -1181,13 +1417,15 @@ end
1181
1417
 
1182
1418
  | Name | Type | Description | Notes |
1183
1419
  | ---- | ---- | ----------- | ----- |
1184
- | **account_id** | **String** | Account ID | |
1185
- | **ad_account_id** | **String** | Filter response to a single platform ad account ID (e.g. &#x60;act_123&#x60; for Meta, advertiser_id for TikTok). Returns at most one item. | [optional] |
1186
- | **limit** | **Integer** | Clamp the returned &#x60;accounts[]&#x60; length. Useful for typeahead pickers on agency tokens with hundreds of advertisers. | [optional] |
1420
+ | **ad_id** | **String** | Internal Zernio ad ID or indexed platform ad ID. | |
1421
+ | **comment_id** | **String** | TikTok comment ID from the ad comment listing. | |
1422
+ | **hide_ad_comment_request** | [**HideAdCommentRequest**](HideAdCommentRequest.md) | | |
1423
+ | **since** | **Date** | Start date of the comment lookup window. Defaults to 30 days before until. | [optional] |
1424
+ | **_until** | **Date** | End date of the comment lookup window. Defaults to today in UTC. | [optional] |
1187
1425
 
1188
1426
  ### Return type
1189
1427
 
1190
- [**ListAdAccounts200Response**](ListAdAccounts200Response.md)
1428
+ [**HideAdComment200Response**](HideAdComment200Response.md)
1191
1429
 
1192
1430
  ### Authorization
1193
1431
 
@@ -1195,17 +1433,17 @@ end
1195
1433
 
1196
1434
  ### HTTP request headers
1197
1435
 
1198
- - **Content-Type**: Not defined
1436
+ - **Content-Type**: application/json
1199
1437
  - **Accept**: application/json
1200
1438
 
1201
1439
 
1202
- ## list_ad_labels
1440
+ ## list_account_callouts
1203
1441
 
1204
- > <ListAdLabels200Response> list_ad_labels(account_id, ad_account_id, opts)
1442
+ > <ListAccountCallouts200Response> list_account_callouts(account_id, opts)
1205
1443
 
1206
- Ad labels
1444
+ List account callouts
1207
1445
 
1208
- Lists the ad account's organizational labels (Meta's `/act_X/adlabels`), rows returned verbatim (id, name, created/updated time).
1446
+ Lists directly attached Google assets. Fresh reads are cached for 10 minutes; exhausted quota may return the last successful read with stale=true. Inherited assets are not included. Preserves Google RMF C.75 account-level callouts.
1209
1447
 
1210
1448
  ### Examples
1211
1449
 
@@ -1219,35 +1457,329 @@ Zernio.configure do |config|
1219
1457
  end
1220
1458
 
1221
1459
  api_instance = Zernio::AdAccountsApi.new
1222
- account_id = 'account_id_example' # String | Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token.
1223
- ad_account_id = 'ad_account_id_example' # String | Meta ad account id (act_<n>).
1460
+ account_id = 'account_id_example' # String |
1224
1461
  opts = {
1225
- limit: 56, # Integer | Rows per page
1226
- after: 'after_example' # String | Cursor from paging.after of the previous page.
1462
+ customer_id: 'customer_id_example' # String |
1227
1463
  }
1228
1464
 
1229
1465
  begin
1230
- # Ad labels
1231
- result = api_instance.list_ad_labels(account_id, ad_account_id, opts)
1466
+ # List account callouts
1467
+ result = api_instance.list_account_callouts(account_id, opts)
1232
1468
  p result
1233
1469
  rescue Zernio::ApiError => e
1234
- puts "Error when calling AdAccountsApi->list_ad_labels: #{e}"
1470
+ puts "Error when calling AdAccountsApi->list_account_callouts: #{e}"
1235
1471
  end
1236
1472
  ```
1237
1473
 
1238
- #### Using the list_ad_labels_with_http_info variant
1474
+ #### Using the list_account_callouts_with_http_info variant
1239
1475
 
1240
1476
  This returns an Array which contains the response data, status code and headers.
1241
1477
 
1242
- > <Array(<ListAdLabels200Response>, Integer, Hash)> list_ad_labels_with_http_info(account_id, ad_account_id, opts)
1478
+ > <Array(<ListAccountCallouts200Response>, Integer, Hash)> list_account_callouts_with_http_info(account_id, opts)
1243
1479
 
1244
1480
  ```ruby
1245
1481
  begin
1246
- # Ad labels
1247
- data, status_code, headers = api_instance.list_ad_labels_with_http_info(account_id, ad_account_id, opts)
1482
+ # List account callouts
1483
+ data, status_code, headers = api_instance.list_account_callouts_with_http_info(account_id, opts)
1248
1484
  p status_code # => 2xx
1249
1485
  p headers # => { ... }
1250
- p data # => <ListAdLabels200Response>
1486
+ p data # => <ListAccountCallouts200Response>
1487
+ rescue Zernio::ApiError => e
1488
+ puts "Error when calling AdAccountsApi->list_account_callouts_with_http_info: #{e}"
1489
+ end
1490
+ ```
1491
+
1492
+ ### Parameters
1493
+
1494
+ | Name | Type | Description | Notes |
1495
+ | ---- | ---- | ----------- | ----- |
1496
+ | **account_id** | **String** | | |
1497
+ | **customer_id** | **String** | | [optional] |
1498
+
1499
+ ### Return type
1500
+
1501
+ [**ListAccountCallouts200Response**](ListAccountCallouts200Response.md)
1502
+
1503
+ ### Authorization
1504
+
1505
+ [bearerAuth](../README.md#bearerAuth)
1506
+
1507
+ ### HTTP request headers
1508
+
1509
+ - **Content-Type**: Not defined
1510
+ - **Accept**: application/json
1511
+
1512
+
1513
+ ## list_account_sitelinks
1514
+
1515
+ > <ListAccountSitelinks200Response> list_account_sitelinks(account_id, opts)
1516
+
1517
+ List account sitelinks
1518
+
1519
+ Lists directly attached Google assets. Fresh reads are cached for 10 minutes; exhausted quota may return the last successful read with stale=true. Inherited assets are not included.
1520
+
1521
+ ### Examples
1522
+
1523
+ ```ruby
1524
+ require 'time'
1525
+ require 'zernio-sdk'
1526
+ # setup authorization
1527
+ Zernio.configure do |config|
1528
+ # Configure Bearer authorization (JWT): bearerAuth
1529
+ config.access_token = 'YOUR_BEARER_TOKEN'
1530
+ end
1531
+
1532
+ api_instance = Zernio::AdAccountsApi.new
1533
+ account_id = 'account_id_example' # String |
1534
+ opts = {
1535
+ customer_id: 'customer_id_example' # String |
1536
+ }
1537
+
1538
+ begin
1539
+ # List account sitelinks
1540
+ result = api_instance.list_account_sitelinks(account_id, opts)
1541
+ p result
1542
+ rescue Zernio::ApiError => e
1543
+ puts "Error when calling AdAccountsApi->list_account_sitelinks: #{e}"
1544
+ end
1545
+ ```
1546
+
1547
+ #### Using the list_account_sitelinks_with_http_info variant
1548
+
1549
+ This returns an Array which contains the response data, status code and headers.
1550
+
1551
+ > <Array(<ListAccountSitelinks200Response>, Integer, Hash)> list_account_sitelinks_with_http_info(account_id, opts)
1552
+
1553
+ ```ruby
1554
+ begin
1555
+ # List account sitelinks
1556
+ data, status_code, headers = api_instance.list_account_sitelinks_with_http_info(account_id, opts)
1557
+ p status_code # => 2xx
1558
+ p headers # => { ... }
1559
+ p data # => <ListAccountSitelinks200Response>
1560
+ rescue Zernio::ApiError => e
1561
+ puts "Error when calling AdAccountsApi->list_account_sitelinks_with_http_info: #{e}"
1562
+ end
1563
+ ```
1564
+
1565
+ ### Parameters
1566
+
1567
+ | Name | Type | Description | Notes |
1568
+ | ---- | ---- | ----------- | ----- |
1569
+ | **account_id** | **String** | | |
1570
+ | **customer_id** | **String** | | [optional] |
1571
+
1572
+ ### Return type
1573
+
1574
+ [**ListAccountSitelinks200Response**](ListAccountSitelinks200Response.md)
1575
+
1576
+ ### Authorization
1577
+
1578
+ [bearerAuth](../README.md#bearerAuth)
1579
+
1580
+ ### HTTP request headers
1581
+
1582
+ - **Content-Type**: Not defined
1583
+ - **Accept**: application/json
1584
+
1585
+
1586
+ ## list_account_structured_snippets
1587
+
1588
+ > <ListAccountStructuredSnippets200Response> list_account_structured_snippets(account_id, opts)
1589
+
1590
+ List account snippets
1591
+
1592
+ Lists directly attached Google assets. Fresh reads are cached for 10 minutes; exhausted quota may return the last successful read with stale=true. Inherited assets are not included.
1593
+
1594
+ ### Examples
1595
+
1596
+ ```ruby
1597
+ require 'time'
1598
+ require 'zernio-sdk'
1599
+ # setup authorization
1600
+ Zernio.configure do |config|
1601
+ # Configure Bearer authorization (JWT): bearerAuth
1602
+ config.access_token = 'YOUR_BEARER_TOKEN'
1603
+ end
1604
+
1605
+ api_instance = Zernio::AdAccountsApi.new
1606
+ account_id = 'account_id_example' # String |
1607
+ opts = {
1608
+ customer_id: 'customer_id_example' # String |
1609
+ }
1610
+
1611
+ begin
1612
+ # List account snippets
1613
+ result = api_instance.list_account_structured_snippets(account_id, opts)
1614
+ p result
1615
+ rescue Zernio::ApiError => e
1616
+ puts "Error when calling AdAccountsApi->list_account_structured_snippets: #{e}"
1617
+ end
1618
+ ```
1619
+
1620
+ #### Using the list_account_structured_snippets_with_http_info variant
1621
+
1622
+ This returns an Array which contains the response data, status code and headers.
1623
+
1624
+ > <Array(<ListAccountStructuredSnippets200Response>, Integer, Hash)> list_account_structured_snippets_with_http_info(account_id, opts)
1625
+
1626
+ ```ruby
1627
+ begin
1628
+ # List account snippets
1629
+ data, status_code, headers = api_instance.list_account_structured_snippets_with_http_info(account_id, opts)
1630
+ p status_code # => 2xx
1631
+ p headers # => { ... }
1632
+ p data # => <ListAccountStructuredSnippets200Response>
1633
+ rescue Zernio::ApiError => e
1634
+ puts "Error when calling AdAccountsApi->list_account_structured_snippets_with_http_info: #{e}"
1635
+ end
1636
+ ```
1637
+
1638
+ ### Parameters
1639
+
1640
+ | Name | Type | Description | Notes |
1641
+ | ---- | ---- | ----------- | ----- |
1642
+ | **account_id** | **String** | | |
1643
+ | **customer_id** | **String** | | [optional] |
1644
+
1645
+ ### Return type
1646
+
1647
+ [**ListAccountStructuredSnippets200Response**](ListAccountStructuredSnippets200Response.md)
1648
+
1649
+ ### Authorization
1650
+
1651
+ [bearerAuth](../README.md#bearerAuth)
1652
+
1653
+ ### HTTP request headers
1654
+
1655
+ - **Content-Type**: Not defined
1656
+ - **Accept**: application/json
1657
+
1658
+
1659
+ ## list_ad_accounts
1660
+
1661
+ > <ListAdAccounts200Response> list_ad_accounts(account_id, opts)
1662
+
1663
+ List ad accounts
1664
+
1665
+ Returns the platform ad accounts available for the given account (e.g. Meta ad accounts, TikTok advertiser IDs, Google Ads customer IDs). For TikTok agencies: enumerates every advertiser under every Business Center the token can read (paginated server-side), then chunks the lookup against TikTok's `/advertiser/info/` endpoint (which has a per-call cap of ≤100 IDs). Solo advertisers without a BC fall back to the OAuth-time `advertiser_ids` list. Cached for 1h on the SocialAccount; lazy-refreshed on first call after expiry. For Google Ads: responds `429` when Google's API quota is temporarily exhausted (instead of an empty list). Retry after a delay.
1666
+
1667
+ ### Examples
1668
+
1669
+ ```ruby
1670
+ require 'time'
1671
+ require 'zernio-sdk'
1672
+ # setup authorization
1673
+ Zernio.configure do |config|
1674
+ # Configure Bearer authorization (JWT): bearerAuth
1675
+ config.access_token = 'YOUR_BEARER_TOKEN'
1676
+ end
1677
+
1678
+ api_instance = Zernio::AdAccountsApi.new
1679
+ account_id = 'account_id_example' # String | Account ID
1680
+ opts = {
1681
+ ad_account_id: 'ad_account_id_example', # String | Filter response to a single platform ad account ID (e.g. `act_123` for Meta, advertiser_id for TikTok). Returns at most one item.
1682
+ limit: 56 # Integer | Clamp the returned `accounts[]` length. Useful for typeahead pickers on agency tokens with hundreds of advertisers.
1683
+ }
1684
+
1685
+ begin
1686
+ # List ad accounts
1687
+ result = api_instance.list_ad_accounts(account_id, opts)
1688
+ p result
1689
+ rescue Zernio::ApiError => e
1690
+ puts "Error when calling AdAccountsApi->list_ad_accounts: #{e}"
1691
+ end
1692
+ ```
1693
+
1694
+ #### Using the list_ad_accounts_with_http_info variant
1695
+
1696
+ This returns an Array which contains the response data, status code and headers.
1697
+
1698
+ > <Array(<ListAdAccounts200Response>, Integer, Hash)> list_ad_accounts_with_http_info(account_id, opts)
1699
+
1700
+ ```ruby
1701
+ begin
1702
+ # List ad accounts
1703
+ data, status_code, headers = api_instance.list_ad_accounts_with_http_info(account_id, opts)
1704
+ p status_code # => 2xx
1705
+ p headers # => { ... }
1706
+ p data # => <ListAdAccounts200Response>
1707
+ rescue Zernio::ApiError => e
1708
+ puts "Error when calling AdAccountsApi->list_ad_accounts_with_http_info: #{e}"
1709
+ end
1710
+ ```
1711
+
1712
+ ### Parameters
1713
+
1714
+ | Name | Type | Description | Notes |
1715
+ | ---- | ---- | ----------- | ----- |
1716
+ | **account_id** | **String** | Account ID | |
1717
+ | **ad_account_id** | **String** | Filter response to a single platform ad account ID (e.g. &#x60;act_123&#x60; for Meta, advertiser_id for TikTok). Returns at most one item. | [optional] |
1718
+ | **limit** | **Integer** | Clamp the returned &#x60;accounts[]&#x60; length. Useful for typeahead pickers on agency tokens with hundreds of advertisers. | [optional] |
1719
+
1720
+ ### Return type
1721
+
1722
+ [**ListAdAccounts200Response**](ListAdAccounts200Response.md)
1723
+
1724
+ ### Authorization
1725
+
1726
+ [bearerAuth](../README.md#bearerAuth)
1727
+
1728
+ ### HTTP request headers
1729
+
1730
+ - **Content-Type**: Not defined
1731
+ - **Accept**: application/json
1732
+
1733
+
1734
+ ## list_ad_labels
1735
+
1736
+ > <ListAdLabels200Response> list_ad_labels(account_id, ad_account_id, opts)
1737
+
1738
+ Ad labels
1739
+
1740
+ Lists the ad account's organizational labels (Meta's `/act_X/adlabels`), rows returned verbatim (id, name, created/updated time).
1741
+
1742
+ ### Examples
1743
+
1744
+ ```ruby
1745
+ require 'time'
1746
+ require 'zernio-sdk'
1747
+ # setup authorization
1748
+ Zernio.configure do |config|
1749
+ # Configure Bearer authorization (JWT): bearerAuth
1750
+ config.access_token = 'YOUR_BEARER_TOKEN'
1751
+ end
1752
+
1753
+ api_instance = Zernio::AdAccountsApi.new
1754
+ account_id = 'account_id_example' # String | Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token.
1755
+ ad_account_id = 'ad_account_id_example' # String | Meta ad account id (act_<n>).
1756
+ opts = {
1757
+ limit: 56, # Integer | Rows per page
1758
+ after: 'after_example' # String | Cursor from paging.after of the previous page.
1759
+ }
1760
+
1761
+ begin
1762
+ # Ad labels
1763
+ result = api_instance.list_ad_labels(account_id, ad_account_id, opts)
1764
+ p result
1765
+ rescue Zernio::ApiError => e
1766
+ puts "Error when calling AdAccountsApi->list_ad_labels: #{e}"
1767
+ end
1768
+ ```
1769
+
1770
+ #### Using the list_ad_labels_with_http_info variant
1771
+
1772
+ This returns an Array which contains the response data, status code and headers.
1773
+
1774
+ > <Array(<ListAdLabels200Response>, Integer, Hash)> list_ad_labels_with_http_info(account_id, ad_account_id, opts)
1775
+
1776
+ ```ruby
1777
+ begin
1778
+ # Ad labels
1779
+ data, status_code, headers = api_instance.list_ad_labels_with_http_info(account_id, ad_account_id, opts)
1780
+ p status_code # => 2xx
1781
+ p headers # => { ... }
1782
+ p data # => <ListAdLabels200Response>
1251
1783
  rescue Zernio::ApiError => e
1252
1784
  puts "Error when calling AdAccountsApi->list_ad_labels_with_http_info: #{e}"
1253
1785
  end
@@ -1258,13 +1790,603 @@ end
1258
1790
  | Name | Type | Description | Notes |
1259
1791
  | ---- | ---- | ----------- | ----- |
1260
1792
  | **account_id** | **String** | Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token. | |
1261
- | **ad_account_id** | **String** | Meta ad account id (act_&lt;n&gt;). | |
1793
+ | **ad_account_id** | **String** | Meta ad account id (act_&lt;n&gt;). | |
1794
+ | **limit** | **Integer** | Rows per page | [optional][default to 25] |
1795
+ | **after** | **String** | Cursor from paging.after of the previous page. | [optional] |
1796
+
1797
+ ### Return type
1798
+
1799
+ [**ListAdLabels200Response**](ListAdLabels200Response.md)
1800
+
1801
+ ### Authorization
1802
+
1803
+ [bearerAuth](../README.md#bearerAuth)
1804
+
1805
+ ### HTTP request headers
1806
+
1807
+ - **Content-Type**: Not defined
1808
+ - **Accept**: application/json
1809
+
1810
+
1811
+ ## list_ad_negative_keyword_lists
1812
+
1813
+ > <ListAdNegativeKeywordLists200Response> list_ad_negative_keyword_lists(account_id, opts)
1814
+
1815
+ List negative keyword lists
1816
+
1817
+ Google Ads shared negative keyword lists (shared_set type NEGATIVE_KEYWORDS). Reads are cached for 10 minutes; quota exhaustion may return the last successful result for up to 7 days with stale=true. Customer selection is limited to this connection and its account scope.
1818
+
1819
+ ### Examples
1820
+
1821
+ ```ruby
1822
+ require 'time'
1823
+ require 'zernio-sdk'
1824
+ # setup authorization
1825
+ Zernio.configure do |config|
1826
+ # Configure Bearer authorization (JWT): bearerAuth
1827
+ config.access_token = 'YOUR_BEARER_TOKEN'
1828
+ end
1829
+
1830
+ api_instance = Zernio::AdAccountsApi.new
1831
+ account_id = 'account_id_example' # String |
1832
+ opts = {
1833
+ customer_id: 'customer_id_example', # String |
1834
+ platform: 'facebook' # String |
1835
+ }
1836
+
1837
+ begin
1838
+ # List negative keyword lists
1839
+ result = api_instance.list_ad_negative_keyword_lists(account_id, opts)
1840
+ p result
1841
+ rescue Zernio::ApiError => e
1842
+ puts "Error when calling AdAccountsApi->list_ad_negative_keyword_lists: #{e}"
1843
+ end
1844
+ ```
1845
+
1846
+ #### Using the list_ad_negative_keyword_lists_with_http_info variant
1847
+
1848
+ This returns an Array which contains the response data, status code and headers.
1849
+
1850
+ > <Array(<ListAdNegativeKeywordLists200Response>, Integer, Hash)> list_ad_negative_keyword_lists_with_http_info(account_id, opts)
1851
+
1852
+ ```ruby
1853
+ begin
1854
+ # List negative keyword lists
1855
+ data, status_code, headers = api_instance.list_ad_negative_keyword_lists_with_http_info(account_id, opts)
1856
+ p status_code # => 2xx
1857
+ p headers # => { ... }
1858
+ p data # => <ListAdNegativeKeywordLists200Response>
1859
+ rescue Zernio::ApiError => e
1860
+ puts "Error when calling AdAccountsApi->list_ad_negative_keyword_lists_with_http_info: #{e}"
1861
+ end
1862
+ ```
1863
+
1864
+ ### Parameters
1865
+
1866
+ | Name | Type | Description | Notes |
1867
+ | ---- | ---- | ----------- | ----- |
1868
+ | **account_id** | **String** | | |
1869
+ | **customer_id** | **String** | | [optional] |
1870
+ | **platform** | **String** | | [optional] |
1871
+
1872
+ ### Return type
1873
+
1874
+ [**ListAdNegativeKeywordLists200Response**](ListAdNegativeKeywordLists200Response.md)
1875
+
1876
+ ### Authorization
1877
+
1878
+ [bearerAuth](../README.md#bearerAuth)
1879
+
1880
+ ### HTTP request headers
1881
+
1882
+ - **Content-Type**: Not defined
1883
+ - **Accept**: application/json
1884
+
1885
+
1886
+ ## list_ad_studies
1887
+
1888
+ > <ListAdStudies200Response> list_ad_studies(account_id, ad_account_id, opts)
1889
+
1890
+ A/B tests and lift studies
1891
+
1892
+ Lists the ad account's A/B tests and lift studies (Meta's `/act_X/ad_studies`), rows returned verbatim. The default projection covers id, name, type, timing and cells with split percentages; `fields` is a raw-passthrough override.
1893
+
1894
+ ### Examples
1895
+
1896
+ ```ruby
1897
+ require 'time'
1898
+ require 'zernio-sdk'
1899
+ # setup authorization
1900
+ Zernio.configure do |config|
1901
+ # Configure Bearer authorization (JWT): bearerAuth
1902
+ config.access_token = 'YOUR_BEARER_TOKEN'
1903
+ end
1904
+
1905
+ api_instance = Zernio::AdAccountsApi.new
1906
+ account_id = 'account_id_example' # String | Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token.
1907
+ ad_account_id = 'ad_account_id_example' # String | Meta ad account id (act_<n>).
1908
+ opts = {
1909
+ fields: 'fields_example', # String | Comma-separated Graph field override (supports nested {} projections).
1910
+ limit: 56, # Integer | Rows per page
1911
+ after: 'after_example' # String | Cursor from paging.after of the previous page.
1912
+ }
1913
+
1914
+ begin
1915
+ # A/B tests and lift studies
1916
+ result = api_instance.list_ad_studies(account_id, ad_account_id, opts)
1917
+ p result
1918
+ rescue Zernio::ApiError => e
1919
+ puts "Error when calling AdAccountsApi->list_ad_studies: #{e}"
1920
+ end
1921
+ ```
1922
+
1923
+ #### Using the list_ad_studies_with_http_info variant
1924
+
1925
+ This returns an Array which contains the response data, status code and headers.
1926
+
1927
+ > <Array(<ListAdStudies200Response>, Integer, Hash)> list_ad_studies_with_http_info(account_id, ad_account_id, opts)
1928
+
1929
+ ```ruby
1930
+ begin
1931
+ # A/B tests and lift studies
1932
+ data, status_code, headers = api_instance.list_ad_studies_with_http_info(account_id, ad_account_id, opts)
1933
+ p status_code # => 2xx
1934
+ p headers # => { ... }
1935
+ p data # => <ListAdStudies200Response>
1936
+ rescue Zernio::ApiError => e
1937
+ puts "Error when calling AdAccountsApi->list_ad_studies_with_http_info: #{e}"
1938
+ end
1939
+ ```
1940
+
1941
+ ### Parameters
1942
+
1943
+ | Name | Type | Description | Notes |
1944
+ | ---- | ---- | ----------- | ----- |
1945
+ | **account_id** | **String** | Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token. | |
1946
+ | **ad_account_id** | **String** | Meta ad account id (act_&lt;n&gt;). | |
1947
+ | **fields** | **String** | Comma-separated Graph field override (supports nested {} projections). | [optional] |
1948
+ | **limit** | **Integer** | Rows per page | [optional][default to 25] |
1949
+ | **after** | **String** | Cursor from paging.after of the previous page. | [optional] |
1950
+
1951
+ ### Return type
1952
+
1953
+ [**ListAdStudies200Response**](ListAdStudies200Response.md)
1954
+
1955
+ ### Authorization
1956
+
1957
+ [bearerAuth](../README.md#bearerAuth)
1958
+
1959
+ ### HTTP request headers
1960
+
1961
+ - **Content-Type**: Not defined
1962
+ - **Accept**: application/json
1963
+
1964
+
1965
+ ## list_ads_business_centers
1966
+
1967
+ > <ListAdsBusinessCenters200Response> list_ads_business_centers(account_id)
1968
+
1969
+ List TikTok Business Centers
1970
+
1971
+ Returns the TikTok Business Centers (BCs) the connected `tiktokads` account can read. Each BC reports its advertiser count so callers can build agency-style pickers without re-walking `/v1/ads/accounts` per BC. TikTok-only. Solo advertisers (non-agency tokens) return an empty array.
1972
+
1973
+ ### Examples
1974
+
1975
+ ```ruby
1976
+ require 'time'
1977
+ require 'zernio-sdk'
1978
+ # setup authorization
1979
+ Zernio.configure do |config|
1980
+ # Configure Bearer authorization (JWT): bearerAuth
1981
+ config.access_token = 'YOUR_BEARER_TOKEN'
1982
+ end
1983
+
1984
+ api_instance = Zernio::AdAccountsApi.new
1985
+ account_id = 'account_id_example' # String | ID of the `tiktokads` (or parent `tiktok` posting) SocialAccount
1986
+
1987
+ begin
1988
+ # List TikTok Business Centers
1989
+ result = api_instance.list_ads_business_centers(account_id)
1990
+ p result
1991
+ rescue Zernio::ApiError => e
1992
+ puts "Error when calling AdAccountsApi->list_ads_business_centers: #{e}"
1993
+ end
1994
+ ```
1995
+
1996
+ #### Using the list_ads_business_centers_with_http_info variant
1997
+
1998
+ This returns an Array which contains the response data, status code and headers.
1999
+
2000
+ > <Array(<ListAdsBusinessCenters200Response>, Integer, Hash)> list_ads_business_centers_with_http_info(account_id)
2001
+
2002
+ ```ruby
2003
+ begin
2004
+ # List TikTok Business Centers
2005
+ data, status_code, headers = api_instance.list_ads_business_centers_with_http_info(account_id)
2006
+ p status_code # => 2xx
2007
+ p headers # => { ... }
2008
+ p data # => <ListAdsBusinessCenters200Response>
2009
+ rescue Zernio::ApiError => e
2010
+ puts "Error when calling AdAccountsApi->list_ads_business_centers_with_http_info: #{e}"
2011
+ end
2012
+ ```
2013
+
2014
+ ### Parameters
2015
+
2016
+ | Name | Type | Description | Notes |
2017
+ | ---- | ---- | ----------- | ----- |
2018
+ | **account_id** | **String** | ID of the &#x60;tiktokads&#x60; (or parent &#x60;tiktok&#x60; posting) SocialAccount | |
2019
+
2020
+ ### Return type
2021
+
2022
+ [**ListAdsBusinessCenters200Response**](ListAdsBusinessCenters200Response.md)
2023
+
2024
+ ### Authorization
2025
+
2026
+ [bearerAuth](../README.md#bearerAuth)
2027
+
2028
+ ### HTTP request headers
2029
+
2030
+ - **Content-Type**: Not defined
2031
+ - **Accept**: application/json
2032
+
2033
+
2034
+ ## list_ads_instagram_accounts
2035
+
2036
+ > <ListAdsInstagramAccounts200Response> list_ads_instagram_accounts(account_id, ad_account_id)
2037
+
2038
+ List Instagram ad identities
2039
+
2040
+ Discovers identities through connected_instagram_accounts, Page linkage and Page-backed identities, with a best-effort business fallback. Business permission errors do not fail discovery. The resolved object uses the same profile-scoped resolver as ad creation; null means no identity was resolved. Format-specific observed-actor fallbacks at creative creation are not predicted.
2041
+
2042
+ ### Examples
2043
+
2044
+ ```ruby
2045
+ require 'time'
2046
+ require 'zernio-sdk'
2047
+ # setup authorization
2048
+ Zernio.configure do |config|
2049
+ # Configure Bearer authorization (JWT): bearerAuth
2050
+ config.access_token = 'YOUR_BEARER_TOKEN'
2051
+ end
2052
+
2053
+ api_instance = Zernio::AdAccountsApi.new
2054
+ account_id = 'account_id_example' # String | Zernio Meta Ads or Facebook SocialAccount ID.
2055
+ ad_account_id = 'ad_account_id_example' # String | Meta ad account ID including the act_ prefix.
2056
+
2057
+ begin
2058
+ # List Instagram ad identities
2059
+ result = api_instance.list_ads_instagram_accounts(account_id, ad_account_id)
2060
+ p result
2061
+ rescue Zernio::ApiError => e
2062
+ puts "Error when calling AdAccountsApi->list_ads_instagram_accounts: #{e}"
2063
+ end
2064
+ ```
2065
+
2066
+ #### Using the list_ads_instagram_accounts_with_http_info variant
2067
+
2068
+ This returns an Array which contains the response data, status code and headers.
2069
+
2070
+ > <Array(<ListAdsInstagramAccounts200Response>, Integer, Hash)> list_ads_instagram_accounts_with_http_info(account_id, ad_account_id)
2071
+
2072
+ ```ruby
2073
+ begin
2074
+ # List Instagram ad identities
2075
+ data, status_code, headers = api_instance.list_ads_instagram_accounts_with_http_info(account_id, ad_account_id)
2076
+ p status_code # => 2xx
2077
+ p headers # => { ... }
2078
+ p data # => <ListAdsInstagramAccounts200Response>
2079
+ rescue Zernio::ApiError => e
2080
+ puts "Error when calling AdAccountsApi->list_ads_instagram_accounts_with_http_info: #{e}"
2081
+ end
2082
+ ```
2083
+
2084
+ ### Parameters
2085
+
2086
+ | Name | Type | Description | Notes |
2087
+ | ---- | ---- | ----------- | ----- |
2088
+ | **account_id** | **String** | Zernio Meta Ads or Facebook SocialAccount ID. | |
2089
+ | **ad_account_id** | **String** | Meta ad account ID including the act_ prefix. | |
2090
+
2091
+ ### Return type
2092
+
2093
+ [**ListAdsInstagramAccounts200Response**](ListAdsInstagramAccounts200Response.md)
2094
+
2095
+ ### Authorization
2096
+
2097
+ [bearerAuth](../README.md#bearerAuth)
2098
+
2099
+ ### HTTP request headers
2100
+
2101
+ - **Content-Type**: Not defined
2102
+ - **Accept**: application/json
2103
+
2104
+
2105
+ ## list_advertisable_applications
2106
+
2107
+ > <ListAdvertisableApplications200Response> list_advertisable_applications(account_id, ad_account_id)
2108
+
2109
+ List advertisable apps
2110
+
2111
+ Lists applications available to a Meta ad account, their supported platforms and unmodified object store URLs. A listed app still needs a configured mobile platform and store URL to run install promotion.
2112
+
2113
+ ### Examples
2114
+
2115
+ ```ruby
2116
+ require 'time'
2117
+ require 'zernio-sdk'
2118
+ # setup authorization
2119
+ Zernio.configure do |config|
2120
+ # Configure Bearer authorization (JWT): bearerAuth
2121
+ config.access_token = 'YOUR_BEARER_TOKEN'
2122
+ end
2123
+
2124
+ api_instance = Zernio::AdAccountsApi.new
2125
+ account_id = 'account_id_example' # String | Zernio Meta Ads or Facebook SocialAccount ID.
2126
+ ad_account_id = 'ad_account_id_example' # String | Meta ad account ID including the act_ prefix.
2127
+
2128
+ begin
2129
+ # List advertisable apps
2130
+ result = api_instance.list_advertisable_applications(account_id, ad_account_id)
2131
+ p result
2132
+ rescue Zernio::ApiError => e
2133
+ puts "Error when calling AdAccountsApi->list_advertisable_applications: #{e}"
2134
+ end
2135
+ ```
2136
+
2137
+ #### Using the list_advertisable_applications_with_http_info variant
2138
+
2139
+ This returns an Array which contains the response data, status code and headers.
2140
+
2141
+ > <Array(<ListAdvertisableApplications200Response>, Integer, Hash)> list_advertisable_applications_with_http_info(account_id, ad_account_id)
2142
+
2143
+ ```ruby
2144
+ begin
2145
+ # List advertisable apps
2146
+ data, status_code, headers = api_instance.list_advertisable_applications_with_http_info(account_id, ad_account_id)
2147
+ p status_code # => 2xx
2148
+ p headers # => { ... }
2149
+ p data # => <ListAdvertisableApplications200Response>
2150
+ rescue Zernio::ApiError => e
2151
+ puts "Error when calling AdAccountsApi->list_advertisable_applications_with_http_info: #{e}"
2152
+ end
2153
+ ```
2154
+
2155
+ ### Parameters
2156
+
2157
+ | Name | Type | Description | Notes |
2158
+ | ---- | ---- | ----------- | ----- |
2159
+ | **account_id** | **String** | Zernio Meta Ads or Facebook SocialAccount ID. | |
2160
+ | **ad_account_id** | **String** | Meta ad account ID including the act_ prefix. | |
2161
+
2162
+ ### Return type
2163
+
2164
+ [**ListAdvertisableApplications200Response**](ListAdvertisableApplications200Response.md)
2165
+
2166
+ ### Authorization
2167
+
2168
+ [bearerAuth](../README.md#bearerAuth)
2169
+
2170
+ ### HTTP request headers
2171
+
2172
+ - **Content-Type**: Not defined
2173
+ - **Accept**: application/json
2174
+
2175
+
2176
+ ## list_custom_conversions
2177
+
2178
+ > <ListCustomConversions200Response> list_custom_conversions(account_id, ad_account_id)
2179
+
2180
+ List custom conversions
2181
+
2182
+ The ad account's Meta custom conversions, including archived ones (`isArchived`).
2183
+
2184
+ ### Examples
2185
+
2186
+ ```ruby
2187
+ require 'time'
2188
+ require 'zernio-sdk'
2189
+ # setup authorization
2190
+ Zernio.configure do |config|
2191
+ # Configure Bearer authorization (JWT): bearerAuth
2192
+ config.access_token = 'YOUR_BEARER_TOKEN'
2193
+ end
2194
+
2195
+ api_instance = Zernio::AdAccountsApi.new
2196
+ account_id = 'account_id_example' # String | Meta ads SocialAccount id.
2197
+ ad_account_id = 'ad_account_id_example' # String | Meta ad account id (act_<n>).
2198
+
2199
+ begin
2200
+ # List custom conversions
2201
+ result = api_instance.list_custom_conversions(account_id, ad_account_id)
2202
+ p result
2203
+ rescue Zernio::ApiError => e
2204
+ puts "Error when calling AdAccountsApi->list_custom_conversions: #{e}"
2205
+ end
2206
+ ```
2207
+
2208
+ #### Using the list_custom_conversions_with_http_info variant
2209
+
2210
+ This returns an Array which contains the response data, status code and headers.
2211
+
2212
+ > <Array(<ListCustomConversions200Response>, Integer, Hash)> list_custom_conversions_with_http_info(account_id, ad_account_id)
2213
+
2214
+ ```ruby
2215
+ begin
2216
+ # List custom conversions
2217
+ data, status_code, headers = api_instance.list_custom_conversions_with_http_info(account_id, ad_account_id)
2218
+ p status_code # => 2xx
2219
+ p headers # => { ... }
2220
+ p data # => <ListCustomConversions200Response>
2221
+ rescue Zernio::ApiError => e
2222
+ puts "Error when calling AdAccountsApi->list_custom_conversions_with_http_info: #{e}"
2223
+ end
2224
+ ```
2225
+
2226
+ ### Parameters
2227
+
2228
+ | Name | Type | Description | Notes |
2229
+ | ---- | ---- | ----------- | ----- |
2230
+ | **account_id** | **String** | Meta ads SocialAccount id. | |
2231
+ | **ad_account_id** | **String** | Meta ad account id (act_&lt;n&gt;). | |
2232
+
2233
+ ### Return type
2234
+
2235
+ [**ListCustomConversions200Response**](ListCustomConversions200Response.md)
2236
+
2237
+ ### Authorization
2238
+
2239
+ [bearerAuth](../README.md#bearerAuth)
2240
+
2241
+ ### HTTP request headers
2242
+
2243
+ - **Content-Type**: Not defined
2244
+ - **Accept**: application/json
2245
+
2246
+
2247
+ ## list_high_demand_periods
2248
+
2249
+ > <ListHighDemandPeriods200Response> list_high_demand_periods(account_id, opts)
2250
+
2251
+ High demand periods / budget schedules
2252
+
2253
+ 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).
2254
+
2255
+ ### Examples
2256
+
2257
+ ```ruby
2258
+ require 'time'
2259
+ require 'zernio-sdk'
2260
+ # setup authorization
2261
+ Zernio.configure do |config|
2262
+ # Configure Bearer authorization (JWT): bearerAuth
2263
+ config.access_token = 'YOUR_BEARER_TOKEN'
2264
+ end
2265
+
2266
+ api_instance = Zernio::AdAccountsApi.new
2267
+ account_id = 'account_id_example' # String | Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token.
2268
+ opts = {
2269
+ campaign_id: 'campaign_id_example', # String | Platform campaign id. Exactly one of campaignId / adSetId.
2270
+ ad_set_id: 'ad_set_id_example', # String | Platform ad set id. Exactly one of campaignId / adSetId.
2271
+ limit: 56, # Integer | Rows per page
2272
+ after: 'after_example' # String | Cursor from paging.after of the previous page.
2273
+ }
2274
+
2275
+ begin
2276
+ # High demand periods / budget schedules
2277
+ result = api_instance.list_high_demand_periods(account_id, opts)
2278
+ p result
2279
+ rescue Zernio::ApiError => e
2280
+ puts "Error when calling AdAccountsApi->list_high_demand_periods: #{e}"
2281
+ end
2282
+ ```
2283
+
2284
+ #### Using the list_high_demand_periods_with_http_info variant
2285
+
2286
+ This returns an Array which contains the response data, status code and headers.
2287
+
2288
+ > <Array(<ListHighDemandPeriods200Response>, Integer, Hash)> list_high_demand_periods_with_http_info(account_id, opts)
2289
+
2290
+ ```ruby
2291
+ begin
2292
+ # High demand periods / budget schedules
2293
+ data, status_code, headers = api_instance.list_high_demand_periods_with_http_info(account_id, opts)
2294
+ p status_code # => 2xx
2295
+ p headers # => { ... }
2296
+ p data # => <ListHighDemandPeriods200Response>
2297
+ rescue Zernio::ApiError => e
2298
+ puts "Error when calling AdAccountsApi->list_high_demand_periods_with_http_info: #{e}"
2299
+ end
2300
+ ```
2301
+
2302
+ ### Parameters
2303
+
2304
+ | Name | Type | Description | Notes |
2305
+ | ---- | ---- | ----------- | ----- |
2306
+ | **account_id** | **String** | Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token. | |
2307
+ | **campaign_id** | **String** | Platform campaign id. Exactly one of campaignId / adSetId. | [optional] |
2308
+ | **ad_set_id** | **String** | Platform ad set id. Exactly one of campaignId / adSetId. | [optional] |
2309
+ | **limit** | **Integer** | Rows per page | [optional][default to 25] |
2310
+ | **after** | **String** | Cursor from paging.after of the previous page. | [optional] |
2311
+
2312
+ ### Return type
2313
+
2314
+ [**ListHighDemandPeriods200Response**](ListHighDemandPeriods200Response.md)
2315
+
2316
+ ### Authorization
2317
+
2318
+ [bearerAuth](../README.md#bearerAuth)
2319
+
2320
+ ### HTTP request headers
2321
+
2322
+ - **Content-Type**: Not defined
2323
+ - **Accept**: application/json
2324
+
2325
+
2326
+ ## list_meta_businesses
2327
+
2328
+ > <ListMetaBusinesses200Response> list_meta_businesses(account_id, opts)
2329
+
2330
+ Businesses list
2331
+
2332
+ Business Manager portfolios the connected Meta user belongs to (Meta's `/me/businesses`), rows returned verbatim (id, name, verification_status, created_time). Token-scoped, so no `adAccountId` is needed. For TikTok Business Centers use `GET /v1/ads/business-centers`.
2333
+
2334
+ ### Examples
2335
+
2336
+ ```ruby
2337
+ require 'time'
2338
+ require 'zernio-sdk'
2339
+ # setup authorization
2340
+ Zernio.configure do |config|
2341
+ # Configure Bearer authorization (JWT): bearerAuth
2342
+ config.access_token = 'YOUR_BEARER_TOKEN'
2343
+ end
2344
+
2345
+ api_instance = Zernio::AdAccountsApi.new
2346
+ account_id = 'account_id_example' # String | Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token.
2347
+ opts = {
2348
+ limit: 56, # Integer | Rows per page
2349
+ after: 'after_example' # String | Cursor from paging.after of the previous page.
2350
+ }
2351
+
2352
+ begin
2353
+ # Businesses list
2354
+ result = api_instance.list_meta_businesses(account_id, opts)
2355
+ p result
2356
+ rescue Zernio::ApiError => e
2357
+ puts "Error when calling AdAccountsApi->list_meta_businesses: #{e}"
2358
+ end
2359
+ ```
2360
+
2361
+ #### Using the list_meta_businesses_with_http_info variant
2362
+
2363
+ This returns an Array which contains the response data, status code and headers.
2364
+
2365
+ > <Array(<ListMetaBusinesses200Response>, Integer, Hash)> list_meta_businesses_with_http_info(account_id, opts)
2366
+
2367
+ ```ruby
2368
+ begin
2369
+ # Businesses list
2370
+ data, status_code, headers = api_instance.list_meta_businesses_with_http_info(account_id, opts)
2371
+ p status_code # => 2xx
2372
+ p headers # => { ... }
2373
+ p data # => <ListMetaBusinesses200Response>
2374
+ rescue Zernio::ApiError => e
2375
+ puts "Error when calling AdAccountsApi->list_meta_businesses_with_http_info: #{e}"
2376
+ end
2377
+ ```
2378
+
2379
+ ### Parameters
2380
+
2381
+ | Name | Type | Description | Notes |
2382
+ | ---- | ---- | ----------- | ----- |
2383
+ | **account_id** | **String** | Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token. | |
1262
2384
  | **limit** | **Integer** | Rows per page | [optional][default to 25] |
1263
2385
  | **after** | **String** | Cursor from paging.after of the previous page. | [optional] |
1264
2386
 
1265
2387
  ### Return type
1266
2388
 
1267
- [**ListAdLabels200Response**](ListAdLabels200Response.md)
2389
+ [**ListMetaBusinesses200Response**](ListMetaBusinesses200Response.md)
1268
2390
 
1269
2391
  ### Authorization
1270
2392
 
@@ -1276,13 +2398,13 @@ end
1276
2398
  - **Accept**: application/json
1277
2399
 
1278
2400
 
1279
- ## list_ad_negative_keyword_lists
2401
+ ## list_value_rule_sets
1280
2402
 
1281
- > <ListAdNegativeKeywordLists200Response> list_ad_negative_keyword_lists(account_id, opts)
2403
+ > <ListValueRuleSets200Response> list_value_rule_sets(account_id, ad_account_id, opts)
1282
2404
 
1283
- List negative keyword lists
2405
+ List value rule sets
1284
2406
 
1285
- Google Ads shared negative keyword lists (shared_set type NEGATIVE_KEYWORDS). Reads are cached for 10 minutes; quota exhaustion may return the last successful result for up to 7 days with stale=true. Customer selection is limited to this connection and its account scope.
2407
+ Lists the ad account's value rule sets (Meta's `/act_X/value_rule_set`). A value rule set adjusts the auction bid up or down for audience segments you value differently; attach one to an ad set with `valueRuleSetId` on `POST /v1/ads/create` or `PUT /v1/ads/ad-sets/{adSetId}`. Rows are returned in the same camelCase shape the `PUT` body takes, ids included, so a set round-trips 1:1: **the update is a full replace, not a patch**, so you GET, mutate and send the whole thing back. Limits: 6 rule sets per ad account, 10 rules per set, 4 criteria per rule. **Rule order is semantic.** Rules are evaluated in array order and only the FIRST matching rule adjusts the bid for an overlapping audience. The order you send is the order that is stored and returned. Eligibility: value rule sets apply only to ad sets on the `LOWEST_COST_WITHOUT_CAP` (auto-bid) or `COST_CAP` bid strategies. Meta rejects the rest server-side.
1286
2408
 
1287
2409
  ### Examples
1288
2410
 
@@ -1296,36 +2418,37 @@ Zernio.configure do |config|
1296
2418
  end
1297
2419
 
1298
2420
  api_instance = Zernio::AdAccountsApi.new
1299
- account_id = 'account_id_example' # String |
2421
+ account_id = 'account_id_example' # String | Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token.
2422
+ ad_account_id = 'ad_account_id_example' # String | Meta ad account id (act_<n>).
1300
2423
  opts = {
1301
- customer_id: 'customer_id_example', # String |
1302
- platform: 'facebook' # String |
2424
+ limit: 56, # Integer | Rows per page
2425
+ after: 'after_example' # String | Cursor from paging.after of the previous page. Meta does not document paging on this edge; `after` comes back null when it omits cursors.
1303
2426
  }
1304
2427
 
1305
2428
  begin
1306
- # List negative keyword lists
1307
- result = api_instance.list_ad_negative_keyword_lists(account_id, opts)
2429
+ # List value rule sets
2430
+ result = api_instance.list_value_rule_sets(account_id, ad_account_id, opts)
1308
2431
  p result
1309
2432
  rescue Zernio::ApiError => e
1310
- puts "Error when calling AdAccountsApi->list_ad_negative_keyword_lists: #{e}"
2433
+ puts "Error when calling AdAccountsApi->list_value_rule_sets: #{e}"
1311
2434
  end
1312
2435
  ```
1313
2436
 
1314
- #### Using the list_ad_negative_keyword_lists_with_http_info variant
2437
+ #### Using the list_value_rule_sets_with_http_info variant
1315
2438
 
1316
2439
  This returns an Array which contains the response data, status code and headers.
1317
2440
 
1318
- > <Array(<ListAdNegativeKeywordLists200Response>, Integer, Hash)> list_ad_negative_keyword_lists_with_http_info(account_id, opts)
2441
+ > <Array(<ListValueRuleSets200Response>, Integer, Hash)> list_value_rule_sets_with_http_info(account_id, ad_account_id, opts)
1319
2442
 
1320
2443
  ```ruby
1321
2444
  begin
1322
- # List negative keyword lists
1323
- data, status_code, headers = api_instance.list_ad_negative_keyword_lists_with_http_info(account_id, opts)
2445
+ # List value rule sets
2446
+ data, status_code, headers = api_instance.list_value_rule_sets_with_http_info(account_id, ad_account_id, opts)
1324
2447
  p status_code # => 2xx
1325
2448
  p headers # => { ... }
1326
- p data # => <ListAdNegativeKeywordLists200Response>
2449
+ p data # => <ListValueRuleSets200Response>
1327
2450
  rescue Zernio::ApiError => e
1328
- puts "Error when calling AdAccountsApi->list_ad_negative_keyword_lists_with_http_info: #{e}"
2451
+ puts "Error when calling AdAccountsApi->list_value_rule_sets_with_http_info: #{e}"
1329
2452
  end
1330
2453
  ```
1331
2454
 
@@ -1333,13 +2456,14 @@ end
1333
2456
 
1334
2457
  | Name | Type | Description | Notes |
1335
2458
  | ---- | ---- | ----------- | ----- |
1336
- | **account_id** | **String** | | |
1337
- | **customer_id** | **String** | | [optional] |
1338
- | **platform** | **String** | | [optional] |
2459
+ | **account_id** | **String** | Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token. | |
2460
+ | **ad_account_id** | **String** | Meta ad account id (act_&lt;n&gt;). | |
2461
+ | **limit** | **Integer** | Rows per page | [optional][default to 25] |
2462
+ | **after** | **String** | Cursor from paging.after of the previous page. Meta does not document paging on this edge; &#x60;after&#x60; comes back null when it omits cursors. | [optional] |
1339
2463
 
1340
2464
  ### Return type
1341
2465
 
1342
- [**ListAdNegativeKeywordLists200Response**](ListAdNegativeKeywordLists200Response.md)
2466
+ [**ListValueRuleSets200Response**](ListValueRuleSets200Response.md)
1343
2467
 
1344
2468
  ### Authorization
1345
2469
 
@@ -1351,13 +2475,13 @@ end
1351
2475
  - **Accept**: application/json
1352
2476
 
1353
2477
 
1354
- ## list_ad_studies
2478
+ ## remove_account_callout
1355
2479
 
1356
- > <ListAdStudies200Response> list_ad_studies(account_id, ad_account_id, opts)
2480
+ > <RemoveAccountCallout200Response> remove_account_callout(remove_account_callout_request)
1357
2481
 
1358
- A/B tests and lift studies
2482
+ Remove account callout
1359
2483
 
1360
- Lists the ad account's A/B tests and lift studies (Meta's `/act_X/ad_studies`), rows returned verbatim. The default projection covers id, name, type, timing and cells with split percentages; `fields` is a raw-passthrough override.
2484
+ Removes the customer_asset attachment only. The underlying shared asset and its campaign or ad-group attachments remain.
1361
2485
 
1362
2486
  ### Examples
1363
2487
 
@@ -1371,38 +2495,32 @@ Zernio.configure do |config|
1371
2495
  end
1372
2496
 
1373
2497
  api_instance = Zernio::AdAccountsApi.new
1374
- account_id = 'account_id_example' # String | Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token.
1375
- ad_account_id = 'ad_account_id_example' # String | Meta ad account id (act_<n>).
1376
- opts = {
1377
- fields: 'fields_example', # String | Comma-separated Graph field override (supports nested {} projections).
1378
- limit: 56, # Integer | Rows per page
1379
- after: 'after_example' # String | Cursor from paging.after of the previous page.
1380
- }
2498
+ remove_account_callout_request = Zernio::RemoveAccountCalloutRequest.new({account_id: 'account_id_example', asset_id: 'asset_id_example'}) # RemoveAccountCalloutRequest |
1381
2499
 
1382
2500
  begin
1383
- # A/B tests and lift studies
1384
- result = api_instance.list_ad_studies(account_id, ad_account_id, opts)
2501
+ # Remove account callout
2502
+ result = api_instance.remove_account_callout(remove_account_callout_request)
1385
2503
  p result
1386
2504
  rescue Zernio::ApiError => e
1387
- puts "Error when calling AdAccountsApi->list_ad_studies: #{e}"
2505
+ puts "Error when calling AdAccountsApi->remove_account_callout: #{e}"
1388
2506
  end
1389
2507
  ```
1390
2508
 
1391
- #### Using the list_ad_studies_with_http_info variant
2509
+ #### Using the remove_account_callout_with_http_info variant
1392
2510
 
1393
2511
  This returns an Array which contains the response data, status code and headers.
1394
2512
 
1395
- > <Array(<ListAdStudies200Response>, Integer, Hash)> list_ad_studies_with_http_info(account_id, ad_account_id, opts)
2513
+ > <Array(<RemoveAccountCallout200Response>, Integer, Hash)> remove_account_callout_with_http_info(remove_account_callout_request)
1396
2514
 
1397
2515
  ```ruby
1398
2516
  begin
1399
- # A/B tests and lift studies
1400
- data, status_code, headers = api_instance.list_ad_studies_with_http_info(account_id, ad_account_id, opts)
2517
+ # Remove account callout
2518
+ data, status_code, headers = api_instance.remove_account_callout_with_http_info(remove_account_callout_request)
1401
2519
  p status_code # => 2xx
1402
2520
  p headers # => { ... }
1403
- p data # => <ListAdStudies200Response>
2521
+ p data # => <RemoveAccountCallout200Response>
1404
2522
  rescue Zernio::ApiError => e
1405
- puts "Error when calling AdAccountsApi->list_ad_studies_with_http_info: #{e}"
2523
+ puts "Error when calling AdAccountsApi->remove_account_callout_with_http_info: #{e}"
1406
2524
  end
1407
2525
  ```
1408
2526
 
@@ -1410,15 +2528,11 @@ end
1410
2528
 
1411
2529
  | Name | Type | Description | Notes |
1412
2530
  | ---- | ---- | ----------- | ----- |
1413
- | **account_id** | **String** | Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token. | |
1414
- | **ad_account_id** | **String** | Meta ad account id (act_&lt;n&gt;). | |
1415
- | **fields** | **String** | Comma-separated Graph field override (supports nested {} projections). | [optional] |
1416
- | **limit** | **Integer** | Rows per page | [optional][default to 25] |
1417
- | **after** | **String** | Cursor from paging.after of the previous page. | [optional] |
2531
+ | **remove_account_callout_request** | [**RemoveAccountCalloutRequest**](RemoveAccountCalloutRequest.md) | | |
1418
2532
 
1419
2533
  ### Return type
1420
2534
 
1421
- [**ListAdStudies200Response**](ListAdStudies200Response.md)
2535
+ [**RemoveAccountCallout200Response**](RemoveAccountCallout200Response.md)
1422
2536
 
1423
2537
  ### Authorization
1424
2538
 
@@ -1426,17 +2540,17 @@ end
1426
2540
 
1427
2541
  ### HTTP request headers
1428
2542
 
1429
- - **Content-Type**: Not defined
2543
+ - **Content-Type**: application/json
1430
2544
  - **Accept**: application/json
1431
2545
 
1432
2546
 
1433
- ## list_ads_business_centers
2547
+ ## remove_account_sitelink
1434
2548
 
1435
- > <ListAdsBusinessCenters200Response> list_ads_business_centers(account_id)
2549
+ > <RemoveAccountCallout200Response> remove_account_sitelink(remove_account_callout_request)
1436
2550
 
1437
- List TikTok Business Centers
2551
+ Remove account sitelink
1438
2552
 
1439
- Returns the TikTok Business Centers (BCs) the connected `tiktokads` account can read. Each BC reports its advertiser count so callers can build agency-style pickers without re-walking `/v1/ads/accounts` per BC. TikTok-only. Solo advertisers (non-agency tokens) return an empty array.
2553
+ Removes the customer_asset attachment only. The underlying shared asset and its campaign or ad-group attachments remain.
1440
2554
 
1441
2555
  ### Examples
1442
2556
 
@@ -1450,32 +2564,32 @@ Zernio.configure do |config|
1450
2564
  end
1451
2565
 
1452
2566
  api_instance = Zernio::AdAccountsApi.new
1453
- account_id = 'account_id_example' # String | ID of the `tiktokads` (or parent `tiktok` posting) SocialAccount
2567
+ remove_account_callout_request = Zernio::RemoveAccountCalloutRequest.new({account_id: 'account_id_example', asset_id: 'asset_id_example'}) # RemoveAccountCalloutRequest |
1454
2568
 
1455
2569
  begin
1456
- # List TikTok Business Centers
1457
- result = api_instance.list_ads_business_centers(account_id)
2570
+ # Remove account sitelink
2571
+ result = api_instance.remove_account_sitelink(remove_account_callout_request)
1458
2572
  p result
1459
2573
  rescue Zernio::ApiError => e
1460
- puts "Error when calling AdAccountsApi->list_ads_business_centers: #{e}"
2574
+ puts "Error when calling AdAccountsApi->remove_account_sitelink: #{e}"
1461
2575
  end
1462
2576
  ```
1463
2577
 
1464
- #### Using the list_ads_business_centers_with_http_info variant
2578
+ #### Using the remove_account_sitelink_with_http_info variant
1465
2579
 
1466
2580
  This returns an Array which contains the response data, status code and headers.
1467
2581
 
1468
- > <Array(<ListAdsBusinessCenters200Response>, Integer, Hash)> list_ads_business_centers_with_http_info(account_id)
2582
+ > <Array(<RemoveAccountCallout200Response>, Integer, Hash)> remove_account_sitelink_with_http_info(remove_account_callout_request)
1469
2583
 
1470
2584
  ```ruby
1471
2585
  begin
1472
- # List TikTok Business Centers
1473
- data, status_code, headers = api_instance.list_ads_business_centers_with_http_info(account_id)
2586
+ # Remove account sitelink
2587
+ data, status_code, headers = api_instance.remove_account_sitelink_with_http_info(remove_account_callout_request)
1474
2588
  p status_code # => 2xx
1475
2589
  p headers # => { ... }
1476
- p data # => <ListAdsBusinessCenters200Response>
2590
+ p data # => <RemoveAccountCallout200Response>
1477
2591
  rescue Zernio::ApiError => e
1478
- puts "Error when calling AdAccountsApi->list_ads_business_centers_with_http_info: #{e}"
2592
+ puts "Error when calling AdAccountsApi->remove_account_sitelink_with_http_info: #{e}"
1479
2593
  end
1480
2594
  ```
1481
2595
 
@@ -1483,11 +2597,11 @@ end
1483
2597
 
1484
2598
  | Name | Type | Description | Notes |
1485
2599
  | ---- | ---- | ----------- | ----- |
1486
- | **account_id** | **String** | ID of the &#x60;tiktokads&#x60; (or parent &#x60;tiktok&#x60; posting) SocialAccount | |
2600
+ | **remove_account_callout_request** | [**RemoveAccountCalloutRequest**](RemoveAccountCalloutRequest.md) | | |
1487
2601
 
1488
2602
  ### Return type
1489
2603
 
1490
- [**ListAdsBusinessCenters200Response**](ListAdsBusinessCenters200Response.md)
2604
+ [**RemoveAccountCallout200Response**](RemoveAccountCallout200Response.md)
1491
2605
 
1492
2606
  ### Authorization
1493
2607
 
@@ -1495,17 +2609,17 @@ end
1495
2609
 
1496
2610
  ### HTTP request headers
1497
2611
 
1498
- - **Content-Type**: Not defined
2612
+ - **Content-Type**: application/json
1499
2613
  - **Accept**: application/json
1500
2614
 
1501
2615
 
1502
- ## list_custom_conversions
2616
+ ## remove_account_structured_snippet
1503
2617
 
1504
- > <ListCustomConversions200Response> list_custom_conversions(account_id, ad_account_id)
2618
+ > <RemoveAccountCallout200Response> remove_account_structured_snippet(remove_account_callout_request)
1505
2619
 
1506
- List custom conversions
2620
+ Remove account snippet
1507
2621
 
1508
- The ad account's Meta custom conversions, including archived ones (`isArchived`).
2622
+ Removes the customer_asset attachment only. The underlying shared asset and its campaign or ad-group attachments remain.
1509
2623
 
1510
2624
  ### Examples
1511
2625
 
@@ -1519,33 +2633,32 @@ Zernio.configure do |config|
1519
2633
  end
1520
2634
 
1521
2635
  api_instance = Zernio::AdAccountsApi.new
1522
- account_id = 'account_id_example' # String | Meta ads SocialAccount id.
1523
- ad_account_id = 'ad_account_id_example' # String | Meta ad account id (act_<n>).
2636
+ remove_account_callout_request = Zernio::RemoveAccountCalloutRequest.new({account_id: 'account_id_example', asset_id: 'asset_id_example'}) # RemoveAccountCalloutRequest |
1524
2637
 
1525
2638
  begin
1526
- # List custom conversions
1527
- result = api_instance.list_custom_conversions(account_id, ad_account_id)
2639
+ # Remove account snippet
2640
+ result = api_instance.remove_account_structured_snippet(remove_account_callout_request)
1528
2641
  p result
1529
2642
  rescue Zernio::ApiError => e
1530
- puts "Error when calling AdAccountsApi->list_custom_conversions: #{e}"
2643
+ puts "Error when calling AdAccountsApi->remove_account_structured_snippet: #{e}"
1531
2644
  end
1532
2645
  ```
1533
2646
 
1534
- #### Using the list_custom_conversions_with_http_info variant
2647
+ #### Using the remove_account_structured_snippet_with_http_info variant
1535
2648
 
1536
2649
  This returns an Array which contains the response data, status code and headers.
1537
2650
 
1538
- > <Array(<ListCustomConversions200Response>, Integer, Hash)> list_custom_conversions_with_http_info(account_id, ad_account_id)
2651
+ > <Array(<RemoveAccountCallout200Response>, Integer, Hash)> remove_account_structured_snippet_with_http_info(remove_account_callout_request)
1539
2652
 
1540
2653
  ```ruby
1541
2654
  begin
1542
- # List custom conversions
1543
- data, status_code, headers = api_instance.list_custom_conversions_with_http_info(account_id, ad_account_id)
2655
+ # Remove account snippet
2656
+ data, status_code, headers = api_instance.remove_account_structured_snippet_with_http_info(remove_account_callout_request)
1544
2657
  p status_code # => 2xx
1545
2658
  p headers # => { ... }
1546
- p data # => <ListCustomConversions200Response>
2659
+ p data # => <RemoveAccountCallout200Response>
1547
2660
  rescue Zernio::ApiError => e
1548
- puts "Error when calling AdAccountsApi->list_custom_conversions_with_http_info: #{e}"
2661
+ puts "Error when calling AdAccountsApi->remove_account_structured_snippet_with_http_info: #{e}"
1549
2662
  end
1550
2663
  ```
1551
2664
 
@@ -1553,12 +2666,11 @@ end
1553
2666
 
1554
2667
  | Name | Type | Description | Notes |
1555
2668
  | ---- | ---- | ----------- | ----- |
1556
- | **account_id** | **String** | Meta ads SocialAccount id. | |
1557
- | **ad_account_id** | **String** | Meta ad account id (act_&lt;n&gt;). | |
2669
+ | **remove_account_callout_request** | [**RemoveAccountCalloutRequest**](RemoveAccountCalloutRequest.md) | | |
1558
2670
 
1559
2671
  ### Return type
1560
2672
 
1561
- [**ListCustomConversions200Response**](ListCustomConversions200Response.md)
2673
+ [**RemoveAccountCallout200Response**](RemoveAccountCallout200Response.md)
1562
2674
 
1563
2675
  ### Authorization
1564
2676
 
@@ -1566,17 +2678,17 @@ end
1566
2678
 
1567
2679
  ### HTTP request headers
1568
2680
 
1569
- - **Content-Type**: Not defined
2681
+ - **Content-Type**: application/json
1570
2682
  - **Accept**: application/json
1571
2683
 
1572
2684
 
1573
- ## list_high_demand_periods
2685
+ ## replace_ad_negative_keyword_list_keywords
1574
2686
 
1575
- > <ListHighDemandPeriods200Response> list_high_demand_periods(account_id, opts)
2687
+ > <ReplaceAdNegativeKeywordListKeywords200Response> replace_ad_negative_keyword_list_keywords(list_id, replace_ad_negative_keyword_list_keywords_request)
1576
2688
 
1577
- High demand periods / budget schedules
2689
+ Replace negative list keywords
1578
2690
 
1579
- 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).
2691
+ Replaces the full desired keyword set. Existing keywords are diffed by normalized text and match type; creates and removals are applied atomically in one mutation. Unchanged criteria retain their ids. Send an empty keywords array to clear the list. Changes affect every campaign using this list. Each create or removal consumes one daily operation; the entire batch must fit the remaining quota.
1580
2692
 
1581
2693
  ### Examples
1582
2694
 
@@ -1590,38 +2702,33 @@ Zernio.configure do |config|
1590
2702
  end
1591
2703
 
1592
2704
  api_instance = Zernio::AdAccountsApi.new
1593
- account_id = 'account_id_example' # String | Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token.
1594
- opts = {
1595
- campaign_id: 'campaign_id_example', # String | Platform campaign id. Exactly one of campaignId / adSetId.
1596
- ad_set_id: 'ad_set_id_example', # String | Platform ad set id. Exactly one of campaignId / adSetId.
1597
- limit: 56, # Integer | Rows per page
1598
- after: 'after_example' # String | Cursor from paging.after of the previous page.
1599
- }
2705
+ list_id = 'list_id_example' # String |
2706
+ replace_ad_negative_keyword_list_keywords_request = Zernio::ReplaceAdNegativeKeywordListKeywordsRequest.new({account_id: 'account_id_example', keywords: [Zernio::AddAdKeywordsRequestKeywordsInnerAnyOf.new({text: 'text_example'})]}) # ReplaceAdNegativeKeywordListKeywordsRequest |
1600
2707
 
1601
2708
  begin
1602
- # High demand periods / budget schedules
1603
- result = api_instance.list_high_demand_periods(account_id, opts)
2709
+ # Replace negative list keywords
2710
+ result = api_instance.replace_ad_negative_keyword_list_keywords(list_id, replace_ad_negative_keyword_list_keywords_request)
1604
2711
  p result
1605
2712
  rescue Zernio::ApiError => e
1606
- puts "Error when calling AdAccountsApi->list_high_demand_periods: #{e}"
2713
+ puts "Error when calling AdAccountsApi->replace_ad_negative_keyword_list_keywords: #{e}"
1607
2714
  end
1608
2715
  ```
1609
2716
 
1610
- #### Using the list_high_demand_periods_with_http_info variant
2717
+ #### Using the replace_ad_negative_keyword_list_keywords_with_http_info variant
1611
2718
 
1612
2719
  This returns an Array which contains the response data, status code and headers.
1613
2720
 
1614
- > <Array(<ListHighDemandPeriods200Response>, Integer, Hash)> list_high_demand_periods_with_http_info(account_id, opts)
2721
+ > <Array(<ReplaceAdNegativeKeywordListKeywords200Response>, Integer, Hash)> replace_ad_negative_keyword_list_keywords_with_http_info(list_id, replace_ad_negative_keyword_list_keywords_request)
1615
2722
 
1616
2723
  ```ruby
1617
2724
  begin
1618
- # High demand periods / budget schedules
1619
- data, status_code, headers = api_instance.list_high_demand_periods_with_http_info(account_id, opts)
2725
+ # Replace negative list keywords
2726
+ data, status_code, headers = api_instance.replace_ad_negative_keyword_list_keywords_with_http_info(list_id, replace_ad_negative_keyword_list_keywords_request)
1620
2727
  p status_code # => 2xx
1621
2728
  p headers # => { ... }
1622
- p data # => <ListHighDemandPeriods200Response>
2729
+ p data # => <ReplaceAdNegativeKeywordListKeywords200Response>
1623
2730
  rescue Zernio::ApiError => e
1624
- puts "Error when calling AdAccountsApi->list_high_demand_periods_with_http_info: #{e}"
2731
+ puts "Error when calling AdAccountsApi->replace_ad_negative_keyword_list_keywords_with_http_info: #{e}"
1625
2732
  end
1626
2733
  ```
1627
2734
 
@@ -1629,15 +2736,12 @@ end
1629
2736
 
1630
2737
  | Name | Type | Description | Notes |
1631
2738
  | ---- | ---- | ----------- | ----- |
1632
- | **account_id** | **String** | Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token. | |
1633
- | **campaign_id** | **String** | Platform campaign id. Exactly one of campaignId / adSetId. | [optional] |
1634
- | **ad_set_id** | **String** | Platform ad set id. Exactly one of campaignId / adSetId. | [optional] |
1635
- | **limit** | **Integer** | Rows per page | [optional][default to 25] |
1636
- | **after** | **String** | Cursor from paging.after of the previous page. | [optional] |
2739
+ | **list_id** | **String** | | |
2740
+ | **replace_ad_negative_keyword_list_keywords_request** | [**ReplaceAdNegativeKeywordListKeywordsRequest**](ReplaceAdNegativeKeywordListKeywordsRequest.md) | | |
1637
2741
 
1638
2742
  ### Return type
1639
2743
 
1640
- [**ListHighDemandPeriods200Response**](ListHighDemandPeriods200Response.md)
2744
+ [**ReplaceAdNegativeKeywordListKeywords200Response**](ReplaceAdNegativeKeywordListKeywords200Response.md)
1641
2745
 
1642
2746
  ### Authorization
1643
2747
 
@@ -1645,17 +2749,17 @@ end
1645
2749
 
1646
2750
  ### HTTP request headers
1647
2751
 
1648
- - **Content-Type**: Not defined
2752
+ - **Content-Type**: application/json
1649
2753
  - **Accept**: application/json
1650
2754
 
1651
2755
 
1652
- ## list_meta_businesses
2756
+ ## reply_to_ad_comment
1653
2757
 
1654
- > <ListMetaBusinesses200Response> list_meta_businesses(account_id, opts)
2758
+ > <ReplyToAdComment200Response> reply_to_ad_comment(ad_id, comment_id, reply_to_ad_comment_request, opts)
1655
2759
 
1656
- Businesses list
2760
+ Reply to an ad comment
1657
2761
 
1658
- Business Manager portfolios the connected Meta user belongs to (Meta's `/me/businesses`), rows returned verbatim (id, name, verification_status, created_time). Token-scoped, so no `adAccountId` is needed. For TikTok Business Centers use `GET /v1/ads/business-centers`.
2762
+ 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.
1659
2763
 
1660
2764
  ### Examples
1661
2765
 
@@ -1669,36 +2773,38 @@ Zernio.configure do |config|
1669
2773
  end
1670
2774
 
1671
2775
  api_instance = Zernio::AdAccountsApi.new
1672
- account_id = 'account_id_example' # String | Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token.
2776
+ ad_id = 'ad_id_example' # String | Internal Zernio ad ID or indexed platform ad ID.
2777
+ comment_id = 'comment_id_example' # String | TikTok comment ID from the ad comment listing.
2778
+ reply_to_ad_comment_request = Zernio::ReplyToAdCommentRequest.new({text: 'text_example'}) # ReplyToAdCommentRequest |
1673
2779
  opts = {
1674
- limit: 56, # Integer | Rows per page
1675
- after: 'after_example' # String | Cursor from paging.after of the previous page.
2780
+ since: Date.parse('2013-10-20'), # Date | Start date of the comment lookup window. Defaults to 30 days before until.
2781
+ _until: Date.parse('2013-10-20') # Date | End date of the comment lookup window. Defaults to today in UTC.
1676
2782
  }
1677
2783
 
1678
2784
  begin
1679
- # Businesses list
1680
- result = api_instance.list_meta_businesses(account_id, opts)
2785
+ # Reply to an ad comment
2786
+ result = api_instance.reply_to_ad_comment(ad_id, comment_id, reply_to_ad_comment_request, opts)
1681
2787
  p result
1682
2788
  rescue Zernio::ApiError => e
1683
- puts "Error when calling AdAccountsApi->list_meta_businesses: #{e}"
2789
+ puts "Error when calling AdAccountsApi->reply_to_ad_comment: #{e}"
1684
2790
  end
1685
2791
  ```
1686
2792
 
1687
- #### Using the list_meta_businesses_with_http_info variant
2793
+ #### Using the reply_to_ad_comment_with_http_info variant
1688
2794
 
1689
2795
  This returns an Array which contains the response data, status code and headers.
1690
2796
 
1691
- > <Array(<ListMetaBusinesses200Response>, Integer, Hash)> list_meta_businesses_with_http_info(account_id, opts)
2797
+ > <Array(<ReplyToAdComment200Response>, Integer, Hash)> reply_to_ad_comment_with_http_info(ad_id, comment_id, reply_to_ad_comment_request, opts)
1692
2798
 
1693
2799
  ```ruby
1694
2800
  begin
1695
- # Businesses list
1696
- data, status_code, headers = api_instance.list_meta_businesses_with_http_info(account_id, opts)
2801
+ # Reply to an ad comment
2802
+ data, status_code, headers = api_instance.reply_to_ad_comment_with_http_info(ad_id, comment_id, reply_to_ad_comment_request, opts)
1697
2803
  p status_code # => 2xx
1698
2804
  p headers # => { ... }
1699
- p data # => <ListMetaBusinesses200Response>
2805
+ p data # => <ReplyToAdComment200Response>
1700
2806
  rescue Zernio::ApiError => e
1701
- puts "Error when calling AdAccountsApi->list_meta_businesses_with_http_info: #{e}"
2807
+ puts "Error when calling AdAccountsApi->reply_to_ad_comment_with_http_info: #{e}"
1702
2808
  end
1703
2809
  ```
1704
2810
 
@@ -1706,13 +2812,15 @@ end
1706
2812
 
1707
2813
  | Name | Type | Description | Notes |
1708
2814
  | ---- | ---- | ----------- | ----- |
1709
- | **account_id** | **String** | Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token. | |
1710
- | **limit** | **Integer** | Rows per page | [optional][default to 25] |
1711
- | **after** | **String** | Cursor from paging.after of the previous page. | [optional] |
2815
+ | **ad_id** | **String** | Internal Zernio ad ID or indexed platform ad ID. | |
2816
+ | **comment_id** | **String** | TikTok comment ID from the ad comment listing. | |
2817
+ | **reply_to_ad_comment_request** | [**ReplyToAdCommentRequest**](ReplyToAdCommentRequest.md) | | |
2818
+ | **since** | **Date** | Start date of the comment lookup window. Defaults to 30 days before until. | [optional] |
2819
+ | **_until** | **Date** | End date of the comment lookup window. Defaults to today in UTC. | [optional] |
1712
2820
 
1713
2821
  ### Return type
1714
2822
 
1715
- [**ListMetaBusinesses200Response**](ListMetaBusinesses200Response.md)
2823
+ [**ReplyToAdComment200Response**](ReplyToAdComment200Response.md)
1716
2824
 
1717
2825
  ### Authorization
1718
2826
 
@@ -1720,17 +2828,17 @@ end
1720
2828
 
1721
2829
  ### HTTP request headers
1722
2830
 
1723
- - **Content-Type**: Not defined
2831
+ - **Content-Type**: application/json
1724
2832
  - **Accept**: application/json
1725
2833
 
1726
2834
 
1727
- ## list_value_rule_sets
2835
+ ## update_account_callouts
1728
2836
 
1729
- > <ListValueRuleSets200Response> list_value_rule_sets(account_id, ad_account_id, opts)
2837
+ > <UpdateAccountCallouts200Response> update_account_callouts(update_account_callouts_request)
1730
2838
 
1731
- List value rule sets
2839
+ Update account callouts
1732
2840
 
1733
- Lists the ad account's value rule sets (Meta's `/act_X/value_rule_set`). A value rule set adjusts the auction bid up or down for audience segments you value differently; attach one to an ad set with `valueRuleSetId` on `POST /v1/ads/create` or `PUT /v1/ads/ad-sets/{adSetId}`. Rows are returned in the same camelCase shape the `PUT` body takes, ids included, so a set round-trips 1:1: **the update is a full replace, not a patch**, so you GET, mutate and send the whole thing back. Limits: 6 rule sets per ad account, 10 rules per set, 4 criteria per rule. **Rule order is semantic.** Rules are evaluated in array order and only the FIRST matching rule adjusts the bid for an overlapping audience. The order you send is the order that is stored and returned. Eligibility: value rule sets apply only to ad sets on the `LOWEST_COST_WITHOUT_CAP` (auto-bid) or `COST_CAP` bid strategies. Meta rejects the rest server-side.
2841
+ Edits existing Google assets in place. Send updates with assetResourceName and the fields to change. An asset is shared: changes affect every attachment using it. Omitted fields stay unchanged. The operation consumes the Google operations budget and invalidates affected cached lists.
1734
2842
 
1735
2843
  ### Examples
1736
2844
 
@@ -1744,37 +2852,32 @@ Zernio.configure do |config|
1744
2852
  end
1745
2853
 
1746
2854
  api_instance = Zernio::AdAccountsApi.new
1747
- account_id = 'account_id_example' # String | Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token.
1748
- ad_account_id = 'ad_account_id_example' # String | Meta ad account id (act_<n>).
1749
- opts = {
1750
- limit: 56, # Integer | Rows per page
1751
- after: 'after_example' # String | Cursor from paging.after of the previous page. Meta does not document paging on this edge; `after` comes back null when it omits cursors.
1752
- }
2855
+ update_account_callouts_request = Zernio::UpdateAccountCalloutsRequest.new({account_id: 'account_id_example', updates: [Zernio::UpdateAccountCalloutsRequestUpdatesInner.new({asset_resource_name: 'asset_resource_name_example'})]}) # UpdateAccountCalloutsRequest |
1753
2856
 
1754
2857
  begin
1755
- # List value rule sets
1756
- result = api_instance.list_value_rule_sets(account_id, ad_account_id, opts)
2858
+ # Update account callouts
2859
+ result = api_instance.update_account_callouts(update_account_callouts_request)
1757
2860
  p result
1758
2861
  rescue Zernio::ApiError => e
1759
- puts "Error when calling AdAccountsApi->list_value_rule_sets: #{e}"
2862
+ puts "Error when calling AdAccountsApi->update_account_callouts: #{e}"
1760
2863
  end
1761
2864
  ```
1762
2865
 
1763
- #### Using the list_value_rule_sets_with_http_info variant
2866
+ #### Using the update_account_callouts_with_http_info variant
1764
2867
 
1765
2868
  This returns an Array which contains the response data, status code and headers.
1766
2869
 
1767
- > <Array(<ListValueRuleSets200Response>, Integer, Hash)> list_value_rule_sets_with_http_info(account_id, ad_account_id, opts)
2870
+ > <Array(<UpdateAccountCallouts200Response>, Integer, Hash)> update_account_callouts_with_http_info(update_account_callouts_request)
1768
2871
 
1769
2872
  ```ruby
1770
2873
  begin
1771
- # List value rule sets
1772
- data, status_code, headers = api_instance.list_value_rule_sets_with_http_info(account_id, ad_account_id, opts)
2874
+ # Update account callouts
2875
+ data, status_code, headers = api_instance.update_account_callouts_with_http_info(update_account_callouts_request)
1773
2876
  p status_code # => 2xx
1774
2877
  p headers # => { ... }
1775
- p data # => <ListValueRuleSets200Response>
2878
+ p data # => <UpdateAccountCallouts200Response>
1776
2879
  rescue Zernio::ApiError => e
1777
- puts "Error when calling AdAccountsApi->list_value_rule_sets_with_http_info: #{e}"
2880
+ puts "Error when calling AdAccountsApi->update_account_callouts_with_http_info: #{e}"
1778
2881
  end
1779
2882
  ```
1780
2883
 
@@ -1782,14 +2885,11 @@ end
1782
2885
 
1783
2886
  | Name | Type | Description | Notes |
1784
2887
  | ---- | ---- | ----------- | ----- |
1785
- | **account_id** | **String** | Zernio SocialAccount id (posting or ads variant) used to resolve the Meta token. | |
1786
- | **ad_account_id** | **String** | Meta ad account id (act_&lt;n&gt;). | |
1787
- | **limit** | **Integer** | Rows per page | [optional][default to 25] |
1788
- | **after** | **String** | Cursor from paging.after of the previous page. Meta does not document paging on this edge; &#x60;after&#x60; comes back null when it omits cursors. | [optional] |
2888
+ | **update_account_callouts_request** | [**UpdateAccountCalloutsRequest**](UpdateAccountCalloutsRequest.md) | | |
1789
2889
 
1790
2890
  ### Return type
1791
2891
 
1792
- [**ListValueRuleSets200Response**](ListValueRuleSets200Response.md)
2892
+ [**UpdateAccountCallouts200Response**](UpdateAccountCallouts200Response.md)
1793
2893
 
1794
2894
  ### Authorization
1795
2895
 
@@ -1797,17 +2897,17 @@ end
1797
2897
 
1798
2898
  ### HTTP request headers
1799
2899
 
1800
- - **Content-Type**: Not defined
2900
+ - **Content-Type**: application/json
1801
2901
  - **Accept**: application/json
1802
2902
 
1803
2903
 
1804
- ## remove_account_callout
2904
+ ## update_account_sitelinks
1805
2905
 
1806
- > <RemoveAccountCallout200Response> remove_account_callout(remove_account_callout_request)
2906
+ > <UpdateAccountCallouts200Response> update_account_sitelinks(update_account_sitelinks_request)
1807
2907
 
1808
- Remove an account-level callout extension
2908
+ Update account sitelinks
1809
2909
 
1810
- Removes the `customerAsset` link (`customers/{cid}/customerAssets/{assetId}~CALLOUT`). Google only; every other platform returns 501.
2910
+ Edits existing Google assets in place. Send updates with assetResourceName and the fields to change. An asset is shared: changes affect every attachment using it. Omitted fields stay unchanged. The operation consumes the Google operations budget and invalidates affected cached lists.
1811
2911
 
1812
2912
  ### Examples
1813
2913
 
@@ -1821,32 +2921,32 @@ Zernio.configure do |config|
1821
2921
  end
1822
2922
 
1823
2923
  api_instance = Zernio::AdAccountsApi.new
1824
- remove_account_callout_request = Zernio::RemoveAccountCalloutRequest.new({account_id: 'account_id_example', asset_id: 'asset_id_example'}) # RemoveAccountCalloutRequest |
2924
+ update_account_sitelinks_request = Zernio::UpdateAccountSitelinksRequest.new({account_id: 'account_id_example', updates: [Zernio::UpdateAccountSitelinksRequestUpdatesInner.new({asset_resource_name: 'asset_resource_name_example'})]}) # UpdateAccountSitelinksRequest |
1825
2925
 
1826
2926
  begin
1827
- # Remove an account-level callout extension
1828
- result = api_instance.remove_account_callout(remove_account_callout_request)
2927
+ # Update account sitelinks
2928
+ result = api_instance.update_account_sitelinks(update_account_sitelinks_request)
1829
2929
  p result
1830
2930
  rescue Zernio::ApiError => e
1831
- puts "Error when calling AdAccountsApi->remove_account_callout: #{e}"
2931
+ puts "Error when calling AdAccountsApi->update_account_sitelinks: #{e}"
1832
2932
  end
1833
2933
  ```
1834
2934
 
1835
- #### Using the remove_account_callout_with_http_info variant
2935
+ #### Using the update_account_sitelinks_with_http_info variant
1836
2936
 
1837
2937
  This returns an Array which contains the response data, status code and headers.
1838
2938
 
1839
- > <Array(<RemoveAccountCallout200Response>, Integer, Hash)> remove_account_callout_with_http_info(remove_account_callout_request)
2939
+ > <Array(<UpdateAccountCallouts200Response>, Integer, Hash)> update_account_sitelinks_with_http_info(update_account_sitelinks_request)
1840
2940
 
1841
2941
  ```ruby
1842
2942
  begin
1843
- # Remove an account-level callout extension
1844
- data, status_code, headers = api_instance.remove_account_callout_with_http_info(remove_account_callout_request)
2943
+ # Update account sitelinks
2944
+ data, status_code, headers = api_instance.update_account_sitelinks_with_http_info(update_account_sitelinks_request)
1845
2945
  p status_code # => 2xx
1846
2946
  p headers # => { ... }
1847
- p data # => <RemoveAccountCallout200Response>
2947
+ p data # => <UpdateAccountCallouts200Response>
1848
2948
  rescue Zernio::ApiError => e
1849
- puts "Error when calling AdAccountsApi->remove_account_callout_with_http_info: #{e}"
2949
+ puts "Error when calling AdAccountsApi->update_account_sitelinks_with_http_info: #{e}"
1850
2950
  end
1851
2951
  ```
1852
2952
 
@@ -1854,11 +2954,11 @@ end
1854
2954
 
1855
2955
  | Name | Type | Description | Notes |
1856
2956
  | ---- | ---- | ----------- | ----- |
1857
- | **remove_account_callout_request** | [**RemoveAccountCalloutRequest**](RemoveAccountCalloutRequest.md) | | |
2957
+ | **update_account_sitelinks_request** | [**UpdateAccountSitelinksRequest**](UpdateAccountSitelinksRequest.md) | | |
1858
2958
 
1859
2959
  ### Return type
1860
2960
 
1861
- [**RemoveAccountCallout200Response**](RemoveAccountCallout200Response.md)
2961
+ [**UpdateAccountCallouts200Response**](UpdateAccountCallouts200Response.md)
1862
2962
 
1863
2963
  ### Authorization
1864
2964
 
@@ -1870,13 +2970,13 @@ end
1870
2970
  - **Accept**: application/json
1871
2971
 
1872
2972
 
1873
- ## replace_ad_negative_keyword_list_keywords
2973
+ ## update_account_structured_snippets
1874
2974
 
1875
- > <ReplaceAdNegativeKeywordListKeywords200Response> replace_ad_negative_keyword_list_keywords(list_id, replace_ad_negative_keyword_list_keywords_request)
2975
+ > <UpdateAccountCallouts200Response> update_account_structured_snippets(update_account_structured_snippets_request)
1876
2976
 
1877
- Replace negative list keywords
2977
+ Update account snippets
1878
2978
 
1879
- Replaces the full desired keyword set. Existing keywords are diffed by normalized text and match type; creates and removals are applied atomically in one mutation. Unchanged criteria retain their ids. Send an empty keywords array to clear the list. Changes affect every campaign using this list. Each create or removal consumes one daily operation; the entire batch must fit the remaining quota.
2979
+ Edits existing Google assets in place. Send updates with assetResourceName and the fields to change. An asset is shared: changes affect every attachment using it. Omitted fields stay unchanged. The operation consumes the Google operations budget and invalidates affected cached lists.
1880
2980
 
1881
2981
  ### Examples
1882
2982
 
@@ -1890,33 +2990,32 @@ Zernio.configure do |config|
1890
2990
  end
1891
2991
 
1892
2992
  api_instance = Zernio::AdAccountsApi.new
1893
- list_id = 'list_id_example' # String |
1894
- replace_ad_negative_keyword_list_keywords_request = Zernio::ReplaceAdNegativeKeywordListKeywordsRequest.new({account_id: 'account_id_example', keywords: [Zernio::AddAdKeywordsRequestKeywordsInnerAnyOf.new({text: 'text_example'})]}) # ReplaceAdNegativeKeywordListKeywordsRequest |
2993
+ update_account_structured_snippets_request = Zernio::UpdateAccountStructuredSnippetsRequest.new({account_id: 'account_id_example', updates: [Zernio::UpdateAccountStructuredSnippetsRequestUpdatesInner.new({asset_resource_name: 'asset_resource_name_example'})]}) # UpdateAccountStructuredSnippetsRequest |
1895
2994
 
1896
2995
  begin
1897
- # Replace negative list keywords
1898
- result = api_instance.replace_ad_negative_keyword_list_keywords(list_id, replace_ad_negative_keyword_list_keywords_request)
2996
+ # Update account snippets
2997
+ result = api_instance.update_account_structured_snippets(update_account_structured_snippets_request)
1899
2998
  p result
1900
2999
  rescue Zernio::ApiError => e
1901
- puts "Error when calling AdAccountsApi->replace_ad_negative_keyword_list_keywords: #{e}"
3000
+ puts "Error when calling AdAccountsApi->update_account_structured_snippets: #{e}"
1902
3001
  end
1903
3002
  ```
1904
3003
 
1905
- #### Using the replace_ad_negative_keyword_list_keywords_with_http_info variant
3004
+ #### Using the update_account_structured_snippets_with_http_info variant
1906
3005
 
1907
3006
  This returns an Array which contains the response data, status code and headers.
1908
3007
 
1909
- > <Array(<ReplaceAdNegativeKeywordListKeywords200Response>, Integer, Hash)> replace_ad_negative_keyword_list_keywords_with_http_info(list_id, replace_ad_negative_keyword_list_keywords_request)
3008
+ > <Array(<UpdateAccountCallouts200Response>, Integer, Hash)> update_account_structured_snippets_with_http_info(update_account_structured_snippets_request)
1910
3009
 
1911
3010
  ```ruby
1912
3011
  begin
1913
- # Replace negative list keywords
1914
- data, status_code, headers = api_instance.replace_ad_negative_keyword_list_keywords_with_http_info(list_id, replace_ad_negative_keyword_list_keywords_request)
3012
+ # Update account snippets
3013
+ data, status_code, headers = api_instance.update_account_structured_snippets_with_http_info(update_account_structured_snippets_request)
1915
3014
  p status_code # => 2xx
1916
3015
  p headers # => { ... }
1917
- p data # => <ReplaceAdNegativeKeywordListKeywords200Response>
3016
+ p data # => <UpdateAccountCallouts200Response>
1918
3017
  rescue Zernio::ApiError => e
1919
- puts "Error when calling AdAccountsApi->replace_ad_negative_keyword_list_keywords_with_http_info: #{e}"
3018
+ puts "Error when calling AdAccountsApi->update_account_structured_snippets_with_http_info: #{e}"
1920
3019
  end
1921
3020
  ```
1922
3021
 
@@ -1924,12 +3023,11 @@ end
1924
3023
 
1925
3024
  | Name | Type | Description | Notes |
1926
3025
  | ---- | ---- | ----------- | ----- |
1927
- | **list_id** | **String** | | |
1928
- | **replace_ad_negative_keyword_list_keywords_request** | [**ReplaceAdNegativeKeywordListKeywordsRequest**](ReplaceAdNegativeKeywordListKeywordsRequest.md) | | |
3026
+ | **update_account_structured_snippets_request** | [**UpdateAccountStructuredSnippetsRequest**](UpdateAccountStructuredSnippetsRequest.md) | | |
1929
3027
 
1930
3028
  ### Return type
1931
3029
 
1932
- [**ReplaceAdNegativeKeywordListKeywords200Response**](ReplaceAdNegativeKeywordListKeywords200Response.md)
3030
+ [**UpdateAccountCallouts200Response**](UpdateAccountCallouts200Response.md)
1933
3031
 
1934
3032
  ### Authorization
1935
3033